Commit graph

133 commits

Author SHA1 Message Date
Rob Pike cf20540880 doc: improve the interface example in Effective Go
The String method is n-squared and overwrites its receiver.
Fix both issues, with only a slight loss of clarity.

Fixes #28773

Change-Id: I588f69d4cbd72931b28b984671512834473bd466
Reviewed-on: https://go-review.googlesource.com/c/151217
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2018-11-26 05:08:25 +00:00
unknown e9c57bea11 net/http,doc: use HTTP status code constants where applicable
There are a few places where the integer value is used.
Use the equivalent constants to aid with readability.

Change-Id: I023b1dbe605340544c056d0e0d9d6d5a7d7d0edc
GitHub-Last-Rev: c1c90bcd25
GitHub-Pull-Request: golang/go#24123
Reviewed-on: https://go-review.googlesource.com/96984
Reviewed-by: Andrew Bonventre <andybons@golang.org>
2018-02-26 05:04:31 +00:00
Hiroshi Ioka 03876af91c cmd/cgo: support niladic function-like macros
Currently, cgo supports only macros which can be reduced to constants
or variables. The CL addresses remaining parts, macros which can be
represented as niladic functions.

The basic idea is simple:
  1. make a thin wrapper function per macros.
  2. replace macro expansions with function calls.

Fixes #10715
Fixes #18720

Change-Id: I150b4fb48e9dc4cc34466ef6417c04ac93d4bc1a
Reviewed-on: https://go-review.googlesource.com/43970
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-08-30 18:28:58 +00:00
Dmitri Shuralyov d8264de868 all: spell "marshal" and "unmarshal" consistently
The tree is inconsistent about single l vs double l in those
words in documentation, test messages, and one error value text.

	$ git grep -E '[Mm]arshall(|s|er|ers|ed|ing)' | wc -l
	      42
	$ git grep -E '[Mm]arshal(|s|er|ers|ed|ing)' | wc -l
	    1694

Make it consistently a single l, per earlier decisions. This means
contributors won't be confused by misleading precedence, and it helps
consistency.

Change the spelling in one error value text in newRawAttributes of
crypto/x509 package to be consistent.

This change was generated with:

	perl -i -npe 's,([Mm]arshal)l(|s|er|ers|ed|ing),$1$2,' $(git grep -l -E '[Mm]arshall' | grep -v AUTHORS | grep -v CONTRIBUTORS)

Updates #12431.
Follows https://golang.org/cl/14150.

Change-Id: I85d28a2d7692862ccb02d6a09f5d18538b6049a2
Reviewed-on: https://go-review.googlesource.com/33017
Run-TryBot: Minux Ma <minux@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-11-12 00:13:35 +00:00
Andrew Gerrand b8efc006f2 all: remove executable bit from several files
Change-Id: Iab669b2a9dd0510c0e54f9ec1cbe2b83b991bceb
Reviewed-on: https://go-review.googlesource.com/14283
Reviewed-by: Minux Ma <minux@golang.org>
2015-09-04 02:59:49 +00:00
Aram Hăvărneanu 2d18ab75e6 doc/progs: disable cgo tests that use C.Stdout on Solaris
Solaris, like Windows, NetBSD and OpenBSD, uses macros for stdin, stdout,
and stderr. Cgo can't access them without getters/setters written in
C. Because of this we disable affected tests like for the other platforms.

Updates #10715.

Change-Id: I3d33a5554b5ba209273dbdff992925a38a281b42
Reviewed-on: https://go-review.googlesource.com/8264
Reviewed-by: Minux Ma <minux@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
2015-05-06 11:38:22 +00:00
Matthew Dempsky 198dcedad3 doc/progs: remove flaky timing-sensitive test
Package time already has enough inherently flaky tests covering its
behavior.  No need for more of them.

Fixes #10632.

Change-Id: I1229e9fcc2e28ba2c9b0b79f73638e35dbbe8bbf
Reviewed-on: https://go-review.googlesource.com/9517
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
2015-04-30 21:43:04 +00:00
Matthew Dempsky f06795d9b7 doc/progs: build test programs in temp directory
This avoids a race condition with go1.go wanting to examine files in
the current directory with filepath.Walk(".", walkFn).

Fixes #10497.

Change-Id: I2159f40a08d1a768195dbb7ea3c27e38cf9740bb
Reviewed-on: https://go-review.googlesource.com/9110
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-04-18 05:29:19 +00:00
Josh Bleecher Snyder 5451fff475 doc/progs: rewrite test driver in Go
The tests in doc/progs appear to have been originally written
for use with the old test driver. At some later point,
they acquired their own test driver.
Both ran tests in serial.

This CL rewrites the current test driver in Go,
runs tests concurrently, and cleans up
historical artifacts from the old drivers.

The primary motivation is to speed up all.bash.
On my laptop, using tip, this CL reduces doc/progs test
wall time from 26s to 7s. The savings will remain
even when the compiler gets faster. Using Go 1.4,
this CL reduces test wall time from 15s to 4s.

Change-Id: Iae945a8490222beee76e8a2118a0d7956092f543
Reviewed-on: https://go-review.googlesource.com/8410
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-04-07 00:41:59 +00:00
Ian Lance Taylor db3374e24d doc/progs: don't try building cgo tests if CGO_ENABLED=0
R=golang-dev, jsing, r
CC=golang-dev
https://golang.org/cl/14523056
2013-10-11 08:55:13 -07:00
Rob Pike c43cca7d92 doc/progs/slices.go: fix typo in comment
Fixes #6025.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/12387046
2013-08-05 13:35:42 +10:00
Shenghou Ma 022818c142 doc/articles: use C90 standard functions in the cgo article.
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/9953043
2013-06-04 01:40:53 +08:00
Rob Pike 9e329a0d16 effective_go.html: move and rework the blank identifier section
Also rename the relevant examples and make sure the working one compiles.

R=golang-dev, bradfitz, adg, iant, rsc
CC=golang-dev
https://golang.org/cl/7597043
2013-03-08 10:41:20 -08:00
Shenghou Ma fe51d09bbe doc/articles/error_handling: no more os.Error
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/7304053
2013-02-06 18:32:54 +08:00
Russ Cox f8284b64ce doc/effective_go.html: add a section about the blank identifier
R=golang-dev, minux.ma, bradfitz, adg
CC=golang-dev
https://golang.org/cl/7134056
2013-01-22 14:00:10 -05:00
Russ Cox 04098d88fa cmd/gc: make forward declaration in pure Go package an error
An error during the compilation can be more precise
than an error at link time.

For 'func init', the error happens always: you can't forward
declare an init func because the name gets mangled.

For other funcs, the error happens only with the special
(and never used by hand) -= flag, which tells 6g the
package is pure go.

The go command now passes -= for pure Go packages.

Fixes #3705.

R=ken2
CC=golang-dev
https://golang.org/cl/6996054
2012-12-22 16:46:46 -05:00
Joel Sing 708db79011 cgo: enable cgo on openbsd
Enable cgo on OpenBSD.

The OpenBSD ld.so(1) does not currently support PT_TLS sections. Work
around this by fixing up the TCB that has been provided by librthread
and reallocating a TCB with additional space for TLS. Also provide a
wrapper for pthread_create, allowing zeroed TLS to be allocated for
threads created externally to Go.

Joint work with Shenghou Ma (minux).

Requires change 6846064.

Fixes #3205.

R=golang-dev, minux.ma, iant, rsc, iant
CC=golang-dev
https://golang.org/cl/6853059
2012-12-21 01:43:19 +11:00
Rob Pike f3fc0090f4 effective_go: use html/template instead of text/template
Should have done this a long time ago.
Fixes #3811.

R=golang-dev, adg, rsc
CC=golang-dev
https://golang.org/cl/6488120
2012-09-13 13:41:13 -07:00
Shenghou Ma 5b7562dd6f doc/progs: use test/run.go for testing on Windows
cgo[1-4].go, go1.go couldn't be tested now
(cgo[1-4].go can only be tested when cgo is enabled, go1.go
contain a list of filenames in the current directory)

R=golang-dev, alex.brainman, rsc
CC=golang-dev
https://golang.org/cl/6218048
2012-09-03 03:49:03 +08:00
Joel Sing 5131deeeb2 cgo: enable cgo on netbsd/386 and netbsd/amd64
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6261056
2012-06-05 01:43:04 +10:00
Nigel Tao b28431ec8e doc: simplify the image_draw article example for converting an image to
RGBA.

R=adg, r, bsiegert
CC=golang-dev
https://golang.org/cl/6119054
2012-04-26 17:39:04 +10:00
Francisco Souza 18f1a71dc2 doc: added The Go image package article
Orignally published on The Go Programming Language, September 21, 2011.

http://blog.golang.org/2011/09/go-image-package.html

Update #2547

R=adg, nigeltao
CC=golang-dev
https://golang.org/cl/5933049
2012-03-28 14:20:51 +11:00
Rob Pike 4074795e15 effective_go: cleanups and fixes
Also explain the situation with recursive String methods more accurately,
and clean up the code now that the fmt package is more careful.

R=golang-dev, minux.ma, bradfitz
CC=golang-dev
https://golang.org/cl/5907047
2012-03-25 11:34:51 +11:00
Rob Pike fc9f65a6a0 doc/articles/image_draw.html: fix circle example
It was showing the same snippet twice instead of the type definition and snippet.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/5875045
2012-03-23 17:02:21 +11:00
Rob Pike a99e9c5db5 doc/articles: rename concurrency patterns article
The old name, automatically generated, was ludicrously verbose.
Also clean up an example to use time.Second.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5876051
2012-03-23 07:51:16 +11:00
Francisco Souza 289a357104 doc: add JSON and Go article
Originally published on The Go Programming Language Blog, January 25, 2011.

http://blog.golang.org/2011/01/json-and-go.html

R=adg
CC=golang-dev
https://golang.org/cl/5846044
2012-03-22 18:25:40 +11:00
Francisco Souza 2b3d6cb5e6 doc: fix typo in The Laws of Reflection article
R=golang-dev, gri, r
CC=golang-dev
https://golang.org/cl/5876047
2012-03-21 16:42:04 -07:00
Shenghou Ma d05b386928 doc: update format for "C? Go? Cgo!" article
R=adg
CC=golang-dev
https://golang.org/cl/5841050
2012-03-19 22:54:06 +08:00
Francisco Souza 9e03dcb3fa doc: add Gobs of data article
Originally published on The Go Programming Language Blog, March 24, 2011.

http://blog.golang.org/2011/03/gobs-of-data.html

R=adg
CC=golang-dev
https://golang.org/cl/5834043
2012-03-16 08:21:13 +11:00
Francisco Souza 5659826e43 doc: add Go Concurrency Patterns: Timing out, moving on article
Originally published on The Go Programming Language Blog, September 23, 2010.

http://blog.golang.org/2010/09/go-concurrency-patterns-timing-out-and.html

Update #2547.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5815044
2012-03-14 13:03:11 +11:00
Johan Euphrosine fef92cbbac doc: add Go image/draw package article and convert code snippets to Go1.
Originally published on The Go Programming Language Blog, September 29, 2011.

http://blog.golang.org/2011/09/go-imagedraw-package.html

Update #2547.

R=golang-dev, adg, rsc
CC=golang-dev
https://golang.org/cl/5755057
2012-03-14 11:27:41 +11:00
Andrew Gerrand d2d7de974c doc/progs: skip cgo1 and cgo2 on freebsd
FreeBSD's srandom has a different signature to darwin/linux.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5795067
2012-03-13 11:55:16 +11:00
Francisco Souza 60b98d6208 doc: add C? Go? Cgo! article
Originally published on The Go Programming Language Blog, March 17, 2011.

http://blog.golang.org/2011/03/c-go-cgo.html

Update #2547.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5777054
2012-03-13 09:07:37 +11:00
Johan Euphrosine 26dc17ce78 doc: fix typos in laws_of_reflection article, add copyright notice.
Update #2547.

R=golang-dev, minux.ma, r, r, adg
CC=golang-dev
https://golang.org/cl/5755051
2012-03-07 11:24:00 +11:00
Shenghou Ma efbd79ce5a doc: remove unsued progs and makehtml script, update progs/run
Due to removal of go_tutorial, unused programs are removed.
        makehtml is unnecessary (it also gives wrong messages when
        the destination file doesn't exist)
        progs/run now compiles all remaining programs under doc/progs.
        Fixes #3076 (again)

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5755053
2012-03-07 08:05:10 +11:00
Rob Pike f5a1dd888d doc/progs: update for go 1
Fixes #3076.

R=golang-dev, dsymonds, r
CC=golang-dev
https://golang.org/cl/5727056
2012-03-05 12:49:31 +11:00
Johan Euphrosine 6652b0b866 doc: add The Laws of Reflection article
Originally published on The Go Programming Language Blog, September 6, 2011.

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

Update #2547

R=golang-dev, r, adg
CC=golang-dev
https://golang.org/cl/5689054
2012-03-01 10:05:51 +11:00
Rob Pike 7201b0c27c tutorial: delete
Instead we'll point people at the Tour and beef up code.html.

Fixes #3107.

R=golang-dev, bradfitz, r, adg
CC=golang-dev
https://golang.org/cl/5697077
2012-02-28 13:35:58 +11:00
Mike Rosset 91672686da doc: provide example filepath.Walk for go1
R=golang-dev, r, r
CC=golang-dev
https://golang.org/cl/5674067
2012-02-17 12:45:55 +11:00
Rob Pike 56069f0333 os: delete os.EINVAL and so on
The set of errors forwarded by the os package varied with system and
was therefore non-portable.
Three helpers added for portable error checking: IsExist, IsNotExist, and IsPermission.
One or two more may need to come, but let's keep the set very small to discourage
thinking about errors that way.

R=mikioh.mikioh, gustavo, r, rsc
CC=golang-dev
https://golang.org/cl/5672047
2012-02-17 10:04:29 +11:00
Olivier Duperray 9d47526585 doc/progs: Add the usual Copyright notice.
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5568043
2012-01-23 11:19:48 +11:00
Rob Pike 531ded922f doc/go1: flag, runtime, testing
R=golang-dev, dsymonds, gri
CC=golang-dev
https://golang.org/cl/5557076
2012-01-20 15:38:03 -08:00
Brad Fitzpatrick 630c838886 build: don't use a fixed filename in temp
Fixes #2688

R=golang-dev, gri, rsc
CC=golang-dev
https://golang.org/cl/5539050
2012-01-12 14:45:32 -08:00
Shenghou Ma cd54e44b50 doc: trivial comment typo fix
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5529080
2012-01-12 07:55:23 -08:00
Andrew Gerrand 468e692e38 doc: only trim newlines in tmpltohtml, gofmt progs
R=golang-dev, r, r
CC=golang-dev
https://golang.org/cl/5530048
2012-01-09 20:05:34 +11:00
Andrew Gerrand 9443949207 doc: add Slices: usage and internals article
Originally published on the Go blog on 5 Jan 2011:
http://blog.golang.org/2011/01/go-slices-usage-and-internals.html

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5516046
2012-01-06 09:21:43 +11:00
Andrew Gerrand 8f1cb093ff doc/progs: test defer programs
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/5517044
2012-01-05 16:43:02 +11:00
Rob Pike ba9cb9dcf7 doc/progs/run: go1 prints output; fix test
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5502060
2011-12-21 12:06:20 -08:00
Rob Pike 5fa18e1061 doc/go1: time
R=rsc
CC=golang-dev
https://golang.org/cl/5477077
2011-12-12 21:08:03 -08:00
Andrew Gerrand c400a0b7db doc: add Error Handling article
Originally published on The Go Programming Language Blog, July 12, 2011.

http://blog.golang.org/2011/07/error-handling-and-go.html

Update #2547

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5475060
2011-12-13 09:44:06 +11:00