summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* exp/template/html: rework Reverse(*Template) to do naive autoescapingMike Samuel2011-08-175-183/+181
| | | | | | | | | | | | | 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
* doc/codewalk: new Markov chain codewalkAndrew Gerrand2011-08-172-0/+438
| | | | | | R=gri, r, rsc CC=golang-dev https://golang.org/cl/4891041
* template: move exp/template into template.Rob Pike2011-08-1730-25/+25
| | | | | | | | (Leave exp/template/html where it is for now.) R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4899048
* template: delete old template code.Rob Pike2011-08-1718-2115/+35
| | | | | | | | | | | 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
* misc: fix a couple of template uses preparatory to the big switch.Rob Pike2011-08-172-2/+2
| | | | | | R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4876057
* url: new packageRob Pike2011-08-1728-265/+566
| | | | | | | | | | | | | | | 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
* net: Added function SetTimeout() to interface Listener.Aleksandar Dezelin2011-08-163-1/+22
| | | | | | | | Fixes #2148. R=golang-dev, bradfitz, rsc CC=golang-dev https://golang.org/cl/4905042
* go/parser: use correct precedence when parsing range clausesRobert Griesemer2011-08-162-14/+12
| | | | | | | | Fixes #2156. R=rsc CC=golang-dev https://golang.org/cl/4899046
* A+C: Aleksandar Dezelin (individual CLA)Russ Cox2011-08-162-0/+2
| | | | | | R=golang-dev, gri CC=golang-dev https://golang.org/cl/4901047
* net: add multicast stubs for openbsdJoel Sing2011-08-162-1/+19
| | | | | | | | Add multicast stubs and sync with recent changes. R=golang-dev, mikioh.mikioh CC=golang-dev https://golang.org/cl/4838058
* net, syscall: move multicast address handlingJoel Sing2011-08-166-60/+120
| | | | | | | | | | 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
* net: return correct local address for an accepted TCP connectionMikio Hara2011-08-161-3/+4
| | | | | | | | Fixes #2127. R=rsc CC=golang-dev https://golang.org/cl/4873043
* runtime: fix GC bitmap corruptionDmitriy Vyukov2011-08-163-6/+12
| | | | | | | | | | | | 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
* cgo: omit duplicate symbols in writeDefsJulian Phillips2011-08-163-5/+31
| | | | | | | | | | | | | 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
* 5l, 6l, 8l: add varargck for %ZLucio De Re2011-08-163-4/+3
| | | | | | R=golang-dev CC=golang-dev, rsc https://golang.org/cl/4837044
* 5c, 6c, 6l: fix Plan 9 build warningsLucio De Re2011-08-163-7/+7
| | | | | | | | | | | | | | | | | 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
* ld: make addaddrplus4 staticLucio De Re2011-08-161-1/+1
| | | | | | R=golang-dev CC=golang-dev, rsc https://golang.org/cl/4835043
* errchk: allow multiple patternsRuss Cox2011-08-1616-41/+48
| | | | | | | | | | | | | | | | | | | | | | | | // 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
* rpc: make Server.Mutex unexportedDmitriy Vyukov2011-08-162-7/+7
| | | | | | | | | | | | | | | 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
* syscall: make LazyDLL/LazyProc.Mutex unexportedDmitriy Vyukov2011-08-161-6/+6
| | | | | | | | | 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
* builtin: correct description of a closed channel.Rob Pike2011-08-161-3/+3
| | | | | | R=golang-dev, dvyukov CC=golang-dev https://golang.org/cl/4896046
* builtin: tweak a couple of descriptions.Rob Pike2011-08-161-6/+8
| | | | | | R=golang-dev, adg, dsymonds CC=golang-dev https://golang.org/cl/4875050
* godoc: show all top-level decls for (fake) package builtinRobert Griesemer2011-08-151-2/+9
| | | | | | R=r, adg CC=golang-dev https://golang.org/cl/4904045
* godoc: fix lib/godoc/package.txt templateRobert Griesemer2011-08-151-19/+11
| | | | | | | | | | | - 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
* godoc: fix escaping in templatesRobert Griesemer2011-08-154-17/+20
| | | | | | | | | - HTML-escape URL paths - URL-escape URL parameters R=bradfitz CC=golang-dev https://golang.org/cl/4890041
* rpc: implement ServeRequest to synchronously serve a single request.Sugu Sougoumarane2011-08-162-33/+142
| | | | | | | | | | | 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
* builtin: add documentation for builtinsRob Pike2011-08-161-0/+133
| | | | | | | | | | | | 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
* build: don't print anything on version.bash -saveGustavo Niemeyer2011-08-151-2/+1
| | | | | | R=rsc CC=golang-dev https://golang.org/cl/4904044
* build: support versioning without hgGustavo Niemeyer2011-08-151-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* reflect: panic on Invalid Interface callGustavo Niemeyer2011-08-151-0/+3
| | | | | | | | | | 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
* build: don't require hg for buildAndrew Gerrand2011-08-151-2/+3
| | | | | | R=golang-dev, dsymonds, n13m3y3r CC=golang-dev https://golang.org/cl/4873048
* runtime: fix pseudo-randomness on some selectsGustavo Niemeyer2011-08-152-1/+35
| | | | | | | | Fixes #2152. R=golang-dev, dvyukov CC=golang-dev https://golang.org/cl/4888044
* old/template: copy code from templateRob Pike2011-08-156-0/+2075
| | | | | | | | | 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
* exp/template: support field syntax on mapsGustavo Niemeyer2011-08-153-3/+37
| | | | | | | | | | | | | | | | | | | | | | 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
* exp/template: don't panic on range of nil interfaceGustavo Niemeyer2011-08-152-1/+4
| | | | | | | | | | | | | | | | 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
* exp/norm: fix incorrect prints found by govet.Robert Hencke2011-08-141-3/+1
| | | | | | R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4895042
* goinstall: report all newly-installed public packagesAndrew Gerrand2011-08-141-3/+11
| | | | | | R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4875048
* C: add Sugu Sougoumarane, Googler.Rob Pike2011-08-141-0/+1
| | | | | | R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4901041
* godoc: fix godoc.html template bug: correctly display package rootsAndrew Gerrand2011-08-141-2/+0
| | | | | | R=golang-dev, r CC=golang-dev https://golang.org/cl/4898042
* exp/template: rename filter: url -> urlquery.David Symonds2011-08-139-32/+32
| | | | | | R=r, rsc CC=golang-dev https://golang.org/cl/4873046
* godoc: position URLs (containing file names) must be quoted and URL escapedRobert Griesemer2011-08-122-14/+14
| | | | | | | | | | 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
* godoc: remove last vestiges of old template systemRobert Griesemer2011-08-127-204/+152
| | | | | | | | | | - 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
* godoc: first round of template cleanupsRobert Griesemer2011-08-1211-201/+150
| | | | | | | | | | | - 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
* exp/norm: generate trie struct in triegen.go for better encapsulation.Marcel van Lohuizen2011-08-121-1/+1
| | | | | | R=r, r CC=golang-dev https://golang.org/cl/4837071
* exp/norm: generate trie struct in triegen.go for better encapsulation.Marcel van Lohuizen2011-08-124-455/+464
| | | | | | R=r, r CC=golang-dev https://golang.org/cl/4837071
* lib/godoc: fix typoMikio Hara2011-08-121-1/+1
| | | | | | R=gri, dsymonds CC=golang-dev https://golang.org/cl/4881042
* crypto, exec, path, time: add support for OpenBSDJoel Sing2011-08-124-0/+14
| | | | | | R=golang-dev, r CC=golang-dev https://golang.org/cl/4837048
* exp/template/html: New package with a toy template transformation.Mike Samuel2011-08-127-5/+200
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* CLA: Add Mike Samuel, Googler.Rob Pike2011-08-121-0/+1
| | | | | | R=golang-dev, dsymonds CC=golang-dev, mikesamuel https://golang.org/cl/4875042
* exp/template: fix implementation of printValue.David Symonds2011-08-122-9/+18
| | | | | | R=r CC=golang-dev https://golang.org/cl/4878042