1. 30 Aug, 2018 1 commit
  2. 21 Feb, 2018 1 commit
  3. 03 Feb, 2018 1 commit
    • Roger Peppe's avatar
      simpler, more robust bypass · 87df7c60
      Roger Peppe authored
      We make the bypass implementation a little simpler
      by inferring the flag field position from available
      reflect information and more robust by checking
      that the flags that are set actually match the
      semantics we expect.
      
      We can restrict the use of unsafe to a single function: flagField.
      87df7c60
  4. 21 Jan, 2018 1 commit
  5. 05 Oct, 2017 1 commit
    • Kevin Burke's avatar
      Add Go tip to coverage matrix · ecdeabc6
      Kevin Burke authored
      Also make this project compatible with running Travis CI on
      forks - the go_import_path directive tells Travis to clone to
      $GOPATH/src/github.com/davecgh/go-spew even if the remote user is
      different.
      ecdeabc6
  6. 03 Oct, 2017 1 commit
  7. 29 Aug, 2017 1 commit
  8. 11 Jul, 2017 5 commits
  9. 26 Jun, 2017 1 commit
  10. 29 Oct, 2016 5 commits
  11. 28 Oct, 2016 1 commit
    • Alexander Staubo's avatar
      Adds new config options: · 04cdfd42
      Alexander Staubo authored
      DisablePointerAddresses: Specifies whether to disable the printing of
      pointer addresses.
      
      DisableCapacities specifies whether to disable the printing of capacities
      for arrays, slices, maps and channels.
      
      These are useful when diffing data structures in tests. Printing pointers
      and capacities would otherwise lead to false negatives.
      04cdfd42
  12. 07 Sep, 2016 2 commits
    • Dave Collins's avatar
      Deprecate "disableunsafe" tag in favor of "safe". · 6d212800
      Dave Collins authored
      This adds a new build tag named "safe" which serves the exact same
      purpose as the current "disableunsafe" tag.  This is being done, as
      recommended by @shurcooL, since it is emerging as the standard way to do
      it in several high profile packages, it mirrors the "unsafe" package
      nicely, it is shorter, and users generally seem to prefer it.
      
      However, to avoid breaking existing infrastructure, the disableunsafe
      tag is still available and simply is being deprecated.
      6d212800
    • Jonathan Hall's avatar
      Disable unsafe for GopherJS compiler. · 66f99a29
      Jonathan Hall authored
      * Disable unsafe for GopherJS compiler.
      * Update comments to reflect GopherJS build constraints
      66f99a29
  13. 02 Sep, 2016 1 commit
  14. 16 Aug, 2016 2 commits
  15. 05 Nov, 2015 1 commit
    • Dave Collins's avatar
      Add logic to deal with reflect pkg changes on tip. · 5215b55f
      Dave Collins authored
      This commit adds logic to gracefully the internal reflect.Value flag bit
      changes as of golang commit adf9b30e5594 while maintaining support all
      the back to Go 1.0.
      
      It accomplishes this by adding code to the init time inspection to
      detect the change and set the flag positions accordingly.
      
      While here, also removes a TODO comment since it was already done
      previously.
      5215b55f
  16. 19 Jun, 2015 1 commit
    • Dave Collins's avatar
      Add support for limited mode without unsafe pkg. · 2df17480
      Dave Collins authored
      This commit adds support for compiling spew without the unsafe package.
      When compiled without the unsafe package, some of the more advanced
      features such as invoking stringers on pointers from non-pointer
      variables and unexported struct fields are not available.
      
      By default, spew will be compiled in the limited mode for Google App
      Engine since the unsafe package is not available there.  Additionally,
      spew can be compiled without the unsafe package manually by specifying
      the "disableunsafe" build tag.
      
      Finally, a new package-level constant named "UnsafeDisabled" has been
      exposed which can be used to programmatically determine if spew was
      compiled with access to the unsafe package.
      2df17480
  17. 25 May, 2015 1 commit
  18. 17 May, 2015 1 commit
  19. 04 May, 2015 1 commit
  20. 10 Apr, 2015 1 commit
    • Tim Hockin's avatar
      Enable methods to sort map keys and spew itself as last resort · 3e6e67c4
      Tim Hockin authored
      If enabled by flags, try to use methods to stringify map keys and sort on that.
      
      If we can't use primitive sorting and we can't use methods, we can still fall
      back on spew itself.  If SpewKeys is enabled, use Sprintf("%#v") to generate a
      string and sort by that.
      3e6e67c4
  21. 23 Feb, 2015 2 commits
  22. 19 Jan, 2015 1 commit
  23. 16 Nov, 2014 1 commit
    • Dave Collins's avatar
      Improve unsafe reflect value handling. · 83f84dc9
      Dave Collins authored
      This commit modifies the unsafeReflectValue function to recognize
      reference types even when the indirection flag is not set for the series
      of golang commits after ecccf07e7f9d and before 82f48826c6c7 which
      introduced the additional scalar field in the reflect.Value struct.  That
      additional field has since been removed, but the intention of this code is
      to work properly across all Go versions and other packages make use of the
      logic.
      
      Thanks to @shurcooL for providing example code which wasn't working
      properly with the function when it was exported and therefore being called
      in ways which spew itself does not.
      83f84dc9
  24. 24 Oct, 2014 1 commit
    • Dave Collins's avatar
      Add logic to deal with reflect pkg changes on tip. · 12885424
      Dave Collins authored
      This commit adds logic to gracefully handle the new internal reflect.Value
      structure on tip as of golang commit 82f48826c6c7 as well as the internal
      reflect.Value flag bit changes as of golang commit 90a7c3c86944.
      
      It accomplishes this by doing some inspection at init time and choosing
      the appropriate offsets and flag positions accordingly.  There was some
      previous logic which dealt with a similar issue for golang commit
      ecccf07e7f9d.  However, since the more recent commits essentially reverted
      the change and also modify the flag bit positions, it made more sense to
      rework the detection logic.  In particular, the new logic examines the
      size of the reflect.Value struct to determine the difference and extracts
      the kind from the flags to determine if the flags have been changed.
      
      As a result, this commit allows spew to work properly with tip all the
      back to Go 1.0.
      12885424
  25. 06 May, 2014 1 commit
  26. 27 Mar, 2014 4 commits