From 28592ee1ea1f5cdffcf85472f9de0285d928cf12 Mon Sep 17 00:00:00 2001 From: Ondřej Surý Date: Wed, 3 Aug 2011 16:54:30 +0200 Subject: Imported Upstream version 59 --- AUTHORS | 5 + CONTRIBUTORS | 9 +- doc/devel/release.html | 107 ++ doc/devel/weekly.html | 220 +++ doc/effective_go.html | 17 +- doc/go_mem.html | 5 +- doc/go_spec.html | 137 +- doc/go_tutorial.html | 1049 ++++++------ doc/go_tutorial.txt | 108 +- doc/gopher/appenginegopher.jpg | Bin 0 -> 135882 bytes doc/gopher/appenginegophercolor.jpg | Bin 0 -> 162023 bytes doc/gopher/appenginelogo.gif | Bin 0 -> 2105 bytes doc/htmlgen.go | 167 +- doc/install.html | 6 +- doc/makehtml | 16 +- doc/prog.sh | 72 - doc/progs/file_windows.go | 89 + doc/progs/run | 7 +- doc/progs/sort.go | 36 +- doc/progs/sortmain.go | 4 +- include/u.h | 1 + lib/codereview/codereview.py | 16 +- misc/dashboard/builder/http.go | 7 +- misc/dashboard/builder/main.go | 33 +- misc/dashboard/builder/package.go | 48 +- misc/dashboard/godashboard/auth.py | 13 + misc/dashboard/godashboard/gobuild.py | 7 +- misc/dashboard/godashboard/index.yaml | 1 - misc/dashboard/godashboard/package.html | 30 +- misc/dashboard/godashboard/package.py | 45 +- misc/dashboard/godashboard/static/style.css | 13 +- misc/emacs/go-mode.el | 4 +- misc/nacl/naclrun | 15 - misc/vim/ftdetect/gofiletype.vim | 2 +- src/Make.ccmd | 3 +- src/Make.clib | 1 + src/all-qemu.bash | 3 +- src/cmd/5c/gc.h | 2 +- src/cmd/5c/txt.c | 28 +- src/cmd/5g/ggen.c | 32 +- src/cmd/5g/gobj.c | 4 + src/cmd/5g/gsubr.c | 13 + src/cmd/5g/reg.c | 43 +- src/cmd/5l/asm.c | 31 +- src/cmd/5l/mkenam | 30 +- src/cmd/5l/noop.c | 24 - src/cmd/6c/cgen.c | 2 +- src/cmd/6c/gc.h | 1 + src/cmd/6g/ggen.c | 32 +- src/cmd/6g/gobj.c | 4 + src/cmd/6g/gsubr.c | 13 + src/cmd/6g/reg.c | 1 + src/cmd/6l/asm.c | 29 +- src/cmd/6l/mkenam | 30 +- src/cmd/8a/a.h | 4 +- src/cmd/8a/a.y | 2 + src/cmd/8a/l.s | 734 -------- src/cmd/8a/lex.c | 3 +- src/cmd/8c/cgen.c | 2 +- src/cmd/8c/gc.h | 2 + src/cmd/8c/swt.c | 4 +- src/cmd/8g/ggen.c | 32 +- src/cmd/8g/gobj.c | 4 + src/cmd/8g/gsubr.c | 13 + src/cmd/8g/reg.c | 1 + src/cmd/8l/asm.c | 35 +- src/cmd/8l/list.c | 2 +- src/cmd/8l/mkenam | 30 +- src/cmd/8l/obj.c | 17 - src/cmd/8l/pass.c | 1 - src/cmd/8l/span.c | 4 +- src/cmd/cc/acid.c | 1 + src/cmd/cc/bits.c | 1 + src/cmd/cc/cc.h | 4 +- src/cmd/cc/cc.y | 1 + src/cmd/cc/com.c | 3 +- src/cmd/cc/com64.c | 1 + src/cmd/cc/dcl.c | 2 +- src/cmd/cc/dpchk.c | 129 +- src/cmd/cc/funct.c | 1 + src/cmd/cc/godefs.c | 3 +- src/cmd/cc/lex.c | 8 +- src/cmd/cc/lexbody | 6 +- src/cmd/cc/mac.c | 2 + src/cmd/cc/macbody | 6 +- src/cmd/cc/omachcap.c | 2 + src/cmd/cc/pgen.c | 2 +- src/cmd/cc/scon.c | 1 + src/cmd/cc/sub.c | 1 + src/cmd/cgo/gcc.go | 16 +- src/cmd/cgo/main.go | 3 +- src/cmd/cgo/out.go | 19 +- src/cmd/cgo/util.go | 2 +- src/cmd/cov/Makefile | 3 - src/cmd/ebnflint/ebnflint.go | 29 +- src/cmd/gc/builtin.c.boot | 10 +- src/cmd/gc/closure.c | 78 +- src/cmd/gc/dcl.c | 26 +- src/cmd/gc/gen.c | 214 ++- src/cmd/gc/go.h | 29 +- src/cmd/gc/go.y | 59 +- src/cmd/gc/lex.c | 18 +- src/cmd/gc/pgen.c | 32 +- src/cmd/gc/runtime.go | 1 + src/cmd/gc/subr.c | 41 +- src/cmd/gc/typecheck.c | 7 +- src/cmd/gc/unsafe.c | 2 +- src/cmd/gc/unsafe.go | 8 +- src/cmd/gc/walk.c | 15 +- src/cmd/godefs/Makefile | 3 + src/cmd/godefs/test.sh | 45 + src/cmd/godefs/testdata.c | 41 + src/cmd/godefs/testdata_darwin_386.golden | 31 + src/cmd/godefs/testdata_darwin_amd64.golden | 31 + src/cmd/godoc/Makefile | 2 + src/cmd/godoc/codewalk.go | 40 +- src/cmd/godoc/dirtrees.go | 42 +- src/cmd/godoc/filesystem.go | 96 ++ src/cmd/godoc/godoc.go | 62 +- src/cmd/godoc/index.go | 15 +- src/cmd/godoc/main.go | 10 +- src/cmd/godoc/mapping.go | 17 +- src/cmd/godoc/parser.go | 69 + src/cmd/godoc/utils.go | 9 +- src/cmd/gofix/Makefile | 13 +- src/cmd/gofix/filepath.go | 53 + src/cmd/gofix/filepath_test.go | 33 + src/cmd/gofix/httpfinalurl.go | 2 +- src/cmd/gofix/httpfs.go | 63 + src/cmd/gofix/httpfs_test.go | 47 + src/cmd/gofix/httpheaders.go | 66 + src/cmd/gofix/httpheaders_test.go | 73 + src/cmd/gofix/main.go | 4 +- src/cmd/gofix/oserrorstring.go | 75 + src/cmd/gofix/oserrorstring_test.go | 57 + src/cmd/gofix/osopen.go | 2 +- src/cmd/gofix/sorthelpers.go | 47 + src/cmd/gofix/sorthelpers_test.go | 45 + src/cmd/gofix/sortslice.go | 50 + src/cmd/gofix/sortslice_test.go | 35 + src/cmd/gofix/stringssplit.go | 71 + src/cmd/gofix/stringssplit_test.go | 51 + src/cmd/gofix/testdata/reflect.decoder.go.out | 6 +- src/cmd/gofix/testdata/reflect.encoder.go.out | 2 +- src/cmd/gofix/testdata/reflect.export.go.out | 12 +- src/cmd/gofix/testdata/reflect.print.go.out | 2 +- src/cmd/gofix/testdata/reflect.read.go.out | 4 +- src/cmd/gofix/testdata/reflect.scan.go.out | 8 +- src/cmd/gofix/testdata/reflect.template.go.in | 4 +- src/cmd/gofix/testdata/reflect.template.go.out | 4 +- src/cmd/gofix/testdata/reflect.type.go.out | 4 +- src/cmd/gofmt/gofmt_test.go | 4 +- src/cmd/gofmt/rewrite.go | 2 +- src/cmd/goinstall/Makefile | 17 - src/cmd/goinstall/doc.go | 74 +- src/cmd/goinstall/download.go | 248 ++- src/cmd/goinstall/main.go | 92 +- src/cmd/goinstall/make.go | 60 +- src/cmd/goinstall/parse.go | 172 -- src/cmd/goinstall/path.go | 149 -- src/cmd/goinstall/syslist_test.go | 61 - src/cmd/gopack/Makefile | 3 - src/cmd/gotest/doc.go | 11 +- src/cmd/gotest/flag.go | 4 + src/cmd/gotype/gotype.go | 2 +- src/cmd/govet/Makefile | 3 + src/cmd/govet/govet.go | 62 +- src/cmd/goyacc/goyacc.go | 2 +- src/cmd/hgpatch/main.go | 18 +- src/cmd/ld/data.c | 67 +- src/cmd/ld/dwarf.c | 2 +- src/cmd/ld/elf.h | 74 +- src/cmd/ld/ldelf.c | 7 +- src/cmd/ld/ldmacho.c | 1 + src/cmd/ld/ldpe.c | 12 +- src/cmd/ld/lib.c | 2 +- src/cmd/ld/lib.h | 4 +- src/cmd/ld/pe.c | 6 +- src/cmd/ld/symtab.c | 15 +- src/cmd/nm/Makefile | 3 - src/cmd/prof/Makefile | 3 - src/env.bash | 44 +- src/lib9/Makefile | 3 +- src/libmach/8db.c | 54 +- src/libmach/darwin.c | 13 +- src/libmach/linux.c | 23 +- src/pkg/Makefile | 36 +- src/pkg/archive/tar/reader.go | 2 +- src/pkg/asn1/asn1.go | 47 +- src/pkg/asn1/asn1_test.go | 6 +- src/pkg/asn1/common.go | 3 +- src/pkg/asn1/marshal.go | 2 +- src/pkg/asn1/marshal_test.go | 10 +- src/pkg/big/int.go | 64 +- src/pkg/big/int_test.go | 31 +- src/pkg/big/nat.go | 4 +- src/pkg/big/rat.go | 10 +- src/pkg/bufio/bufio.go | 26 +- src/pkg/bufio/bufio_test.go | 10 +- src/pkg/bytes/buffer.go | 4 +- src/pkg/bytes/bytes.go | 26 +- src/pkg/bytes/bytes_test.go | 19 +- src/pkg/compress/gzip/gunzip.go | 4 +- src/pkg/compress/lzw/reader_test.go | 2 +- src/pkg/compress/zlib/reader.go | 6 +- src/pkg/crypto/aes/cipher.go | 4 +- src/pkg/crypto/blowfish/cipher.go | 4 +- src/pkg/crypto/cast5/cast5.go | 2 +- src/pkg/crypto/dsa/dsa.go | 4 +- src/pkg/crypto/ocsp/ocsp.go | 20 +- src/pkg/crypto/openpgp/elgamal/Makefile | 11 + src/pkg/crypto/openpgp/elgamal/elgamal.go | 122 ++ src/pkg/crypto/openpgp/elgamal/elgamal_test.go | 49 + src/pkg/crypto/openpgp/keys.go | 145 +- src/pkg/crypto/openpgp/packet/encrypted_key.go | 132 +- .../crypto/openpgp/packet/encrypted_key_test.go | 86 +- .../crypto/openpgp/packet/one_pass_signature.go | 27 +- src/pkg/crypto/openpgp/packet/packet.go | 26 +- src/pkg/crypto/openpgp/packet/private_key.go | 24 +- src/pkg/crypto/openpgp/packet/private_key_test.go | 64 +- src/pkg/crypto/openpgp/packet/public_key.go | 53 +- src/pkg/crypto/openpgp/packet/signature.go | 70 +- src/pkg/crypto/openpgp/packet/signature_test.go | 22 +- .../openpgp/packet/symmetric_key_encrypted.go | 6 +- .../openpgp/packet/symmetrically_encrypted.go | 4 +- .../openpgp/packet/symmetrically_encrypted_test.go | 2 +- src/pkg/crypto/openpgp/read.go | 14 +- src/pkg/crypto/openpgp/read_test.go | 119 +- src/pkg/crypto/openpgp/write.go | 193 ++- src/pkg/crypto/openpgp/write_test.go | 111 ++ src/pkg/crypto/rand/rand_windows.go | 2 +- src/pkg/crypto/rsa/pkcs1v15.go | 4 +- src/pkg/crypto/rsa/rsa.go | 10 +- src/pkg/crypto/tls/conn.go | 4 +- src/pkg/crypto/tls/generate_cert.go | 8 +- src/pkg/crypto/tls/handshake_client.go | 6 +- src/pkg/crypto/tls/handshake_server.go | 6 +- src/pkg/crypto/tls/key_agreement.go | 33 +- src/pkg/crypto/tls/tls.go | 8 +- src/pkg/crypto/twofish/twofish.go | 2 +- src/pkg/crypto/x509/pkix/pkix.go | 12 +- src/pkg/crypto/x509/verify.go | 10 +- src/pkg/crypto/x509/verify_test.go | 13 +- src/pkg/crypto/x509/x509.go | 46 +- src/pkg/crypto/xtea/cipher.go | 4 +- src/pkg/csv/Makefile | 12 + src/pkg/csv/reader.go | 373 ++++ src/pkg/csv/reader_test.go | 265 +++ src/pkg/csv/writer.go | 123 ++ src/pkg/csv/writer_test.go | 44 + src/pkg/debug/dwarf/type.go | 11 +- src/pkg/debug/elf/file.go | 24 +- src/pkg/debug/elf/file_test.go | 6 +- .../testdata/go-relocation-test-gcc424-x86-64.o | Bin 3088 -> 0 bytes .../testdata/go-relocation-test-gcc424-x86-64.obj | Bin 0 -> 3088 bytes .../testdata/go-relocation-test-gcc441-x86-64.o | Bin 2936 -> 0 bytes .../testdata/go-relocation-test-gcc441-x86-64.obj | Bin 0 -> 2936 bytes .../elf/testdata/go-relocation-test-gcc441-x86.o | Bin 1884 -> 0 bytes .../elf/testdata/go-relocation-test-gcc441-x86.obj | Bin 0 -> 1884 bytes src/pkg/debug/proc/proc_linux.go | 10 +- src/pkg/encoding/pem/pem.go | 13 +- src/pkg/exec/Makefile | 3 + src/pkg/exec/exec.go | 6 + src/pkg/exec/exec_test.go | 2 +- src/pkg/exec/lp_plan9.go | 51 + src/pkg/exec/lp_unix.go | 4 +- src/pkg/exec/lp_windows.go | 25 +- src/pkg/exp/ogle/cmd.go | 2 +- src/pkg/exp/regexp/syntax/Makefile | 16 + src/pkg/exp/regexp/syntax/compile.go | 264 +++ src/pkg/exp/regexp/syntax/make_perl_groups.pl | 103 ++ src/pkg/exp/regexp/syntax/parse.go | 1798 ++++++++++++++++++++ src/pkg/exp/regexp/syntax/parse_test.go | 350 ++++ src/pkg/exp/regexp/syntax/perl_groups.go | 130 ++ src/pkg/exp/regexp/syntax/prog.go | 182 ++ src/pkg/exp/regexp/syntax/prog_test.go | 91 + src/pkg/exp/regexp/syntax/regexp.go | 284 ++++ src/pkg/exp/regexp/syntax/simplify.go | 151 ++ src/pkg/exp/regexp/syntax/simplify_test.go | 151 ++ src/pkg/exp/template/Makefile | 15 + src/pkg/exp/template/exec.go | 508 ++++++ src/pkg/exp/template/exec_test.go | 342 ++++ src/pkg/exp/template/funcs.go | 294 ++++ src/pkg/exp/template/lex.go | 431 +++++ src/pkg/exp/template/lex_test.go | 153 ++ src/pkg/exp/template/parse.go | 783 +++++++++ src/pkg/exp/template/parse_test.go | 207 +++ src/pkg/exp/template/set.go | 115 ++ src/pkg/exp/template/set_test.go | 101 ++ src/pkg/flag/flag.go | 2 +- src/pkg/fmt/doc.go | 6 +- src/pkg/fmt/fmt_test.go | 62 + src/pkg/fmt/format.go | 34 +- src/pkg/fmt/print.go | 79 +- src/pkg/fmt/scan.go | 23 +- src/pkg/fmt/scan_test.go | 4 +- src/pkg/go/ast/print_test.go | 2 +- src/pkg/go/build/Makefile | 2 +- src/pkg/go/build/build.go | 234 ++- src/pkg/go/build/build_test.go | 76 +- src/pkg/go/build/cgotest/cgotest.go | 12 + src/pkg/go/build/cgotest/file.go | 45 - src/pkg/go/build/cmdtest/main.go | 12 + src/pkg/go/build/dir.go | 15 +- src/pkg/go/build/path.go | 3 + src/pkg/go/build/pkgtest/pkgtest.go | 9 + src/pkg/go/build/pkgtest/sqrt_386.s | 10 + src/pkg/go/build/pkgtest/sqrt_amd64.s | 9 + src/pkg/go/build/pkgtest/sqrt_arm.s | 10 + src/pkg/go/doc/comment.go | 2 +- src/pkg/go/doc/doc.go | 2 +- src/pkg/go/parser/interface.go | 2 +- src/pkg/go/printer/nodes.go | 10 +- src/pkg/go/printer/testdata/statements.golden | 15 + src/pkg/go/printer/testdata/statements.input | 13 + src/pkg/go/scanner/scanner.go | 3 +- src/pkg/go/scanner/scanner_test.go | 6 +- src/pkg/go/types/exportdata.go | 8 +- src/pkg/go/types/gcimporter.go | 4 +- src/pkg/go/types/testdata/exports.go | 2 +- src/pkg/gob/codec_test.go | 2 +- src/pkg/gob/decode.go | 44 +- src/pkg/gob/decoder.go | 8 +- src/pkg/gob/doc.go | 34 +- src/pkg/gob/encode.go | 17 +- src/pkg/gob/encoder.go | 2 +- src/pkg/gob/gobencdec_test.go | 8 +- src/pkg/gob/type.go | 9 +- src/pkg/hash/fnv/fnv.go | 17 +- src/pkg/html/parse.go | 6 +- src/pkg/html/token_test.go | 2 +- src/pkg/http/cgi/child.go | 11 +- src/pkg/http/cgi/child_test.go | 8 +- src/pkg/http/cgi/host.go | 44 +- src/pkg/http/cgi/host_test.go | 78 +- src/pkg/http/cgi/testdata/test.cgi | 51 +- src/pkg/http/chunked.go | 11 + src/pkg/http/client.go | 14 +- src/pkg/http/client_test.go | 48 +- src/pkg/http/cookie.go | 116 +- src/pkg/http/cookie_test.go | 108 +- src/pkg/http/fs.go | 70 +- src/pkg/http/fs_test.go | 66 + src/pkg/http/header.go | 5 +- src/pkg/http/header_test.go | 10 + src/pkg/http/persist.go | 6 + src/pkg/http/readrequest_test.go | 76 +- src/pkg/http/request.go | 152 +- src/pkg/http/requestwrite_test.go | 133 +- src/pkg/http/response.go | 16 +- src/pkg/http/reverseproxy.go | 4 - src/pkg/http/reverseproxy_test.go | 7 +- src/pkg/http/serve_test.go | 91 +- src/pkg/http/server.go | 71 +- src/pkg/http/spdy/read.go | 92 +- src/pkg/http/spdy/spdy_test.go | 3 +- src/pkg/http/spdy/types.go | 57 +- src/pkg/http/spdy/write.go | 3 +- src/pkg/http/transfer.go | 56 +- src/pkg/http/transport.go | 10 +- src/pkg/http/url.go | 21 +- src/pkg/image/draw/draw.go | 6 +- src/pkg/image/draw/draw_test.go | 174 +- src/pkg/image/gif/reader.go | 2 +- src/pkg/image/image.go | 17 +- src/pkg/image/image_test.go | 84 +- src/pkg/index/suffixarray/suffixarray.go | 4 +- src/pkg/index/suffixarray/suffixarray_test.go | 2 +- src/pkg/io/io.go | 67 +- src/pkg/io/ioutil/ioutil.go | 2 +- src/pkg/json/decode.go | 2 +- src/pkg/json/decode_test.go | 9 +- src/pkg/json/encode.go | 16 +- src/pkg/json/scanner_test.go | 5 +- src/pkg/mail/message.go | 115 +- src/pkg/mail/message_test.go | 20 + src/pkg/mime/grammar.go | 4 +- src/pkg/mime/mediatype.go | 15 +- src/pkg/mime/mediatype_test.go | 3 +- src/pkg/mime/multipart/formdata.go | 2 +- src/pkg/mime/multipart/formdata_test.go | 2 + src/pkg/mime/multipart/multipart.go | 68 +- src/pkg/mime/multipart/multipart_test.go | 34 +- src/pkg/mime/multipart/writer.go | 6 +- src/pkg/mime/multipart/writer_test.go | 7 + src/pkg/net/Makefile | 19 +- src/pkg/net/dial.go | 86 +- src/pkg/net/dnsclient.go | 367 +--- src/pkg/net/dnsclient_unix.go | 262 +++ src/pkg/net/dnsmsg.go | 54 +- src/pkg/net/dnsmsg_test.go | 7 - src/pkg/net/dnsname_test.go | 4 - src/pkg/net/fd_darwin.go | 2 +- src/pkg/net/fd_windows.go | 48 +- src/pkg/net/hosts_test.go | 2 +- src/pkg/net/interface.go | 36 +- src/pkg/net/interface_bsd.go | 65 +- src/pkg/net/interface_linux.go | 67 +- src/pkg/net/interface_stub.go | 28 - src/pkg/net/interface_test.go | 32 +- src/pkg/net/interface_windows.go | 152 ++ src/pkg/net/iprawsock.go | 2 +- src/pkg/net/ipsock.go | 20 +- src/pkg/net/lookup.go | 50 - src/pkg/net/lookup_unix.go | 126 ++ src/pkg/net/lookup_windows.go | 107 ++ src/pkg/net/net.go | 2 +- src/pkg/net/net_test.go | 4 - src/pkg/net/newpollserver.go | 14 +- src/pkg/net/resolv_windows.go | 141 -- src/pkg/net/sendfile_windows.go | 68 + src/pkg/net/sock.go | 23 +- src/pkg/net/sock_windows.go | 2 +- src/pkg/net/udpsock.go | 2 +- src/pkg/netchan/common.go | 4 +- src/pkg/netchan/export.go | 12 +- src/pkg/netchan/import.go | 8 +- src/pkg/os/Makefile | 3 +- src/pkg/os/env_windows.go | 2 +- src/pkg/os/error.go | 13 +- src/pkg/os/error_plan9.go | 1 + src/pkg/os/exec.go | 6 + src/pkg/os/exec_plan9.go | 23 +- src/pkg/os/exec_posix.go | 17 +- src/pkg/os/exec_windows.go | 10 +- src/pkg/os/file.go | 30 +- src/pkg/os/file_plan9.go | 95 +- src/pkg/os/file_posix.go | 22 - src/pkg/os/file_unix.go | 45 + src/pkg/os/file_windows.go | 63 +- src/pkg/os/mkunixsignals.sh | 2 +- src/pkg/os/os_test.go | 48 +- src/pkg/os/path_test.go | 6 +- src/pkg/os/path_windows.go | 2 +- src/pkg/os/stat_plan9.go | 17 +- src/pkg/os/str.go | 20 + src/pkg/os/types.go | 2 +- src/pkg/patch/patch.go | 2 +- src/pkg/patch/textdiff.go | 10 +- src/pkg/path/filepath/match.go | 2 +- src/pkg/path/filepath/path.go | 2 +- src/pkg/path/filepath/path_test.go | 4 - src/pkg/rand/rand_test.go | 4 +- src/pkg/reflect/all_test.go | 76 +- src/pkg/reflect/type.go | 134 +- src/pkg/reflect/value.go | 23 +- src/pkg/regexp/regexp.go | 21 +- src/pkg/rpc/client.go | 8 +- src/pkg/rpc/jsonrpc/all_test.go | 8 +- src/pkg/rpc/jsonrpc/client.go | 12 +- src/pkg/rpc/jsonrpc/server.go | 12 +- src/pkg/rpc/server.go | 16 +- src/pkg/rpc/server_test.go | 2 +- src/pkg/runtime/386/atomic.c | 12 + src/pkg/runtime/Makefile | 4 +- src/pkg/runtime/amd64/atomic.c | 12 + src/pkg/runtime/arm/atomic.c | 12 + src/pkg/runtime/cgo/Makefile | 4 + src/pkg/runtime/cgo/darwin_386.c | 7 +- src/pkg/runtime/cgo/darwin_amd64.c | 7 +- src/pkg/runtime/cgo/freebsd_386.c | 7 +- src/pkg/runtime/cgo/freebsd_amd64.c | 7 +- src/pkg/runtime/cgo/linux_386.c | 7 +- src/pkg/runtime/cgo/linux_amd64.c | 7 +- src/pkg/runtime/cgo/windows_amd64.c | 18 +- src/pkg/runtime/debug/stack.go | 2 +- src/pkg/runtime/debug/stack_test.go | 2 +- src/pkg/runtime/error.go | 5 + src/pkg/runtime/linux/mem.c | 3 + src/pkg/runtime/malloc.goc | 2 +- src/pkg/runtime/mem.go | 2 +- src/pkg/runtime/mkasmh.sh | 26 +- src/pkg/runtime/plan9/386/sys.s | 5 + src/pkg/runtime/plan9/os.h | 30 + src/pkg/runtime/plan9/thread.c | 30 +- src/pkg/runtime/pprof/pprof_test.go | 2 +- src/pkg/runtime/proc.c | 2 +- src/pkg/runtime/runtime.h | 8 + src/pkg/runtime/sema.goc | 187 +- src/pkg/runtime/sema_test.go | 100 ++ src/pkg/runtime/windows/amd64/defs.h | 40 + src/pkg/runtime/windows/amd64/rt0.s | 10 + src/pkg/runtime/windows/amd64/signal.c | 20 + src/pkg/runtime/windows/amd64/sys.s | 129 ++ src/pkg/runtime/windows/mem.c | 10 +- src/pkg/runtime/windows/os.h | 3 + src/pkg/runtime/windows/thread.c | 18 +- src/pkg/smtp/smtp.go | 6 +- src/pkg/smtp/smtp_test.go | 4 +- src/pkg/sort/search.go | 16 +- src/pkg/sort/search_test.go | 6 +- src/pkg/sort/sort.go | 64 +- src/pkg/sort/sort_test.go | 42 +- src/pkg/strconv/atoi.go | 6 +- src/pkg/strconv/fp_test.go | 6 +- src/pkg/strconv/quote.go | 6 +- src/pkg/strings/reader.go | 4 +- src/pkg/strings/strings.go | 26 +- src/pkg/strings/strings_test.go | 22 +- src/pkg/sync/mutex.go | 63 +- src/pkg/sync/mutex_test.go | 101 +- src/pkg/sync/once.go | 14 +- src/pkg/sync/once_test.go | 25 + src/pkg/syscall/Makefile | 8 + src/pkg/syscall/asm_windows_386.s | 2 +- src/pkg/syscall/asm_windows_amd64.s | 7 + src/pkg/syscall/bpf_bsd.go | 167 ++ src/pkg/syscall/exec_plan9.go | 36 +- src/pkg/syscall/exec_unix.go | 108 +- src/pkg/syscall/exec_windows.go | 40 +- src/pkg/syscall/lsf_linux.go | 78 + src/pkg/syscall/mkall.sh | 16 +- src/pkg/syscall/mkerrors.sh | 11 +- src/pkg/syscall/mksyscall.pl | 17 +- src/pkg/syscall/mksyscall_windows.pl | 32 +- src/pkg/syscall/mksysnum_darwin.pl | 20 +- src/pkg/syscall/mksysnum_freebsd.pl | 2 + src/pkg/syscall/mksysnum_linux.pl | 2 + src/pkg/syscall/route_bsd.go | 4 +- src/pkg/syscall/sockcmsg_unix.go | 65 + src/pkg/syscall/syscall.go | 65 - src/pkg/syscall/syscall_bsd.go | 88 +- src/pkg/syscall/syscall_darwin.go | 4 + src/pkg/syscall/syscall_darwin_386.go | 12 + src/pkg/syscall/syscall_darwin_amd64.go | 12 + src/pkg/syscall/syscall_freebsd_386.go | 12 + src/pkg/syscall/syscall_freebsd_amd64.go | 12 + src/pkg/syscall/syscall_linux.go | 8 +- src/pkg/syscall/syscall_linux_386.go | 8 +- src/pkg/syscall/syscall_linux_amd64.go | 2 +- src/pkg/syscall/syscall_linux_arm.go | 2 +- src/pkg/syscall/syscall_plan9.go | 20 +- src/pkg/syscall/syscall_unix.go | 68 + src/pkg/syscall/syscall_windows.go | 224 +-- src/pkg/syscall/syscall_windows_386.go | 2 - src/pkg/syscall/syscall_windows_amd64.go | 5 + src/pkg/syscall/types_linux.c | 11 + src/pkg/syscall/types_plan9.c | 16 +- src/pkg/syscall/zerrors_darwin_386.go | 97 ++ src/pkg/syscall/zerrors_darwin_amd64.go | 101 +- src/pkg/syscall/zerrors_freebsd_386.go | 72 + src/pkg/syscall/zerrors_freebsd_amd64.go | 72 + src/pkg/syscall/zerrors_linux_386.go | 165 ++ src/pkg/syscall/zerrors_linux_amd64.go | 165 ++ src/pkg/syscall/zerrors_linux_arm.go | 164 ++ src/pkg/syscall/zerrors_plan9_386.go | 3 +- src/pkg/syscall/zerrors_windows.go | 283 +++ src/pkg/syscall/zerrors_windows_386.go | 284 +--- src/pkg/syscall/zerrors_windows_amd64.go | 5 + src/pkg/syscall/zsyscall_darwin_386.go | 27 +- src/pkg/syscall/zsyscall_darwin_amd64.go | 27 +- src/pkg/syscall/zsyscall_freebsd_386.go | 19 +- src/pkg/syscall/zsyscall_freebsd_amd64.go | 19 +- src/pkg/syscall/zsyscall_linux_amd64.go | 2 +- src/pkg/syscall/zsyscall_linux_arm.go | 2 +- src/pkg/syscall/zsyscall_windows_386.go | 171 +- src/pkg/syscall/zsyscall_windows_amd64.go | 1323 ++++++++++++++ src/pkg/syscall/zsysnum_darwin_386.go | 828 ++++----- src/pkg/syscall/zsysnum_darwin_amd64.go | 828 ++++----- src/pkg/syscall/zsysnum_windows_amd64.go | 3 + src/pkg/syscall/ztypes_linux_386.go | 15 + src/pkg/syscall/ztypes_linux_amd64.go | 15 + src/pkg/syscall/ztypes_linux_arm.go | 15 + src/pkg/syscall/ztypes_plan9_386.go | 1 + src/pkg/syscall/ztypes_windows.go | 656 +++++++ src/pkg/syscall/ztypes_windows_386.go | 550 +----- src/pkg/syscall/ztypes_windows_amd64.go | 5 + src/pkg/syslog/syslog_unix.go | 2 +- src/pkg/template/execute.go | 2 +- src/pkg/template/parse.go | 2 +- src/pkg/testing/benchmark.go | 54 +- src/pkg/testing/iotest/reader.go | 21 +- src/pkg/testing/testing.go | 72 +- src/pkg/time/Makefile | 12 + src/pkg/time/format.go | 4 +- src/pkg/time/sleep_test.go | 2 +- src/pkg/time/sys.go | 13 +- src/pkg/time/sys_plan9.go | 18 + src/pkg/time/sys_posix.go | 18 + src/pkg/time/tick.go | 2 +- src/pkg/time/time_test.go | 17 +- src/pkg/time/zoneinfo_plan9.go | 59 + src/pkg/time/zoneinfo_posix.go | 62 + src/pkg/time/zoneinfo_unix.go | 56 - src/pkg/unicode/letter.go | 49 + src/pkg/unicode/letter_test.go | 46 + src/pkg/unicode/maketables.go | 353 +++- src/pkg/unicode/tables.go | 634 +++++-- src/pkg/websocket/client.go | 6 +- src/pkg/xml/Makefile | 1 + src/pkg/xml/atom_test.go | 50 + src/pkg/xml/embed_test.go | 10 +- src/pkg/xml/marshal.go | 228 +++ src/pkg/xml/marshal_test.go | 299 ++++ src/pkg/xml/read.go | 128 +- src/pkg/xml/read_test.go | 78 +- src/pkg/xml/xml.go | 23 +- src/pkg/xml/xml_test.go | 27 + src/run.bash | 2 +- src/version.bash | 9 +- test/errchk | 16 + test/fixedbugs/bug140.go | 4 +- test/fixedbugs/bug178.go | 12 +- test/fixedbugs/bug238.go | 1 - test/fixedbugs/bug243.go | 3 +- test/fixedbugs/bug274.go | 2 +- test/fixedbugs/bug344.go | 6 +- test/fixedbugs/bug345.dir/io.go | 15 + test/fixedbugs/bug345.dir/main.go | 28 + test/fixedbugs/bug345.go | 7 + test/fixedbugs/bug346.go | 19 + test/golden.out | 3 + test/goprint.go | 14 + test/goto.go | 535 ++++++ test/run | 6 - test/sizeof.go | 23 + 616 files changed, 25017 insertions(+), 8029 deletions(-) create mode 100644 doc/gopher/appenginegopher.jpg create mode 100644 doc/gopher/appenginegophercolor.jpg create mode 100644 doc/gopher/appenginelogo.gif delete mode 100755 doc/prog.sh create mode 100644 doc/progs/file_windows.go create mode 100644 misc/dashboard/godashboard/auth.py delete mode 100755 misc/nacl/naclrun delete mode 100644 src/cmd/8a/l.s create mode 100755 src/cmd/godefs/test.sh create mode 100644 src/cmd/godefs/testdata.c create mode 100644 src/cmd/godefs/testdata_darwin_386.golden create mode 100644 src/cmd/godefs/testdata_darwin_amd64.golden create mode 100644 src/cmd/godoc/filesystem.go create mode 100644 src/cmd/godoc/parser.go create mode 100644 src/cmd/gofix/filepath.go create mode 100644 src/cmd/gofix/filepath_test.go create mode 100644 src/cmd/gofix/httpfs.go create mode 100644 src/cmd/gofix/httpfs_test.go create mode 100644 src/cmd/gofix/httpheaders.go create mode 100644 src/cmd/gofix/httpheaders_test.go create mode 100644 src/cmd/gofix/oserrorstring.go create mode 100644 src/cmd/gofix/oserrorstring_test.go create mode 100644 src/cmd/gofix/sorthelpers.go create mode 100644 src/cmd/gofix/sorthelpers_test.go create mode 100644 src/cmd/gofix/sortslice.go create mode 100644 src/cmd/gofix/sortslice_test.go create mode 100644 src/cmd/gofix/stringssplit.go create mode 100644 src/cmd/gofix/stringssplit_test.go delete mode 100644 src/cmd/goinstall/parse.go delete mode 100644 src/cmd/goinstall/path.go delete mode 100644 src/cmd/goinstall/syslist_test.go create mode 100644 src/pkg/crypto/openpgp/elgamal/Makefile create mode 100644 src/pkg/crypto/openpgp/elgamal/elgamal.go create mode 100644 src/pkg/crypto/openpgp/elgamal/elgamal_test.go create mode 100644 src/pkg/csv/Makefile create mode 100644 src/pkg/csv/reader.go create mode 100644 src/pkg/csv/reader_test.go create mode 100644 src/pkg/csv/writer.go create mode 100644 src/pkg/csv/writer_test.go delete mode 100644 src/pkg/debug/elf/testdata/go-relocation-test-gcc424-x86-64.o create mode 100644 src/pkg/debug/elf/testdata/go-relocation-test-gcc424-x86-64.obj delete mode 100644 src/pkg/debug/elf/testdata/go-relocation-test-gcc441-x86-64.o create mode 100644 src/pkg/debug/elf/testdata/go-relocation-test-gcc441-x86-64.obj delete mode 100644 src/pkg/debug/elf/testdata/go-relocation-test-gcc441-x86.o create mode 100644 src/pkg/debug/elf/testdata/go-relocation-test-gcc441-x86.obj create mode 100644 src/pkg/exec/lp_plan9.go create mode 100644 src/pkg/exp/regexp/syntax/Makefile create mode 100644 src/pkg/exp/regexp/syntax/compile.go create mode 100755 src/pkg/exp/regexp/syntax/make_perl_groups.pl create mode 100644 src/pkg/exp/regexp/syntax/parse.go create mode 100644 src/pkg/exp/regexp/syntax/parse_test.go create mode 100644 src/pkg/exp/regexp/syntax/perl_groups.go create mode 100644 src/pkg/exp/regexp/syntax/prog.go create mode 100644 src/pkg/exp/regexp/syntax/prog_test.go create mode 100644 src/pkg/exp/regexp/syntax/regexp.go create mode 100644 src/pkg/exp/regexp/syntax/simplify.go create mode 100644 src/pkg/exp/regexp/syntax/simplify_test.go create mode 100644 src/pkg/exp/template/Makefile create mode 100644 src/pkg/exp/template/exec.go create mode 100644 src/pkg/exp/template/exec_test.go create mode 100644 src/pkg/exp/template/funcs.go create mode 100644 src/pkg/exp/template/lex.go create mode 100644 src/pkg/exp/template/lex_test.go create mode 100644 src/pkg/exp/template/parse.go create mode 100644 src/pkg/exp/template/parse_test.go create mode 100644 src/pkg/exp/template/set.go create mode 100644 src/pkg/exp/template/set_test.go create mode 100644 src/pkg/go/build/cgotest/cgotest.go delete mode 100644 src/pkg/go/build/cgotest/file.go create mode 100644 src/pkg/go/build/cmdtest/main.go create mode 100644 src/pkg/go/build/pkgtest/pkgtest.go create mode 100644 src/pkg/go/build/pkgtest/sqrt_386.s create mode 100644 src/pkg/go/build/pkgtest/sqrt_amd64.s create mode 100644 src/pkg/go/build/pkgtest/sqrt_arm.s create mode 100644 src/pkg/net/dnsclient_unix.go create mode 100644 src/pkg/net/interface_windows.go delete mode 100644 src/pkg/net/lookup.go create mode 100644 src/pkg/net/lookup_unix.go create mode 100644 src/pkg/net/lookup_windows.go delete mode 100644 src/pkg/net/resolv_windows.go create mode 100644 src/pkg/net/sendfile_windows.go create mode 100644 src/pkg/os/str.go create mode 100644 src/pkg/runtime/386/atomic.c create mode 100644 src/pkg/runtime/amd64/atomic.c create mode 100644 src/pkg/runtime/arm/atomic.c create mode 100644 src/pkg/runtime/sema_test.go create mode 100644 src/pkg/runtime/windows/amd64/defs.h create mode 100644 src/pkg/runtime/windows/amd64/rt0.s create mode 100644 src/pkg/runtime/windows/amd64/signal.c create mode 100644 src/pkg/runtime/windows/amd64/sys.s create mode 100644 src/pkg/syscall/asm_windows_amd64.s create mode 100644 src/pkg/syscall/bpf_bsd.go create mode 100644 src/pkg/syscall/lsf_linux.go create mode 100644 src/pkg/syscall/sockcmsg_unix.go create mode 100644 src/pkg/syscall/syscall_windows_amd64.go create mode 100644 src/pkg/syscall/zerrors_windows.go create mode 100644 src/pkg/syscall/zerrors_windows_amd64.go create mode 100644 src/pkg/syscall/zsyscall_windows_amd64.go create mode 100644 src/pkg/syscall/zsysnum_windows_amd64.go create mode 100644 src/pkg/syscall/ztypes_windows.go create mode 100644 src/pkg/syscall/ztypes_windows_amd64.go create mode 100644 src/pkg/time/sys_plan9.go create mode 100644 src/pkg/time/sys_posix.go create mode 100644 src/pkg/time/zoneinfo_plan9.go create mode 100644 src/pkg/time/zoneinfo_posix.go create mode 100644 src/pkg/xml/atom_test.go create mode 100644 src/pkg/xml/marshal.go create mode 100644 src/pkg/xml/marshal_test.go create mode 100644 test/fixedbugs/bug345.dir/io.go create mode 100644 test/fixedbugs/bug345.dir/main.go create mode 100644 test/fixedbugs/bug345.go create mode 100644 test/fixedbugs/bug346.go create mode 100644 test/goprint.go create mode 100644 test/goto.go create mode 100644 test/sizeof.go diff --git a/AUTHORS b/AUTHORS index 8f510f3ba..f9af1a777 100644 --- a/AUTHORS +++ b/AUTHORS @@ -16,6 +16,7 @@ Alexander Orlov Alexey Borzenkov Amrut Joshi Andrei Vieru +Andrew Balholm Andrew Skiba Andrey Mirtchovski Andy Davis @@ -60,6 +61,7 @@ Fazlul Shahriar Firmansyah Adiputra Florian Uekermann Gary Burd +Gideon Jan-Wessel Redelinghuys Giles Lean Google Inc. Graham Miller @@ -83,10 +85,12 @@ Jonathan Wills Jose Luis Vázquez González Josh Goebel Jukka-Pekka Kekkonen +Julian Phillips Kai Backman Kei Son Keith Rarick Ken Friedenbach +Ken Rockot Kevin Ballard Kyle Consalus Kyle Lemons @@ -140,6 +144,7 @@ Tor Andersson Vincent Ambo Vincent Vanackere Vinu Rajashekhar +Volker Dobler Wei Guangjing William Josephson Yasuhiro Matsumoto diff --git a/CONTRIBUTORS b/CONTRIBUTORS index a395c11cc..8bb57f9ab 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -40,6 +40,7 @@ Alexander Orlov Alexey Borzenkov Amrut Joshi Andrei Vieru +Andrew Balholm Andrew Gerrand Andrew Skiba Andrey Mirtchovski @@ -100,6 +101,7 @@ Firmansyah Adiputra Florian Uekermann Fumitoshi Ukai Gary Burd +Gideon Jan-Wessel Redelinghuys Giles Lean Graham Miller Gustavo Niemeyer @@ -131,20 +133,23 @@ Jos Visser Jose Luis Vázquez González Josh Goebel Jukka-Pekka Kekkonen +Julian Phillips Kai Backman Kei Son Keith Rarick Ken Friedenbach +Ken Rockot Ken Thompson Kevin Ballard Kirklin McDonald Kyle Consalus -Kyle Lemons +Kyle Lemons Larry Hosken Lorenzo Stoakes Lucio De Re Luit van Drongelen Luuk van Dijk +Marcel van Lohuizen Mark Zavislak Markus Duft Martin Neubauer @@ -169,6 +174,7 @@ Padraig Kitterick Paolo Giarrusso Pascal S. de Kloe Patrick Gavlin +Paul Borman Petar Maymounkov Peter Froehlich Peter McKenzie @@ -211,6 +217,7 @@ Vincent Ambo Vincent Vanackere Vinu Rajashekhar Vish Subramanian +Volker Dobler Wei Guangjing William Chan William Josephson diff --git a/doc/devel/release.html b/doc/devel/release.html index e1a1cabe5..feb433f14 100644 --- a/doc/devel/release.html +++ b/doc/devel/release.html @@ -14,6 +14,113 @@ hg pull hg update release.rNN +

r59 (released 2011/08/01)

+ +

+The r59 release corresponds to +weekly.2011-07-07. +This section highlights the most significant changes in this release. +For a more detailed summary, see the +weekly release notes. +For complete information, see the +Mercurial change list. +

+ +

Language

+ +

+This release includes a language change that restricts the use of +goto. In essence, a goto statement outside a block +cannot jump to a label inside that block. Your code may require changes if it +uses goto. +See this +changeset for how the new rule affected the Go tree. +

+ +

Packages

+ +

+As usual, gofix will handle the bulk of the rewrites +necessary for these changes to package APIs. +

+ +

+Package http has a new +FileSystem interface that provides access +to files. The FileServer helper now takes a +FileSystem argument instead of an explicit file system root. By +implementing your own FileSystem you can use the +FileServer to serve arbitrary data. +

+ +

+Package os's ErrorString type has been +hidden. Most uses of os.ErrorString can be replaced with +os.NewError. +

+ +

+Package reflect supports a new struct tag scheme +that enables sharing of struct tags between multiple packages. +In this scheme, the tags must be of the form: +

+
+	`key:"value" key2:"value2"`
+
+

+The StructField type's Tag field now +has type StructTag, which has a +Get method. Clients of json and +xml will need to be updated. Code that says +

+
+	type T struct {
+		X int "name"
+	}
+
+

+should become +

+
+	type T struct {
+		X int `json:"name"`  // or `xml:"name"`
+	}
+
+

+Use govet to identify struct tags that need to be +changed to use the new syntax. +

+ +

+Package sort's IntArray type has been +renamed to IntSlice, and similarly for +Float64Slice and +StringSlice. +

+ +

+Package strings's Split function has +itself been split into Split and +SplitN. +SplitN is the same as the old Split. +The new Split is equivalent to SplitN with a final +argument of -1. +

+ +Package image/draw's +Draw function now takes an additional +argument, a compositing operator. +If in doubt, use draw.Over. +

+ +

Tools

+ +

+Goinstall now installs packages and commands from +arbitrary remote repositories (not just Google Code, Github, and so on). +See the goinstall documentation for details. +

+

r58 (released 2011/06/29)

diff --git a/doc/devel/weekly.html b/doc/devel/weekly.html index b576a910d..0fb6483f4 100644 --- a/doc/devel/weekly.html +++ b/doc/devel/weekly.html @@ -14,6 +14,226 @@ hg pull hg update weekly.YYYY-MM-DD +

2011-07-07 (base for r59)

+ +
+This weekly snapshot includes changes to the strings, http, reflect, json, and
+xml packages. Code that uses these packages will need changes. Most of these
+changes can be made automatically with gofix.
+
+The strings package's Split function has itself been split into Split and
+SplitN. SplitN is the same as the old Split. The new Split is equivalent to
+SplitN with a final argument of -1.
+
+The http package has a new FileSystem interface that provides access to files.
+The FileServer helper now takes a FileSystem argument instead of an explicit
+file system root. By implementing your own FileSystem you can use the
+FileServer to serve arbitrary data.
+
+The reflect package supports a new struct tag scheme that enables sharing of
+struct tags between multiple packages.
+In this scheme, the tags must be of the form:
+        key:"value" key2:"value2"
+reflect.StructField's Tag field now has type StructTag (a string type), which
+has method Get(key string) string that returns the associated value.
+Clients of json and xml will need to be updated. Code that says
+        type T struct {
+                X int "name"
+        }
+should become
+        type T struct {
+                X int `json:"name"`  // or `xml:"name"`
+        }
+Use govet to identify struct tags that need to be changed to use the new syntax.
+
+Other changes:
+* 5l, 6l, 8l: drop use of ed during build.
+* asn1: support T61 and UTF8 string.
+* bufio: do not cache Read errors (thanks Graham Miller).
+* build: make version.bash aware of branches.
+* cgi: don't depend on CGI.pm for tests.
+* codereview: make --ignore_hgpatch_failure work again,
+	restrict sync to default branch.
+* crypto/openpgp: add ability to reserialize keys,
+	bug fix (thanks Gideon Jan-Wessel Redelinghuys).
+* crypto/tls: fix generate_cert.go.
+* crypto/x509: prevent chain cycles in Verify.
+* csv: new package.
+* doc: remove ed from apt-get package list.
+* docs: fold the prog.sh scripting from makehtml into htmlgen itself.
+* ebnflint: better handling of stdin.
+* exp/regexp/syntax: new experimental RE2-based regexp implementation.
+* exp/template: a new experimental templating package.
+* fmt: add SkipSpace to fmt's ScanState interface.
+* fmt: rename errno and error to err for doc consistency.
+* gc: avoid package name ambiguity in error messages,
+	fix package quoting logic,
+	fixes for Plan 9 (thanks Lucio De Re).
+* go/build: evaluate symlinks before comparing path to GOPATH.
+* gob: use exported fields in structs in the package documentation.
+* godoc: ignore directories that begin with '.',
+	search GOPATH for documentation.
+* gofix: os/signal, path/filepath, and sort fixes (thanks Robert Hencke),
+* goinstall: add support for generic hosts (thanks Julian Phillips),
+	only report successfully-installed packages to the dashboard,
+	try to access via https (thanks Yasuhiro Matsumoto).
+* gotest: add -test.benchtime and -test.cpu flags.
+* html: fixes and improvements (thanks Yasuhiro Matsumoto).
+* http/cgi: add Handler.Dir to specify working directory (thanks Yasuhiro Matsumoto).
+* http: add StripPrefix handler wrapper,
+	assume ContentLength 0 on GET requests,
+	better handling of 0-length Request.Body,
+	do TLS handshake explicitly before copying TLS state,
+	document that ServerConn and ClientConn are low-level,
+	make NewChunkedReader public (thanks Andrew Balholm),
+	respect Handlers setting Connection: close in their response.
+* image: more tests, Paletted.Opaque optimization.
+* io.WriteString: if the object has a WriteString method, use it (thanks Evan Shaw).
+* ld: elide the Go symbol table when using -s (thanks Anthony Martin).
+* ld: fix ELF strip by removing overlap of sections (thanks Gustavo Niemeyer).
+* mime/multipart: parse LF-delimited messages, not just CRLF.
+* mime: permit lower-case media type parameters (thanks Pascal S. de Kloe).
+* misc/dashboard: new features and improvements (not yet deployed).
+* misc/emacs: update list of builtins (thanks Quan Yong Zhai).
+* misc/vim: allow only utf-8 for file encoding (thanks Yasuhiro Matsumoto).
+* os: fix documentation for FileInfo.Name,
+	simplify WriteString,
+	use a different symbol from syscall in mkunixsignals.sh.
+* path/filepath: enable TestWalk to run on windows (thanks Alex Brainman).
+* reflect: add MethodByName,
+	allow Len on String values.
+* regexp: document that Regexp is thread-safe.
+* runtime/cgo: check for errors from pthread_create (thanks Albert Strasheim).
+* runtime: add Semacquire/Semrelease benchmarks,
+	improved Semacquire/Semrelease implementation,
+	windows/amd64 port (thanks Wei Guangjing).
+* sync: add fast path to Once,
+	improve Mutex to allow successive acquisitions,
+	new and improved benchmarks.
+* syscall: regenerate zerrors for darwin/linux/freebsd,
+	support for tty options in StartProcess (thanks Ken Rockot).
+* testing: make ResetTimer not start/stop the timer,
+	scale benchmark precision to 0.01ns if needed.
+* time: zero-pad two-digit years.
+* unicode/maketables: update debugging data.
+* windows: define and use syscall.Handle (thanks Wei Guangjing).
+* xml: add Marshal and MarshalIndent.
+
+ +

2011-06-23

+ +
+This release includes a language change that restricts the use of goto.
+In essence, a "goto" statement outside a block cannot jump to a label inside
+that block. Your code may require changes if it uses goto.
+This changeset shows how the new rule affected the Go tree:
+	http://code.google.com/p/go/source/detail?r=dc6d3cf9279d
+
+The os.ErrorString type has been hidden. If your code uses os.ErrorString it
+must be changed. Most uses of os.ErrorString can be replaced with os.NewError.
+
+Other changes:
+* 5c: do not use R9 and R10.
+* 8l: more fixes for Plan 9 (thanks Lucio De Re).
+* build: Make.ccmd: link with mach lib (thanks Joe Poirier).
+* build: exclude packages that fail on Plan 9 (thanks Anthony Martin).
+* cc: nit: silence comment warnings (thanks Dave Cheney).
+* codereview.py: note that hg change -d abandons a change list (thanks Robert Hencke).
+* crypto/openpgp: add ElGamal support.
+* doc/faq: add question about converting from []T to []interface{}.
+* doc: Effective Go: fix variadic function example (thanks Ben Lynn).
+* exec: LookPath should not search %PATH% for files like c:cmd.exe (thanks Alex Brainman),
+        add support for Plan 9 (thanks Anthony Martin),
+        better error message for windows LookPath (thanks Alex Brainman).
+* fmt: catch panics from calls to String etc.
+* gc: descriptive panic for nil pointer -> value method call,
+        implement goto restriction,
+        unsafe.Alignof, unsafe.Offsetof, unsafe.Sizeof now return uintptr.
+* go/build: include Import objects in Script Inputs.
+* godefs: rudimentary tests (thanks Robert Hencke).
+* goinstall: refactor and generalize repo handling code (thanks Julian Phillips),
+        temporarily use Makefiles by default (override with -make=false).
+* gopprof: update list of memory allocators.
+* http: add Server.ListenAndServeTLS,
+        buffer request.Write,
+        fix req.Cookie(name) with cookies in one header,
+        permit handlers to explicitly remove the Date header,
+        write Header keys with empty values.
+* image: basic test for the 16-bits-per-color-channel types.
+* io: clarify Read, ReadAt, Copy, Copyn EOF behavior.
+* ld: don't attempt to build dynamic sections unnecessarily (thanks Gustavo Niemeyer).
+* libmach: fix disassembly of FCMOVcc and FCOMI (thanks Anthony Martin),
+        fix tracing on linux (for cov) (thanks Anthony Martin).
+* mime: fix RFC references (thanks Pascal S. de Kloe).
+* misc/gobuilder: run make single-threaded on windows (thanks Alex Brainman).
+* misc/godashboard: Accept sub-directories for goinstall's report (thanks Yasuhiro Matsumoto).
+* nacl, tiny: remove vestiges (thanks Robert Hencke).
+* net, syscall: interface for windows (thanks Yasuhiro Matsumoto).
+* os: change Waitmsg String method to use pointer receiver (thanks Graham Miller).
+* runtime: don't use twice the memory with grsec-like kernels (thanks Gustavo Niemeyer),
+* spec: disallow goto into blocks.
+* sync: restore GOMAXPROCS during benchmarks.
+* syscall: add LSF support for linux (thanks Mikio Hara),
+        add socket control message support for darwin, freebsd, linux (thanks Mikio Hara),
+        add tty support to StartProcess (thanks Ken Rockot),
+        fix build for Sizeof change.
+* test: test of goto restrictions.
+* time: add support for Plan 9 (thanks Anthony Martin).
+
+ +

2011-06-16

+ +
+This release includes changes to the sort and image/draw packages that will
+require changes to client code.
+
+The sort.IntArray type has been renamed to IntSlice, and similarly for
+StringArray and Float64Array.
+
+The image/draw package’s Draw function now takes an additional argument,
+a compositing operator. If in doubt, use draw.Over.
+
+Other changes:
+* build: fix header files for Plan 9 (thanks Lucio De Re).
+* cgo: handle new Apple LLVM-based gcc from Xcode 4.2.
+* crypto/openpgp: add ability to encrypt and sign messages.
+* doc/gopher: add goggled gopher logo for App Engine.
+* doc: Update notes for 3-day Go course.
+* exec: make LookPath work when PATHEXT var not set on Windows (thanks Alex Brainman).
+* exp/regexp/syntax: syntax data structures, parser, escapes, character classes.
+* exp/template: lexical scanner for new template package.
+* fmt: debugging formats for characters: %+q %#U.
+* gc: frame compaction for arm,
+        handle go print() and go println(),
+        work around goto bug.
+* go/build: fixes, self-contained tests.
+* go/printer, gofmt: print "select {}" on one line.
+* godoc: replace OS file system accesses in favor of a FileSystem interface.
+* gofix: fix inconsistent indentation in help output (thanks Scott Lawrence).
+* goinstall: use go/build package to scan and build packages.
+* http/spdy: improve error handling (thanks William Chan).
+* http: use runtime/debug.Stack() to dump stack trace on panic.
+* ld: dwarf emit filenames in debug_line header instead of as extended opcodes,
+        fix link Windows PE __declspec(dllimport) symbol (thanks Wei Guangjing),
+        make .rodata section read-only (thanks Gustavo Niemeyer).
+* mail: decode RFC 2047 "B" encoding.
+* mime/multipart: remove temp files after tests on Windows (thanks Alex Brainman).
+* net: export all fields in Interface (thanks Mikio Hara),
+        rearrange source to run more tests on Windows (thanks Alex Brainman),
+        sendfile for win32 (thanks Yasuhiro Matsumoto).
+* os: Plan 9, fix OpenFile & Chmod, add Process.Kill (thanks Yuval Pavel Zholkover).
+* runtime: fix Plan 9 "lingering goroutines bug" (thanks Yuval Pavel Zholkover).
+* spec: clarify rules for append, scope rules for :=,
+        specify constant conversions,
+        unsafe.Alignof/Offsetof/Sizeof return uintptr.
+* syscall, os, exec: add *syscall.SysProcAttr field to os.ProcAttr and exec.Cmd.
+* syscall: add ptrace on darwin (thanks Jeff Hodges),
+        mksyscall_windows.pl should output unix newline (thanks Yasuhiro Matsumoto).
+        update BPF support for BSD variants (thanks Mikio Hara),
+        use strict in perl scripts (thanks Yasuhiro Matsumoto).
+* xml: handle non-string attribute fields (thanks Maxim Ushakov).
+
+

2011-06-09 (base for r58)

diff --git a/doc/effective_go.html b/doc/effective_go.html
index 972772d33..2ecef44f4 100644
--- a/doc/effective_go.html
+++ b/doc/effective_go.html
@@ -233,9 +233,9 @@ Since the whole declaration is presented, such a comment can often be perfunctor
 
 // Error codes returned by failures to parse an expression.
 var (
-    ErrInternal      = os.NewError("internal error")
-    ErrUnmatchedLpar = os.NewError("unmatched '('")
-    ErrUnmatchedRpar = os.NewError("unmatched ')'")
+    ErrInternal      = os.NewError("regexp: internal error")
+    ErrUnmatchedLpar = os.NewError("regexp: unmatched '('")
+    ErrUnmatchedRpar = os.NewError("regexp: unmatched ')'")
     ...
 )
 
@@ -350,7 +350,7 @@ Both names read well in practice:
 owner := obj.Owner()
 if owner != user {
-	obj.SetOwner(user)
+    obj.SetOwner(user)
 }
 
@@ -2245,7 +2245,7 @@ we would write job.Logger. This would be useful if we wanted to refine the methods of Logger.

-func (job *Job) Logf(format string, args ...) {
+func (job *Job) Logf(format string, args ...interface{}) {
     job.Logger.Logf("%q: %s", job.Command, fmt.Sprintf(format, args))
 }
 
@@ -2673,6 +2673,13 @@ it is much more informative than the plain "no such file or directory".

+

+When feasible, error strings should identify their origin, such as by having +a prefix naming the package that generated the error. For example, in package +image, the string representation for a decoding error due to an unknown format +is "image: unknown format". +

+

Callers that care about the precise error details can use a type switch or a type assertion to look for specific diff --git a/doc/go_mem.html b/doc/go_mem.html index 906b858e8..a38828358 100644 --- a/doc/go_mem.html +++ b/doc/go_mem.html @@ -1,4 +1,5 @@ +