crypto/cipher: add examples

Fixes issue 1390.

R=golang-dev, minux.ma, adg, agl
CC=golang-dev
http://codereview.appspot.com/6631044
spec: slight wording change to remove a formal contradiction

Fixes issue 4324.

R=r
CC=golang-dev
http://codereview.appspot.com/6822062
A+C: adding Dan Callahan (individual CLA)

R=golang-dev, bradfitz
CC=golang-dev
http://codereview.appspot.com/6815062
encoding/json: clarify correct usage of struct tags in associated article.

Fixes issue 4297.

R=golang-dev, gri
CC=golang-dev
http://codereview.appspot.com/6817045

Committer: Robert Griesemer <gri@golang.org>
image/png: degrade gracefully for palette index values that aren't
defined by the PLTE chunk. Such pixels decode to opaque black,
which matches what libpng does.

Fixes issue 4319.

On my reading, the PNG spec isn't clear whether palette index values
outside of those defined by the PLTE chunk is an error, and if not,
what to do.


Libpng 1.5.3 falls back to opaque black. png_set_PLTE says:

/* Changed in libpng-1.2.1 to allocate PNG_MAX_PALETTE_LENGTH instead
 * of num_palette entries, in case of an invalid PNG file that has
 * too-large sample values.
 */
png_ptr->palette = (png_colorp)png_calloc(png_ptr,
        PNG_MAX_PALETTE_LENGTH * png_sizeof(png_color));


ImageMagick 6.5.7 returns an error:

$ convert -version
Version: ImageMagick 6.5.7-8 2012-08-17 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC
Features: OpenMP
$ convert packetloss.png x.bmp
convert: Invalid colormap index `packetloss.png' @ image.c/SyncImage/3849.

R=r
CC=golang-dev
http://codereview.appspot.com/6822065
all: clear execute bit

R=golang-dev, r
CC=golang-dev
http://codereview.appspot.com/6826044
run.bat: make output consistent

R=golang-dev, minux.ma
CC=golang-dev
http://codereview.appspot.com/6811059
cmd/5g, cmd/6g, cmd/8g: remove width check for componentgen.

The move to 64-bit ints in 6g made componentgen ineffective.
In componentgen, the code already selects which values it can handle.

On amd64:
benchmark                 old ns/op    new ns/op    delta
BenchmarkBinaryTree17    9477970000   9582314000   +1.10%
BenchmarkFannkuch11      5928750000   5255080000  -11.36%
BenchmarkGobDecode         37103040     31451120  -15.23%
BenchmarkGobEncode         16042490     16844730   +5.00%
BenchmarkGzip             811337400    741373600   -8.62%
BenchmarkGunzip           197928700    192844500   -2.57%
BenchmarkJSONEncode       224164100    140064200  -37.52%
BenchmarkJSONDecode       258346800    231829000  -10.26%
BenchmarkMandelbrot200      7561780      7601615   +0.53%
BenchmarkParse             12970340     11624360  -10.38%
BenchmarkRevcomp         1969917000   1699137000  -13.75%
BenchmarkTemplate         296182000    263117400  -11.16%

R=nigeltao, dave, daniel.morsing
CC=golang-dev
http://codereview.appspot.com/6821052
website: remove floating topbar

This caused more problems than it was worth.

Fixes issue 4301.
Fixes issue 4317.

R=golang-dev, minux.ma, rsc
CC=golang-dev
http://codereview.appspot.com/6818076
cmd/gc: avoid %#x of 0

Plan 9 and Go's lib9/fmt disagree on whether %#x includes the 0x prefix
when printing 0, because ANSI C gave bad advice long ago.

Avoiding that case makes binaries compiled on different systems compatible.

R=ken2
CC=akumar, golang-dev
http://codereview.appspot.com/6814066
runtime: add memorydump() debugging function

R=golang-dev
CC=golang-dev, remyoudompheng, rsc
http://codereview.appspot.com/6780059

Committer: Russ Cox <rsc@golang.org>
net: fix a bad cast in dnsmsg.go

Incorrect cast was causing panics when
calling String() on dnsMsg with dnsRR_A
answers.

R=golang-dev, dave, rsc
CC=golang-dev
http://codereview.appspot.com/6818043

Committer: Russ Cox <rsc@golang.org>
runtime: move Itab to runtime.h

The 'type' field of Itab will be used by the garbage collector.

R=rsc
CC=golang-dev
http://codereview.appspot.com/6815059

Committer: Russ Cox <rsc@golang.org>
spec: clarify returns, defer statements, and panics

This is an attempt at making the interaction between
these three constructs clearer. Specifically:

- return statements terminate a function, execute deferred
  functions, return to the caller, and then execution
  continues after the call

- panic calls terminate a function, execute deferred
  functions, return to the caller, and then re-panic

- deferred functions are executed before a function _returns_
  to its caller

The hope is that with this change it becomes clear when a
deferred function is executed (when a function returns),
and when it is not (when a program exits).

R=r, rsc, iant, ken, iant
CC=golang-dev
http://codereview.appspot.com/6736071
cmd/gc: do simple bounds checking of constant indices/slices in typecheck.

This should make the compiler emit errors specific to the bounds checking instead of overflow errors on the underlying types.

Updates issue 4232.

R=rsc
CC=golang-dev
http://codereview.appspot.com/6783054
compress/flate: shrink decompressor struct for better performance

Helps with issue 2703.

R=dave, minux.ma, rsc
CC=golang-dev
http://codereview.appspot.com/5536078

Committer: Russ Cox <rsc@golang.org>
cmd/gc: fix inlining bug with local variables.

Fixes issue 4323.

R=rsc, lvd, golang-dev
CC=golang-dev
http://codereview.appspot.com/6815061
run.bash: add sanity test for race detector

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6612064
cmd/gc: fix incomplete export data when inlining with local variables.

When local declarations needed unexported types, these could
be missing in the export data.

Fixes build with -gcflags -lll, except for exp/gotype.

R=golang-dev, rsc, lvd
CC=golang-dev
http://codereview.appspot.com/6813067
cmd/gc: racewalk: fix instrumentation of ninit lists
The idea is to (1) process ninit of all nodes,
and (2) put instrumentation of ninit into the nodes themselves (not the top-level statement ninit).
Fixes issue 4304.

R=golang-dev, rsc
CC=golang-dev, lvd
http://codereview.appspot.com/6818049