[release-branch.go1] runtime: replace runtime·rnd function with ROUND macro
««« backport 722bb90ae3ee
runtime: replace runtime·rnd function with ROUND macro
It's sad to introduce a new macro, but rnd shows up consistently
in profiles, and the function call overwhelms the two arithmetic
instructions it performs.
[release-branch.go1] net/http: fix regression and mute known test failure for now
««« backport c3cbd6798cc7
net/http: fix regression and mute known test failure for now
Two tests added in 820ffde8c are expected to fail until the fix
for Issue 3540 goes back in (pending Windows net fixes), so
make those tests just Logf for now, with a TODO to re-enable.
Add a new client test.
Rearrange the transport code to be more readable, and fix the
bug from 820ffde8c where the persistConn was being closed before
the body was fully ready.
Fixes #3644
Updates #1967 (not yet fixed, but should be after Issue 3540)
James Gray [Fri, 21 Sep 2012 19:53:36 +0000 (05:53 +1000)]
[release-branch.go1] net/http: non-keepalive connections close successfully
««« backport 820ffde8c396
net/http: non-keepalive connections close successfully
Connections did not close if Request.Close or Response.Close was true. This meant that if the user wanted the connection to close, or if the server requested it via "Connection: close", the connection would not be closed.
This new error is the only API change in the current draft of
Go 1.0.2 CLs. I'd like to include the CL that introduced it,
because it replaces a mysterious 'internal error' with a
useful error message, but I don't want any API changes,
so unexport the error constant for now. It can be
re-exported for Go 1.1.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6294055
Russ Cox [Wed, 13 Jun 2012 20:24:54 +0000 (16:24 -0400)]
[release-branch.go1] cmd/cgo: make Go code order deterministic
««« backport 319a9f3330d0
cmd/cgo: make Go code order deterministic
The type declarations were being generated using
a range over a map, which meant that successive
runs produced different orders. This will make sure
successive runs produce the same files.
Shenghou Ma [Wed, 13 Jun 2012 20:24:39 +0000 (16:24 -0400)]
[release-branch.go1] api: add Linux/ARM to go1 API
««« backport 5538444d6f32
api: add Linux/ARM to go1 API
It's very unfortunate that the type of Data field of struct
RawSockaddr is [14]uint8 on Linux/ARM instead of [14]int8
on all the others.
btw, it should be [14]int8 according to my header files.
Brad Fitzpatrick [Wed, 13 Jun 2012 20:24:34 +0000 (16:24 -0400)]
[release-branch.go1] api: add FreeBSD to go1 API
««« backport d8e47164f8dd
api: add FreeBSD to go1 API
Now that gri has made go/parser 15% faster, I offer this
change to slow back down cmd/api ~proportionately, adding
FreeBSD to the go1-checked set of platforms.
Really we should have done this earlier. This will prevent us
from breaking FreeBSD compatibility accidentally in the
future.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6279044
Jean-Marc Eurin [Wed, 13 Jun 2012 20:24:29 +0000 (16:24 -0400)]
[release-branch.go1] misc/emacs: Use patch output of gofmt instead of replacing the buffer.
««« backport 6c2e9ed1f714
misc/emacs: Use patch output of gofmt instead of replacing the buffer.
This uses the patch output of gofmt (-d option) and applies each
chunk to the buffer, instead of replacing the whole buffer. The
main advantage is that the undo history is kept across gofmt'ings,
so it can really be used as a before-save-hook.
Rémy Oudompheng [Wed, 13 Jun 2012 20:24:28 +0000 (16:24 -0400)]
[release-branch.go1] runtime: do not unset the special bit after finalization.
««« backport 4a10c887bb3e
runtime: do not unset the special bit after finalization.
A block with finalizer might also be profiled. The special bit
is needed to unregister the block from the profile. It will be
unset only when the block is freed.
Peter Kleiweg [Wed, 13 Jun 2012 20:24:27 +0000 (16:24 -0400)]
[release-branch.go1] Emacs go-mode: don't indent the inside of strings.
««« backport 8888febbe757
Emacs go-mode: don't indent the inside of strings.
Two fixes for indentation problems:
1. Properly recognize multi-line strings. These start with `, not ".
2. Don't indent a line if the beginning of the line is the end of a multi-line string. This happened for instance when inserting a closing bracket after a multi-line string.
Alexey Borzenkov [Wed, 13 Jun 2012 20:24:23 +0000 (16:24 -0400)]
[release-branch.go1] net/http: reuse http proxy connections for different http requests
««« backport d0bc02d414c7
net/http: reuse http proxy connections for different http requests
Comment on cache keys above connectMethod says "http to proxy, http
anywhere after that", however in reality target address was always
included, which prevented http requests to different target
addresses to reuse the same http proxy connection.
Russ Cox [Wed, 13 Jun 2012 20:24:21 +0000 (16:24 -0400)]
[release-branch.go1] cmd/gc: fix parallel assignment in range
««« backport 2252777854d2
cmd/gc: fix parallel assignment in range
for expr1, expr2 = range slice
was assigning to expr1 and expr2 in sequence
instead of in parallel. Now it assigns in parallel,
as it should. This matters for things like
for i, x[i] = range slice.
Russ Cox [Wed, 13 Jun 2012 20:24:21 +0000 (16:24 -0400)]
[release-branch.go1] runtime: handle and test large map values
««« backport 98488e2e38ee
runtime: handle and test large map values
This is from CL 5451105 but was dropped from that CL.
See also CL 6137051.
The only change compared to 5451105 is to check for
h != nil in reflect·mapiterinit; allowing use of nil maps
must have happened after that original CL.
Fixes #3573.
R=golang-dev, dave, r
CC=golang-dev
https://golang.org/cl/6215078
Rob Pike [Wed, 13 Jun 2012 20:24:17 +0000 (16:24 -0400)]
[release-branch.go1] runtime: fix docs for Caller and Callers
««« backport 443c7a2dabe9
runtime: fix docs for Caller and Callers
The previous attempt to explain this got it backwards (all the more reason to be
sad we couldn't make the two functions behave the same).
Ugorji Nwoke [Wed, 13 Jun 2012 20:24:09 +0000 (16:24 -0400)]
[release-branch.go1] text/template: exec should accept interface value as valid.
««« backport 4c05c319570b
text/template: exec should accept interface value as valid.
Currently, if you pass some data to a template as an interface (e.g. interface{})
and extract that value that value as a parameter for a function, it fails, saying
wrong type.
This is because it is only looking at the interface type, not the interface content.
This CL uses the underlying content as the parameter to the func.
Fixes #3642.
R=golang-dev, r, r
CC=golang-dev
https://golang.org/cl/6218052
Russ Cox [Wed, 13 Jun 2012 20:24:08 +0000 (16:24 -0400)]
[release-branch.go1] unicode: fix comment about variable types
««« backport 40104e4c312d
unicode: fix comment about variable types
In both the web and command line tool,
the comment is shown after the declaration.
But in the code the comment is obviously before.
Make the text not refer to a specific order.
Comment groups must end at the end of a line (or the
next non-comment token) if the group started on a line
with non-comment tokens.
This is important for correct computation of "lead"
and "line" comments (Doc and Comment fields in AST nodes).
Without this fix, the "line" comment for F1 in the
following example:
type T struct {
F1 int // comment1
// comment2
F2 int
}
is "// comment1// comment2" rather than just "// comment1".
This bug was present from Day 1 but only visible when
looking at export-filtered ASTs where only comments
associated with AST nodes are printed, and only in rare
cases (e.g, in the case above, if F2 where not exported,
godoc would show "// comment2" anyway because it was
considered part of the "line" comment for F1).
The bug fix is very small (parser.go). The bulk of the
changes are additional test cases (parser_test.go).
The fix exposed a caching bug in go/printer via one of the
existing tests, hence the changes to printer.go.
As an aside, the fix removes the the need for empty lines
before an "// Output" comment for some special cases of
code examples (e.g.: src/pkg/strings/example_test.go, Count
example).
NOTE: A new OID has been defined for the combination
of the v1.5 signature scheme and the SHA-224 hash function:
sha224WithRSAEncryption OBJECT IDENTIFIER ::=
Like the other sha*WithRSAEncryption OIDs in PKCS #1 v2.1,
this OID has NULL parameters.
The DigestInfo encoding for SHA-224 (see Section 9.2, Note 1) is:
(0x)30 2d 30 0d 06 09 60 86 48 01 65 03 04 02 04 05 00 04 1c || H
Volker Dobler [Wed, 13 Jun 2012 20:24:02 +0000 (16:24 -0400)]
[release-branch.go1] net/http: add cookies from jar to POST request.
««« backport 05fc2ee43b46
net/http: add cookies from jar to POST request.
The main content of this CL is a test case checking the reported
issue 3511 and a tiny fix for it. A subsequent CL will refactor
the fix as proposed issue 3511.
Russ Cox [Wed, 13 Jun 2012 20:23:54 +0000 (16:23 -0400)]
[release-branch.go1] cmd/go: invoke godoc with import path when possible
««« backport 5b1e024a5e89
cmd/go: invoke godoc with import path when possible
Also add -n -x flags to doc, fmt, vet.
Also shorten unknown command error.
Fixes #3612.
Fixes #3613.
R=golang-dev, bradfitz, r
CC=golang-dev
https://golang.org/cl/6211053