aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-08-17exp/template/html: rework Reverse(*Template) to do naive autoescapingMike Samuel
Replaces the toy func Reverse(*Template) with one that implements naive autoescaping. Now Escape(*Template) walks a template parse tree to find all template actions and adds the |html command to them if it is not already present. R=golang-dev, r CC=golang-dev https://golang.org/cl/4867049
2011-08-17doc/codewalk: new Markov chain codewalkAndrew Gerrand
R=gri, r, rsc CC=golang-dev https://golang.org/cl/4891041
2011-08-17template: move exp/template into template.Rob Pike
(Leave exp/template/html where it is for now.) R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4899048
2011-08-17template: delete old template code.Rob Pike
It's already in old/template; make that build. Update a couple of references to point to the old template. They can be updated later. Update goplay to use exp/template. R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4902046
2011-08-17misc: fix a couple of template uses preparatory to the big switch.Rob Pike
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4876057
2011-08-17url: new packageRob Pike
This is just moving the URL code from package http into its own package, which has been planned for a while. Besides clarity, this also breaks a nascent dependency cycle the new template package was about to introduce. Add a gofix module, url, and use it to generate changes outside http and url. Sadness about the churn, gladness about some of the naming improvements. R=dsymonds, bradfitz, rsc, gustavo, r CC=golang-dev https://golang.org/cl/4893043
2011-08-16net: Added function SetTimeout() to interface Listener.Aleksandar Dezelin
Fixes #2148. R=golang-dev, bradfitz, rsc CC=golang-dev https://golang.org/cl/4905042
2011-08-16go/parser: use correct precedence when parsing range clausesRobert Griesemer
Fixes #2156. R=rsc CC=golang-dev https://golang.org/cl/4899046
2011-08-16A+C: Aleksandar Dezelin (individual CLA)Russ Cox
R=golang-dev, gri CC=golang-dev https://golang.org/cl/4901047
2011-08-16net: add multicast stubs for openbsdJoel Sing
Add multicast stubs and sync with recent changes. R=golang-dev, mikioh.mikioh CC=golang-dev https://golang.org/cl/4838058
2011-08-16net, syscall: move multicast address handlingJoel Sing
Multicast address handling is not consistent across all BSDs. Move the multicast address handling code into OS dependent files. This will be needed for OpenBSD support. R=mikioh.mikioh, golang-dev CC=golang-dev https://golang.org/cl/4809074
2011-08-16net: return correct local address for an accepted TCP connectionMikio Hara
Fixes #2127. R=rsc CC=golang-dev https://golang.org/cl/4873043
2011-08-16runtime: fix GC bitmap corruptionDmitriy Vyukov
The corruption can occur when GOMAXPROCS is changed from >1 to 1, since GOMAXPROCS=1 does not imply there is only 1 goroutine running, other goroutines can still be not parked after the change. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4873050
2011-08-16cgo: omit duplicate symbols in writeDefsJulian Phillips
When the C API being used includes multiple names for the same underlying symbol (e.g. multiple #define's for the same variable), then cgo will generate the same placeholder variables for each name. This then prevents the code from compiling due to multiple declarations of the same variable - so change cgo to only create one instance of the variable for the underlying symbol. R=rsc CC=golang-dev https://golang.org/cl/4826055
2011-08-165l, 6l, 8l: add varargck for %ZLucio De Re
R=golang-dev CC=golang-dev, rsc https://golang.org/cl/4837044
2011-08-165c, 6c, 6l: fix Plan 9 build warningsLucio De Re
src/cmd/5c/reg.c: . Added USED() attribute. src/cmd/6c/cgen.c: . Revised code around "REGARG" to resemble use in "8c" and consequently remove a warning. src/cmd/6l/asm.c: . Added USED() attributes. . Removed an unnecessary assignment. R=golang-dev CC=golang-dev, rsc https://golang.org/cl/4836045
2011-08-16ld: make addaddrplus4 staticLucio De Re
R=golang-dev CC=golang-dev, rsc https://golang.org/cl/4835043
2011-08-16errchk: allow multiple patternsRuss Cox
// ERROR "pattern1" "pattern2" means that there has to be one or more lines matching pattern1 and then excluding those, there have to be one or more lines matching pattern2. So if you expect two different error messages from a particular line, writing two separate patterns checks that both errors are produced. Also, errchk now flags lines that produce more errors than expected. Before, as long as at least one error matched the pattern, all the others were ignored. Revise tests to expect or silence these additional errors. R=lvd, r, iant CC=golang-dev https://golang.org/cl/4869044
2011-08-16rpc: make Server.Mutex unexportedDmitriy Vyukov
Currently it's possible to write: var s rpc.Server ... // reuse for my own purposes s.Lock() ... s.Unlock() which is seemingly not intended. R=golang-dev, adg CC=golang-dev https://golang.org/cl/4888049
2011-08-16syscall: make LazyDLL/LazyProc.Mutex unexportedDmitriy Vyukov
They are seemingly not intended to be a part of the public interface. R=golang-dev, adg CC=golang-dev https://golang.org/cl/4873052
2011-08-16builtin: correct description of a closed channel.Rob Pike
R=golang-dev, dvyukov CC=golang-dev https://golang.org/cl/4896046
2011-08-16builtin: tweak a couple of descriptions.Rob Pike
R=golang-dev, adg, dsymonds CC=golang-dev https://golang.org/cl/4875050
2011-08-15godoc: show all top-level decls for (fake) package builtinRobert Griesemer
R=r, adg CC=golang-dev https://golang.org/cl/4904045
2011-08-15godoc: fix lib/godoc/package.txt templateRobert Griesemer
- show documentation in text mode; e.g.: http://localhost:7777/cmd/godoc/?f=text - simplify template by using $ variable R=r, adg CC=golang-dev https://golang.org/cl/4873045
2011-08-15godoc: fix escaping in templatesRobert Griesemer
- HTML-escape URL paths - URL-escape URL parameters R=bradfitz CC=golang-dev https://golang.org/cl/4890041
2011-08-16rpc: implement ServeRequest to synchronously serve a single request.Sugu Sougoumarane
This is useful for applications that want to micromanage the rpc service. Moved part of ServeCodec into a new readRequest function. Renamed existing readRequest to readRequestHeader, and reordered its parameters to align with the new readRequest and service.call. R=golang-dev, r, rsc, sougou CC=golang-dev, msolomon https://golang.org/cl/4889043
2011-08-16builtin: add documentation for builtinsRob Pike
Do this by adding a fake package called builtin. At the moment, godoc will not present this documentation because the function names are all lower case, but there are plans to address this. The print and println functions are undocumented here. I could be talked into doing them but I'd rather not promote their use. R=dsymonds, n13m3y3r, r, gri, rsc CC=golang-dev https://golang.org/cl/4907041
2011-08-15build: don't print anything on version.bash -saveGustavo Niemeyer
R=rsc CC=golang-dev https://golang.org/cl/4904044
2011-08-15build: support versioning without hgGustavo Niemeyer
CL 4873048 introduced the ability to build without hg and getting an "unknown" version. While this approach works to avoid the hg dependency, it also means that every exported tree that is built without hg or .hg will have not only missing information, but will also be compatible to one another. Considering that it is a common practice to remove the VCS data in distributions, I suggest we don't take this approach to avoid its consequences. This CL fixes the same problem in a different way: if a VERSION file at the top of the tree exists, use it at all times. If it doesn't, fall back to using information from hg necessarily, and fail if that's not possible. The error message when VERSION and hg are not available instructs users to handle it properly. The VERSION file can be generated with "src/version.bash -save" while hg is still around. R=golang-dev, rsc, gustavo CC=golang-dev https://golang.org/cl/4897043
2011-08-15reflect: panic on Invalid Interface callGustavo Niemeyer
This was initially pushed as part of CL 4876046, found when logic in exp/template was using the method on an Invalid value. R=rsc CC=golang-dev https://golang.org/cl/4890043
2011-08-15build: don't require hg for buildAndrew Gerrand
R=golang-dev, dsymonds, n13m3y3r CC=golang-dev https://golang.org/cl/4873048
2011-08-15runtime: fix pseudo-randomness on some selectsGustavo Niemeyer
Fixes #2152. R=golang-dev, dvyukov CC=golang-dev https://golang.org/cl/4888044
2011-08-15old/template: copy code from templateRob Pike
First step of moving exp/template into template: save the old code. Code is unedited except for target name in Makefile. R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4893042
2011-08-15exp/template: support field syntax on mapsGustavo Niemeyer
While using exp/template in practice, the syntax for indexing values using the "index" action was found to be very inconvenient for frequent use when handling dynamic data from maps such as the ones used with json and yaml, that use a type like map[string]interface{}. For these kinds of maps, the default handling of fields as {{.Field}} makes the task of handling the several references significantly more pleasant and elegant, and is equivalent to what's currently done in the "template" package and in other external packages (e.g. mustache). Even with this change, the index action is still relevant as it allows indexing maps in other scenarios where keys wouldn't be valid field names. R=golang-dev, r, gustavo CC=golang-dev https://golang.org/cl/4898043
2011-08-15exp/template: don't panic on range of nil interfaceGustavo Niemeyer
This avoids a non-obvious panic when range is used on a nil interface, and fixes it by behaving as if the range was empty. The new behavior is equivalent to the outcome of iterating on a nil map or slice, and is useful because it allows generic structures such as used in json (map[string]interface{}) to behave correctly if a key generally set to a list or map isn't present. R=golang-dev, r, gustavo CC=golang-dev https://golang.org/cl/4876046
2011-08-14exp/norm: fix incorrect prints found by govet.Robert Hencke
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4895042
2011-08-14goinstall: report all newly-installed public packagesAndrew Gerrand
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4875048
2011-08-14C: add Sugu Sougoumarane, Googler.Rob Pike
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4901041
2011-08-14godoc: fix godoc.html template bug: correctly display package rootsAndrew Gerrand
R=golang-dev, r CC=golang-dev https://golang.org/cl/4898042
2011-08-13exp/template: rename filter: url -> urlquery.David Symonds
R=r, rsc CC=golang-dev https://golang.org/cl/4873046
2011-08-12godoc: position URLs (containing file names) must be quoted and URL escapedRobert Griesemer
Since the posLink_url also adds a non-URL attribute, the quoting and URL-escaping must happen inside posLink_url (otherwise the non-URL attribute becomes part or the URL portion of the tag. R=r CC=golang-dev https://golang.org/cl/4888041
2011-08-12godoc: remove last vestiges of old template systemRobert Griesemer
- rename template funcs for better consistency and sort them into groups of related functionality - try to be more consistent with html vs url escaping R=r CC=golang-dev https://golang.org/cl/4887041
2011-08-12godoc: first round of template cleanupsRobert Griesemer
- simplified pipelines - simplified templates by using template variables - converted most old-style formatters into new-style funcs - fixed some escaping bugs (use of url escaping where it was missing) R=r, dsymonds CC=golang-dev https://golang.org/cl/4868044
2011-08-12exp/norm: generate trie struct in triegen.go for better encapsulation.Marcel van Lohuizen
R=r, r CC=golang-dev https://golang.org/cl/4837071
2011-08-12exp/norm: generate trie struct in triegen.go for better encapsulation.Marcel van Lohuizen
R=r, r CC=golang-dev https://golang.org/cl/4837071
2011-08-12lib/godoc: fix typoMikio Hara
R=gri, dsymonds CC=golang-dev https://golang.org/cl/4881042
2011-08-12crypto, exec, path, time: add support for OpenBSDJoel Sing
R=golang-dev, r CC=golang-dev https://golang.org/cl/4837048
2011-08-12exp/template/html: New package with a toy template transformation.Mike Samuel
func Reverse(*Template) *Template returns a template that produces the reverse of the original for any input. Changes outside exp/template/html include: - Adding a getter for a template's FuncMap so that derived templates can inherit function definitions. - Exported one node factory function, newIdentifier. Deriving tempaltes requires constructing new nodes, but I didn't export all of them because I think shallow copy functions might be more useful for this kind of work. - Bugfix: Template's Name() method ignores the name field so template.New("foo") is a nil dereference instead of "foo". Caveats: Reverse is a toy. It is not UTF-8 safe, and does not preserve order of calls to funcs in FuncMap. For context, see http://groups.google.com/group/golang-nuts/browse_thread/thread/e8bc7c771aae3f20/b1ac41dc6f609b6e?lnk=gst R=rsc, r, nigeltao, r CC=golang-dev https://golang.org/cl/4808089
2011-08-12CLA: Add Mike Samuel, Googler.Rob Pike
R=golang-dev, dsymonds CC=golang-dev, mikesamuel https://golang.org/cl/4875042
2011-08-12exp/template: fix implementation of printValue.David Symonds
R=r CC=golang-dev https://golang.org/cl/4878042