1
0
mirror of https://github.com/golang/go synced 2024-10-04 22:31:22 -06:00
Commit Graph

2909 Commits

Author SHA1 Message Date
Robert Griesemer
288a39c86b go/ast: reflect communication operator changes accurately in ast
- go/ast: introduce SendStmt; adjust SelectStmt
- go/parser: accept new communication syntax, minor
  unrelated cleanups
- go/printer: adjustments for new ast, fewer binary
  expression precedences
- go/token: remove one binary precedence

Adjusted dependent code. gofmt -w src -misc. Ran all tests.

R=rsc, gri
CC=golang-dev
https://golang.org/cl/3989056
2011-02-01 13:47:51 -08:00
Rob Pike
eea18d959e log: rename Exit* to Fatal*
This aligns the naming scheme with the testing package and
also lets govet work on more logging calls.

R=rsc
CC=golang-dev
https://golang.org/cl/4001048
2011-02-01 12:47:35 -08:00
Jose Luis Vázquez González
865d576702 http: add host patterns
R=bradfitzgo, rsc
CC=golang-dev
https://golang.org/cl/4070043
2011-02-01 13:58:59 -05:00
Russ Cox
850ad9a402 strconv: add test that trips up other implementations
R=r, gri1
CC=golang-dev
https://golang.org/cl/4092045
2011-02-01 12:48:18 -05:00
Gustavo Niemeyer
59a47732dd exec: use custom error for LookPath
Make the error message and the needed action more obvious
when a command isn't found to obtain the source code
of a project.  Users seem to strugle with the existing
wording in practice.

R=rsc
CC=golang-dev
https://golang.org/cl/4058047
2011-02-01 12:12:51 -05:00
Hector Chu
62afa225af windows: multiple improvements and cleanups
The callback mechanism has been made more flexible.
Eliminated one round of argument copying in Syscall.
Faster Get/SetLastError implemented.
Added gettime for gc perf profiling.

R=rsc, brainman, mattn, rog
CC=golang-dev
https://golang.org/cl/4058046
2011-02-01 11:49:24 -05:00
Adam Langley
e308d55973 crypto: add package.
The crypto package is added as a common place to store identifiers for
hash functions. At the moment, the rsa package has an enumeration of
hash functions and knowledge of their digest lengths. This is an
unfortunate coupling and other high level crypto packages tend to need
to duplicate this enumeration and knowledge (i.e. openpgp).

crypto pulls this code out into a common location.

It would also make sense to add similar support for ciphers to crypto,
but the problem there isn't as acute that isn't done in this change.

R=bradfitzgo, r, rsc
CC=golang-dev
https://golang.org/cl/4080046
2011-02-01 11:02:48 -05:00
Mikio Hara
400ea843c6 syscall: add network interface constants for freebsd/386, freebsd/amd64
R=rsc
CC=golang-dev
https://golang.org/cl/4105046
2011-02-01 08:46:21 -05:00
Russ Cox
cb584707af gc: remove non-blocking send, receive syntax
R=ken2
CC=golang-dev
https://golang.org/cl/4126043
2011-01-31 18:52:16 -05:00
Russ Cox
f4e76d8309 replace non-blocking send, receive syntax with select
R=golang-dev, nigeltao, niemeyer, r
CC=golang-dev
https://golang.org/cl/4079053
2011-01-31 18:36:28 -05:00
Rob Pike
fc52d7029f unicode: update to unicode 6.0.0
R=rsc
CC=golang-dev
https://golang.org/cl/3981049
2011-01-31 15:20:44 -08:00
Eric Eisner
d93b2f384d suffixarray: fix construction bug
Previously, group numbers were updated while being read,
sometimes leading to inconsistencies.

R=gri, gri1
CC=golang-dev
https://golang.org/cl/4121045
2011-01-31 13:13:02 -08:00
Albert Strasheim
161f109cad os: add ETIMEDOUT
R=rsc
CC=golang-dev
https://golang.org/cl/4017045
2011-01-31 14:54:58 -05:00
Mikio Hara
5c0aab9cae syscall: add network interface constants for darwin/386, darwin/amd64
R=rsc
CC=golang-dev
https://golang.org/cl/4079049
2011-01-31 12:50:50 -05:00
Russ Cox
ad00644434 unicode: build maketables during build, take 2
The "all:" target is the default for running gomake
by hand, but it is not used during the build.
The build runs make install and make test.

Save the build of maketables for the test phase
so that the packages it needs will have been
installed already.

R=r, r2
CC=golang-dev
https://golang.org/cl/4121043
2011-01-31 11:50:04 -05:00
Luuk van Dijk
7400be87d8 runtime: generate Go defs for C types.
R=rsc, mattn
CC=golang-dev
https://golang.org/cl/4047047
2011-01-31 12:27:28 +01:00
Andrew Gerrand
9173a09530 bufio: make Flush a no-op when the buffer is empty
R=r
CC=golang-dev
https://golang.org/cl/4119048
2011-01-31 18:54:25 +11:00
Russ Cox
0f0f34ee05 unicode: add maketables to build, fix build
R=r
CC=golang-dev
https://golang.org/cl/4073046
2011-01-30 16:09:16 -05:00
Russ Cox
5038792837 gc: special case code for single-op blocking and non-blocking selects
R=ken2
CC=golang-dev
https://golang.org/cl/4004045
2011-01-30 16:07:57 -05:00
Rob Pike
08a206cc9e sync: a couple of documentation nits.
R=golang-dev, agl1
CC=golang-dev
https://golang.org/cl/4079051
2011-01-29 14:56:15 -08:00
Alex Brainman
89cc4d7814 runtime/cgo: fix cross-compiling windows packages
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4073043
2011-01-29 22:57:19 +11:00
Wei Guangjing
6606995c91 fix windows build
R=rsc
CC=golang-dev
https://golang.org/cl/4124041
2011-01-28 23:44:37 -05:00
Ian Lance Taylor
64c7f70c66 time: Support Solaris zoneinfo directory.
R=rsc
CC=golang-dev
https://golang.org/cl/4079047
2011-01-28 15:56:14 -08:00
Russ Cox
504da53c85 runtime: select bug
The sanity checking in pass 2 is wrong
when a select is offering to communicate in
either direction on a channel and neither case
is immediately ready.

R=ken2
CC=golang-dev
https://golang.org/cl/3991047
2011-01-28 17:17:38 -05:00
Russ Cox
4608feb18b runtime: simpler heap map, memory allocation
The old heap maps used a multilevel table, but that
was overkill: there are only 1M entries on a 32-bit
machine and we can arrange to use a dense address
range on a 64-bit machine.

The heap map is in bss.  The assumption is that if
we don't touch the pages they won't be mapped in.

Also moved some duplicated memory allocation
code out of the OS-specific files.

R=r
CC=golang-dev
https://golang.org/cl/4118042
2011-01-28 15:03:26 -05:00
Rob Pike
50f574515c gob: fix build
delete reference to Debug function.

R=rsc
CC=golang-dev
https://golang.org/cl/4063048
2011-01-28 11:07:12 -08:00
Rob Pike
9b82481a96 gob: make nested interfaces work.
Also clean up the code, make it more regular.

Fixes #1416.

R=rsc
CC=golang-dev
https://golang.org/cl/3985047
2011-01-28 10:53:42 -08:00
Rob Pike
04a8905442 gob: updates to the debugging tool.
- complex numbers now supported.
- entirely independent of standard decode code.
- parser has no read-ahead; that is, the scanning works
simply by reading the values as they arrive, not by trying
to count bytes for message boundaries, a proof of concept
for the pending rewrite of the regular decoder.

R=rsc, r2
CC=golang-dev
https://golang.org/cl/4084044
2011-01-28 10:53:06 -08:00
Evan Shaw
c9bf30cf19 bytes: Add Buffer.ReadBytes, Buffer.ReadString
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4000046
2011-01-27 14:00:31 -08:00
Robert Griesemer
1e17621cbe go/scanner: fix build (adjust scanner EOF linecount)
R=adg
CC=golang-dev
https://golang.org/cl/3990045
2011-01-26 22:09:14 -08:00
Robert Griesemer
c2ea38ac7e token/position: added SetLinesForContent
godoc uses this to provide full text index position information for
non-Go files.

R=rsc
CC=golang-dev
https://golang.org/cl/4041045
2011-01-26 21:49:10 -08:00
Ian Lance Taylor
9a9c156a00 netchan: Avoid race condition in test.
Make sure we export the channels before we try to import
them.

R=r
CC=golang-dev
https://golang.org/cl/4077046
2011-01-26 15:51:04 -08:00
Russ Cox
f626696d21 net: fix build on old Linux kernels
Thanks to Mike Beller for identifying the problem.

Fixes #1442.

R=bradfitz, bradfitzgo
CC=golang-dev
https://golang.org/cl/4102042
2011-01-26 15:46:15 -05:00
Rob Pike
4e2218968c fmt/doc: define width and precision for strings.
R=rsc
CC=golang-dev
https://golang.org/cl/4061045
2011-01-26 11:10:41 -08:00
Russ Cox
e46e192857 net: fix build
R=adg
CC=golang-dev
https://golang.org/cl/3982051
2011-01-26 12:38:06 -05:00
Brad Fitzpatrick
3aee82b660 encoding/line: make it an io.Reader too
R=agl1, bradfitzwork, rsc
CC=golang-dev
https://golang.org/cl/4066043
2011-01-26 09:59:53 -05:00
Russ Cox
434f1e32a0 runtime: remove tiny
It is unmaintained and untested, and I think it's broken too.
It was a toy to show that Go can run on real hardware,
and it served its purpose.

The source code will of course remain in the repository
history, so it could be brought back if needed later.

R=r, r2, uriel
CC=golang-dev
https://golang.org/cl/3996047
2011-01-26 08:41:23 -05:00
Alex Brainman
b7949035d6 runtime: fix windows build
R=golang-dev
CC=golang-dev
https://golang.org/cl/4052046
2011-01-26 09:50:15 +11:00
Russ Cox
afc6928ad9 runtime: prefer fixed stack allocator over general memory allocator
* move stack constants from proc.c to runtime.h
  * make memclr take uintptr length

R=r
CC=golang-dev
https://golang.org/cl/3985046
2011-01-25 16:35:36 -05:00
Robert Griesemer
eaae95fa3d scanner: fix Position returned by Scan, Pos
The implementation of the position computation
was surprisingly broken. Implemented fixes and
added extra test cases.

There is a slight interface change: Calling
Pos() returns the current position; but if
called before Scan() that position may not
be the position of the next token returned
by Scan() (depending on the scan settings
and the source text) - this in contrast to
the original comment.

However, after calling Scan(), the Scanner's
Position field reports the position of the
scanned token, as before.

Fixes #1327.

R=rsc
CC=golang-dev
https://golang.org/cl/3972047
2011-01-25 13:32:56 -08:00
Roger Peppe
2ae953bfc3 time: allow cancelling of After events.
Also simplify sleeper algorithm and poll
occasionally so redundant sleeper goroutines
will quit sooner.

R=r, niemeyer, r2
CC=golang-dev
https://golang.org/cl/4063043
2011-01-25 12:25:48 -08:00
Adam Langley
166008b988 crypto/dsa: add support for DSA
R=bradfitzgo, r, bradfitzwork, nsz, rsc
CC=golang-dev
https://golang.org/cl/3990043
2011-01-25 12:25:53 -05:00
David Anderson
d0e6c7e134 crypto/rsa: correct docstring for SignPKCS1v15.
The docstring claims the function uses PSS message encoding,
when the function actually implements PKCS1-v1_5 encoding.

R=agl1, rsc
CC=danderson, golang-dev
https://golang.org/cl/4097042
2011-01-25 10:52:36 -05:00
Hector Chu
90294a08c8 runtime: make Walk webbrowser example work
R=rsc, brainman, lxn
CC=golang-dev
https://golang.org/cl/4005045
2011-01-25 17:56:33 +11:00
Robert Griesemer
1161d19024 scanner: error handler must be provided to Init
Init may report an error on the first character and
thus one needs an ability to set the error handler
for Init. Was a design bug.

Added corresponding test cases and better documentation.
Also: Fixed a subtle infinite loop exposed by one of the
new test cases.

Fixes #1380.

R=rsc, gri
CC=golang-dev
https://golang.org/cl/4094041
2011-01-24 14:12:20 -08:00
Eric Eisner
ab036abdf0 suffixarray: use binary search for both ends of Lookup
This prevents many unnecessary comparisons when n is large.

R=gri, gri1, rsc
CC=golang-dev
https://golang.org/cl/4068043
2011-01-24 13:03:32 -08:00
Roger Peppe
72084068a4 template: treat map keys as zero, not non-existent.
R=adg, r, hoka, rsc
CC=golang-dev
https://golang.org/cl/4036045
2011-01-24 14:12:54 -05:00
Russ Cox
e7183e7518 net: return cname in LookupHost
Fixes #1395.

R=adg
CC=golang-dev
https://golang.org/cl/4036044
2011-01-24 14:12:43 -05:00
Rob Pike
4871d0d19a encoding/line: fix up a few typos and infelicities in the doc comments
R=anschelsc, agl1
CC=golang-dev
https://golang.org/cl/3988045
2011-01-24 10:19:23 -08:00
Pieter Droogendijk
c4513d3b6f json: handle capital floating point exponent (1E100).
When parsing numbers with an exponent (like "12e-1"), the JSON scanner
would only allow a lowercase 'e', while the RFC also allows the
uppercase 'E'.

R=adg
CC=golang-dev, rsc
https://golang.org/cl/3986042
2011-01-24 18:10:50 +10:00
Rob Pike
a0a4e85ad6 gob: report an error when encoding a non-empty struct with
no public fields.
Fix a couple of tests caught out by this change.

R=rsc
CC=golang-dev
https://golang.org/cl/4044043
2011-01-22 00:10:11 -08:00
Alex Brainman
f0b8f84d37 runtime: implementation of callback functions for windows
R=rsc, lxn, alex.brainman, dho
CC=golang-dev
https://golang.org/cl/1696051
2011-01-22 13:55:53 +11:00
Rob Pike
7f6ffade32 gob: fix the grammar comments to match the encoder
(or at least a correct encoder, still to come).
Change the debug structure slightly to better represent
the grammar.
Minor tweaks for consistency in type.go.

R=rsc
CC=golang-dev
https://golang.org/cl/4007044
2011-01-21 16:10:39 -08:00
Ian Lance Taylor
9e441e5215 net: Fix race condition in test.
The test code used to do this:

for _, tc := range tests {
	ch <- &tc
}

Note that &tc is always the same value here.  As the value is
received from the channel, the sender can loop around and
change the contents of tc.  This means that the receiver's
value is unstable and can change while it is in use.

R=adg, r2, rsc
CC=chris, golang-dev
https://golang.org/cl/3978043
2011-01-21 13:57:52 -08:00
Russ Cox
27c74d3499 spec, runtime, tests: send on closed channel panics
Close of closed channel panics.
Receive from closed channel never panics,
even if done repeatedly.

Fixes #1349.
Fixes #1419.

R=gri, iant, ken2, r, gri1, r2, iant2, rog, albert.strasheim, niemeyer, ejsherry
CC=golang-dev
https://golang.org/cl/3989042
2011-01-21 15:07:13 -05:00
Rob Pike
5b5a674b46 gob: better debugging, commentary
Re-implement the debugging helper to be independent of the existing
implementation.  This is preparatory to a rewrite to clean up issue 1416.
Include a definition of the grammar of the data stream.

R=rsc
CC=golang-dev
https://golang.org/cl/3970045
2011-01-21 11:28:53 -08:00
Anschel Schaffer-Cohen
3921d26300 Use defer to unlock mutex in crypto/rand.
R=agl1
CC=golang-dev
https://golang.org/cl/3991045
2011-01-21 10:14:43 -05:00
Anschel Schaffer-Cohen
49e2888a96 Fixed documentation for netchan import()
This was broken after the last update (2011-01-20).
	However, I'm not sure if the changed example is a
	sensible use of import(), so I'd appreciate comments.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4067043
2011-01-20 19:58:08 -08:00
Russ Cox
3c7104479c runtime: drop CLONE_PARENT
The functionality we want (shared ppid) is implied
by CLONE_THREAD already, and CLONE_PARENT
causes problems if the Go program is pid 1 (init).

See issue 1406 for more details.

Fixes #1406.

R=adg, iant
CC=golang-dev
https://golang.org/cl/3971044
2011-01-20 13:36:00 -05:00
Miek Gieben
40c7449044 encoding/base32: new package
R=rsc
CC=Miek Gieben, golang-dev
https://golang.org/cl/3926041
2011-01-20 12:51:15 -05:00
Russ Cox
ecbcd816dc unsafe: add missing case to doc for Pointer
Fixes #1433.

R=r, gri
CC=golang-dev
https://golang.org/cl/3999047
2011-01-20 12:50:50 -05:00
Russ Cox
8b8cd0e4c4 http: follow relative redirect in Get
Fixes #1431.

R=bradfitz, dangabrad
CC=golang-dev
https://golang.org/cl/4077042
2011-01-20 12:50:27 -05:00
Wei Guangjing
1aa2d88739 cgo: windows/386 port
R=rsc, peterGo, brainman
CC=golang-dev
https://golang.org/cl/3733046
2011-01-20 10:22:20 -05:00
Hector Chu
6c240d7671 runtime: fix tabs in windows/386/sys.s
R=rsc, brainman
CC=golang-dev
https://golang.org/cl/4030043
2011-01-20 09:21:04 -05:00
Russ Cox
4f269d3060 runtime: make select fairer
The o+i*p approach to visiting select cases in random
order stops being fair when there is some case that
is never ready.  If that happens, then the case that follows
it in the order gets more chances than the others.

In general the only way to ensure fairness is to make
all permutations equally likely.  I've done that by computing
one explicitly.

Makes the permutations correct for n >= 4 where
previously they were broken.  For n > 12, there's not
enough randomness to do a perfect job but this should
still be much better than before.

Fixes #1425.

R=r, ken2, ejsherry
CC=golang-dev
https://golang.org/cl/4037043
2011-01-20 09:20:47 -05:00
Adam Langley
0bec484e6f crypto/openpgp: add s2k
s2k implements the string-to-key functions for OpenPGP

R=rsc
CC=golang-dev
https://golang.org/cl/3937043
2011-01-20 07:38:34 -05:00
Alex Brainman
6d94b14e19 syscall: include all, even duplictate, invented error messages
Otherwise syscall.Errstr() returns "" for some (EWOULDBLOCK) errors.

R=rsc
CC=golang-dev
https://golang.org/cl/3941041
2011-01-20 21:24:15 +11:00
Alex Brainman
de2184f3a8 net: get tests working to fix windows build
R=golang-dev
CC=golang-dev
https://golang.org/cl/4089041
2011-01-20 19:18:04 +11:00
Russ Cox
b7bf2a3a0b net: fix windows build (?)
TBR=adg
CC=golang-dev
https://golang.org/cl/4083042
2011-01-20 00:16:16 -05:00
Russ Cox
f2b5a07453 delete float, complex - code changes
also:
	cmplx -> complex
	float64(1.0) -> 1.0
	float64(1) -> 1.0

R=gri, r, gri1, r2
CC=golang-dev
https://golang.org/cl/3991043
2011-01-19 23:09:00 -05:00
Andrew Gerrand
5eb8c9baa7 net: remove duplicate import of runtime
R=rsc
CC=golang-dev
https://golang.org/cl/3999046
2011-01-20 12:56:32 +11:00
Andrew Gerrand
0b08119adc syscall: attempt to fix windows build, supply missing constant
R=r, brainman, rsc1
CC=golang-dev
https://golang.org/cl/4023043
2011-01-20 12:41:59 +11:00
Adam Langley
4a7fed4d90 crypto/twofish: update with rsc's comments
TBR=rsc

R=rsc
CC=berengar.lehr, golang-dev
https://golang.org/cl/4050042
2011-01-19 19:41:27 -05:00
Gustavo Niemeyer
c52ad23461 xml: handle tag paths through the same element
With the current implementation, xml unmarshalling
will silently fail to unmarshal any paths passing
through the same element, such as:

type T struct {
	A string "dummy>a"
	B string "dummy>b"
}

This change tweaks the algorithm so that this works
correctly.

Also, using paths that would cause the same element to
unmarshal twice will error out ahead of time explaining
the problem, rather than silently misbehaving.

R=rsc
CC=golang-dev
https://golang.org/cl/4082041
2011-01-19 15:43:58 -05:00
Rob Pike
b99a6d465a runtime/debug: fix build (missing Makefile)
Why does this happen so often?

R=rsc
CC=golang-dev
https://golang.org/cl/4067042
2011-01-19 12:36:52 -08:00
Roger Peppe
6fb1bf26ae netchan: do not block sends; implement flow control.
When data is received for a channel, but that channel
is not ready to receive it, the central run() loop
is currently blocked, but this can lead to deadlock
and interference between independent channels.
This CL adds an explicit buffer size to netchan
channels (an API change) - the sender will not
send values until the buffer is non empty.

The protocol changes to send ids rather than channel names
because acks can still be sent after a channel is hung up,
we we need an identifier that can be ignored.

R=r, rsc
CC=golang-dev
https://golang.org/cl/2447042
2011-01-19 12:28:49 -08:00
Rob Pike
89993544c2 runtime/debug: new package
Facilities for printing stack traces from within a running goroutine.

R=rsc
CC=golang-dev
https://golang.org/cl/4031041
2011-01-19 12:28:38 -08:00
Russ Cox
035fcb0da2 net: fix build on freebsd
TBR=adg
CC=golang-dev
https://golang.org/cl/3992044
2011-01-19 15:24:25 -05:00
Brad Fitzpatrick
f96c1d076a http: support for relative URLs
R=rsc, adg
CC=golang-dev
https://golang.org/cl/4002041
2011-01-19 15:13:42 -05:00
Kyle Lemons
a4f6ed3574 net: add LookupAddr
R=adg, rsc
CC=golang-dev
https://golang.org/cl/3851041
2011-01-19 15:11:03 -05:00
Hector Chu
aae5f91213 windows: implement exception handling
R=rsc, brainman
CC=golang-dev
https://golang.org/cl/4079041
2011-01-19 15:10:15 -05:00
Wei Guangjing
ff25900bb6 net: implement windows timeout
R=brainman, rsc
CC=golang-dev
https://golang.org/cl/1731047
2011-01-19 14:49:25 -05:00
Albert Strasheim
3a97119517 net, syscall: return source address in Recvmsg
R=rsc
CC=golang-dev
https://golang.org/cl/3766042
2011-01-19 14:34:53 -05:00
Sebastien Binet
655da99627 cgo: add complex float, complex double
R=rsc
CC=binet, golang-dev
https://golang.org/cl/3906041
2011-01-19 14:30:57 -05:00
Eoghan Sherry
13c2e62966 math: handle denormals in Frexp, Ilogb, Ldexp, and Logb
Also:
* document special cases for Frexp and Ldexp
* handle ±Inf in Ldexp
* correctly return -0 on underflow in Ldexp
* test special cases for Ldexp
* test boundary cases for Frexp, Ilogb, Ldexp, and Logb

R=rsc
CC=golang-dev
https://golang.org/cl/3676041
2011-01-19 14:23:59 -05:00
Albert Strasheim
01fad6a6b0 net: add unixpacket
R=golang-dev, rsc, rsc1
CC=golang-dev
https://golang.org/cl/2309043
2011-01-19 14:21:58 -05:00
Ben Lynn
eb56a79e99 regexp: reject bare ?
Minor cleanup:
  - removed a duplicate test case
  - added a function to remove repeated code
  - for consistency, replaced "return nil" with a panic at an
    unreachable point

Fixes #1428.

R=golang-dev, r, rsc
CC=golang-dev
https://golang.org/cl/4057042
2011-01-19 13:47:04 -05:00
Russ Cox
bcd910cfe2 runtime: add per-pause gc stats
R=r, r2
CC=golang-dev
https://golang.org/cl/3980042
2011-01-19 13:41:42 -05:00
Russ Cox
61a4e9812e fmt: document %X of string, []byte
suggested by Mark Summerfield

R=r
CC=golang-dev
https://golang.org/cl/4018042
2011-01-19 13:35:45 -05:00
Clement Skau
49741f23d5 http: fix Content-Range and Content-Length in response
RFC2616 sections 4.4 and 14.16:
  * Cannot use Content-Length with non-identity Transfer-Encoding
  * Content-Range response is "bytes x-y/z" not "x-y/z"

R=rsc
CC=golang-dev
https://golang.org/cl/4018041
2011-01-19 10:05:48 -05:00
Corey Thomasson
43582bad33 net: avoid nil dereference if /etc/services can't be opened
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4081041
2011-01-19 09:55:46 -05:00
Yasuhiro Matsumoto
4a7cdc7944 syscall: fix build. WUNTRACED isn't defined for win32.
For Windows, the options for syscall.Wait4() aren't used.
Then this will be dummy value like WNOHANG, WSTOPPED.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4075041
2011-01-18 23:00:19 -08:00
Rob Pike
052ff45690 crypto/cipher: fix build (missing file in Makefile)
R=agl, adg
CC=golang-dev
https://golang.org/cl/4073041
2011-01-18 20:56:55 -08:00
Adam Langley
9b6d8b3c4f crypto/cipher: add OFB mode
R=rsc, r
CC=golang-dev
https://golang.org/cl/3994042
2011-01-18 18:16:06 -05:00
Russ Cox
b0543ddd8a gc, runtime: make range on channel safe for multiple goroutines
Fixes #397.

R=ken2
CC=golang-dev
https://golang.org/cl/3994043
2011-01-18 15:59:19 -05:00
Gustavo Niemeyer
3426b80dd9 xml: support for > in tags
This introduces support for selecting which subelement
to unmarshal into a given struct field by providing a
nesting path separated by the > character.

R=rsc
CC=golang-dev
https://golang.org/cl/4066041
2011-01-18 15:39:38 -05:00
Russ Cox
12307008e9 runtime: print signal information during panic
$ 6.out
panic: runtime error: invalid memory address or nil pointer dereference

[signal 11 code=0x1 addr=0x0 pc=0x1c16]

runtime.panic+0xa7 /Users/rsc/g/go/src/pkg/runtime/proc.c:1089
	runtime.panic(0xf6c8, 0x25c010)
runtime.panicstring+0x69 /Users/rsc/g/go/src/pkg/runtime/runtime.c:88
	runtime.panicstring(0x24814, 0x0)
runtime.sigpanic+0x144 /Users/rsc/g/go/src/pkg/runtime/darwin/thread.c:465
	runtime.sigpanic()
main.f+0x16 /Users/rsc/x.go:5
	main.f()
main.main+0x1c /Users/rsc/x.go:9
	main.main()
runtime.mainstart+0xf /Users/rsc/g/go/src/pkg/runtime/amd64/asm.s:77
	runtime.mainstart()
runtime.goexit /Users/rsc/g/go/src/pkg/runtime/proc.c:149
	runtime.goexit()

R=r
CC=golang-dev
https://golang.org/cl/4036042
2011-01-18 14:15:11 -05:00
Russ Cox
acd858eee0 syscall: correct WSTOPPED on OS X
Have to set #defines correctly to get correct value.
Otherwise get a mask for use in implementing WIFSTOPPED(status).

Changed WSTOPPED definition in os because on
OS X WSTOPPED and WUNTRACED have different values
even though they seem to mean the same thing.

Fixes #1374.

R=r, r2
CC=golang-dev
https://golang.org/cl/4063042
2011-01-18 14:02:41 -05:00
Jos Visser
25f762c75b expvar: add Float
R=r, rsc, dsymonds
CC=golang-dev
https://golang.org/cl/4044041
2011-01-18 11:24:43 -05:00
Ian Lance Taylor
2862d003cb syscall: Correct length of GNU/Linux abstract Unix domain sockaddr.
R=rsc, iant2
CC=golang-dev
https://golang.org/cl/3974044
2011-01-18 08:10:22 -08:00
Rob Pike
7b4495c041 bytes.Buffer: fix typo in comment (doubled 'to')
R=ken2
CC=golang-dev
https://golang.org/cl/4035041
2011-01-14 23:00:02 -08:00
Russ Cox
141a4a1759 runtime: fix arm reflect.call boundary case
The fault was lucky: when it wasn't faulting it was silently
copying a word from some other block and later putting
that same word back.  If some other goroutine had changed
that word of memory in the interim, too bad.

The ARM code was inconsistent about whether the
"argument frame" included the saved LR.  Including it made
some things more regular but mostly just caused confusion
in the places where the regularity broke.  Now the rule
reflects reality: argp is always a pointer to arguments,
never a saved link register.

Renamed struct fields to make meaning clearer.

Running ARM in QEMU, package time's gotest:
  * before: 27/58 failed
  * after: 0/50

R=r, r2
CC=golang-dev
https://golang.org/cl/3993041
2011-01-14 14:05:20 -05:00
Ian Lance Taylor
b97005c1d3 runtime/cgo: Don't define crosscall2 in dummy _cgo_main.c.
In this specific package crosscall2 is already defined in a .S
file anyhow.  This avoids a warning about mismatched
alignment.

R=rsc
CC=golang-dev
https://golang.org/cl/4000043
2011-01-14 10:51:47 -08:00
Ian Lance Taylor
18941a75b7 syscall: Correct length of SockaddrUnix.
R=rsc
CC=golang-dev
https://golang.org/cl/4025041
2011-01-14 10:50:51 -08:00
Robert Griesemer
157cd6ef3a gofmt, go/printer: do not insert extra linebreaks where they may break the code
Introduced a printer mode (pmode) type and corresponding
pmode values which permit easy toggling of the current
printer mode for fine-tuning of layout.

Use the printer mode to disable potential introduction of
line breaks before a closing '}' in composite literals.

Added extra test case. Applied gofmt to src and misc.

Fixes #1365.

R=r2
CC=golang-dev
https://golang.org/cl/4008041
2011-01-14 09:42:37 -08:00
Robert Griesemer
4ed7c59a50 fix build (this time for real): adjust typechecker test, ogle
R=r, r2
CC=golang-dev
https://golang.org/cl/4006041
2011-01-13 17:41:45 -08:00
Robert Griesemer
8b41055656 fix build (submitted a modified parser.go file by mistake)
R=r
CC=golang-dev
https://golang.org/cl/4005041
2011-01-13 17:26:38 -08:00
Robert Griesemer
bff2c207e4 go/scanner: Make Init take a *token.File instead of a *token.FileSet.
Until now, each scan of a file added a new file to the file set.
With this change, a file can be re-scanned using the same *token.File
w/o changing the file set. Eventually this will enable the re-use of
cached source code in godoc (for the fulltext index). At the moment,
source files are read over and over again from disk.

This is the first step in that direction.

R=r, rsc, r2
CC=golang-dev
https://golang.org/cl/4001041
2011-01-13 17:20:26 -08:00
Rob Pike
b814cca3c3 cmath test: fix format (%g does not print booleans)
R=ken
CC=golang-dev
https://golang.org/cl/4003041
2011-01-13 16:30:56 -08:00
Brad Fitzpatrick
b448263f79 http: fix scheme-relative URL parsing; add ParseRequestURL
Also adds some tests for Issue 900 which was the reason
the current URL parsing is broken.  (the previous fix
was wrong)

R=rsc, adg, dangabrad, bradfitzwork
CC=golang-dev
https://golang.org/cl/3910042
2011-01-14 09:10:02 +11:00
Russ Cox
cdb0bbf4d5 http: handle HEAD requests correctly
R=r, r2
CC=golang-dev
https://golang.org/cl/3939042
2011-01-13 14:34:31 -05:00
Rob Pike
51b8d23e3b rpc: export names in debug service so it works with template changes
R=dsymonds
CC=golang-dev
https://golang.org/cl/3760049
2011-01-12 15:23:21 -08:00
Rob Pike
699864b696 encoding/line: fix error call (missing argument)
R=agl1, rsc
CC=golang-dev
https://golang.org/cl/3861044
2011-01-12 00:25:29 -08:00
Rob Pike
29cbad6c72 template: give "unexported" error when accessing an unexported field.
R=adg, rsc
CC=golang-dev
https://golang.org/cl/3903043
2011-01-12 00:25:17 -08:00
Eric Eisner
e3c9565b43 suffixarray: faster creation algorithm
This implements the algorithm qsufsort using the sort package
as a sorting primitive. Its worst-case performance is O(N*log(N)), and it
uses only an additional slice of N ints of memory during creation.

Benchmarks (seconds):
           old    new
10k nulls          149    0.044
1M English corpus  32.0   3.6

R=gri, gri1
CC=golang-dev
https://golang.org/cl/3752044
2011-01-11 21:46:50 -08:00
Alex Brainman
3a052b5f54 net: use closesocket api instead of CloseHandle on Windows
thanks to piotrnar for the original CL.
Fixes #1371.

R=rsc
CC=golang-dev
https://golang.org/cl/3834042
2011-01-12 15:55:17 +11:00
Rob Pike
a80cdcbe0a gob: make (en|dec)code(Ui|I)nt methods rather than functions.
No functional (ha!) change.

R=rsc
CC=golang-dev
https://golang.org/cl/3959041
2011-01-11 17:56:45 -08:00
Adam Langley
5aeacadc5a crypto/openpgp: add error and armor
error is needed by all the OpenPGP packages as they return a shared
family of error types.

armor implements OpenPGP armoring. It's very like PEM except:
  a) it includes a CRC24 checksum
  b) PEM values are small (a few KB) and so encoding/pem assumes that
     they fit in memory. Armored data can be very large and so this
     package presents a streaming interface.

R=r, nsz, rsc
CC=golang-dev
https://golang.org/cl/3786043
2011-01-11 20:54:30 -05:00
Berengar Lehr
1aec7c7f34 crypto: add twofish package
The code was (as annotated in the source code) adopted from Tom's
LibCrypt (public domain code, [1]). It was neither optimised for speed
nor were any security features added.

[1] http://libtom.org/?page=features&newsitems=5&whatfile=crypt

R=rsc, berengarlehr, albert.strasheim, agl1
CC=golang-dev, schulze
https://golang.org/cl/2687042
2011-01-11 20:51:35 -05:00
Andrew Gerrand
09d4bcf0f7 json: do not Marshal unexported struct fields
R=r, cw, niemeyer, rsc
CC=golang-dev
https://golang.org/cl/3952041
2011-01-12 11:59:33 +11:00
Alex Brainman
a41d85498e runtime: revert 6974:1f3c3696babb
I missed that environment is used during runtime setup,
well before go init() functions run. Implemented os-dependent
runtime.goenvs functions to allow for different unix, plan9 and
windows versions of environment discovery.

R=rsc, paulzhol
CC=golang-dev
https://golang.org/cl/3787046
2011-01-12 11:48:15 +11:00
Andrew Gerrand
217693e93c os: add Sync to *File, wraps syscall.Fsync
R=rsc, brainman, r, r2
CC=golang-dev
https://golang.org/cl/3887042
2011-01-12 11:08:39 +11:00
Rob Pike
02e88019f2 template: allow accesses only to exported fields and methods
R=rsc, gri
CC=golang-dev
https://golang.org/cl/3890042
2011-01-11 15:47:45 -08:00
Russ Cox
cc928b7b6e http: fix text displayed in Redirect
In the case where r.Method == "POST", was
calling Printf with an argument but "" format string,
causing a spurious %!EXTRA(...) message.

Also escape string properly in HTML generation.

R=r
CC=golang-dev
https://golang.org/cl/3923043
2011-01-11 17:15:28 -05:00
Rob Pike
3036604b4c gob: do not encode or decode unexported fields
Such fields are simply ignored.

R=rsc, r2
CC=golang-dev
https://golang.org/cl/3889043
2011-01-11 13:44:00 -08:00
Rob Pike
feb8d0b2ba netchan: make fields public for pending gob change
R=rsc
CC=golang-dev
https://golang.org/cl/3882042
2011-01-11 13:43:43 -08:00
Anthony Martin
fee3aca2e0 syscall: fix mksysnum_linux.sh
A few system call numbers on x86 Linux are
defined in terms of a previous definition,

e.g.,
	#define __NR_timer_create	259
	#define __NR_timer_settime	(__NR_timer_create+1)
	...
	#define __NR_mq_open		277
	#define __NR_mq_unlink		(__NR_mq_open+1)

This change assumes the numbers are sorted
sequentially in the input file.

R=rsc, bradfitzwork
CC=golang-dev
https://golang.org/cl/3946041
2011-01-11 14:38:14 -05:00
Rob Pike
f9f196c2a0 log: add methods for exit and panic
There were already functions for the standard logger;
this just completes the set.

R=rsc, adg
CC=golang-dev
https://golang.org/cl/3901043
2011-01-11 09:57:47 -08:00
Ian Lance Taylor
17d50d8664 runtime/cgo: Add callbacks to support SWIG.
R=rsc, iant2, r
CC=golang-dev
https://golang.org/cl/3886041
2011-01-11 09:36:44 -08:00
Roger Peppe
212e074be2 time: add AfterFunc to call a function after a given duration.
The After code is trivially generalisable to provide support
for this, and it is possible to use AfterFunc to do
things that After cannot, such as waiting
for many events at varied times without an overhead
of one goroutine per event.

R=rsc, r
CC=golang-dev
https://golang.org/cl/3905041
2011-01-10 11:51:38 -08:00
Robert Griesemer
23410ced69 go/ast: correct end position for Index and TypeAssert expressions
- added position information for [ and ] brackets of Index and Slice expression nodes
- removed a TODO in go/printer

R=r, rsc
CC=golang-dev
https://golang.org/cl/3867045
2011-01-10 11:26:04 -08:00
Peter Mundy
2b0a276129 bytes: fix TrimSpace typo
Fixes #1401.

R=golang-dev, agl1
CC=golang-dev
https://golang.org/cl/3937041
2011-01-09 12:11:16 -05:00
Eoghan Sherry
0c02bd1801 time: fix tick accuracy when using multiple Tickers
* correctly ignore obsolete ticks
* fix update of next alarm time
* tighten alarm channel buffers
Fixes #1379.

R=r, adg, r2
CC=golang-dev, soul9
https://golang.org/cl/3789045
2011-01-08 21:24:44 -08:00
Ian Lance Taylor
2d39303429 runtime: Restore scheduler stack position if cgo callback panics.
If we don't do this, then when C code calls back to Go code
which panics, we lose space on the scheduler stack.  If that
happens a lot, eventually there is no space left on the
scheduler stack.

R=rsc
CC=golang-dev
https://golang.org/cl/3898042
2011-01-08 10:22:37 -08:00
Adam Langley
66a45b486b encoding/line: add
I needed a way to read lines without worrying about \n and \r\n.

R=r, rsc
CC=golang-dev
https://golang.org/cl/2859041
2011-01-08 10:29:37 -05:00
Rob Pike
80055c658b arm: fix build
previous version was built with -l32; should be -b32

R=ken
CC=golang-dev
https://golang.org/cl/3867044
2011-01-07 17:17:42 -08:00
Rob Pike
f383062e01 time.NewTicker: panic for intervals <= 0.
Not absolutely certain it's right to do this, but since there's
no error value coming back, it seems reasonable.

Fixes #1392.

R=rsc, adg
CC=golang-dev
https://golang.org/cl/3896042
2011-01-07 14:41:46 -08:00
Rob Pike
353fd1014c bytes.Buffer: Fix bug in UnreadByte.
Error check was inverted.

Fixes #1396.

R=rsc, adg
CC=golang-dev
https://golang.org/cl/3851042
2011-01-07 14:41:33 -08:00
Adam Langley
ee58cc799e crypto/block: mark as deprecated.
R=rsc
CC=golang-dev
https://golang.org/cl/3909041
2011-01-07 16:17:47 -05:00
Anthony Martin
db89e19d26 runtime/cgo: fix stackguard on FreeBSD/amd64
A cursory reading of the cgo code suggests this
should be necessary, though I don't have access
to a FreeBSD machine for testing.

R=rsc, adg
CC=golang-dev
https://golang.org/cl/3746047
2011-01-06 11:36:47 -05:00
Russ Cox
a46102d209 crypto/cipher: make NewCBCEncrypter return BlockMode
Fixes #1389.

R=agl1
CC=golang-dev
https://golang.org/cl/3827043
2011-01-06 11:21:04 -05:00
Kyle Consalus
754f0402c3 Made format string handling more efficient.
R=rsc, r, r2
CC=golang-dev
https://golang.org/cl/3421042
2011-01-05 11:42:35 -08:00
Russ Cox
0f26608ebc io: fix Copyn EOF handling
Fixes #1383.

R=r
CC=golang-dev
https://golang.org/cl/3821044
2011-01-05 14:35:13 -05:00
Russ Cox
189d4ff776 syscall: correct Linux Splice definition
Fixes #1376.

R=r
CC=golang-dev
https://golang.org/cl/3869042
2011-01-05 14:35:07 -05:00
Rob Pike
c0332fc93f fmt: normalize processing of format string
The old loop was a bit odd; change it to be more regular.
This also enables a diagnostic for Printf("%", 3): %!(NOVERB)

R=rsc, Kyle C
CC=golang-dev
https://golang.org/cl/3749044
2011-01-05 10:11:34 -08:00
Brad Fitzpatrick
d71d08af5a http: permit empty Reason-Phrase in response Status-Line
Fixes #1388.

R=rsc
CC=golang-dev
https://golang.org/cl/3749043
2011-01-05 13:09:38 -05:00
Robert Griesemer
4a7d1f2061 go/ast: correct Pos/End ranges for field lists
R=rsc
CC=golang-dev
https://golang.org/cl/3797045
2011-01-05 10:08:39 -08:00
Rob Pike
d84317ba58 gob: generate a better error message in one confusing place
(with maybe more to come) by printing a human-readable
representation of a remote type.

R=rsc
CC=golang-dev
https://golang.org/cl/3802045
2011-01-05 09:28:47 -08:00
Ian Lance Taylor
e9c4f09985 syscall: Make Access second argument consistently uint32.
Fixes #1377.

R=rsc, adg, r
CC=golang-dev
https://golang.org/cl/3868041
2011-01-04 22:28:31 -08:00
Roger Peppe
2f5a5be237 strings: fix description of FieldsFunc
R=r
CC=golang-dev
https://golang.org/cl/3814041
2011-01-04 16:23:29 -08:00
Robert Griesemer
8184778abf fix occurrences of occur[^sr .,?!;\n]
R=r, r2
CC=golang-dev
https://golang.org/cl/3794043
2011-01-04 13:16:50 -08:00
Rob Pike
6a5a527173 regexp: implement early out for failed anchored search.
R=rsc
CC=golang-dev
https://golang.org/cl/3813045
2011-01-04 12:43:52 -08:00
Patrick Gavlin
236f9638b4 encoding/binary: reject types with implementation-dependent sizes
Fixes #1201.

R=rsc
CC=golang-dev
https://golang.org/cl/3787044
2011-01-04 13:42:50 -05:00
Robert Griesemer
9214016b3d go/ast: provide complete node text range info
- add End() method to all nodes; the text range of a node n is [n.Pos(), n.End())
- various small bug fixes in the process
- fixed several comments

R=r, rsc
CC=golang-dev
https://golang.org/cl/3769042
2011-01-04 10:14:16 -08:00
Russ Cox
71793d4b42 strconv: update ftoa comment for 'E' and 'G'
Inspired by 3827042.

R=gri, peterGo
CC=golang-dev
https://golang.org/cl/3858042
2011-01-04 13:13:12 -05:00
Michael Hoisie
ed1cbca81f net: fix close of Listener
Fixes #1375.

R=rsc, r
CC=golang-dev
https://golang.org/cl/3731048
2011-01-04 11:55:13 -05:00
Rob Pike
15cb7ed34f regexp: fix prefix bug.
After a prefix match, the old code advanced the length of the
prefix.  This is incorrect since the full match might begin
in the middle of the prefix. (Consider "aaaab+" matching
"aaaaaab").

Fixes #1373

R=rsc
CC=golang-dev
https://golang.org/cl/3795044
2011-01-03 11:35:34 -08:00
Rob Pike
c0d0d4ef05 regexp: fix performance bug, make anchored searches fail fast.
The bug was that for an anchored pattern such as ^x, the prefix
scan ignored the anchor, and could scan the whole file if there was
no x present.  The fix is to do prefix matching after the anchor;
the cost miniscule; the speedups huge.

R=rsc, gri
CC=golang-dev
https://golang.org/cl/3837042
2011-01-03 11:31:51 -08:00
Anschel Schaffer-Cohen
84fc1e20f1 Fix documentation typo.
This is really insignificant, but it might as well be fixed.

R=golang-dev, brainman
CC=golang-dev
https://golang.org/cl/3832045
2010-12-31 10:37:55 +11:00
Stefan Nilsson
834fda37c5 atof: added 'E' as valid token for exponent
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/3827042
2010-12-27 10:12:10 -08:00
Sebastien Binet
33145c4868 simple fix to not have 'exp/eval' panic in presence of slices like s[:2]
R=golang-dev, gri
CC=binet, golang-dev
https://golang.org/cl/3782044
2010-12-27 10:05:32 -08:00
Adam Langley
03e259664f crypto/cipher: fix OCFB
I messed up when reading the OCFB spec.

TBR=rsc

R=rsc
CC=golang-dev
https://golang.org/cl/3739042
2010-12-27 12:55:49 -05:00
Eoghan Sherry
04a231d406 testing: fix error message on invalid regexp
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/3831041
2010-12-23 11:40:10 +11:00
Nigel Tao
ea70b0d51d hash/crc64: fix typo in Sum.
R=agl1
CC=golang-dev
https://golang.org/cl/3772043
2010-12-22 10:28:22 +11:00
Stefan Nilsson
8cfd9e0676 bufio: removed dead code
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/3779043
2010-12-22 08:43:35 +11:00
Rob Pike
d3866ddc65 template: fix trivial bug: integers are not "empty"
Fixes #1357.

R=adg, gri
CC=golang-dev
https://golang.org/cl/3809041
2010-12-20 13:36:47 -08:00
David Symonds
8bfa9175a3 expvar: quote StringFunc output, same as String output.
R=adg
CC=golang-dev
https://golang.org/cl/3797041
2010-12-20 17:35:21 +11:00
Robert Griesemer
2662b99f39 suffixarray: implememted FindAllIndex regexp search
Implementation uses fast suffixarray lookup to find
initial matches if the regular expression starts with
a suitable prefix without meta characters.

R=r, rsc
CC=golang-dev
https://golang.org/cl/3720042
2010-12-17 14:00:46 -08:00
Robert Griesemer
8f68b23b8d go/scanner: interpret filenames in //line filename:line comments
relative to the source file directory

R=r, rsc
CC=golang-dev
https://golang.org/cl/3752041
2010-12-17 13:54:37 -08:00
Rob Pike
ae6bfe3687 tls: fix argument mistake in Error call.
R=agl, agl1, rsc
CC=golang-dev
https://golang.org/cl/3753041
2010-12-17 13:47:52 -08:00
Rob Pike
18b39f20ef json: fix Fatal call in test
R=rsc
CC=golang-dev
https://golang.org/cl/3751041
2010-12-17 13:43:59 -08:00
Russ Cox
3832389036 fix cgo build
R=r
CC=golang-dev
https://golang.org/cl/3750041
2010-12-17 13:22:20 -08:00
Rob Pike
a9e7c9381e regexp: change Expr() to String(); add HasOperator method to Regexp.
It reports whether a regular expression has operators
as opposed to matching literal text.

R=rsc, gri
CC=golang-dev
https://golang.org/cl/3731041
2010-12-17 10:23:46 -08:00
Russ Cox
0cd3475386 misc/cgo/life: fix, add to build
#pragma dynexport is no longer needed for
this use of cgo, since the gcc and gc code are
now linked together into the same binary.
It may still be necessary later.

On the Mac, you cannot use the GOT to resolve
symbols that exist in the current binary, so 6l and 8l
translate the GOT-loading mov instructions into lea
instructions.

On ELF systems, we could use the GOT for those
symbols, but for consistency 6l and 8l apply the
same translation.

The translation is sketchy in the extreme
(depending on the relocation being in a mov
instruction) but it verifies that the instruction
is a mov before rewriting it to lea.

Also makes typedefs global across files.

Fixes #1335.
Fixes #1345.

R=iant, r
CC=golang-dev
https://golang.org/cl/3650042
2010-12-17 09:51:55 -08:00
Anthony Martin
a890d70cc1 crypto/hmac: add HMAC-SHA256
R=agl1, rsc
CC=golang-dev
https://golang.org/cl/3730041
2010-12-17 12:19:37 -05:00
Rob Pike
5bd4094d2e regexp: add HasMeta and regexp.Expr().
The former is a boolean function to test whether a string
contains a regular expression metacharacter; the second
returns the string used to compile the regexp.

R=gri, rsc
CC=golang-dev
https://golang.org/cl/3728041
2010-12-16 16:55:26 -08:00
Adam Langley
be45ba712b crypto/tls: missed a file
R=rsc
CC=golang-dev
https://golang.org/cl/3674043
2010-12-16 17:14:02 -05:00
Adam Langley
4883b73982 crypto/tls: add ECDHE support
(ECDHE is "Elliptic Curve Diffie Hellman Ephemeral")

R=rsc
CC=golang-dev
https://golang.org/cl/3668042
2010-12-16 17:10:50 -05:00
Rob Pike
2e8be52ff7 time: explain the formats a little better.
R=gri, rsc
CC=golang-dev
https://golang.org/cl/3719042
2010-12-16 13:25:41 -08:00
Adam Langley
1e3b9524d2 crypto/elliptic: add serialisation and key pair generation.
This is a prerequisite to ECDHE support in crypto/tls.

R=r, rsc
CC=golang-dev
https://golang.org/cl/3685043
2010-12-16 16:04:01 -05:00
Russ Cox
b3e8fdce8d darwin, freebsd: ignore write failure (during print, panic)
The other operating systems already ignore write failures.

Fixes #1279.

R=r, r2
CC=golang-dev
https://golang.org/cl/3723041
2010-12-16 12:46:56 -08:00
Adam Langley
fd021cbe8f crypto/tls: check in support code.
This support code helps in generating the handshake scripts
which are used for testing.

R=rsc, ality
CC=golang-dev
https://golang.org/cl/3680041
2010-12-16 10:39:53 -05:00
Nigel Tao
0bf2aa1aa7 exp/draw: remove Border function.
It was only used by exp/4s, and even if it is general purpose, I think
it belongs in a graphics library atop exp/draw, not in exp/draw itself.

R=rsc
CC=golang-dev
https://golang.org/cl/3705041
2010-12-16 15:11:10 +11:00
Alex Brainman
c83451971e runtime: move windows goargs implementation from runtime and into os package
R=rsc
CC=golang-dev
https://golang.org/cl/3702041
2010-12-16 12:18:18 +11:00
Alex Brainman
bb53b1c250 build: add another --no-print-directory
Fixes #1344.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/3584042
2010-12-16 10:46:25 +11:00
Russ Cox
33405ecc86 fix freebsd build
R=iant, r
CC=dho, golang-dev
https://golang.org/cl/3687041
2010-12-15 17:20:26 -05:00
Adam Langley
1a072f4b37 crypto/tls: commit fixes which I hadn't saved.
R=rsc
CC=golang-dev
https://golang.org/cl/3685041
2010-12-15 13:58:57 -05:00
Eoghan Sherry
976e45726c math: change float64 bias constant from 1022 to 1023
This makes some subtle code easier to understand.

R=rsc
CC=golang-dev
https://golang.org/cl/3444043
2010-12-15 13:20:52 -05:00
Adam Langley
eedf5c4529 crypto/tls: support CBC ciphers
This is largely based on ality's CL 2747042.

crypto/rc4: API break in order to conform to crypto/cipher's
Stream interface

cipher/cipher: promote to the default build

Since CBC differs between TLS 1.0 and 1.1, we downgrade and
support only 1.0 at the current time. 1.0 is what most of the
world uses.

Given this CL, it would be trival to add support for AES 256,
SHA 256 etc, but I haven't in order to keep the change smaller.

R=rsc
CC=ality, golang-dev
https://golang.org/cl/3659041
2010-12-15 11:49:55 -05:00
Russ Cox
0c54225b51 remove nacl
The recent linker changes broke NaCl support
a month ago, and there are no known users of it.

The NaCl code can always be recovered from the
repository history.

R=adg, r
CC=golang-dev
https://golang.org/cl/3671042
2010-12-15 11:49:23 -05:00
Luuk van Dijk
7a4ce23d65 [68]l and runtime: GDB support for interfaces and goroutines.
R=rsc
CC=golang-dev
https://golang.org/cl/3477041
2010-12-15 12:00:43 +01:00
Nigel Tao
d96685ed6a reflect: remove unnecessary indirection in TestCopy.
R=r
CC=golang-dev
https://golang.org/cl/3642041
2010-12-15 20:54:11 +11:00
Nigel Tao
fec6ab9726 html: parse "<h1>foo<h2>bar".
R=gri
CC=golang-dev
https://golang.org/cl/3571043
2010-12-15 11:39:56 +11:00
Rob Pike
8132bb1c74 gob: Register should use the original type, not the indirected one.
Fixes a bug reported on golang-nuts.

R=rsc, adg
CC=golang-dev
https://golang.org/cl/3641042
2010-12-14 15:04:52 -08:00
Rob Pike
9f6de01d8d gob: document the byte count used in the encoding of values.
R=rsc
CC=golang-dev
https://golang.org/cl/3641041
2010-12-14 14:04:52 -08:00
Nigel Tao
8b64cd9c5e reflect: add Append and AppendSlice functions.
R=r, nigeltao_gnome, rog, niemeyer
CC=golang-dev
https://golang.org/cl/3529042
2010-12-15 08:50:08 +11:00
Rob Pike
da1cbe5d11 regexp: simplify code for brackets, per rsc suggestion
R=rsc
CC=golang-dev
https://golang.org/cl/3545044
2010-12-14 12:01:35 -08:00
Russ Cox
f620a430f2 compress/flate: implement Flush
This Flush is equivalent to zlib's Z_SYNC_FLUSH.
The addition of the explicit Writer type opens the
door to adding a PartialFlush if needed for SSH
and maybe even FullFlush.  It also opens the door
for a SetDictionary method to be added.

http://www.bolet.org/~pornin/deflate-flush.html
documents the various intricacies of flushing a
DEFLATE stream.

R=agl1, r
CC=golang-dev
https://golang.org/cl/3637041
2010-12-14 14:57:12 -05:00
Rob Pike
8bb9e616ed regexp: speed up by about 30%.
The code used interfaces in a pretty, pedagogical way but not efficiently.
Remove unnecessary interface code for significant speedups.
Before:

	regexp.BenchmarkLiteral	 1000000	      2629 ns/op
	regexp.BenchmarkNotLiteral	  100000	     18131 ns/op
	regexp.BenchmarkMatchClass	  100000	     26647 ns/op
	regexp.BenchmarkMatchClass_InRange	  100000	     27092 ns/op
	regexp.BenchmarkReplaceAll	  100000	     27014 ns/op

After:

	regexp.BenchmarkLiteral	 1000000	      2077 ns/op
	regexp.BenchmarkNotLiteral	  100000	     13738 ns/op
	regexp.BenchmarkMatchClass	  100000	     20418 ns/op
	regexp.BenchmarkMatchClass_InRange	  100000	     20999 ns/op
	regexp.BenchmarkReplaceAll	  100000	     21825 ns/op

There's likely more to do without major surgery, but this is a simple, significant step.

R=rsc
CC=golang-dev
https://golang.org/cl/3572042
2010-12-14 11:15:32 -08:00
Robert Griesemer
3fb6d62e3a suffixarray: rename Data() -> Bytes()
R=rsc
CC=golang-dev
https://golang.org/cl/3540042
2010-12-14 10:22:00 -08:00
Anthony Martin
d7340d9c20 http: include DEL in the test for unprintable chars
R=adg, rsc
CC=golang-dev
https://golang.org/cl/3631041
2010-12-14 12:26:30 -05:00
Anthony Martin
6a4b0191c0 crypto/tls: use rand.Reader in cert generation example
R=rsc, agl1
CC=golang-dev
https://golang.org/cl/3536043
2010-12-14 12:22:28 -05:00
Anthony Martin
11b49ff124 smtp: add *tls.Config argument to StartTLS
R=rsc, agl1
CC=golang-dev
https://golang.org/cl/3573044
2010-12-14 12:22:08 -05:00
Russ Cox
d110ae8dd0 runtime: write only to standard error
Will mail a warning to golang-nuts once this is submitted.

R=r, niemeyer
CC=golang-dev
https://golang.org/cl/3573043
2010-12-14 11:52:42 -05:00
Robert Griesemer
6fcae0f044 token/position: provide files iterator
R=golang-dev, r2
CC=golang-dev
https://golang.org/cl/3541044
2010-12-13 17:08:40 -08:00
Robert Griesemer
52c9fb6f3d suffixarray: provide accessor to data
R=r
CC=golang-dev
https://golang.org/cl/3574044
2010-12-13 17:08:01 -08:00
Russ Cox
951318c0df runtime: remove paranoid mapping at 0
Too many programs complain that we even try.
This was a bit of security paranoia and not worth
the bother.

Fixes #1340.

R=r, r2
CC=golang-dev
https://golang.org/cl/3579042
2010-12-13 16:57:35 -05:00
Rob Pike
2ef09148a0 time: fix bug in Ticker: shutdown using channel rather than memory
R=rsc
CC=golang-dev
https://golang.org/cl/3609042
2010-12-13 13:52:19 -08:00
Russ Cox
dc9a3b2791 gc: align structs according to max alignment of fields
cc: same
runtime: test cc alignment (required moving #define of offsetof to runtime.h)
fix bug260

Fixes #482.
Fixes #609.

R=ken2, r
CC=golang-dev
https://golang.org/cl/3563042
2010-12-13 16:22:19 -05:00
Russ Cox
287e45e241 json: check for invalid UTF-8
Fixes #1250.

R=r
CC=golang-dev
https://golang.org/cl/3562042
2010-12-13 15:51:11 -05:00
Russ Cox
cc1556d9a2 runtime/linux/386: set FPU to 64-bit precision
Fixes #550.

R=r
CC=golang-dev
https://golang.org/cl/3469044
2010-12-13 10:04:53 -05:00
Alex Brainman
84713d46f6 syscall: remove terminating \r and \n from windows error messages
R=rsc, peterGo
CC=golang-dev
https://golang.org/cl/3095042
2010-12-13 17:02:01 +11:00
Wei Guangjing
e04ef7769e Fix windows build.
R=brainman, rsc
CC=golang-dev
https://golang.org/cl/3533041
2010-12-13 16:41:02 +11:00
Gustavo Niemeyer
1f6b6ca9ba A selection of trivials.
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/3606043
2010-12-12 14:16:37 -08:00
Nigel Tao
73fd298901 reflect: rename reflect.ArrayCopy to be reflect.Copy.
R=r
CC=golang-dev
https://golang.org/cl/3601041
2010-12-12 20:27:29 +11:00
Mikio Hara
7ec69c179d gofmt -s -w src
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/3592041
2010-12-11 13:49:45 -08:00
Russ Cox
9282a768cf math: s/MinFloat/SmallestNonzeroFloat/
R=r, gri
CC=golang-dev
https://golang.org/cl/3547042
2010-12-10 11:39:09 -08:00
Nigel Tao
71bd053ada html: parse <table><tr><td> tags.
Also, shorten fooInsertionMode to fooIM.

R=gri
CC=golang-dev
https://golang.org/cl/3504042
2010-12-10 12:20:14 +11:00
Ryan Hitchman
8959851a96 os: make MkdirAll work with symlinks
Fixes #1149.

R=adg
CC=golang-dev
https://golang.org/cl/3564041
2010-12-10 10:43:45 +11:00
Ken Thompson
ae60526848 arm floating point simulation
R=rsc
CC=golang-dev
https://golang.org/cl/3565041
2010-12-09 14:45:27 -08:00
Andrew Gerrand
aa9c213e56 http: ServeFile to handle Range header for partial requests
and send Content-Length.

Also includes some testing of the server code.

R=rsc
CC=golang-dev
https://golang.org/cl/2831041
2010-12-10 08:51:13 +11:00
Nigel Kerr
27f2d5ce8c xml: disallow invalid Unicode code points
Fixes #1259.

R=rsc
CC=golang-dev
https://golang.org/cl/2967041
2010-12-09 14:51:01 -05:00
Russ Cox
92b4506f73 os: fix test of RemoveAll
Fixes #22. (again)

R=r
CC=golang-dev
https://golang.org/cl/3547041
2010-12-09 14:49:13 -05:00
Mikio Hara
6555cfc6c6 syscall: add network interface constants for linux/386, linux/amd64
R=rsc
CC=golang-dev
https://golang.org/cl/3266042
2010-12-09 13:55:59 -05:00
Robert Griesemer
e1d6b3c98d go/ast: fix ast.Walk
- change Walk signature to use an ast.Node instead of interface{}
- add Pos functions to a couple of ast types to make them proper nodes
- explicit nil checks where a node can be nil; incorrect ASTs cause Walk to crash

For now ast.Walk is exercised extensively as part of godoc's indexer;
so we have some confidence in its correctness. But this needs a test,
eventually.

Fixes #1326.

R=rsc, r
CC=golang-dev
https://golang.org/cl/3481043
2010-12-09 10:22:01 -08:00
Balazs Lecz
2bdb2e78fe os/inotify: new package
This patch adds a new package: os/inotify, which
provides a Go wrapper to the Linux inotify system.

R=rsc, albert.strasheim, rog, jacek.masiulaniec
CC=golang-dev
https://golang.org/cl/2049043
2010-12-09 13:11:39 -05:00
Robert Griesemer
b98fffe39e go/token,scanner: fix comments so godoc aligns properly
R=iant, r2
CC=golang-dev
https://golang.org/cl/3532042
2010-12-09 10:11:00 -08:00
Rob Pike
8e609cddef govet: a new static checker for Go programs.
At the moment, and for the forseeable future, it only checks arguments to print calls.

R=rsc, gri, niemeyer, iant2, rog, lstoakes, jacek.masiulaniec, cw
CC=golang-dev
https://golang.org/cl/3522041
2010-12-09 12:37:18 -05:00
Rob Pike
b7c73110b1 gob: fix bug sending zero-length top-level slices and maps
Fixes #1278.

R=rsc
CC=golang-dev
https://golang.org/cl/3434046
2010-12-09 11:01:32 -05:00
Ryan Hitchman
062406bc64 throughout: simplify two-variable ranges with unused second variable
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/3529041
2010-12-08 21:36:56 -08:00
Rob Pike
14804a412b event.go: another print glitch from gocheck.
R=rsc
CC=golang-dev
https://golang.org/cl/3524041
2010-12-08 17:12:25 -05:00
Russ Cox
85d9ab61d2 arm: more fixes
R=ken2
CC=golang-dev
https://golang.org/cl/3523041
2010-12-08 16:49:49 -05:00
Russ Cox
7eeebf49be runtime/cgo: adapt files copied from libcgo
Necessary but not sufficient step toward
making those builds work.

R=r
CC=golang-dev
https://golang.org/cl/3411043
2010-12-08 16:35:05 -05:00
Rob Pike
70113b436e a few more errors caught by the print checker
R=rsc
CC=golang-dev
https://golang.org/cl/3431046
2010-12-08 16:25:14 -05:00
Adam Langley
3a5efdf230 crypto/elliptic: remove mistakenly commited code
One of my own experiments ended up getting mistakenly commited when
        switching to Jacobian transformations.

R=rsc
CC=golang-dev
https://golang.org/cl/3473044
2010-12-08 15:01:53 -05:00
Russ Cox
98b2d7062e libcgo: delete (replaced by runtime/cgo)
Move unported files (freebsd*, windows*, nacl*) to runtime/cgo.

Step toward fixing FreeBSD build.

R=r
TBR=r
CC=golang-dev
https://golang.org/cl/3497042
2010-12-08 14:33:17 -05:00
Russ Cox
66f7463e80 syscall: fix linux/arm build
bug introduced at
https://golang.org/cl/2331044

R=ken2
CC=golang-dev
https://golang.org/cl/3440046
2010-12-08 14:31:46 -05:00
Russ Cox
b07b04d35f runtime/cgo: take 2
This is a second attempt at submitting
https://golang.org/cl/3420043

A Mercurial problem lost the new files
in that submit.

TBR=r
CC=golang-dev
https://golang.org/cl/3511043
2010-12-08 14:10:00 -05:00
Russ Cox
9042c2ce68 runtime/cgo: runtime changes for new cgo
Formerly known as libcgo.
Almost no code here is changing; the diffs
are shown relative to the originals in libcgo.

R=r
CC=golang-dev
https://golang.org/cl/3420043
2010-12-08 13:53:30 -05:00
Russ Cox
37499ebcfd debug/elf, debug/macho: add ImportedLibraries, ImportedSymbols
R=r, iant
CC=golang-dev
https://golang.org/cl/3470044
2010-12-08 13:53:19 -05:00
Rob Pike
0313ea80ab path: fix printf glitch in test
R=rh, gri
CC=golang-dev
https://golang.org/cl/3514041
2010-12-08 09:58:46 -05:00
Robert Griesemer
1612b8734a token/position.go: provide FileSet.File(), minor optimizations
R=rsc
CC=golang-dev
https://golang.org/cl/3399042
2010-12-07 21:50:08 -08:00
Alex Brainman
1e2876469b syscall: restrict access rights param of OpenProcess() to the minimum needed
Fixes #1270.

R=vcc, rsc
CC=golang-dev
https://golang.org/cl/3299041
2010-12-08 16:20:30 +11:00
Alex Brainman
60c91bbf4c runtime: fix windows build
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/3419043
2010-12-08 12:52:36 +11:00
Keith Rarick
51a2183851 runtime: add Goroutines
R=rsc
CC=golang-dev
https://golang.org/cl/3508041
2010-12-07 18:06:31 -05:00
Russ Cox
7e14bd81f4 runtime: debugging help on 386
R=r
CC=golang-dev
https://golang.org/cl/3502041
2010-12-07 17:19:36 -05:00
Nigel Tao
49014c5b12 html: handle unexpected EOF during parsing.
This lets us parse HTML like "<html>foo".

R=gri
CC=golang-dev
https://golang.org/cl/3460043
2010-12-08 08:59:20 +11:00
Robert Griesemer
ce89f213a8 go/parser: Better comment for ParseFile.
The name ParseFile was kept as it indicates that
this function parses a Go 'SourceFile' per the
Go spec. Similarly, the other functions (ParseExpr,
ParseStmtList, ParseDeclList) parse the corresponding
constructs as defined in the Go spec.

Fixes #1311.

R=r, rsc
CC=golang-dev
https://golang.org/cl/3453042
2010-12-07 13:44:01 -08:00
Rob Pike
1ce6245d6c throughout: fix broken calls to Printf etc.
I have written a tool to verify Printf calls, and although it's not
ready to be reviewed yet it's already uncovered a spate of problems
in the repository.  I'm sending this CL to break the changes into
pieces; as the tool improves it will find more, I'm sure.

R=rsc
CC=golang-dev
https://golang.org/cl/3427043
2010-12-07 16:42:54 -05:00
Russ Cox
8694959b12 http: fix build
R=dsymonds
TBR=dsymonds
CC=golang-dev
https://golang.org/cl/3425044
2010-12-07 16:20:15 -05:00
Russ Cox
b15c4245c5 crypto/tls: add *Config argument to Dial
Document undocumented exported names.
Allow nil Rand, Time, RootCAs in Config.

Fixes #1248.

R=agl1
CC=golang-dev
https://golang.org/cl/3481042
2010-12-07 16:15:15 -05:00
Christian Himpel
2660c2a7be crypto/tls: fix build of certificate generation example
R=agl1, rsc
CC=golang-dev
https://golang.org/cl/3366041
2010-12-07 16:14:55 -05:00
Michael Hoisie
bfac91a6b9 exec.LookPath: return os.PathError instad of os.ENOENT, it's more descriptive.
R=rsc
CC=golang-dev
https://golang.org/cl/3448042
2010-12-07 15:57:00 -05:00
Nigel Tao
688a83128d html: move the sanity checking of the entity map from runtime
(during init) to test-time (via gotest).

R=gri
CC=golang-dev
https://golang.org/cl/3466044
2010-12-08 07:55:03 +11:00
David Symonds
ae2495c5b0 http: Add EncodeQuery, a handy helper function for constructing URL query strings.
R=stephenm, rsc
CC=golang-dev
https://golang.org/cl/2985042
2010-12-07 15:54:04 -05:00
Wei Guangjing
70deac67cf 8l : add dynimport to import table in Windows PE, initial make cgo dll work.
R=rsc, brainman, Joe Poirier, mattn
CC=golang-dev
https://golang.org/cl/2166041
2010-12-07 15:28:33 -05:00
Roger Peppe
24a78a026d bufio: make Reader.Read implement io.Reader semantics
R=rsc
CC=golang-dev
https://golang.org/cl/3395042
2010-12-07 14:54:15 -05:00
Albert Strasheim
cf6c212197 syscall, net: Add Recvmsg and Sendmsg on Linux.
Working on issue 1101.

R=rsc
CC=golang-dev
https://golang.org/cl/2331044
2010-12-07 13:40:14 -05:00
Russ Cox
ed7c3f3127 flag: handle multiple calls to flag.Parse
R=r
CC=golang-dev
https://golang.org/cl/3071041
2010-12-07 13:19:01 -05:00
Robert Griesemer
14eb03f614 go/scanner: remove Tokenize() - was only used in tests
R=r
CC=golang-dev
https://golang.org/cl/3415042
2010-12-07 10:08:00 -08:00
Dean Prichard
cd319092e0 sync: small naming fix for armv5
R=rsc
CC=golang-dev
https://golang.org/cl/3268042
2010-12-07 12:05:00 -05:00
Andrew Gerrand
79dcf180a2 runtime: fix build for nacl
R=lvd
CC=golang-dev
https://golang.org/cl/3391044
2010-12-07 15:24:46 +11:00
Ryan Hitchman
f503e26379 html: unescape numeric entities, and complete the named entities table, including two-character entities.
Fixes #1233.

R=nigeltao
CC=golang-dev
https://golang.org/cl/3445041
2010-12-07 12:13:47 +11:00
Nigel Tao
08a47d6f60 html: first cut at a parser.
R=gri
CC=golang-dev
https://golang.org/cl/3355041
2010-12-07 12:02:36 +11:00
Robert Griesemer
5a9ad8b9e3 go/ast: use token.Pos instead of token.Position; adjust all dependent code
Specifically:

	* lib/godoc:
	- provide file set (FSet) argument to formatters where needed

	* src/cmd:
	- cgo, ebnflint, godoc, gofmt, goinstall: provide file set (fset) where needed
	- godoc: remove local binary search with sort.Search (change by rsc),
	  extract file set for formatters

	* src/pkg:
	- exp/eval: remove embedded token.Position fields from nodes and replace
	  with named token.Pos fields; add corresponding Pos() accessor methods
	- go/token: added file.Line(), changed signature of File.Position()

	* test/fixedbugs/:
	- bug206.go: change test to not rely on token.Pos details

	* added various extra comments
	* Runs all.bash
	* gofmt formats all of src, misc w/o changes
	* godoc runs

	* performance:
	- The new version of godoc consumes about the same space after indexing
	  has completed, but indexing is half the speed. Significant space savings
	  are expected from smaller ASTs, but since they are thrown away after a
	  file has been indexed, this is not visible anymore. The slower indexing
	  time is due to the much more expensive computation of line information.
	  However, with the new compressed position information, indexing can be
	  rewritten and simplified. Furthermore, computing the line info can be
	  done more efficiently.

        New godoc, immediately after indexing completed (best of three runs):

	  PID COMMAND      %CPU   TIME   #TH #PRTS #MREGS RPRVT  RSHRD  RSIZE  VSIZE
	44381 godoc        0.0%  0:38.00   4    19    149  145M   184K   148M   176M

	2010/12/03 17:58:35 index updated (39.231s, 18505 unique words, 386387 spots)
	2010/12/03 17:58:35 bytes=90858456 footprint=199182584
	2010/12/03 17:58:36 bytes=47858568 footprint=167295224

	Old godoc, immediately after indexing completed (best of three runs):

	  PID COMMAND      %CPU   TIME   #TH #PRTS #MREGS RPRVT  RSHRD  RSIZE  VSIZE
	23167 godoc        0.0%  0:22.02   4    17    132  129M   184K   132M   173M

	2010/12/03 14:51:32 index updated (24.892s, 18765 unique words, 393830 spots)
	2010/12/03 14:51:32 bytes=66404528 footprint=163907832
	2010/12/03 14:51:32 bytes=46282224 footprint=163907832

	The different numbers for unique words/spots stem from the fact the the
	two workspaces are not exactly identical. The new godoc maintains a large
	file set data structure during indexing which (probably) is the reason
	for the larger heap (90858456 vs 66404528) before garbage collection.

R=rsc, r
CC=golang-dev
https://golang.org/cl/3050041
2010-12-06 14:23:18 -08:00
Russ Cox
92bfd850e0 net: fix TestDialGoogle
TBR=r
CC=golang-dev
https://golang.org/cl/3417042
2010-12-06 14:07:36 -08:00
Yuval Pavel Zholkover
8221eb9103 8l, runtime: fix Plan 9 386 build.
8l was broken by commit 7ac0d2eed9, it caused .data to be page aligned in the file - which is not how Plan 9 expects things to be.
Also .rodata was layed out in a similar fashion.

Not sure when signame was introduced, but added a stub.
Removed the symo assignment in asm.c as it is not currently used.

Fix runtime breakage after commit 629c065d36 which prefixes all external symbols with runtime·.

R=rsc
CC=golang-dev
https://golang.org/cl/2674041
2010-12-06 16:38:28 -05:00
Eoghan Sherry
ff4e08f60d math: improve accuracy of Exp2
Note:
* Exp2 doesn't have a special case for very small arguments
* Exp2 hasn't been subject to a proper error analysis

Also:
* add tests for Exp2 with integer argument
* always test Go versions of Exp and Exp2

R=rsc
CC=Charlie Dorian, PeterGo, golang-dev
https://golang.org/cl/3481041
2010-12-06 16:24:51 -05:00
Russ Cox
6eee9ed507 time: fix build
Allow less precise timing on build machines.

TBR=r
CC=golang-dev
https://golang.org/cl/3391043
2010-12-06 16:22:32 -05:00
Rob Pike
42cfe48ffc use the new %U format for runes
R=rsc
CC=golang-dev
https://golang.org/cl/3483041
2010-12-06 14:38:25 -05:00
Rob Pike
53eaf40eba netchan: fix dumb locking bug introduced in recent editing.
-found by Dave Cheney

R=rsc
CC=golang-dev
https://golang.org/cl/3460042
2010-12-06 14:29:05 -05:00
Rob Pike
e26f9b3420 flag: fix format error in boolean error report. just use %q; the values are strings.
R=rsc
CC=golang-dev
https://golang.org/cl/3418043
2010-12-06 14:23:52 -05:00
Rob Pike
730e39cd13 fmt: add %U format for standard Unicode representation of integer values.
fmt.Printf("%U", 1) yields "U+0001"
It's essentially "U+%.4x" but lets you override the precision works in scan, too.

R=rsc
CC=golang-dev
https://golang.org/cl/3423043
2010-12-06 14:23:37 -05:00
Roger Peppe
e2d1595c81 time: make After use fewer goroutines and host processes.
With credit to Gustavo Niemeyer, who hinted at this approach
in #go-nuts.

R=adg, rsc, niemeyer, r
CC=golang-dev
https://golang.org/cl/3416043
2010-12-06 14:19:30 -05:00
Roger Peppe
415545e539 bytes: add Buffer.UnreadRune, Buffer.UnreadByte
R=rsc, r
CC=golang-dev
https://golang.org/cl/3421041
2010-12-06 14:10:10 -05:00
Luuk van Dijk
9a71bb00bb [68]l: generate debug info for builtin structured types. prettyprinting in gdb.
R=rsc
CC=golang-dev
https://golang.org/cl/3309041
2010-12-03 19:19:33 +01:00
Jamie Gennis
b88b38ac12 go/printer: preserve newlines in func parameter lists
Fixes #1179.

R=gri
CC=golang-dev
https://golang.org/cl/3225042
2010-12-02 10:42:10 -08:00
Stefan Nilsson
6f1835dce0 Sort: reduced stack depth to lg(n) in quickSort
Doing the tail recursion elimination explicitly
seems safer than leaving it to the compiler;
the code is still clean and easy to understand.

R=r, r2, gri
CC=golang-dev
https://golang.org/cl/3373041
2010-12-02 09:18:20 -08:00
Brad Fitzpatrick
042a7a81d3 http: consume request body before next request
Fixes #1306.

R=rsc
CC=golang-dev
https://golang.org/cl/3332043
2010-12-01 20:00:19 -08:00
Rob Pike
5e4882a325 template: implement multi-word variable instantation for formatters.
Before one could say
	{field}
or
	{field|formatter}
Now one can also say
	{field1 field2 field3}
or
	{field1 field2 field3|formatter}
and the fields are passed as successive arguments to the formatter,
analogous to fmt.Print.

R=rsc, gri
CC=golang-dev
https://golang.org/cl/3385041
2010-12-01 17:10:40 -08:00
Rob Pike
d1524217df template: change the signature of formatters for future development.
Make them more like Printf, with a ... final argument.  This breaks
code with existing formatters but not the templates that use them.

R=rsc, gri
CC=golang-dev
https://golang.org/cl/3378041
2010-12-01 13:33:49 -08:00
Kyle Consalus
009aebdba8 Removed bytes.Add and bytes.AddByte; we now have 'append'.
Changed all uses of bytes.Add (aside from those testing bytes.Add) to append(a, b...).
Also ran "gofmt -s" and made use of copy([]byte, string) in the fasta benchmark.

R=golang-dev, r, r2
CC=golang-dev
https://golang.org/cl/3302042
2010-12-01 11:59:13 -08:00
Roger Peppe
1f90447e31 log: ensure writes are atomic.
This means that any Writer can be used safely
even when Output is called concurrently.
Fixes #1302.

R=r, nigeltao_gnome
CC=golang-dev
https://golang.org/cl/3300042
2010-12-01 10:15:42 -08:00
Benny Siegert
b06dc26a58 path: Windows support for Split
Make Split work on backslashes as well as on slashes under Windows
and support the "C:filename" special case. Also add corresponding
tests.

R=r, rsc, PeterGo, r2, brainman
CC=golang-dev
https://golang.org/cl/3008041
2010-11-30 17:17:45 -08:00
Luuk van Dijk
555feea117 runtime: fix windows breakage
R=iant
CC=golang-dev
https://golang.org/cl/3344044
2010-12-01 00:19:00 +01:00
Rob Pike
fdeda13f9e fmt: fix documentation format glitch. no content to change.
Fixes #1313.

R=gri
CC=golang-dev
https://golang.org/cl/3361041
2010-11-30 14:28:33 -08:00
Adam Langley
3cb4bdb9ce utf8: make EncodeRune's destination the first argument.
R=r
CC=golang-dev
https://golang.org/cl/3364041
2010-11-30 16:59:43 -05:00
Adam Langley
287045085d crypto/elliptic: use a Jacobian transform
(Speeds up the code about 25x)

R=r
CC=golang-dev
https://golang.org/cl/3359042
2010-11-30 16:58:59 -05:00
Rob Pike
6540c85c7f fmt.Scan: accept Inf and NaN
Fixes #1308.

R=rsc, r2
CC=golang-dev
https://golang.org/cl/3280045
2010-11-30 12:59:52 -08:00
Rob Pike
448c05d7c8 strconv: Atof on Infs and NaNs
R=rsc
CC=golang-dev
https://golang.org/cl/3359041
2010-11-30 12:53:42 -08:00
Rob Pike
b389646243 sort: avoid overflow in pivot calculation.
thanks to snilsson@nada.kth.se for the original CL.

R=gri
CC=golang-dev, snilsson
https://golang.org/cl/3280044
2010-11-30 10:37:57 -08:00
Eoghan Sherry
0dc24603eb big: fix (*Rat) SetFrac64(a, b) when b < 0.
R=gri
CC=golang-dev
https://golang.org/cl/3352041
2010-11-30 10:23:27 -08:00
Luuk van Dijk
85cae877f5 runtime: parallel definitions in Go for all C structs.
R=rsc
CC=golang-dev
https://golang.org/cl/3308041
2010-11-30 18:21:26 +01:00
Rob Pike
d90d0ede3f fmt: allow "% X" as well as "% x"
R=rsc, cw, PeterGo
CC=golang-dev
https://golang.org/cl/3319042
2010-11-29 07:30:36 -08:00
Anschel Schaffer-Cohen
f5bc87cb75 exp/eval: build fix for parser.ParseFile API change.
R=golang-dev, nigeltao
CC=golang-dev
https://golang.org/cl/3283042
2010-11-29 09:25:31 +11:00
Mathieu Lonjaret
387d58e790 compress/flate: fix typo in comment.
R=golang-dev, nigeltao_gnome, nigeltao
CC=golang-dev
https://golang.org/cl/3334041
2010-11-26 13:05:22 +11:00
Alex Brainman
4e69976a60 runtime: fix SysFree to really free memory on Windows
Fixes #1294.

R=golang-dev, PeterGo, iant
CC=golang-dev
https://golang.org/cl/3271041
2010-11-24 11:47:35 +11:00
Wei Guangjing
95c341fc78 net: add ReadFrom and WriteTo windows version.
Fixes #1275.

R=rsc, brainman
CC=golang-dev
https://golang.org/cl/3136042
2010-11-22 11:01:30 -05:00
Robert Griesemer
e21aac29ba position.go: more flexible AddFile method
This will make it easier to use Pos values
together with suffix arrays by slightly de-
coupling the mapping of Pos values to global
offsets.

R=rsc
CC=golang-dev
https://golang.org/cl/3231041
2010-11-20 21:30:36 -08:00
Adam Langley
b84b20b820 crypto/cipher: add CFB and OCFB mode.
(Files which I left out of the initial commit to keep it small.)

R=rsc
CC=golang-dev
https://golang.org/cl/3183043
2010-11-19 16:17:58 -05:00
Russ Cox
b51f0c5cca index/suffixarray: use sort.Search
R=gri
CC=golang-dev
https://golang.org/cl/3200041
2010-11-19 16:04:25 -05:00
Adam Langley
07791d04d6 crypto/cipher: add package
cipher is intended to replace crypto/block over time. This
change only adds basic parts: CBC and CTR mode and doesn't add
the package to the top-level Makefile.

R=r, rsc
CC=golang-dev
https://golang.org/cl/3069041
2010-11-19 14:12:07 -05:00
Ian Lance Taylor
1fab0cd12a Makefiles: Don't define _64BIT now that 6c does it by default.
R=rsc
CC=golang-dev
https://golang.org/cl/3207041
2010-11-18 12:34:47 -08:00
Russ Cox
285298b975 sort: invert meaning of f in Search
Backwards incompatible change, but makes
it easier to reason about non-idiomatic searches:
now f specifies what is sought.

R=gri
CC=golang-dev
https://golang.org/cl/3195042
2010-11-18 11:46:07 -05:00
Russ Cox
19f0e4603d sort: edit doc comment for Search
Change comment to be more generic,
with indexed data structure search as
one common use case.

Fix typo []data.

R=gri, rog
CC=golang-dev
https://golang.org/cl/3159041
2010-11-18 07:16:09 -05:00
Andrew Gerrand
3fa6dcaca4 rpc: add RegisterName to allow override of default type name
R=r, r2
CC=golang-dev
https://golang.org/cl/2890041
2010-11-18 14:14:42 +11:00
Robert Griesemer
6aeaa5d3fe go/token position: code improvements per rsc's suggestion
R=rsc
CC=golang-dev
https://golang.org/cl/3183041
2010-11-17 17:00:25 -08:00
Robert Griesemer
ac966ac706 position.go: test cases for token.Pos
- adjustments to position.go due to changed sort.Search semantics
- various minor fixes

R=rsc
CC=golang-dev, r
https://golang.org/cl/3079041
2010-11-17 12:17:40 -08:00
Robert Griesemer
18ae633472 token/position: implemented Pos
A pos value represents a file-set specific, accurate
source position value. It is 8x smaller in size than
the corresponding Position value (4 bytes vs 32 bytes).

Using Pos values instead of Position values in AST
saves approx. 25MBytes of memory when running godoc
on the current repository.

This CL introduces the Pos, File, and FileSet data
types; it does not affect existing code. Another
(pending CL) will make the change to all dependent
source files.

Missing: tests

R=r
CC=golang-dev, rsc
https://golang.org/cl/2936041
2010-11-12 16:39:33 -08:00
Alex Brainman
a2a4e0c01a exec: enable tests on windows
Fixes #1104.

R=golang-dev, mattn, r
CC=Joe Poirier, golang-dev
https://golang.org/cl/3051041
2010-11-13 11:15:09 +11:00
Robert Griesemer
8f651ff742 sort.Search: slightly more precise wording in comment
(+ some cosmetic changes)

R=iant, iant2
CC=golang-dev
https://golang.org/cl/3076041
2010-11-12 16:08:56 -08:00
Roger Peppe
bac478da1c sort: simplify semantics of Search.
As discussed earlier.

R=gri
CC=golang-dev
https://golang.org/cl/3025042
2010-11-12 15:57:33 -08:00
Kyle Consalus
81cb189a06 Remove unnecessary casts in Get() methods.
Cleaner, but also results in a 25%+ performance improvement for Get()/SetValue() on my machine.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/3072041
2010-11-12 15:25:25 -08:00
Ken Thompson
48cc88d063 arm is not little-endian
R=rob
CC=golang-dev
https://golang.org/cl/3075041
2010-11-12 14:27:55 -08:00
Benny Siegert
8530e8ef65 strings: add LastIndexAny
The need for a LastIndexAny function has come up in the discussion
for https://golang.org/cl/3008041/. This function is
implemented analogously to lastIndexFunc, using functions from
the utf8 package.

R=r, rsc, PeterGo
CC=golang-dev
https://golang.org/cl/3057041
2010-11-12 12:47:50 -08:00
Adam Langley
fb784785f5 crypto/elliptic: add package
elliptic implements several standard elliptic curves over prime fields.

R=r, r2
CC=golang-dev
https://golang.org/cl/3065041
2010-11-12 14:55:32 -05:00
Ken Thompson
8613eb56b2 last of the arm conversions
R=rsc
CC=golang-dev
https://golang.org/cl/3053041
2010-11-11 19:54:35 -08:00
Robert Griesemer
6498c1d468 sort.Search: added extra test to verify efficiency
R=r
CC=golang-dev
https://golang.org/cl/3048041
2010-11-11 14:52:37 -08:00
Robert Griesemer
febde3882b sort.Search: more typos
R=r
CC=golang-dev
https://golang.org/cl/3042041
2010-11-11 13:52:49 -08:00
Adam Langley
ffa9000b75 crypto/x509: policy OID support and fixes.
* Add support for certificate policy identifiers
        * Fix the version number of generated certificates
        * Fix the parsing of version numbers
        * Fix the case of multiple name entries (it should have been a list of
          tagged values, not a tagged list of values).

R=r
CC=golang-dev
https://golang.org/cl/3044041
2010-11-11 15:50:40 -05:00
Robert Griesemer
86630fe6ad sort.Search: fix typo in documentation
R=r
CC=golang-dev
https://golang.org/cl/3016043
2010-11-11 10:51:59 -08:00
Alex Brainman
b611137098 runtime: free memory allocated by windows CommandLineToArgv
R=golang-dev, r2
CC=golang-dev
https://golang.org/cl/3003043
2010-11-11 10:38:45 +11:00
Ian Lance Taylor
e8605b1279 runtime: omit runtime· prefix from static functions (in ARM code).
R=r
CC=golang-dev
https://golang.org/cl/3026041
2010-11-10 15:23:20 -08:00
Ian Lance Taylor
7e69c90ade runtime: Add some missing runtime· prefixes to ARM asm code.
R=r, r2
CC=golang-dev
https://golang.org/cl/3024041
2010-11-10 15:10:19 -08:00
Ian Lance Taylor
be0b649eb1 path: Fix Glob when it finds a file in directory position.
When searching a list of directories, the files which match
the pattern are accumulated in a slice.  If the glob has a
wildcard for the directory, and the wildcard matches a file
rather than a directory, then the files found so far are
discarded.  E.g., path.Glob("*/x") in a directory which
contains both files and subdirectories.  This patch avoids
discarding matches found so far when a file is found.

R=r
CC=bsiegert, golang-dev
https://golang.org/cl/3015042
2010-11-10 13:25:49 -08:00
Robert Griesemer
194dde22c3 sort: binary search for sorted slices
R=r, r2
CC=golang-dev
https://golang.org/cl/2997041
2010-11-10 13:19:28 -08:00
Roger Peppe
089c21ea52 testing: delete redundant name argument to Benchmark().
[it was a carry over from the previous iteration]

R=r
CC=golang-dev
https://golang.org/cl/3016041
2010-11-10 09:39:26 -08:00
Robert Griesemer
56bfe95e7f go/ast: change embedded token.Position fields to named fields
This is in preparation for a different position representation.
It also resolves situations where a node would be printed as
it's node position simply because the embedded token.Position
has a String method.

R=r
CC=golang-dev
https://golang.org/cl/2991041
2010-11-09 11:26:54 -08:00
Roger Peppe
e9afb9d399 container/list: make Remove return Value of removed element.
When it is known that there is already at least one element in the
list, it is awkwardly verbose to use three lines and an extra
variable declaration to remove the first or last item (a common
case), rather than use a simple expression.

a stack:
	stk.PushFront(x)
	x = stk.Front().Remove().(T)

vs.
	stk.PushFront(x)
	e := stk.Front()
	e.Remove()
	x = e.Value.(T)
[An alternative CL might be to add PopFront and PopBack methods].

R=gri
CC=golang-dev
https://golang.org/cl/3000041
2010-11-09 08:58:23 -08:00
Evan Shaw
49fdfe21dd bytes: SSE for bytes.IndexByte on amd64
Performance on 2.8 GHz Intel Core i7:

Before:
BenchmarkIndexByte4K  1000000              2997 ns/op        1366.70 MB/s
BenchmarkIndexByte4M      500           3049772 ns/op        1375.28 MB/s
BenchmarkIndexByte64M      50          49582280 ns/op        1353.48 MB/s

After:
BenchmarkIndexByte4K 10000000               298 ns/op       13744.97 MB/s
BenchmarkIndexByte4M    10000            285993 ns/op       14665.76 MB/s
BenchmarkIndexByte64M     500           4618172 ns/op       14531.48 MB/s

R=rsc, PeterGo, r2, r
CC=golang-dev
https://golang.org/cl/2888041
2010-11-08 17:33:53 -08:00
Rob Pike
e9c901dbf4 json: don't indirect before testing for custom unmarshaler
Fixes #1260.

R=gri
CC=golang-dev
https://golang.org/cl/2994041
2010-11-08 15:33:00 -08:00
Robert Griesemer
9f19392f1a os.Expand: don't call append for each non-variable char
R=r
CC=golang-dev
https://golang.org/cl/2993041
2010-11-08 15:13:35 -08:00
Rob Pike
02469b8200 strconv: quote erroneous string in errors
Fixes #1253.

R=gri
CC=golang-dev
https://golang.org/cl/2990041
2010-11-08 15:08:41 -08:00
Rob Pike
26cda27b0f os: add Expand function to evaluate environment variables.
Fixes #1258.

R=gri, msolo, bradfitzpatrick, r2
CC=golang-dev
https://golang.org/cl/2988041
2010-11-08 13:25:01 -08:00
Wei Guangjing
11ace8e975 net: fix windows build
R=rsc
CC=golang-dev
https://golang.org/cl/2932041
2010-11-05 23:08:18 -04:00
Peter Mundy
3b44fbe869 testing: rename type Test to InternalTest
type Benchmark has been renamed to InternalBenchmark

R=rsc
CC=golang-dev
https://golang.org/cl/2942042
2010-11-05 23:05:53 -04:00
Peter Mundy
fa7341aafd syscall: use 64-bit file size for truncation on Linux
Truncate and Ftruncate for 32-bit Linux should use 64-bit
offset system calls.

R=rsc
CC=golang-dev, royger
https://golang.org/cl/2943041
2010-11-05 16:41:23 -04:00
Christopher Wedgwood
6101788972 io: use SetFinalizer more elegantly in Pipe
(this works now that issue 751 is resolved)

R=rsc
CC=golang-dev
https://golang.org/cl/2834041
2010-11-05 15:05:39 -04:00
Rob Pike
c9d39dca8d gob: don't add "." if package path is empty when registering a type.
R=rsc
CC=golang-dev
https://golang.org/cl/2939041
2010-11-05 11:22:28 -07:00
Keith Rarick
a144e3ec36 net: provide public access to file descriptors
Fixes #918.

R=rsc, rog, brainman
CC=golang-dev
https://golang.org/cl/2904041
2010-11-05 14:02:03 -04:00
Russ Cox
9ce0eb2d07 runtime: explain nacl closure failure
R=r, r2
CC=golang-dev
https://golang.org/cl/2889042
2010-11-05 14:00:46 -04:00
Benny Siegert
a4f3d647d4 path: add Glob
As discussed in http://groups.google.com/group/golang-dev/browse_thread/thread/926b7d550d98ec9e,
add a simple "path expander" function, which returns all the
files matching the given pattern. This function is called Glob
after glob(3) in libc.

Also add a convenience function, hasMeta, that checks whether
a string contains one of the characters which are specially handled
by Match.

R=rsc, r, r2
CC=golang-dev
https://golang.org/cl/2476041
2010-11-05 10:47:56 -07:00
Rob Pike
9f7f69d300 gob: when sending an interface value, indirect down to the
underlying type; otherwise encoding fails when sending
a pointer value.

R=rsc
CC=golang-dev
https://golang.org/cl/2922041
2010-11-05 10:36:27 -07:00
Adam Langley
836529a63c crypto/tls: use pool building for certificate checking
Previously we checked the certificate chain from the leaf
upwards and expected to jump from the last cert in the chain to
a root certificate.

Although technically correct, there are a number of sites with
problems including out-of-order certs, superfluous certs and
missing certs.

The last of these requires AIA chasing, which is a lot of
complexity. However, we can address the more common cases by
using a pool building algorithm, as browsers do.

We build a pool of root certificates and a pool from the
server's chain. We then try to build a path to a root
certificate, using either of these pools.

This differs from the behaviour of, say, Firefox in that Firefox
will accumulate intermedite certificate in a persistent pool in
the hope that it can use them to fill in gaps in future chains.

We don't do that because it leads to confusing errors which only
occur based on the order to sites visited.

This change also enabled SNI for tls.Dial so that sites will return
the correct certificate chain.

R=rsc
CC=golang-dev
https://golang.org/cl/2916041
2010-11-05 09:54:56 -04:00
Alex Brainman
2b18b18263 runtime: fix windows build
R=rsc
CC=golang-dev
https://golang.org/cl/2923041
2010-11-05 17:27:12 +11:00
Graham Miller
23c41a1ef2 Small addition to previous optimization of memequal as discussed here: http://groups.google.com/group/golang-nuts/browse_thread/thread/f591ba36d83723c0/9aba02d344045f38
R=golang-dev, r, r2
CC=golang-dev
https://golang.org/cl/2880041
2010-11-04 13:45:18 -07:00
Robert Griesemer
3a50d721a8 go/scanner: line comments may end in EOF
R=rsc
CC=golang-dev
https://golang.org/cl/2908041
2010-11-04 13:15:42 -07:00
Russ Cox
68b4255a96 runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost
Prefix all external symbols in runtime by runtime·,
to avoid conflicts with possible symbols of the same
name in linked-in C libraries.  The obvious conflicts
are printf, malloc, and free, but hide everything to
avoid future pain.

The symbols left alone are:

	** known to cgo **
	_cgo_free
	_cgo_malloc
	libcgo_thread_start
	initcgo
	ncgocall

	** known to linker **
	_rt0_$GOARCH
	_rt0_$GOARCH_$GOOS
	text
	etext
	data
	end
	pclntab
	epclntab
	symtab
	esymtab

	** known to C compiler **
	_divv
	_modv
	_div64by32
	etc (arch specific)

Tested on darwin/386, darwin/amd64, linux/386, linux/amd64.

Built (but not tested) for freebsd/386, freebsd/amd64, linux/arm, windows/386.

R=r, PeterGo
CC=golang-dev
https://golang.org/cl/2899041
2010-11-04 14:00:19 -04:00
Chris Jones
25b1e83262 net: fix LookupSRV
R=rsc, chris
CC=golang-dev
https://golang.org/cl/2420041
2010-11-04 10:30:39 -04:00
Ken Thompson
9c6df3ca13 add hardware floating point.
currently, softfloat does not work and
there are some unsigned-to-float conversion errors.

R=rsc
CC=golang-dev
https://golang.org/cl/2886041
2010-11-03 17:31:07 -07:00
Adam Langley
02939dec80 crypto: switch block ciphers to detination first.
Previously all the functions took two arguments: src, dst. This is the
reverse of the usual Go style and worth changing sooner rather than
later.

Unfortunately, this is a change that the type system doesn't help
with. However, it's not a subtle change: any unittest worth the name
should catch this.

R=rsc, r
CC=golang-dev
https://golang.org/cl/2751042
2010-11-03 10:43:43 -04:00
Adam Langley
b5135b34c9 crypto: add cast5
CAST5 is the default OpenPGP cipher.

(This won't make Rob any happier about the size of crypto/, of course.)

It already has dst, src in that order but it doesn't have any users yet so I figure it's better than changing it later.

R=rsc, gri, r
CC=golang-dev
https://golang.org/cl/2762042
2010-11-03 10:39:15 -04:00
Robert Griesemer
417e22b584 sync: fix typo in documentation
R=rsc, adg
CC=golang-dev
https://golang.org/cl/2841041
2010-11-02 16:01:07 -07:00
Kai Backman
95b40f6ca1 Fix a deadlock bug in the rpc client. The panic will trigger
regularly when client connections are flaky (probably another
issue).

(credits to jussi@tinkercad.com for finding the issue)

R=rsc, r
CC=golang-dev, jussi
https://golang.org/cl/2831042
2010-11-02 14:04:56 -07:00
Rob Pike
59315fbfb5 netchan: fix locking bug.
There's no need to hold the client mutex when calling encode, since encode itself
uses a mutex to make the writes atomic.  However, we need to keep
the messages ordered, so add a mutex for that purpose alone.
Fixes #1244.

R=rsc
CC=golang-dev
https://golang.org/cl/2833041
2010-11-02 10:58:27 -07:00
Robert Griesemer
396228a652 go/scanner: removed scanner/internal-only uses of token.Position
First step towards a more light-weight implementation of token.Position:
- only use token.Position for reporting token and error position
- use offsets only for scanner control
- no interface changes yet

R=rsc
CC=golang-dev
https://golang.org/cl/2825041
2010-11-02 10:38:07 -07:00
Robert Griesemer
ce98044523 fix build
R=rsc
CC=golang-dev
https://golang.org/cl/2820041
2010-11-01 15:25:39 -07:00
Robert Griesemer
7996924c89 go/printer: do not remove parens around composite literals starting with a type name in control clauses
(even when they are nested inside an expression).

Fixes #1243.

R=rsc
CC=golang-dev
https://golang.org/cl/2817041
2010-11-01 15:08:03 -07:00
Robert Griesemer
9384fdc96a go/ast: add Inspect function for easy AST inspection w/o a visitor
R=rsc
CC=golang-dev
https://golang.org/cl/2770044
2010-11-01 15:06:34 -07:00
Wei Guangjing
035696c59a debug/pe, cgo: add windows support
R=rsc, mattn
CC=golang-dev
https://golang.org/cl/1976045
2010-11-01 17:52:26 -04:00
Brad Fitzpatrick
e198a5086a strings: Contains
Tiny helper to avoid strings.Index(s, sub) != -1

R=rsc, r2, r
CC=golang-dev
https://golang.org/cl/2265044
2010-11-01 14:32:48 -07:00
Albert Strasheim
6442f38a91 syscall: SIO constants for Linux
R=rsc
CC=golang-dev
https://golang.org/cl/2303043
2010-11-01 16:42:33 -04:00
Roger Peppe
270bad3939 testing: add Benchmark to allow benchmarks to be run without gotest.
R=rsc
CC=golang-dev
https://golang.org/cl/2506042
2010-11-01 16:15:17 -04:00
Michael Hoisie
7b4eed7d66 http server: don't send trailing '0' for chunked encoding when responding with 304 NotModified
R=rsc, adg
CC=golang-dev
https://golang.org/cl/2723041
2010-11-01 16:15:03 -04:00
Robert Griesemer
68ac0c1d94 go/scanner: don't accept '\x0g' character escape (bug fix)
Added more test cases.

R=rsc
CC=golang-dev
https://golang.org/cl/2804041
2010-11-01 12:50:21 -07:00
Rob Pike
6dc4c58f87 gob: documentation. this time for sure.
if the interface value is nil, it sends no value,

R=rsc, adg
CC=golang-dev
https://golang.org/cl/2801042
2010-10-31 17:48:19 -07:00
Rob Pike
41ac2f8a42 gob: update documentation about wire format for interfaces.
R=rsc
CC=golang-dev
https://golang.org/cl/2814041
2010-10-31 15:08:45 -07:00
Rob Pike
7f7cb166c8 gob: several fixes.
1) Be sure to use the eval-time encoder/decoder rather than
the compile-time decoder.  In a few cases the receiver for
the compiling encoder was being pickled incorrectly into a
closure.
(This is the fix for issue 1238).

2) Get the innermost name right when given a pointer to an
unnamed type.

3) Use a count to delineate interface values, making it
possible to ignore values without having a concrete type
to encode into.  This is a protocol change but only for the
new feature, so it shouldn't affect anyone.  The old test
worked because, amazingly, it depended on bug #1.

Fixes #1238.

R=rsc, albert.strasheim
CC=golang-dev
https://golang.org/cl/2806041
2010-10-31 13:41:30 -07:00
Alex Brainman
a8c4da996e syscall: fix windows build
R=golang-dev
CC=golang-dev
https://golang.org/cl/2713043
2010-10-30 23:55:22 +11:00
Alex Brainman
7812b79627 syscall: fix Stat(path) where path is directory with trailing '/' on windows
Fixes #1220.

R=rsc, r
CC=golang-dev
https://golang.org/cl/2728043
2010-10-30 23:06:49 +11:00
Rob Pike
c490bb6f81 gob: clarify the comments about installing the debug/dumper.
R=rsc
CC=golang-dev
https://golang.org/cl/2789043
2010-10-29 15:52:25 -07:00
Rob Pike
96b9efe8a9 gob: make the debugging (dumping) code work again. Mostly rewrite it, in fact.
It's still not compiled in by default.

R=rsc, r2
CC=golang-dev
https://golang.org/cl/2754043
2010-10-29 15:07:56 -07:00
Robert Griesemer
907e998cba go/scanner: added another test case, clarified some code
R=rsc
CC=golang-dev
https://golang.org/cl/2741042
2010-10-29 15:07:04 -07:00
Robert Griesemer
7eb5c9a520 ebnf: use append
R=r, rsc
CC=golang-dev
https://golang.org/cl/2799041
2010-10-28 21:23:24 -07:00
Robert Griesemer
75855a8f5e tabwriter: use append
R=rsc
CC=golang-dev
https://golang.org/cl/2798041
2010-10-28 21:23:04 -07:00
Robert Griesemer
5762cd3755 go/doc: use append
R=rsc
CC=golang-dev
https://golang.org/cl/2792041
2010-10-28 17:26:01 -07:00
Rob Pike
4e9cc085d2 testing: eliminate testing/regexp
Rather than updating the stripped-down regexp implementation embedded
in testing, delete it by passing the one function we need from the package
main file created by gotest.

R=rsc
CC=golang-dev
https://golang.org/cl/2761043
2010-10-28 16:54:24 -07:00
Rob Pike
1f4d54ea01 regexp: eliminate vector in favor of append.
R=rsc
CC=golang-dev
https://golang.org/cl/2795041
2010-10-28 15:54:01 -07:00
Robert Griesemer
fafb116c75 go/printer: use append
R=rsc
CC=golang-dev
https://golang.org/cl/2793041
2010-10-28 15:09:47 -07:00
Robert Griesemer
098e94173a go/typechecker: use append
R=rsc
CC=golang-dev
https://golang.org/cl/2736044
2010-10-28 15:09:21 -07:00
Andrew Gerrand
6062515a93 container/list: document iteration
R=rsc
CC=golang-dev
https://golang.org/cl/2768042
2010-10-29 08:48:16 +11:00
Robert Griesemer
302b0ff942 go/parser: use append
R=rsc
CC=golang-dev
https://golang.org/cl/2720042
2010-10-28 13:36:28 -07:00
Robert Griesemer
12be168b4b godoc: bug fix (bug introduced with revision 3ee58453e961)
(thanks to Chris Dollin for identifying the cause)

Fixes #1237.

R=rsc
CC=golang-dev
https://golang.org/cl/2753043
2010-10-28 08:44:25 -07:00
Russ Cox
69c4e9380b use append
R=gri, r, r2
CC=golang-dev
https://golang.org/cl/2743042
2010-10-27 19:47:23 -07:00
Russ Cox
d8b5d039cd gc: implement append
R=ken2
CC=golang-dev
https://golang.org/cl/2757042
2010-10-27 17:56:32 -07:00
Andrew Gerrand
250ac87368 rpc: expose Server type to allow multiple RPC Server instances
R=r, rsc, msolo, sougou
CC=golang-dev
https://golang.org/cl/2696041
2010-10-28 11:05:56 +11:00
Brad Fitzpatrick
ad7d24ac4b image/png: speed up paletted encoding ~25%
Avoids a lot of redundant bounds checks.

R=nigeltao, rsc
CC=golang-dev
https://golang.org/cl/2678041
2010-10-27 22:48:18 +11:00
Russ Cox
d86ab015f7 use copy
R=gri
CC=golang-dev
https://golang.org/cl/2763041
2010-10-26 21:52:54 -07:00
Russ Cox
e48c0fb562 5g, 6g, 8g: generate code for string index
instead of calling function.

R=ken2
CC=golang-dev
https://golang.org/cl/2762041
2010-10-26 21:11:17 -07:00
Russ Cox
705c0382e8 big: arm assembly, faster software mulWW, divWW
Reduces time spent running crypto/rsa test by 65%.

Fixes #1227.

R=gri, PeterGo
CC=golang-dev
https://golang.org/cl/2743041
2010-10-26 21:10:17 -07:00
Rob Pike
f437d4d356 gob: must register basic types to store them in interfaces.
Fixes #1230.

R=rsc
CC=golang-dev
https://golang.org/cl/2750041
2010-10-26 17:07:39 -07:00
Nigel Tao
3bb036958c gob: package doc fixes.
R=r, r2, nigeltao_gnome
CC=golang-dev
https://golang.org/cl/2748041
2010-10-27 10:46:00 +11:00
Russ Cox
82c6f5e3d1 gc, runtime: copy([]byte, string)
R=ken2
CC=golang-dev
https://golang.org/cl/2741041
2010-10-26 08:36:07 -07:00
Russ Cox
8fff9166f6 arm: enable all tests
ARM functionality is now completely working.
(Or if it's not, we'll fix it.)

R=ken2
CC=golang-dev
https://golang.org/cl/2738041
2010-10-25 21:25:13 -07:00
Russ Cox
da26e27c05 debug/gosym: do not run when cross-compiling
R=r
CC=golang-dev
https://golang.org/cl/2737041
2010-10-25 18:00:42 -07:00
Russ Cox
7c2b1597c6 arm: precise float64 software floating point
Adds softfloat64 to generic runtime
(will be discarded by linker when unused)
and adds test for it.  I used the test to check
the software code against amd64 hardware
and then check the software code against
the arm and its simulation of hardware.
The latter should have been a no-op (testing
against itself) but turned up a bug in 5c causing
the vlrt.c routines to miscompile.

These changes make the cmath, math,
and strconv tests pass without any special
accommodations for arm.

R=ken2
CC=golang-dev
https://golang.org/cl/2713042
2010-10-25 17:55:50 -07:00
Robert Griesemer
e351533aab big: delete unnecessary type decls
R=rsc, r
CC=golang-dev
https://golang.org/cl/2732041
2010-10-25 17:45:43 -07:00
Robert Griesemer
19b8fc788c tabwriter: delete unnecessary type declaration
R=rsc, r2
CC=golang-dev
https://golang.org/cl/2733041
2010-10-25 17:45:26 -07:00
Robert Griesemer
c77f090085 go/scanner: delete unnecessary type declarations
R=rsc, r2
CC=golang-dev
https://golang.org/cl/2735041
2010-10-25 17:44:54 -07:00
Russ Cox
35f8a3f90e runtime: remove .c generated from .goc during make clean
R=r
CC=golang-dev
https://golang.org/cl/2704042
2010-10-25 16:54:59 -07:00
Russ Cox
079cbddbd8 arm: fix signal handler
R=ken2
CC=golang-dev
https://golang.org/cl/2670042
2010-10-26 01:32:36 +02:00
Andrew Gerrand
32a6613e94 container/list: elide redundant tests and fix comment typo
R=dsymonds
CC=golang-dev
https://golang.org/cl/2700041
2010-10-25 14:50:47 +11:00
Andrew Gerrand
01389b966e container/list: fix Remove bug and use pointer to self as identifier
Remove wasn't nil'ing the *Element.id. This property was exploited
by MoveToFront and MoveToBack internally, so I renamed the existing
Remove to "remove", and created an exported wrapper "Remove" that does
the right thing for the user's sake.

Also, saved an allocation by using *List as the id rather than *byte.

Fixes #1224.

R=rsc, dsymonds
CC=golang-dev
https://golang.org/cl/2685042
2010-10-25 14:37:30 +11:00
Luuk van Dijk
4228e62259 6l/8l: global and local variables and type info.
R=rsc
CC=golang-dev
https://golang.org/cl/2201044
2010-10-24 23:07:52 +02:00
Rob Pike
c28fa513f5 gob: error cleanup 2
Simplify error handling during the compilation phase.

R=rsc
CC=golang-dev
https://golang.org/cl/2652042
2010-10-22 16:07:26 -07:00
Rob Pike
f593b37f23 gobs: error cleanup part 1.
Remove err from the encoderState and decoderState types, so we're
not always copying to and from various copies of the error, and then
use panic/recover to eliminate lots of error checking.

another pass might take a crack at the same thing for the compilation phase.

R=rsc
CC=golang-dev
https://golang.org/cl/2660042
2010-10-22 15:16:34 -07:00
Russ Cox
1dd0319be3 runtime: print unknown types in panic
R=r
CC=golang-dev
https://golang.org/cl/2683041
2010-10-22 17:04:32 -04:00
Rob Pike
5d9064697b gob: allow exchange of interface values
The implemetation describes each value as a string identifying the
concrete type of the value, followed by the usual encoding of that
value.  All types to be exchanged as contents of interface values
must be registered ahead of time with the new Register function.
Although this would not seem strictly necessary, the linker garbage
collects unused types so without some mechanism to guarantee
the type exists in the binary, there could be unpleasant surprises.
Moreover, the receiver needs a reflect.Type of the value to be
written in order to be able to save the data. A Register function
seems necessary.

The implementation may require defining types in the middle of
of sending a value.  The old code never did this. Therefore there
has been some refactoring to make the encoder and decoder
work recursively.

This change changes the internal type IDs. Existing gob archives
will break with this change.  Apologies for that. If this is a deal
breaker it should be possible to create a conversion tool.

Error handling is too complicated in this code. A subsequent
change should clean it up.

R=rsc
CC=golang-dev
https://golang.org/cl/2618042
2010-10-22 11:17:40 -07:00
Robert Griesemer
3478891d12 gofmt -s -w src misc
R=r, rsc
CC=golang-dev
https://golang.org/cl/2662041
2010-10-22 10:06:33 -07:00
Robert Griesemer
f613015e0e go ast/parser/printer: permit elision of composite literal types for composite literal elements
gofmt: added -s flag to simplify composite literal expressions through type elision where possible

R=rsc
CC=golang-dev
https://golang.org/cl/2319041
2010-10-22 10:03:14 -07:00
Russ Cox
1c8f185611 arm: 3 more tests pass
R=ken2
CC=golang-dev
https://golang.org/cl/2666041
2010-10-22 05:53:03 +02:00
Russ Cox
4fd12c04c5 fix windows build
R=ken2
CC=golang-dev
https://golang.org/cl/2650041
2010-10-21 13:06:17 -04:00
Russ Cox
d10963b6d7 fix arm build
R=ken2
CC=golang-dev
https://golang.org/cl/2649041
2010-10-21 13:03:59 -04:00
Russ Cox
833c06581a fix build
R=ken2
CC=golang-dev
https://golang.org/cl/2621042
2010-10-21 12:50:23 -04:00
Robert Griesemer
b57b10f992 go/parser: consume auto-inserted semi when calling ParseExpr()
Fixes #1170.

R=rsc
CC=golang-dev
https://golang.org/cl/2622041
2010-10-21 08:40:33 -07:00
Russ Cox
1451695f86 encoding/binary: give LittleEndian, BigEndian specific types
Giving them specific types has the benefit that
binary.BigEndian.Uint32(b) is now a direct call, not an
indirect via a mutable interface value, so it can potentially
be inlined.

Recent changes to the spec relaxed the rules for comparison,
so this code is still valid:

	func isLittle(o binary.ByteOrder) { return o == binary.LittleEndian }

The change does break this potential idiom:

	o := binary.BigEndian
	if foo {
		o = binary.LittleEndian
	}

That must rewrite to give o an explicit binary.ByteOrder type.
On balance I think the benefit from the direct call and inlining
outweigh the cost of breaking that idiom.

R=r, r2
CC=golang-dev
https://golang.org/cl/2427042
2010-10-21 11:25:14 -04:00
David Symonds
4f6fb1b775 net: fix comment on Dial to mention unix/unixgram.
R=rsc
CC=golang-dev
https://golang.org/cl/2639041
2010-10-21 08:17:24 -04:00
Russ Cox
69188ad9bb arm: prop up software floating point
Just enough to make mov instructions work,
which in turn is enough to make strconv work
when it avoids any floating point calculations.
That makes a bunch of other packages pass
their tests.

Should suffice until hardware floating point
is available.

Enable package tests that now pass
(some due to earlier fixes).

Looks like there is a new integer math bug
exposed in the fmt and json tests.

R=ken2
CC=golang-dev
https://golang.org/cl/2638041
2010-10-21 06:56:20 +02:00
Fumitoshi Ukai
64cc5be4ad web socket: fix short Read
Fixes #1145.

R=rsc
CC=golang-dev
https://golang.org/cl/2302042
2010-10-20 22:36:06 -04:00
Yasuhiro Matsumoto
1c9dfb7647 os: correct Stat S_ISDIR on Windows
R=rsc, brainman
CC=golang-dev
https://golang.org/cl/2598041
2010-10-21 10:29:45 +11:00
Russ Cox
10b53867e8 encoding/hex: fix typo
Thanks to avadh4all for spotting it.

Fixes #1214.

R=r, r2
CC=golang-dev
https://golang.org/cl/2616041
2010-10-20 16:38:57 -04:00
Russ Cox
6a3b29895f runtime: don't let select split stack
Fixes #1209.

R=ken2
CC=golang-dev
https://golang.org/cl/2612041
2010-10-20 15:54:17 -04:00
Russ Cox
c026c91b5c arm: fix typo in softfloat
R=kaib
CC=golang-dev
https://golang.org/cl/2608041
2010-10-20 15:35:37 -04:00
Russ Cox
c2b91d4889 6l: correct logic for morestack choice
The frame that gets allocated is for both
the args and the autos.  If together they
exceed the default frame size, we need to
tell morestack about both so that it allocates
a large enough frame.

Sanity check stack pointer in morestack
to catch similar bugs.

R=ken2
CC=golang-dev
https://golang.org/cl/2609041
2010-10-20 12:16:39 -07:00
Russ Cox
4ae9311174 arm: more tests pass
R=ken2
CC=golang-dev
https://golang.org/cl/2606041
2010-10-20 11:43:27 -04:00
Russ Cox
1142b60dad syscall/arm: correct 64-bit system call arguments
Thanks to kaib for the tip.

R=ken2
CC=golang-dev
https://golang.org/cl/2596043
2010-10-20 10:39:46 -04:00
Rob Pike
97f3a80d93 reflect: add InterfaceValue.Get to enable setting of an interface
value (through unsafe means) without having a reflect.Type
of type *interface{} (pointer to interface).  This is needed to make
gob able to handle interface values by a method analogous to
the way it handles maps.

R=rsc
CC=golang-dev
https://golang.org/cl/2597041
2010-10-19 21:25:28 -07:00
Rob Pike
321f0c7fe2 gob: break documentation into a separate doc.go file
R=adg, r2
CC=golang-dev
https://golang.org/cl/2596041
2010-10-19 20:39:29 -07:00
Russ Cox
17c32ad712 http: do not close connection after sending HTTP/1.0 request
Fixes #671.

R=adg, cw
CC=golang-dev
https://golang.org/cl/2431042
2010-10-19 23:29:25 -04:00
Yasuhiro Matsumoto
a9725396c0 os: change TestForkExec so it can run on windows
R=brainman, vcc, Joe Poirier, rsc
CC=golang-dev
https://golang.org/cl/2530041
2010-10-20 09:46:24 +11:00
Nigel Tao
a3bcf4b664 nntp: remove nntp package from the standard library.
R=adg
CC=golang-dev
https://golang.org/cl/2470045
2010-10-20 09:43:27 +11:00
Russ Cox
19fd5c787f 5l, 6l, 8l: link pclntab and symtab as ordinary rodata symbols
That is, move the pc/ln table and the symbol table
into the read-only data segment.  This eliminates
the need for a special load command to map the
symbol table into memory, which makes the
information available on systems that couldn't handle
the magic load to 0x99000000, like NaCl and ARM QEMU
and Linux without config_highmem=y.  It also
eliminates an #ifdef and some clumsy code to
find the symbol table on Windows.

The bad news is that the binary appears to be bigger
than it used to be.  This is not actually the case, though:
the same amount of data is being mapped into memory
as before, and the tables are still read-only, so they're
still shared across multiple instances of the binary as
they were before.  The difference is just that the tables
aren't squirreled away in some section that "size" doesn't
know to look at.

This is a checkpoint.
It probably breaks Windows and breaks NaCl more
than it used to be broken, but those will be fixed.
The logic involving -s needs to be revisited too.

Fixes #871.

R=ken2
CC=golang-dev
https://golang.org/cl/2587041
2010-10-19 18:07:19 -04:00
Rob Pike
1ffb1f2b66 netchan: add new method Hangup to terminate transmission on a channel
Fixes #1151.

R=rsc
CC=golang-dev
https://golang.org/cl/2469043
2010-10-18 15:09:43 -07:00
Florian Uekermann
e9c35ac55d big: add random number generation
Adds func (z *Int) RandIntn(src rand.Source,n *Int) *Int

R=rsc
CC=golang-dev, gri
https://golang.org/cl/2315045
2010-10-18 14:09:20 -04:00
Russ Cox
2012604002 runtime: fix arm softfloat again for R12
Missed a case, so now generalized.

R=ken2
CC=golang-dev
https://golang.org/cl/2540042
2010-10-18 13:24:19 -04:00
Russ Cox
9cc8e9ef48 runtime: fix amd64 build (broke by 386 support for Plan 9)
TBR=r
CC=golang-dev
https://golang.org/cl/2556041
2010-10-18 13:01:10 -04:00
Yuval Pavel Zholkover
99a10eff16 8l, runtime: initial support for Plan 9
No multiple processes/locks, managed to compile
and run a hello.go (with print not fmt).  Also test/sieve.go
seems to run until 439 and stops with a
'throw: all goroutines are asleep - deadlock!'
- just like runtime/tiny.

based on Russ's suggestions at:
http://groups.google.com/group/comp.os.plan9/browse_thread/thread/cfda8b82535d2d68/243777a597ec1612

Build instructions:
cd src/pkg/runtime
make clean && GOOS=plan9 make install
this will build and install the runtime.

When linking with 8l, you should pass -s to suppress symbol
generation in the a.out, otherwise the generated executable will not run.

This is runtime only, the porting of the toolchain has already
been done: http://code.google.com/p/go-plan9/source/browse
in the plan9-quanstro branch.

R=rsc
CC=golang-dev
https://golang.org/cl/2273041
2010-10-18 12:32:55 -04:00
Russ Cox
6ac08ba638 runtime: update arm softfloat - no more R12
R=ken2
CC=golang-dev
https://golang.org/cl/2555041
2010-10-18 12:24:59 -04:00
Rob Pike
8abb8e1d20 log: update the documentation to clarify the behavior
R=rsc, PeterGo
CC=golang-dev
https://golang.org/cl/2519043
2010-10-17 09:20:23 -07:00
Russ Cox
8052786e51 5l: stop using R12 as SB
Because the SB is only good for 8k and Go programs
tend to have much more data than that, SB doesn't
save very much.  A fmt.Printf-based hello world program
has  360 kB text segment.  Removing SB makes the text
500 bytes (0.14%) longer.

R=ken2, r2, ken3
CC=golang-dev
https://golang.org/cl/2487042
2010-10-17 11:41:23 -04:00
Rob Pike
e39bd1dd56 log: roll back the rollback of the deprecation of the old interface.
R=adg
CC=golang-dev
https://golang.org/cl/2521042
2010-10-15 13:14:29 -07:00
Rob Pike
84834feffd log: roll back deprecation of old API to apply fix to log.Output in public release.
R=adg
CC=golang-dev
https://golang.org/cl/2525042
2010-10-14 18:02:08 -07:00
Andrew Gerrand
568eccd12d log: fix custom output bug
R=r
CC=golang-dev
https://golang.org/cl/2525041
2010-10-15 11:55:51 +11:00
Russ Cox
0b2af925db arm: enable 6 more tests after net fix
R=ken2
CC=golang-dev
https://golang.org/cl/2520042
2010-10-14 17:15:45 -04:00
Russ Cox
14d2242fb9 syscall: fix arm networking
Suggested by fango (fan.howard@gmail.com)

R=r, r2
CC=golang-dev
https://golang.org/cl/2514041
2010-10-14 16:13:44 -04:00
Rob Pike
b6cd8f869d log: delete deprecated functionality
Fixes #1195.

R=rsc
CC=golang-dev
https://golang.org/cl/2504043
2010-10-14 12:50:36 -07:00
Russ Cox
9b15ad8c22 arm: adjust recover for new reflect.call
R=ken2
CC=golang-dev
https://golang.org/cl/2471043
2010-10-14 10:45:32 -04:00
Evan Shaw
df74d8df09 smtp: new package
R=rsc, iant, agl
CC=golang-dev
https://golang.org/cl/2052042
2010-10-13 22:07:28 -04:00
Rob Pike
52e3c99cfb bufio: bulletproof UnreadRune
After a fill(), there is nothing to back up.  Make sure UnreadRune
recognizes the situation.

Fixes #1137.
(Stops the crash, but doesn't make UnreadRune usable after a Peek()).

R=rsc
CC=golang-dev
https://golang.org/cl/2498041
2010-10-13 17:12:43 -07:00
Russ Cox
d6df301774 arm: enable 8 more packages
The remaining failures include:

* something about bit operations?
	crypto/block
	encoding/binary

* something about file I/O?
	archive/tar
	archive/zip
	debug/dwarf
	debug/elf
	debug/macho
	image/png

* floating point
	cmath
	expvar
	flag
	fmt
	gob
	json
	math
	strconv
	template
	xml

* network (maybe fixed by a pending CL)
	http
	netchan
	rpc
	rpc/jsonrpc
	syslog
	websocket

* line numbers
	log

* haven't bothered / not sure
	exp/datafmt
	exp/eval
	go/printer
	os
	os/signal
	testing/quick

R=ken2
CC=golang-dev
https://golang.org/cl/2496041
2010-10-13 18:16:44 -04:00