summaryrefslogtreecommitdiffstats
path: root/Lib
Commit message (Collapse)AuthorAgeFilesLines
* icon support by Robin Dunn, closes patch #678218Just van Rossum2003-02-011-1/+14
|
* There's no good reason for datetime objects to expose __getstate__()Tim Peters2003-02-011-12/+0
| | | | | | anymore either, so don't. This also allows to get rid of obscure code making __getnewargs__ identical to __getstate__ (hmm ... hope there wasn't more to this than I realize!).
* Neaten ref count test.Raymond Hettinger2003-02-011-1/+1
|
* Removed all uses of the out-of-favor __safe_for_unpickling__ magicTim Peters2003-02-012-5/+0
| | | | attr, and copy_reg.safe_constructors.
* Move itertools module from the sandbox and into production.Raymond Hettinger2003-02-011-0/+158
|
* Changed the tests to stop using __setstate__(). __setstate__() noTim Peters2003-01-311-65/+31
| | | | | | longer needs to be public, and shoudn't be public because all datetime objects are immutable. The Python implementation has changed accordingly, but still need to change the C implementation.
* Pass the preprocessor options also to the resource compilerThomas Heller2003-01-311-1/+1
| | | | | | when compiling .RC files. From Robin Dunn, fixes SF # 669198.
* Add extension management to __all__.Guido van Rossum2003-01-311-1/+2
|
* Change the default protocol back to 0.Guido van Rossum2003-01-311-8/+12
| | | | | Add a feature suggested by Tim: a negative protocol value means to use the largest protocol value supported.
* Another extension to reduce(). It can return a 4- or 5-tuple now.Guido van Rossum2003-01-311-67/+92
| | | | | | | | | | | | | | The 4th item can be None or an iterator yielding list items, which are used to append() or extend() the object. The 5th item can be None or an iterator yielding a dict's (key, value) pairs, which are stuffed into the object using __setitem__. Also (as a separate, though related, feature) add "batching" for list and dict items. If you pickled a dict or list with a million items in the past, it would push a million items onto the stack. It now pushes only 1000 items at a time on the stack, using repeated APPENDS or SETITEMS opcodes. (For lists, I hope that using many short extend() calls doesn't exhibit quadratic behavior.)
* Provide __module__ attributes for functions defined in C and Python.Jeremy Hylton2003-01-312-3/+10
| | | | | | | | | | | | | | __module__ is the string name of the module the function was defined in, just like __module__ of classes. In some cases, particularly for C functions, the __module__ may be None. Change PyCFunction_New() from a function to a macro, but keep an unused copy of the function around so that we don't change the binary API. Change pickle's save_global() to use whichmodule() if __module__ is None, but add the __module__ logic to whichmodule() since it might be used outside of pickle.
* I believe this fixesMichael W. Hudson2003-01-311-2/+3
| | | | | | [ 669692 ] pdb user_call breakage What an odd interface! I guess I should have read the docstring, though.
* Change the treatment of positions returned by PEP293Walter Dörwald2003-01-311-22/+74
| | | | | | | | | | | | | | | | error handers in the Unicode codecs: Negative positions are treated as being relative to the end of the input and out of bounds positions result in an IndexError. Also update the PEP and include an explanation of this in the documentation for codecs.register_error. Fixes a small bug in iconv_codecs: if the position from the callback is negative *add* it to the size instead of substracting it. From SF patch #677429.
* Pass the object to save_reduce(), so the memoize() call can go intoGuido van Rossum2003-01-311-3/+8
| | | | | save_reduce(), before the state is pickled. This makes it possible for an object to be referenced from its own (mutable) state.
* Add a magical feature to save_reduce so that __reduce__ can causeGuido van Rossum2003-01-311-4/+40
| | | | NEWOBJ to be generated.
* It's Official: for LONG1/LONG4, a "byte count" of 0 is taken as aTim Peters2003-01-312-9/+25
| | | | | shortcut meaning 0L. This allows LONG1 to encode 0L in two bytes total.
* Make StringIO its own iterator, similar to real files.Guido van Rossum2003-01-311-1/+9
| | | | (This should also be done to cStringIO.)
* M PyShell.pyKurt B. Kaiser2003-01-312-84/+42
| | | | | | | | | | M rpc.py SF Bug 676398 Doesn't handle non-built-in exceptions 1. Move exception formatting to the subprocess; allows subclassing of exceptions, including subclasses created in the shell without introducing excessive complexity in the RPC mechanism. 2. Provide access to linecache from subprocess to support this.
* Fix typoNeal Norwitz2003-01-311-1/+1
|
* Linear-time implementations of {encode,decode}_long.Tim Peters2003-01-311-19/+50
|
* typo in commentBarry Warsaw2003-01-311-1/+1
|
* Give people who run "pydoc re" a clue.Neil Schemenauer2003-01-311-1/+1
|
* Change the approach to pickling to use __reduce__ everywhere. MostGuido van Rossum2003-01-301-53/+49
| | | | | | | classes have a __reduce__ that returns (self.__class__, self.__getstate__()). tzinfo.__reduce__() is a bit smarter, calling __getinitargs__ and __getstate__ if they exist, and falling back to __dict__ if it exists and isn't empty.
* pickle.py has a few doctest'ed internal functions, so run their tests.Tim Peters2003-01-301-0/+1
|
* Check whether the choosen encoding requires byte swappingWalter Dörwald2003-01-301-10/+14
| | | | | | | | | | | | | | | for this iconv() implementation in the init function. For encoding: use a byteswapped version of the input if neccessary. For decoding: byteswap every piece returned by iconv() if neccessary (but not those pieces returned from the callback) Comment out test_sane() in the test script, because whether this works depends on whether byte swapping is neccessary or not (an on Py_UNICODE_SIZE)
* Updated the INST/OBJ docs, to say they really are (almost) identicalTim Peters2003-01-301-0/+6
| | | | in 2.3.
* load_inst(), load_obj(): Put the bulk of these into a common newTim Peters2003-01-301-26/+18
| | | | _instantiate() method.
* dis(): Simplified stack emulation a bit.Tim Peters2003-01-301-14/+16
|
* There was a subtle big in save_newobj(): it used self.save_global(t)Guido van Rossum2003-01-301-1/+2
| | | | | | | | | | | | | | | on the type instead of self.save(t). This defeated the purpose of NEWOBJ, because it didn't generate a BINGET opcode when t was already memoized; but moreover, it would generate multiple BINPUT opcodes for the same type! pickletools.dis() doesn't like this. How I found this? I was playing with picklesize.py in the datetime sandbox, and noticed that protocol 2 pickles for multiple objects were in fact larger than protocol 1 pickles! That was suspicious, so I decided to disassemble one of the pickles. This really needs a unit test, but I'm exhausted. I'll be late for work as it is. :-(
* Slight code rearrangement to avoid testing getstate twice.Guido van Rossum2003-01-301-22/+23
|
* In save_newobj(), if an object's __getnewargs__ and __getstate__ areGuido van Rossum2003-01-301-0/+23
| | | | | | | | | the same function, don't save the state or write a BUILD opcode. This is so that a type (e.g. datetime :-) can support protocol 2 using __getnewargs__ while also supporting protocol 0 and 1 using __getstate__. (Without this, the state would be pickled twice with protocol 2, unless __getstate__ is defined to return None, which breaks protocol 0 and 1.)
* SF patch 672098: Three __contains__ implementationsRaymond Hettinger2003-01-303-0/+7
| | | | Contributed by Jp Calderone.
* Use %c rather than chr() to turn some ints into chars.Guido van Rossum2003-01-291-2/+2
|
* dis(): This had a problem with proto 0 pickles, in that POP sometimesTim Peters2003-01-291-17/+113
| | | | | | | | | | popped a MARK, but without stack emulation the disassembler couldn't know that, and subsequent indentation got hosed. Now the disassembler does do enough stack emulation to catch this. While I was at it, also added lots of sanity checks for other stack operations, and correct use of the memo. This goes (I think) a long way toward being a "pickle verifier" now too.
* Implement appropriate __getnewargs__ for all immutable subclassable builtinGuido van Rossum2003-01-293-15/+61
| | | | | | | | types. The special handling for these can now be removed from save_newobj(). Add some testing for this. Also add support for setting the 'fast' flag on the Python Pickler class, which suppresses use of the memo.
* Only log a message and chmod() when the mode isn't already what weGuido van Rossum2003-01-291-3/+6
| | | | want it to be. Log both the old and new mode.
* - The mac-specific tests should also be run on darwin.Jack Jansen2003-01-291-1/+2
| | | | - Added test_aepack to the mac/darwin specific tests.
* minor grammar tweaksSkip Montanaro2003-01-291-5/+5
|
* Teach the parsermodule about floor division. FixesMichael W. Hudson2003-01-291-0/+5
| | | | | | [ 676521 ] parser module validation failure bugfix candidate.
* Moved aepack test code to the test suite.Jack Jansen2003-01-292-40/+84
|
* Some objects could have uninitialized attributes. Fixed.Jack Jansen2003-01-291-0/+2
|
* test_macfs found an error on the first day of its existence: round trips for ↵Jack Jansen2003-01-291-1/+5
| | | | date values to FSSpec.{Get,Set}Dates didn't work in MacPython-OS9. Fixed.
* Document the demise of all pretenses of safety, and the differenceGuido van Rossum2003-01-291-4/+17
| | | | | between cPickle and pickle.py regarding __safe_for_unpickling__ before Python 2.3.
* Declare Protocol 2 as implemented.Guido van Rossum2003-01-291-1/+1
|
* Support for extension codes. (By accident I checked in the tests first.)Guido van Rossum2003-01-292-8/+122
|
* Test all three EXT opcodes, and move these tests intoGuido van Rossum2003-01-291-0/+61
| | | | TempAbstractPickleTests, because they don't work with cPickle yet.
* Whitespace normalization.Tim Peters2003-01-2910-68/+68
|
* pickle: Comment repair.Tim Peters2003-01-292-27/+11
| | | | pickletools: Import decode_long from pickle instead of duplicating it.
* Expect test_macostools and test_macfs to get skipped wheneverTim Peters2003-01-291-24/+8
| | | | | sys.platform != mac. Likewise expect test_win{reg,sound} to get skipped on non-win32 platforms.
* Test aliases too.Jack Jansen2003-01-281-1/+20
|