summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* dis(): Simplified stack emulation a bit.Tim Peters2003-01-301-14/+16
|
* I was in this module anyway, so I did some janitorial things.Michael W. Hudson2003-01-301-17/+14
| | | | | | | | METH_NOARGS functions are still called with two arguments, one NULL, so put that back into the function definitions (I didn't know this until recently). Make get_history_length() METH_NOARGS.
* Add the get_completer() function based on Michael Stone's patch inMichael W. Hudson2003-01-301-0/+17
| | | | | | [ 676342 ] after using pdb readline does not work correctly which is required to fix that bug. So maaybe a bugfix candidate.
* 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.)
* Author markup: Andrew got to it firstRaymond Hettinger2003-01-301-1/+0
|
* SF patch 672098: Three __contains__ implementationsRaymond Hettinger2003-01-303-0/+7
| | | | Contributed by Jp Calderone.
* Fix [ 583477 ] wrong dest size.Mark Hammond2003-01-291-1/+1
| | | | | Note this code is not used by the core on Win32, but in a block used only by Windows CE.
* 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-2910-19/+133
| | | | | | | | 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-292-0/+7
| | | | | | [ 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.
* Make the footer at the end of a \verbatiminput stand out a littleFred Drake2003-01-291-0/+4
| | | | more, to make it easier to tell apart from the verbatim content.
* Move a footnote to the end of the sentence, so the note mark won'tFred Drake2003-01-291-3/+4
| | | | interfere with the flow of the sentence.
* Whitespace normalization.Tim Peters2003-01-2911-98/+98
|
* pickle: Comment repair.Tim Peters2003-01-292-27/+11
| | | | pickletools: Import decode_long from pickle instead of duplicating it.
* Updated info about test_bsddb3 failures.Tim Peters2003-01-291-0/+4
|
* 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
|
* Converted to not use macfs whenever possible.Jack Jansen2003-01-282-129/+132
|
* Added a missing INCREF in pathname().Jack Jansen2003-01-282-2/+6
|
* Temporary hacks to arrange that the pickle tests relying on protocol 2Tim Peters2003-01-282-3/+13
| | | | | | only get run by test_pickle.py now (& not by test_cpickle.py). This should be undone when protocol 2 is implemented in cPickle too. test_cpickle should pass again.
* Add a comment about how some built-in types should grow aGuido van Rossum2003-01-281-1/+3
| | | | __getnewargs__ method.
* Get rid of __safe_for_unpickling__ and safe_constructors.Guido van Rossum2003-01-281-28/+12
| | | | Also tidied up a few lines, got rid of apply(), added a comment.
* Renamed "bin" arguments to "proto". Note that this test currentlyTim Peters2003-01-281-6/+6
| | | | fails, for reasons unrelated to this patch.
* More markup changes for consistency.Fred Drake2003-01-281-14/+14
|
* Various minor markup adjustments.Fred Drake2003-01-281-16/+25
|
* Add a test for a list subclass with a __dict__ as well as slots.Guido van Rossum2003-01-281-0/+17
|
* Instead of bad hacks trying to worm around the inheritedGuido van Rossum2003-01-281-37/+79
| | | | | | | | | | | | | object.__reduce__, do a getattr() on the class so we can explicitly test for it. The reduce()-calling code becomes a bit more regular as a result. Also add support slots: if an object has slots, the default state is (dict, slots) where dict is the __dict__ or None, and slots is a dict mapping slot names to slot values. We do a best-effort approach to find slot names, assuming the __slots__ fields of classes aren't modified after class definition time to misrepresent the actual list of slots defined by a class.
* Added missing dependency.Fred Drake2003-01-281-0/+1
|
* Install "python$(VERSION)" into /usr/local as the symlink to the framework,Jack Jansen2003-01-281-2/+4
| | | | | and also create a symlink "python" pointing to "python$(VERSION)". Fixes #675745.
* Don't import Nav. It isn't needed, and importing it doesn't work in aJack Jansen2003-01-281-1/+0
| | | | non-windowing Python.
* Finally created the first two tests for MacPython modules: macfs andJack Jansen2003-01-282-0/+138
| | | | macostools.
* Comment out a test that was anticipating SF patch 661536 -- but thatGuido van Rossum2003-01-281-6/+6
| | | | isn't checked in yet. :-(
* Added new private API function _PyLong_NumBits. This will be used at theTim Peters2003-01-283-2/+85
| | | | | | | start for the C implemention of new pickle LONG1 and LONG4 opcodes (the linear-time way to pickle a long is to call _PyLong_AsByteArray, but the caller has no idea how big an array to allocate, and correct calculation is a bit subtle).
* The default __reduce__ on the base object type obscured anyGuido van Rossum2003-01-282-30/+53
| | | | | | possibility of calling save_reduce(). Add a special hack for this. The tests for this are much simpler now (no __getstate__ or __getnewargs__ needed).
* Fix SF bug# 676155, RuntimeWarning with tp_compareNeal Norwitz2003-01-284-3/+13
| | | | Check return value of PyLong_AsDouble(), it can return an error.
* Move the NEWOBJ-generating code to a separate function, and invoke itGuido van Rossum2003-01-281-24/+28
| | | | after checking for __reduce__.
* Some experimental support for generating NEWOBJ with proto=2, andGuido van Rossum2003-01-282-2/+70
| | | | fixed a bug in load_newobj().