effective_go.html: round 3 of minor edits.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/7489044
api: update next.txt

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/7518044
misc/emacs: Add compatibility for GNU Emacs 23 and XEmacs >=21.5.32

This CL adds compatibility for GNU Emacs 23 (fixing fontification
issues) and XEmacs >=21.5.32 (fixing a lot of issues). Earlier
versions of XEmacs will not be supported because they do not
support POSIX character classes. Because of that, we also make use
of a lot of functions that were added in 21.5.32.

A known and currently unfixable issue with XEmacs is that go-mode
will not always fontify identifiers that use unicode correctly.

All changes for XEmacs are annotated in the diff.

Note: go--position-bytes is not currently used anywhere, but will
be in a future CL.

Fixes issue 4927.

R=golang-dev, adonovan, cw, patrick.allen.higgins, sameer
CC=golang-dev
https://codereview.appspot.com/7456051

Committer: Alan Donovan <adonovan@google.com>
runtime: change amd64 startup convention

Now the default startup is that the program begins at _rt0_amd64_$GOOS,
which sets DI = argc, SI = argv and jumps to _rt0_amd64.

This makes the _rt0_amd64 entry match the expected semantics for
the standard C "main" function, which we can now provide for use when
linking against a standard C library.

R=golang-dev, devon.odell, minux.ma
CC=golang-dev
https://codereview.appspot.com/7525043
misc/cgo/test: do not stop on first error

R=golang-dev, bradfitz
CC=golang-dev
https://codereview.appspot.com/7529043
libmach: fix amd64 pe handling

Fixes issue 4841.

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7475046

Committer: Russ Cox <rsc@golang.org>
runtime,misc/cgo/test: disable broken tests so we can test the rest

R=golang-dev, minux.ma
CC=golang-dev
https://codereview.appspot.com/7486048

Committer: Russ Cox <rsc@golang.org>
A+C: Ewan Chou (individual CLA)

Generated by addca.

R=gobot
CC=golang-dev
https://codereview.appspot.com/7473047
strings: remove allocations in Split(s, "")

BenchmarkSplit1     77984460     24131380  -69.06%

R=golang-dev, rsc, minux.ma, dave, extemporalgenome
CC=golang-dev
https://codereview.appspot.com/7458043

Committer: Russ Cox <rsc@golang.org>
text/template: improve error reporting for executing an empty template
Fixes issue 4522.

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7502044
lib9: add mktempdir, removeall, runprog

R=golang-dev, bradfitz
CC=golang-dev
https://codereview.appspot.com/7523043
cmd/vet: isolate the type checking code into a separate file
We can enable/disable type checking with a build tag.
Should simplify cutting the go1.1 distribution free of go/types.

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7482045
make.bash,bat: add -tags gotypes to the build
This installs type checking into go vet.
(To be removed before releasing Go 1.1)

R=golang-dev, minux.ma
CC=golang-dev
https://codereview.appspot.com/7528044
net/http: change user agent string

Some IDS somewhere thinks "Go http package" is a virus.
Make it something else for Go 1.1. Dumb but easy.

R=golang-dev, bradfitz, minux.ma
CC=golang-dev
https://codereview.appspot.com/7532043
runtime: fix netbsd, windows build

TBR=golang-dev
CC=golang-dev
https://codereview.appspot.com/7539043
net/http/httputil: fix build

TBR=bradfitz
CC=golang-dev
https://codereview.appspot.com/7540043
cmd/cgo: split cgo_export into cgo_export_static and cgo_export_dynamic

Also emit cgo_ldflag pragmas.

R=golang-dev, remyoudompheng, iant
CC=golang-dev
https://codereview.appspot.com/7530043
net/http: remove allocations in HeaderWriteSubset

Before:
BenchmarkHeaderWriteSubset  500000  2354 ns/op  197 B/op  2 allocs/op
After:
BenchmarkHeaderWriteSubset 1000000  2085 ns/op    0 B/op  0 allocs/op

Fixes issue 3761

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7508043
exp/norm: delete, part of moving to go.text
See also https://codereview.appspot.com/7520044

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7533044
doc/effective_go.html: unify and expand the discussion of Sprintf and String
It's a common mistake to build a recursive String method; explain it well and
show how to avoid it.

R=golang-dev, bradfitz, adg
CC=golang-dev
https://codereview.appspot.com/7486049