]> Cypherpunks.ru repositories - gostls13.git/log
gostls13.git
12 years agoweekly.2012-03-04 weekly.2012-03-04
Andrew Gerrand [Mon, 5 Mar 2012 04:45:50 +0000 (15:45 +1100)]
weekly.2012-03-04

R=golang-dev, dsymonds, bradfitz, minux.ma
CC=golang-dev
https://golang.org/cl/5732058

12 years agodoc: add command docs page, canonicalize reference paths
Andrew Gerrand [Mon, 5 Mar 2012 04:30:27 +0000 (15:30 +1100)]
doc: add command docs page, canonicalize reference paths

R=golang-dev, kyle, r
CC=golang-dev
https://golang.org/cl/5728055

12 years agodoc: add help page, update project page
Andrew Gerrand [Mon, 5 Mar 2012 04:07:43 +0000 (15:07 +1100)]
doc: add help page, update project page

R=golang-dev, kyle, r, bradfitz
CC=golang-dev
https://golang.org/cl/5729053

12 years agodoc: clean up docs page, refer to wiki, change install doc paths
Andrew Gerrand [Mon, 5 Mar 2012 03:31:27 +0000 (14:31 +1100)]
doc: clean up docs page, refer to wiki, change install doc paths

R=golang-dev, minux.ma, r
CC=golang-dev
https://golang.org/cl/5728051

12 years agocmd: update formatting of usage messages
Andrew Gerrand [Mon, 5 Mar 2012 03:23:00 +0000 (14:23 +1100)]
cmd: update formatting of usage messages

R=golang-dev, r, minux.ma
CC=golang-dev
https://golang.org/cl/5738045

12 years agodoc/progs: update for go 1
Rob Pike [Mon, 5 Mar 2012 01:49:31 +0000 (12:49 +1100)]
doc/progs: update for go 1
Fixes #3076.

R=golang-dev, dsymonds, r
CC=golang-dev
https://golang.org/cl/5727056

12 years agocmd/go: fix grammar error in help messages
Rob Pike [Mon, 5 Mar 2012 00:52:31 +0000 (11:52 +1100)]
cmd/go: fix grammar error in help messages

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5729061

12 years agodoc/effective_go: minor fix
Shenghou Ma [Mon, 5 Mar 2012 00:12:58 +0000 (11:12 +1100)]
doc/effective_go: minor fix
        We have 'gofmt' and 'go fmt', but not 'go tool fmt'.

R=golang-dev, kyle, r
CC=golang-dev
https://golang.org/cl/5739043

12 years agohtml/template: fix comment typo
Scott Lawrence [Sun, 4 Mar 2012 23:58:43 +0000 (10:58 +1100)]
html/template: fix comment typo

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5730051

12 years agomisc: update usage message in benchcmp for go tool
Dave Cheney [Sun, 4 Mar 2012 23:57:58 +0000 (10:57 +1100)]
misc: update usage message in benchcmp for go tool

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5727052

12 years agodoc: change menu, tweak front page
Andrew Gerrand [Sun, 4 Mar 2012 23:34:22 +0000 (10:34 +1100)]
doc: change menu, tweak front page

R=golang-dev, kyle, r
CC=golang-dev
https://golang.org/cl/5729052

12 years agonet: move MAC address parser into distinct file
Mikio Hara [Sun, 4 Mar 2012 22:42:07 +0000 (07:42 +0900)]
net: move MAC address parser into distinct file

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5727054

12 years ago doc: fix another typo in article on defer, panic and recover
Francisco Souza [Sun, 4 Mar 2012 03:40:14 +0000 (14:40 +1100)]
doc: fix another typo in article on defer, panic and recover

Fixes #3177

R=adg
CC=golang-dev
https://golang.org/cl/5728057

12 years agogodoc: fix codewalks
Andrew Gerrand [Sun, 4 Mar 2012 00:53:07 +0000 (11:53 +1100)]
godoc: fix codewalks

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5732056

12 years agodoc: fixed minor typo in article on defer
Francisco Souza [Sun, 4 Mar 2012 00:34:21 +0000 (11:34 +1100)]
doc: fixed minor typo in article on defer

Fixes #3176.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5737043

12 years agoA+C: add Francisco Souza
Andrew Gerrand [Sun, 4 Mar 2012 00:34:10 +0000 (11:34 +1100)]
A+C: add Francisco Souza

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5729054

12 years agogodoc: hide "Subdirectories" subheading if it is the only section
Andrew Gerrand [Sat, 3 Mar 2012 22:57:09 +0000 (09:57 +1100)]
godoc: hide "Subdirectories" subheading if it is the only section

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5731056

12 years agotext/template: one more test case
Rob Pike [Sat, 3 Mar 2012 21:06:26 +0000 (08:06 +1100)]
text/template: one more test case
Missed a case for variadic functions with too few arguments.
The code passes, and with the right error, but might as well record the test case.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5732050

12 years agotext/template: clean up function values
Rob Pike [Sat, 3 Mar 2012 12:14:20 +0000 (23:14 +1100)]
text/template: clean up function values
The recent addition of automatic function invocation generated
some troublesome ambiguities. Restore the previous behavior
and compensate by providing a "call" builtin to make it easy to
do what the automatic invocation did, but in a clear and explicit
manner.

Fixes #3140.

At least for now.

R=golang-dev, dsymonds, r
CC=golang-dev
https://golang.org/cl/5720065

12 years agocmd/go: fix relative imports again
Russ Cox [Sat, 3 Mar 2012 03:16:02 +0000 (22:16 -0500)]
cmd/go: fix relative imports again

I tried before to make relative imports work by simply
invoking the compiler in the right directory, so that
an import of ./foo could be resolved by ./foo.a.
This required creating a separate tree of package binaries
that included the full path to the source directory, so that
/home/gopher/bar.go would be compiled in
tmpdir/work/local/home/gopher and perhaps find
a ./foo.a in that directory.

This model breaks on Windows because : appears in path
names but cannot be used in subdirectory names, and I
missed one or two places where it needed to be removed.

The model breaks more fundamentally when compiling
a test of a package that lives outside the Go path, because
we effectively use a ./ import in the generated testmain,
but there we want to be able to resolve the ./ import
of the test package to one directory and all the other ./
imports to a different directory.  Piggybacking on the compiler's
current working directory is then no longer possible.

Instead, introduce a new compiler option -D prefix that
makes the compiler turn a ./ import into prefix+that,
so that import "./foo" with -D a/b/c turns into import
"a/b/c/foo".  Then we can invent a package hierarchy
"_/" with subdirectories named for file system paths:
import "./foo" in the directory /home/gopher becomes
import "_/home/gopher/foo", and since that final path
is just an ordinary import now, all the ordinary processing
works, without special cases.

We will have to change the name of the hierarchy if we
ever decide to introduce a standard package with import
path "_", but that seems unlikely, and the detail is known
only in temporary packages that get thrown away at the
end of a build.

Fixes #3169.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5732045

12 years agodoc: remove roadmap document
Andrew Gerrand [Sat, 3 Mar 2012 01:53:37 +0000 (12:53 +1100)]
doc: remove roadmap document

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5726047

12 years agodoc: change wording on references page
Andrew Gerrand [Sat, 3 Mar 2012 01:48:35 +0000 (12:48 +1100)]
doc: change wording on references page

R=golang-dev
CC=golang-dev
https://golang.org/cl/5728050

12 years agomisc: add zsh completion for go tool.
Rémy Oudompheng [Fri, 2 Mar 2012 23:12:40 +0000 (00:12 +0100)]
misc: add zsh completion for go tool.

R=golang-dev, minux.ma, rsc
CC=golang-dev, remy
https://golang.org/cl/5699079

12 years agodoc/install-source.html: update for go tool
Rob Pike [Fri, 2 Mar 2012 22:36:09 +0000 (09:36 +1100)]
doc/install-source.html: update for go tool
Make some updates, get rid of mentions of make.
There remain a number of open questions.

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5720057

12 years agoXcode: move Xcode3 specific files into sub directory
Robert Griesemer [Fri, 2 Mar 2012 22:15:44 +0000 (14:15 -0800)]
Xcode: move Xcode3 specific files into sub directory

- makes space for Xcode4 files
- added README

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5720059

12 years agofix build for FreeBSD/amd64
Shenghou Ma [Fri, 2 Mar 2012 20:47:42 +0000 (04:47 +0800)]
fix build for FreeBSD/amd64

R=rsc, golang-dev, iant
CC=golang-dev
https://golang.org/cl/5732043

12 years agold: allow more -L options
Shenghou Ma [Fri, 2 Mar 2012 20:14:31 +0000 (04:14 +0800)]
ld: allow more -L options
        Dynamically allocate the libdir array, so we won't need to bother it again.
        Enhances CL 5727043.

R=rsc
CC=golang-dev
https://golang.org/cl/5731043

12 years agogo/printer: simpler exprList code, more tests
Robert Griesemer [Fri, 2 Mar 2012 19:16:05 +0000 (11:16 -0800)]
go/printer: simpler exprList code, more tests

Except for the tests, this is mostly deleting code:

- removed several exprListModes:
  blankStart: easily done explicitly, and trailing blanks
    are cleaned up by the trimmer post-pass
  blankEnd: never used
  commaSep: all exprLists calls had this set

- added test cases for multi-line returns
(for a later fix of issue 1207)

- no formatting changes

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5672062

12 years agoall: more typos
Robert Griesemer [Fri, 2 Mar 2012 19:15:45 +0000 (11:15 -0800)]
all: more typos

R=golang-dev, bradfitz, r
CC=golang-dev
https://golang.org/cl/5720044

12 years agonet: during short test, don't bother timeout longer than expected
Shenghou Ma [Fri, 2 Mar 2012 16:50:18 +0000 (00:50 +0800)]
net: during short test, don't bother timeout longer than expected

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5716053

12 years agodoc/go1: minor corrections
Shenghou Ma [Fri, 2 Mar 2012 16:47:11 +0000 (00:47 +0800)]
doc/go1: minor corrections
        Set dagger looks very much like t in some fonts, so superscript it.
        os/signal is no longer in exp.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5720049

12 years agocmd/go: avoid repeated include dirs.
Rémy Oudompheng [Fri, 2 Mar 2012 16:31:13 +0000 (11:31 -0500)]
cmd/go: avoid repeated include dirs.

Fixes #3171.

R=golang-dev, rsc
CC=golang-dev, remy
https://golang.org/cl/5724045

12 years agodoc: fix some HTML errors in code.html
Sanjay Menakuru [Fri, 2 Mar 2012 16:29:09 +0000 (11:29 -0500)]
doc: fix some HTML errors in code.html

R=golang-dev, rsc
CC=adg, golang-dev
https://golang.org/cl/5720050

12 years agocmd/go: fix test import dependency bug
Russ Cox [Fri, 2 Mar 2012 16:27:36 +0000 (11:27 -0500)]
cmd/go: fix test import dependency bug

Fixes a problem Rob is having with goprotobuf.
Cannot add a test because the same case is more broken
when using ./ imports.  That still needs to be fixed,
and is one aspect of issue 3169.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5725043

12 years agocmd/go: fixes for gccgo.
Rémy Oudompheng [Fri, 2 Mar 2012 07:36:53 +0000 (08:36 +0100)]
cmd/go: fixes for gccgo.

Also remove useless "install" argument to pkgpath now that go/build
defines package install locations.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5714059

12 years agobuild: add GO_ prefix to LDFLAGS and GCFLAGS
Gustavo Niemeyer [Fri, 2 Mar 2012 05:45:01 +0000 (02:45 -0300)]
build: add GO_ prefix to LDFLAGS and GCFLAGS

Build environments will often define stock LDFLAGS
that are not compatible with the gc ld, causing
non-obvious failures midway through the build.

R=golang-dev, rsc, minux.ma, rsc
CC=golang-dev
https://golang.org/cl/5724044

12 years agoos: sleep 5ms after process has exited on windows
Alex Brainman [Fri, 2 Mar 2012 05:35:42 +0000 (16:35 +1100)]
os: sleep 5ms after process has exited on windows

Fixes #2866.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5719047

12 years agodoc: expand code.html to discuss the go tool in more depth
Andrew Gerrand [Fri, 2 Mar 2012 04:35:36 +0000 (15:35 +1100)]
doc: expand code.html to discuss the go tool in more depth

R=golang-dev, balasanjay, r
CC=golang-dev
https://golang.org/cl/5640045

12 years agoos: implement UserTime/SystemTime on windows
Alex Brainman [Fri, 2 Mar 2012 03:47:40 +0000 (14:47 +1100)]
os: implement UserTime/SystemTime on windows

Fixes #3145.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5721044

12 years agoos: fix grammar in ProcessState comment
Rob Pike [Fri, 2 Mar 2012 03:07:26 +0000 (14:07 +1100)]
os: fix grammar in ProcessState comment
Asymptotic convergence.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5719045

12 years agoos: centralize documentation of Process and ProcessState
Russ Cox [Fri, 2 Mar 2012 02:56:54 +0000 (21:56 -0500)]
os: centralize documentation of Process and ProcessState

Also change Wait to say "exit" instead of "exit or stop".

I notice that Pid is not implemented on all systems.
Should we fix that?

Fixes #3138.

R=golang-dev, alex.brainman, r
CC=golang-dev
https://golang.org/cl/5710056

12 years agodoc: update go1 for html changes
Andrew Gerrand [Fri, 2 Mar 2012 00:52:46 +0000 (11:52 +1100)]
doc: update go1 for html changes

R=golang-dev, rsc, r
CC=golang-dev
https://golang.org/cl/5713054

12 years agogo/build: fix build
Russ Cox [Fri, 2 Mar 2012 00:42:39 +0000 (19:42 -0500)]
go/build: fix build

Presumably something about the very large go/build
doc comment breaks the build constraint parser in
cmd/dist.  I don't feel like debugging C code right now,
so move it into its own file.  If cmd/dist decides doc.go
is not part of the package, it will still build correctly.

R=golang-dev
TBR=golang-dev
CC=golang-dev
https://golang.org/cl/5722043

12 years agogo/build: document GOPATH
Russ Cox [Thu, 1 Mar 2012 23:26:53 +0000 (18:26 -0500)]
go/build: document GOPATH

Fixes #2332.

R=golang-dev, remyoudompheng, gri, r, r
CC=golang-dev
https://golang.org/cl/5710055

12 years agodoc: describe API changes to go/build
Russ Cox [Thu, 1 Mar 2012 23:17:28 +0000 (18:17 -0500)]
doc: describe API changes to go/build

R=golang-dev, gri, r
CC=golang-dev
https://golang.org/cl/5711059

12 years agocmd/go: fix verbose command displaying
Gustavo Niemeyer [Thu, 1 Mar 2012 23:14:21 +0000 (20:14 -0300)]
cmd/go: fix verbose command displaying

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5715050

12 years agocmd/go: fix -I flag for gc command
Gustavo Niemeyer [Thu, 1 Mar 2012 23:13:04 +0000 (20:13 -0300)]
cmd/go: fix -I flag for gc command

R=rsc, remyoudompheng
CC=golang-dev
https://golang.org/cl/5711056

12 years agoall: fixed various typos
Robert Griesemer [Thu, 1 Mar 2012 22:56:05 +0000 (14:56 -0800)]
all: fixed various typos

(Semi-automatically detected.)

R=golang-dev, remyoudompheng, r
CC=golang-dev
https://golang.org/cl/5715052

12 years agoreflect: expand doc for Value.Interface
Russ Cox [Thu, 1 Mar 2012 22:55:47 +0000 (17:55 -0500)]
reflect: expand doc for Value.Interface

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5716057

12 years agospec: clarifications around exports, uniqueness of identifiers
Robert Griesemer [Thu, 1 Mar 2012 21:57:49 +0000 (13:57 -0800)]
spec: clarifications around exports, uniqueness of identifiers

- Define what it means for two identifiers to be unique.

- The current spec is incorrect about exported
identifiers: for instance, it excluded fields
of non-exported types of exported variables
from being exported. It is easier to leave
the detailed specification away and let the
rest of the spec govern access of exported
identifiers.

- The current spec is incorrect about qualified
identifiers: It simply required that an identifier
be exported to be valid in a qualified identifier.
However, qualified identifiers can only access
exported identifiers declared in the package
block of the imported package.

Fixes #1551.

R=r, rsc, iant, ken
CC=golang-dev
https://golang.org/cl/5711043

12 years agocmd/dist: Unix grammar fix
Russ Cox [Thu, 1 Mar 2012 18:38:05 +0000 (13:38 -0500)]
cmd/dist: Unix grammar fix

Fixes #3165.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/5712051

12 years agospec: minor tweaks
Robert Griesemer [Thu, 1 Mar 2012 18:35:15 +0000 (10:35 -0800)]
spec: minor tweaks

- more idiomatic examples of pointer types
- show use of _ in examples of function types
- remove "legal:" qualification in examples
  for consistency

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5711054

12 years agoencoding/xml: fix xml test tag usage
Gustavo Niemeyer [Thu, 1 Mar 2012 18:20:13 +0000 (15:20 -0300)]
encoding/xml: fix xml test tag usage

No real problem.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5717049

12 years agosync: add Once example
Dmitriy Vyukov [Thu, 1 Mar 2012 18:16:20 +0000 (22:16 +0400)]
sync: add Once example

R=golang-dev, rsc, bradfitz
CC=golang-dev
https://golang.org/cl/5715046

12 years agosync: remove old WaitGroup example
Dmitriy Vyukov [Thu, 1 Mar 2012 17:26:08 +0000 (21:26 +0400)]
sync: remove old WaitGroup example
The docs look awkward - there is a paragraph
"For example:" with a plain text example,
and straight below it a real Example.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5717048

12 years agocmd/go: fixes
Russ Cox [Thu, 1 Mar 2012 17:12:22 +0000 (12:12 -0500)]
cmd/go: fixes
* Install tools into tool dir always
  (Fixes issue 3049.  Fixes issue 2868.  Fixes issue 2925.)
* Make packages depend on compiler, linker (Fixes issue 3036.)
* Do not recompile packages across roots (Fixes issue 3149.)
* Allow use of binary-only packages (Fixes issue 2775.)
* Avoid duplicate cgo dependencies (Fixes issue 3001.)
* Show less in go get -x.  (Fixes issue 2926.)
* Do not force repo root for existing checkout (Fixes issue 2969.)
* Show full syntax error list always (Fixes issue 2811.)
* Clean arguments before processing (Fixes issue 3034.)
* Add flags for compiler, linker arguments (Fixes issue 2996.)
* Pass flags in make.bash (Fixes issue 3091.)
* Unify build flags, defined in one place.
* Clean up error messages (Fixes issue 3075.  Fixes issue 2923.)
* Support local import paths (Fixes issue 3118.)
* Allow top-level package outside $GOPATH (Fixes issue 3009.)

In addition to these fixes, all commands now take a list of
go files as a way to specify a single package, just as go build and
go run always have.  This means you can:

        go list -json x.go
        go fix x.go
        go vet x.go
        go test x_test.go

Preliminary tests in test.bash.
Mainly testing things that the ordinary build does not.
I don't mind if the script doesn't run on Windows.

I expect that gccgo support is now broken, and I hope that
people will feel free to file issues and/or send CLs to fix it.  :-)

R=golang-dev, dsymonds, r, rogpeppe
CC=golang-dev
https://golang.org/cl/5708054

12 years agogo/build: replace FindTree, ScanDir, Tree, DirInfo with Import, Package
Russ Cox [Thu, 1 Mar 2012 17:12:09 +0000 (12:12 -0500)]
go/build: replace FindTree, ScanDir, Tree, DirInfo with Import, Package

This is an API change, but one I have been promising would
happen when it was clear what the go command needed.

This is basically a complete replacement of what used to be here.

build.Tree is gone.

build.DirInfo is expanded and now called build.Package.

build.FindTree is now build.Import(package, srcDir, build.FindOnly).
The returned *Package contains information that FindTree returned,
but applicable only to a single package.

build.ScanDir is now build.ImportDir.

build.FindTree+build.ScanDir is now build.Import.

The new Import API allows specifying the source directory,
in order to resolve local imports (import "./foo") and also allows
scanning of packages outside of $GOPATH.  They will come back
with less information in the Package, but they will still work.

The old go/build API exposed both too much and too little.
This API is much closer to what the go command needs,
and it works well enough in the other places where it is
used.  Path is gone, so it can no longer be misused.  (Fixes issue 2749.)

This CL updates clients of go/build other than the go command.
The go command changes are in a separate CL, to be submitted
at the same time.

R=golang-dev, r, alex.brainman, adg
CC=golang-dev
https://golang.org/cl/5713043

12 years agoreflect: make Value.Interface return immutable data
Russ Cox [Thu, 1 Mar 2012 16:48:27 +0000 (11:48 -0500)]
reflect: make Value.Interface return immutable data

Fixes #3134.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5713049

12 years agoruntime: run init on main thread
Russ Cox [Thu, 1 Mar 2012 16:48:17 +0000 (11:48 -0500)]
runtime: run init on main thread

Fixes #3125.

R=golang-dev, r, minux.ma
CC=golang-dev
https://golang.org/cl/5714049

12 years agocmd/dist: recognize CC="ccache clang" as clang
Russ Cox [Thu, 1 Mar 2012 16:46:13 +0000 (11:46 -0500)]
cmd/dist: recognize CC="ccache clang" as clang

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5711052

12 years agotest: add test of calling recover in a varargs function
Ian Lance Taylor [Thu, 1 Mar 2012 16:24:03 +0000 (08:24 -0800)]
test: add test of calling recover in a varargs function

gccgo did not handle this correctly.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5714050

12 years ago5g, 8g: remove documentation dregs
Anthony Martin [Thu, 1 Mar 2012 06:56:50 +0000 (22:56 -0800)]
5g, 8g: remove documentation dregs

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5714051

12 years agodoc: update link to self-hosted "The Laws of Reflection" article
Shenghou Ma [Thu, 1 Mar 2012 06:54:35 +0000 (14:54 +0800)]
doc: update link to self-hosted "The Laws of Reflection" article

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5717046

12 years agohtml/template: encoding/json does more escaping now, so update the html/template...
David Symonds [Thu, 1 Mar 2012 06:52:05 +0000 (17:52 +1100)]
html/template: encoding/json does more escaping now, so update the html/template test that uses it.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5714052

12 years agoencoding/json: escape output from Marshalers.
David Symonds [Thu, 1 Mar 2012 06:41:59 +0000 (17:41 +1100)]
encoding/json: escape output from Marshalers.

Fixes #3127.

R=rsc, r
CC=golang-dev
https://golang.org/cl/5707054

12 years agoos: release process handle at the end of windows (*Process).Wait
Alex Brainman [Thu, 1 Mar 2012 06:36:35 +0000 (17:36 +1100)]
os: release process handle at the end of windows (*Process).Wait

Fixes #3154.

R=golang-dev, bradfitz, rsc
CC=golang-dev
https://golang.org/cl/5707052

12 years agotest: add bug426.go: a gccgo crash on valid code
Ian Lance Taylor [Thu, 1 Mar 2012 05:51:21 +0000 (21:51 -0800)]
test: add bug426.go: a gccgo crash on valid code

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5715044

12 years agoencoding/gob: more hardening for lengths of input strings.
David Symonds [Thu, 1 Mar 2012 04:57:54 +0000 (15:57 +1100)]
encoding/gob: more hardening for lengths of input strings.

Fixes #3160.

R=r
CC=golang-dev
https://golang.org/cl/5716046

12 years agomisc/dist: implement binary distribution scripts in go
Andrew Gerrand [Thu, 1 Mar 2012 04:49:37 +0000 (15:49 +1100)]
misc/dist: implement binary distribution scripts in go

R=golang-dev, r, alex.brainman, r, mike.rosset
CC=golang-dev
https://golang.org/cl/5697050

12 years agotext/template: add examples that use multiple templates
Rob Pike [Thu, 1 Mar 2012 03:55:18 +0000 (14:55 +1100)]
text/template: add examples that use multiple templates

Fixes #2742.

R=golang-dev, peterthrun, adg
CC=golang-dev
https://golang.org/cl/5699083

12 years agotest: add a couple of cases to const1.go that crashed gccgo
Ian Lance Taylor [Thu, 1 Mar 2012 01:39:02 +0000 (17:39 -0800)]
test: add a couple of cases to const1.go that crashed gccgo

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5713045

12 years agogo/printer, gofmt: improved comment placement
Robert Griesemer [Thu, 1 Mar 2012 01:25:15 +0000 (17:25 -0800)]
go/printer, gofmt: improved comment placement

Applied gofmt -w src misc (no changes).

Fixes #3147.

R=r, rsc
CC=golang-dev
https://golang.org/cl/5710046

12 years agoio: Pipes and ReadAt are safe to use concurrently.
Rob Pike [Thu, 1 Mar 2012 00:24:13 +0000 (11:24 +1100)]
io: Pipes and ReadAt are safe to use concurrently.

Updates #1599.

R=golang-dev, bradfitz, rsc, r
CC=golang-dev
https://golang.org/cl/5708056

12 years agodoc: add a bunch of missing <p> tags
Stefan Nilsson [Wed, 29 Feb 2012 23:07:52 +0000 (15:07 -0800)]
doc: add a bunch of missing <p> tags

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5707065

12 years agodoc: add The Laws of Reflection article
Johan Euphrosine [Wed, 29 Feb 2012 23:05:51 +0000 (10:05 +1100)]
doc: add The Laws of Reflection article

Originally published on The Go Programming Language Blog, September 6, 2011.

http://blog.golang.org/2011/09/laws-of-reflection.html

Update #2547

R=golang-dev, r, adg
CC=golang-dev
https://golang.org/cl/5689054

12 years agonet: make -external flag for tests default to true
Mikio Hara [Wed, 29 Feb 2012 22:39:03 +0000 (07:39 +0900)]
net: make -external flag for tests default to true

go test -short # like in the build; no external stuff
go test # long tests, + external
go test -external=false # long tests, no external

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5696079

12 years agogc: fix string comparisons for new bool rules
Anthony Martin [Wed, 29 Feb 2012 21:55:50 +0000 (13:55 -0800)]
gc: fix string comparisons for new bool rules

The two string comparison optimizations were
missing the implicit cast from ideal bool.

Fixes #3119.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5696071

12 years agopath/filepath: steer people away from HasPrefix
Russ Cox [Wed, 29 Feb 2012 21:37:40 +0000 (16:37 -0500)]
path/filepath: steer people away from HasPrefix

The strikes against it are:

1. It does not take path boundaries into account.
2. It assumes that Windows==case-insensitive file system
and non-Windows==case-sensitive file system, neither of
which is always true.
3. Comparing ToLower against ToLower is not a correct
implementation of a case-insensitive string comparison.
4. If it returns true on Windows you still don't know how long
the matching prefix is in bytes, so you can't compute what
the suffix is.

R=golang-dev, r, dsymonds, r
CC=golang-dev
https://golang.org/cl/5712045

12 years agotime: skip a often-flaky test in short mode
Brad Fitzpatrick [Wed, 29 Feb 2012 21:14:05 +0000 (13:14 -0800)]
time: skip a often-flaky test in short mode

In -test.short mode, skip measuring the upper bound of time
sleeps. The API only guarantees minimum bounds on sleeps,
anyway, so this isn't a bug we're ignoring as much as it is
simply observing bad builder virtualization and/or loaded
machines.

We keep the test in full mode where developers will
presumably be running on a lightly-loaded, native, fast
machine.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5713044

12 years agospec: apply method sets, embedding to all types, not just named types
Russ Cox [Wed, 29 Feb 2012 20:54:06 +0000 (15:54 -0500)]
spec: apply method sets, embedding to all types, not just named types

When we first wrote the method set definition, we had long
discussions about whether method sets applied to all types
or just named types, and we (or at least I) concluded that it
didn't matter: the two were equivalent points of view, because
the only way to introduce a new method was to write a method
function, which requires a named receiver type.

However, the addition of embedded types changed this.
Embedding can introduce a method without writing an explicit
method function, as in:

        var x struct {
                sync.Mutex
        }

        var px *struct {
                sync.Mutex
        }

        var _, _ sync.Locker = &x, px

The edits in this CL make clear that both &x and px satisfy
sync.Locker.  Today, gccgo already works this way; 6g does not.

R=golang-dev, gri, iant, r
CC=golang-dev
https://golang.org/cl/5702062

12 years agoos: diagnose chdir error during StartProcess
Russ Cox [Wed, 29 Feb 2012 20:53:57 +0000 (15:53 -0500)]
os: diagnose chdir error during StartProcess

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5711044

12 years agopath/filepath: note that SplitList is different from strings.Split
Russ Cox [Wed, 29 Feb 2012 20:50:46 +0000 (15:50 -0500)]
path/filepath: note that SplitList is different from strings.Split

R=golang-dev, r, bradfitz, gustavo
CC=golang-dev
https://golang.org/cl/5712044

12 years agogc: disallow absolute import paths
Russ Cox [Wed, 29 Feb 2012 20:28:36 +0000 (15:28 -0500)]
gc: disallow absolute import paths

They are broken and hard to make work.

They have never worked: if you import "/tmp/x"
from "/home/rsc/p.c" then the compiler rewrites
this into import "/home/rsc/tmp/x", which is
clearly wrong.

Also we just disallowed the : character in import
paths, so import "c:/foo" is already not allowed.

Finally, in order to support absolute paths well in
a build tool we'd have to provide a mechanism to
instruct the compiler to resolve absolute imports
by looking in some other tree (where the binaries live)
and provide a mapping from absolute path to location
in that tree.  This CL avoids adding that complexity.

This is not part of the language spec (and should not be),
so no spec change is needed.

If we need to make them work later, we can.

R=ken2
CC=golang-dev
https://golang.org/cl/5712043

12 years agospec: shorten heading for complex, real, imag
Russ Cox [Wed, 29 Feb 2012 20:20:11 +0000 (15:20 -0500)]
spec: shorten heading for complex, real, imag

In the current TOC it sticks out quite a bit.

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5705053

12 years agonet/http/httptest: make Server.Close wait for outstanding requests to finish
Brad Fitzpatrick [Wed, 29 Feb 2012 20:18:26 +0000 (12:18 -0800)]
net/http/httptest: make Server.Close wait for outstanding requests to finish

Might fix issue 3050

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5708066

12 years agoruntime/pprof: skip test on 64-bit Mac OS X 10.6
Shenghou Ma [Wed, 29 Feb 2012 19:11:37 +0000 (03:11 +0800)]
runtime/pprof: skip test on 64-bit Mac OS X 10.6

R=rsc, bsiegert
CC=golang-dev
https://golang.org/cl/5709060

12 years agospec: use the term "lexical token" (rather then "lexical symbol")
Robert Griesemer [Wed, 29 Feb 2012 18:39:20 +0000 (10:39 -0800)]
spec: use the term "lexical token" (rather then "lexical symbol")

Fix for minor inconsistency.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/5709058

12 years agodoc: elaborate available checks for cmd/vet
Shenghou Ma [Wed, 29 Feb 2012 18:22:35 +0000 (02:22 +0800)]
doc: elaborate available checks for cmd/vet

R=golang-dev, r, ality, r
CC=golang-dev
https://golang.org/cl/5709053

12 years agonet/http: make a test more paranoid & reliable on Windows, maybe.
Brad Fitzpatrick [Wed, 29 Feb 2012 17:53:20 +0000 (09:53 -0800)]
net/http: make a test more paranoid & reliable on Windows, maybe.

Part of diagnosing issue 3050.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5707056

12 years agonet/http: fix ProxyFromEnvironment bug, docs, add tests
Brad Fitzpatrick [Wed, 29 Feb 2012 17:52:52 +0000 (09:52 -0800)]
net/http: fix ProxyFromEnvironment bug, docs, add tests

Fixes #2919 I believe. (gets as far as sending a CONNECT
request to my little dummy logging proxy that doesn't actually
support CONNECT now.)  Untested with a real CONNECT-supporting
proxy, though.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5708055

12 years agonet/http/httputil: make https DumpRequestOut less racy
Brad Fitzpatrick [Wed, 29 Feb 2012 17:52:28 +0000 (09:52 -0800)]
net/http/httputil: make https DumpRequestOut less racy

It's still racy in that it mutates req.Body, though.  *shrug*

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5709054

12 years agospec: fix sentence
Robert Griesemer [Wed, 29 Feb 2012 17:06:05 +0000 (09:06 -0800)]
spec: fix sentence

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5706065

12 years agogob: trivial print fix
Robert Hencke [Wed, 29 Feb 2012 16:45:57 +0000 (08:45 -0800)]
gob: trivial print fix

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5707062

12 years agogo/printer: replace multiline logic
Robert Griesemer [Wed, 29 Feb 2012 16:38:31 +0000 (08:38 -0800)]
go/printer: replace multiline logic

This CL mostly deletes code.

Using existing position information is
just as good to determine if a new section
is needed; no need to track exact multi-
line information. Eliminates the need to
carry around a multiLine parameter with
practically every function.

Applied gofmt -w src misc resulting in only
a minor change to godoc.go. In return, a couple
of test cases are now formatted better.

Not Go1-required, but nice-to-have as it will
simplify fixes going forward.

R=rsc
CC=golang-dev
https://golang.org/cl/5706055

12 years agopkg/runtime: 2 sanity checks in the runtime-gdb.py prettyprinters.
Luuk van Dijk [Wed, 29 Feb 2012 15:42:25 +0000 (16:42 +0100)]
pkg/runtime: 2 sanity checks in the runtime-gdb.py prettyprinters.

Don't try to print obviously corrupt slices or interfaces.
Doesn't actually solve 3047 or 2818, but seems a good idea anyway.

R=rsc, bsiegert
CC=golang-dev
https://golang.org/cl/5708061

12 years agonet: minor fixes to test
Mikio Hara [Wed, 29 Feb 2012 03:34:05 +0000 (12:34 +0900)]
net: minor fixes to test

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5707058

12 years agoio: document that i/o is not necessarily safe for parallel access.
Rob Pike [Wed, 29 Feb 2012 02:30:08 +0000 (13:30 +1100)]
io: document that i/o is not necessarily safe for parallel access.

Updates #1599.

R=golang-dev, adg, dsymonds
CC=golang-dev
https://golang.org/cl/5704052

12 years agodoc: remove Go for C++ Programmers
Andrew Gerrand [Wed, 29 Feb 2012 02:23:07 +0000 (13:23 +1100)]
doc: remove Go for C++ Programmers

Now available at the Go Wiki:
http://code.google.com/p/go-wiki/wiki/GoForCPPProgrammers

Fixes #2913.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5705049

12 years agogo spec: inside functions, variables must be evaluated.
Robert Griesemer [Wed, 29 Feb 2012 01:44:24 +0000 (17:44 -0800)]
go spec: inside functions, variables must be evaluated.

Fixes #1612.

R=r, rsc, iant, ken, remyoudompheng, ken, r
CC=golang-dev
https://golang.org/cl/5700068

12 years agodoc: update Go For C++ Programmers
Ian Lance Taylor [Wed, 29 Feb 2012 00:49:57 +0000 (16:49 -0800)]
doc: update Go For C++ Programmers

Minor cleanups to look more like current Go.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5707053