]> granicus.if.org Git - python/commit
Jim Fulton writes:
authorGuido van Rossum <guido@python.org>
Wed, 10 Dec 1997 23:40:18 +0000 (23:40 +0000)
committerGuido van Rossum <guido@python.org>
Wed, 10 Dec 1997 23:40:18 +0000 (23:40 +0000)
commitd1f4984a9bb2e90d4fc473be1a169917277efa4d
tree982f832ef006fbd566ff1807911b55e925e3e0dc
parent79f016a262bfc287e0a617a65290b0b71c8936c2
Jim Fulton writes:

The attached patch adds the following behavior to the handling
of REDUCE codes:

- A user-defined type may have a __reduce__ method that returns
  a string rather than a tuple, in which case the object is
  saved as a global object with a name given by the string returned
  by reduce.

  This was a feature added to cPickle a long time ago.

- User-defined types can now support unpickling without
  executing a constructor.

  The second value returned from '__reduce__' can now be None,
  rather than an argument tuple.  On unpickling, if the
  second value returned from '__reduce__' during pickling was
  None, then rather than calling the first value returned from
  '__reduce__', directly, the '__basicnew__' method of the
  first value returned from '__reduce__' is called without
  arguments.

I also got rid of a few of Chris' extra ()s, which he used
to make python ifs look like C ifs.
Lib/pickle.py