1. 03 Oct, 2014 1 commit
  2. 02 Oct, 2014 7 commits
    • Rob Pike's avatar
      fmt: make the %#v verb a special flag · 7c8e057a
      Rob Pike authored
      The %#v verb is special: it says all values below need to print as %#v.
      However, for some situations the # flag has other meanings and this
      causes some issues, particularly in how Formatters work. Since %#v
      dominates all formatting, translate it into actual state of the formatter
      and decouple it from the # flag itself within the calculations (although
      it must be restored when methods are doing the work.)
      The result is cleaner code and correct handling of # for Formatters.
      TODO: Apply the same thinking to the + flag in a followup CL.
      
      Also, the wasString return value in handleMethods is always false,
      so eliminate it.
      
      Update #8835
      
      LGTM=iant
      R=golang-codereviews, iant
      CC=golang-codereviews
      https://golang.org/cl/146650043
      7c8e057a
    • Robert Griesemer's avatar
      math/big: math.Exp should return result >= 0 for |m| > 0 · 28ddfb09
      Robert Griesemer authored
      The documentation states that Exp(x, y, m)
      computes x**y mod |m| for m != nil && m > 0.
      In math.big, Mod is the Euclidean modulus,
      which is always >= 0.
      
      Fixes #8822.
      
      LGTM=agl, r, rsc
      R=agl, r, rsc
      CC=golang-codereviews
      https://golang.org/cl/145650043
      28ddfb09
    • Robert Griesemer's avatar
      encoding/binary: fix error message · 1dba6eb4
      Robert Griesemer authored
      In the process, simplified internal sizeOf and
      dataSize functions. Minor positive impact on
      performance. Added test case.
      
      benchmark                         old ns/op     new ns/op     delta
      BenchmarkReadSlice1000Int32s      14006         14122         +0.83%
      BenchmarkReadStruct               2508          2447          -2.43%
      BenchmarkReadInts                 921           928           +0.76%
      BenchmarkWriteInts                2086          2081          -0.24%
      BenchmarkWriteSlice1000Int32s     13440         13497         +0.42%
      BenchmarkPutUvarint32             28.5          26.3          -7.72%
      BenchmarkPutUvarint64             81.3          76.7          -5.66%
      
      benchmark                         old MB/s     new MB/s     speedup
      BenchmarkReadSlice1000Int32s      285.58       283.24       0.99x
      BenchmarkReadStruct               27.90        28.60        1.03x
      BenchmarkReadInts                 32.57        32.31        0.99x
      BenchmarkWriteInts                14.38        14.41        1.00x
      BenchmarkWriteSlice1000Int32s     297.60       296.36       1.00x
      BenchmarkPutUvarint32             140.55       151.92       1.08x
      BenchmarkPutUvarint64             98.36        104.33       1.06x
      
      Fixes #6818.
      
      LGTM=r
      R=r
      CC=golang-codereviews
      https://golang.org/cl/149290045
      1dba6eb4
    • Mrunal Patel's avatar
      syscall: support UID/GID map files for Linux user namespaces · f9d7e139
      Mrunal Patel authored
      Fixes #8447.
      
      LGTM=iant
      R=golang-codereviews, bradfitz, iant
      CC=golang-codereviews
      https://golang.org/cl/126190043
      f9d7e139
    • Ian Lance Taylor's avatar
      A+C: add Mrunal Patel (Red Hat corporate CLA) · ea491c5f
      Ian Lance Taylor authored
      LGTM=bradfitz
      R=golang-codereviews, bradfitz
      CC=golang-codereviews
      https://golang.org/cl/152010043
      ea491c5f
    • Nicolas Owens's avatar
      syscall: fix Setenv for plan 9 · e9d5fca9
      Nicolas Owens authored
      envi needs to be updated during Setenv so the key can be correctly deleted later with Unsetenv.
      
      Update #8849.
      
      LGTM=0intro
      R=bradfitz, 0intro
      CC=golang-codereviews
      https://golang.org/cl/149300046
      e9d5fca9
    • Alex Brainman's avatar
      run.bat: comment text properly · 71446174
      Alex Brainman authored
      LGTM=bradfitz
      R=golang-codereviews, bradfitz
      CC=golang-codereviews
      https://golang.org/cl/153830044
      71446174
  3. 01 Oct, 2014 11 commits
  4. 30 Sep, 2014 21 commits
    • Andrew Gerrand's avatar
      doc: document go1.3.3 · 7210753f
      Andrew Gerrand authored
      LGTM=r
      R=r
      CC=golang-codereviews
      https://golang.org/cl/149280044
      7210753f
    • Paul van Brouwershaven's avatar
      x509: Fixed ASN.1 encoding in CRL Distribution Points extension · e7488b21
      Paul van Brouwershaven authored
      The ASN.1 encoding of the CRL Distribution Points extension showed an invalid false 'IsCompound' which caused a display problem in the Windows certificate viewer.
      
      LGTM=agl
      R=agl
      CC=golang-codereviews
      https://golang.org/cl/143320043
      e7488b21
    • Alan Donovan's avatar
      cmd/cgo: add missing ast.SliceExpr.Max case to AST traversal. · 74b8693c
      Alan Donovan authored
      + static test
      
      NB: there's a preexisting (dynamic) failure of test issue7978.go.
      
      LGTM=iant
      R=rsc, iant
      CC=golang-codereviews
      https://golang.org/cl/144650045
      74b8693c
    • Robert Griesemer's avatar
      go/format, cmd/gofmt: added missing comments, minor internal cleanup · 146713b6
      Robert Griesemer authored
      This is a minor cleanup following CL 142360043:
      
      The internal parse and format functions in both packages
      were almost identical - made them identical by adding an
      extra parameter, and documented them as identical.
      
      Eventually we should find a nice way to factor these functions
      out, but we cannot do this now while in prep for 1.4.
      
      No functionality change.
      
      LGTM=adonovan
      R=adonovan
      CC=golang-codereviews
      https://golang.org/cl/146520043
      146713b6
    • Brad Fitzpatrick's avatar
      net/http/httputil: ensure DumpRequestOut dumps all of Body · 4a532c66
      Brad Fitzpatrick authored
      Bodies larger than 8KB (the default bufio reader size) weren't
      being dumped.  Force a read of the body so they're teed into
      the response buffer.
      
      Thanks to Steven Hartland for identifying the problem.
      
      Fixes #8089
      
      LGTM=r
      R=golang-codereviews, r
      CC=adg, golang-codereviews
      https://golang.org/cl/144650044
      4a532c66
    • Adam Langley's avatar
      encoding/asn1: fix unmarshaling of implicitly tagged UTF-8 strings. · 1b89cd16
      Adam Langley authored
      Fixes #8541.
      
      LGTM=rsc
      R=rsc
      CC=golang-codereviews
      https://golang.org/cl/153770043
      1b89cd16
    • Robert Griesemer's avatar
      spec: clarify variable declaration type rules · 47094dcf
      Robert Griesemer authored
      Not a language change.
      
      Several inaccuracies were fixed:
      
      1) A variable declaration may declare more than just one
      variable.
      
      2) Variable initialization follows the rules of assignments,
      including n:1 assignments. The existing wording implied a 1:1
      or n:n rule and generally was somewhat unspecific.
      
      3) The rules for variable declarations with no types and
      untyped initialization expressions had minor holes (issue 8088).
      
      4) Clarified the special cases of assignments of untyped values
      (we don't just have untyped constants, but also untyped bools,
      e.g. from comparisons). The new wording is more direct.
      
      To that end, introduced the notion of an untyped constant's
      "default type" so that the same concept doesn't have to be
      repeatedly introduced.
      
      Fixes #8088.
      
      LGTM=iant, r, rsc
      R=r, rsc, iant, ken
      CC=golang-codereviews
      https://golang.org/cl/142320043
      47094dcf
    • Russ Cox's avatar
      cmd/go: sometimes name tmp test binary test.test.exe on Windows · c017a4e1
      Russ Cox authored
      Right now it is always pkgname.test.exe, but if pkgname is
      patch or install or setup or update, Windows thinks that
      running it will install new software, so it pops up a dialog
      box asking for more permission.
      Renaming the binary avoids the Windows security check.
      
      This only applies to the binary that the Go command writes
      to its temporary work directory. If the user runs 'go test -c'
      or any of the other ways to generate a test binary, it will
      continue to use pkgname.test.exe.
      
      Fixes #8711.
      
      LGTM=bradfitz
      R=golang-codereviews, r
      CC=alex.brainman, bradfitz, golang-codereviews, iant
      https://golang.org/cl/146580043
      c017a4e1
    • Russ Cox's avatar
      cmd/pprof: add Go implementation · 8b5221a5
      Russ Cox authored
      Update #8798
      
      This is a new implementation of pprof,
      written in Go instead of in Perl.
      It was written primarily by Raul Silvera and
      is in use for profiling programs of all languages
      inside Google.
      
      The internal structure is a bit package-heavy,
      but it matches the copy used inside Google, and
      since it is in an internal directory, we can make
      changes to it later if we need to.
      
      The only "new" file here is src/cmd/pprof/pprof.go,
      which stitches together the Google pprof and the
      Go command libraries for object file access.
      
      I am explicitly NOT interested in style or review
      comments on the rest of the files
      (that is, src/cmd/pprof/internal/...).
      Those are intended to stay as close to the Google
      copies as possible, like we did with the pprof Perl script.
      
      Still to do:
      
      - Basic tests.
      - Real command documentation.
      - Hook up disassemblers.
      
      LGTM=r
      R=r, bradfitz, alex.brainman, dave
      CC=golang-codereviews
      https://golang.org/cl/153750043
      8b5221a5
    • Russ Cox's avatar
      cmd/gc: fix call order in array literal of slice literal of make chan · 454d1b0e
      Russ Cox authored
      Fixes #8761.
      
      LGTM=iant
      R=golang-codereviews, iant
      CC=golang-codereviews, r
      https://golang.org/cl/144530045
      454d1b0e
    • Russ Cox's avatar
      compress/*: note that NewReader may introduce buffering · a6abe22e
      Russ Cox authored
      Fixes #8309.
      
      LGTM=r
      R=golang-codereviews, r
      CC=golang-codereviews, iant
      https://golang.org/cl/147380043
      a6abe22e
    • Russ Cox's avatar
      compress/zlib: mention that NewReaderDict can return ErrDictionary · 02395953
      Russ Cox authored
      Fixes #7935.
      
      LGTM=iant
      R=golang-codereviews, iant
      CC=golang-codereviews, ruiu
      https://golang.org/cl/147390043
      02395953
    • Russ Cox's avatar
      log/syslog: try /var/run/log, for FreeBSD · 5a1906dc
      Russ Cox authored
      Fixes #8449.
      
      LGTM=iant
      R=golang-codereviews, iant
      CC=bradfitz, golang-codereviews
      https://golang.org/cl/145600044
      5a1906dc
    • Russ Cox's avatar
      cmd/objdump: move armasm, x86asm into internal packages · c75f81f0
      Russ Cox authored
      For Go 1.3 these external packages were collapsed into
      large single-file implementations stored in the cmd/objdump
      directory.
      
      For Go 1.4 we want pprof to be able to link against them too,
      so move them into cmd/internal, where they can be shared.
      
      The new files are copied from the repo in the file path (rsc.io/...).
      Those repos were code reviewed during development
      (mainly by crawshaw and minux), because we knew the
      main repo would use them.
      
      Update #8798
      
      LGTM=bradfitz
      R=crawshaw, bradfitz
      CC=golang-codereviews
      https://golang.org/cl/153750044
      c75f81f0
    • Russ Cox's avatar
      CONTRIBUTORS: add Raul Silvera (Google CLA) · 7de0c315
      Russ Cox authored
      Raul wrote the pprof code in CL 153750043.
      
      LGTM=bradfitz, r
      R=r, bradfitz
      CC=golang-codereviews
      https://golang.org/cl/146450043
      7de0c315
    • Russ Cox's avatar
      regexp/syntax: reject large repetitions created by nesting small ones · 9b2b0c8c
      Russ Cox authored
      Fixes #7609.
      
      LGTM=r
      R=r
      CC=golang-codereviews
      https://golang.org/cl/150270043
      9b2b0c8c
    • Keith Randall's avatar
      runtime: fix scanning of gc work buffer · ac9218f5
      Keith Randall authored
      GC types were not being generated for the garbage collector
      work buffer.  The markfor object was being collected as a result.
      This broke amd64p32 and maybe plan9 builds.  Why it didn't break
      every build I'm not sure...
      
      Fixes #8812
      
      LGTM=0intro, rsc
      R=golang-codereviews, dave, khr, 0intro, rsc
      CC=golang-codereviews
      https://golang.org/cl/149260043
      ac9218f5
    • Dmitriy Vyukov's avatar
      runtime: fix throwsplit check · 12308d5a
      Dmitriy Vyukov authored
      Newstack runs on g0, g0->throwsplit is never set.
      
      LGTM=rsc
      R=rsc
      CC=golang-codereviews, khr
      https://golang.org/cl/147370043
      12308d5a
    • Keith Randall's avatar
      runtime: initialize traceback variables earlier · 70b2da98
      Keith Randall authored
      Our traceback code needs to know the PC of several special
      functions, including goexit, mcall, etc.  Make sure that
      these PCs are initialized before any traceback occurs.
      
      Fixes #8766
      
      LGTM=rsc
      R=golang-codereviews, rsc, khr, bradfitz
      CC=golang-codereviews
      https://golang.org/cl/145570043
      70b2da98
    • Brad Fitzpatrick's avatar
      net/http: make Transport.CloseIdleConnections also close pending dials · f13cec9f
      Brad Fitzpatrick authored
      See comment 4 of https://code.google.com/p/go/issues/detail?id=8483#c4:
      
      "So if a user creates a http.Client, issues a bunch of
      requests and then wants to shutdown it and all opened connections;
      what is she intended to do? The report suggests that just waiting for
      all pending requests and calling CloseIdleConnections won't do, as
      there can be new racing connections. Obviously she can't do what
      you've done in the test, as it uses the unexported function.  If this
      happens periodically, it can lead to serious resource leaks (the
      transport is also preserved alive).  Am I missing something?"
      
      This CL tracks the user's intention to close all idle
      connections (CloseIdleConnections sets it true; and making a
      new request sets it false). If a pending dial finishes and
      nobody wants it, before it's retained for a future caller, the
      "wantIdle" bool is checked and it's closed if the user has
      called CloseIdleConnections without a later call to make a new
      request.
      
      Fixes #8483
      
      LGTM=adg
      R=golang-codereviews, dvyukov, adg
      CC=golang-codereviews, rsc
      https://golang.org/cl/148970043
      f13cec9f
    • Dmitri Shuralyov's avatar
      go/format, cmd/gofmt: fix issues with partial Go code with indent · 912ec199
      Dmitri Shuralyov authored
      Fixes #5551.
      Fixes #4449.
      
      Adds tests for both issues.
      
      Note that the two issues occur only when formatting partial Go code
      with indent.
      
      The best way to understand the change is as follows: I took the code
      of cmd/gofmt and go/format, combined it into one unified code that
      does not suffer from either 4449 nor 5551, and then applied that code
      to both cmd/gofmt and go/format.
      
      As a result, there is now much more identical code between the two
      packages, making future code deduplication easier (it was not possible
      to do that now without adding public APIs, which I was advised not to
      do at this time).
      
      More specifically, I took the parse() of cmd/gofmt which correctly
      preserves comments (issue 5551) and modified it to fix issue where
      it would sometimes modify literal values (issue 4449).
      
      I ended up removing the matchSpace() function because it no longer
      needed to do some of its work (insert indent), and a part of its work
      had to be done in advance (determining the indentation of first code
      line), because that calculation is required for cfg.Fprint() to run.
      
      adjustIndent is used to adjust the indent of cfg.Fprint() to compensate
      for the body of wrapper func being indented by one level. This allows
      to get rid of the bytes.Replace text manipulation of inner content,
      which was problematic and sometimes altered raw string literals (issue
      4449). This means that sometimes the value of cfg.Indent is negative,
      but that works as expected.
      
      So now the algorithm for formatting partial Go code is:
      
      1. Determine and prepend leading space of original source.
      2. Determine and prepend indentation of first code line.
      3. Format and write partial Go code (with all of its leading &
         trailing space trimmed).
      4. Determine and append trailing space of original source.
      
      LGTM=gri
      R=golang-codereviews, bradfitz, gri
      CC=golang-codereviews
      https://golang.org/cl/142360043
      912ec199