summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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().
* Verify treatment of unary minus on negative numbers SF bug #660455.Guido van Rossum2003-01-281-0/+7
|
* Bump the version numberBarry Warsaw2003-01-281-1/+1
|
* Everything worked in both the distutils distro and in Python 2.3cvs,Barry Warsaw2003-01-2818-119/+213
| | | | so merge from the bsddb-bsddb3-schizo-branch back to the trunk.
* save_empty_tuple(): Comment on why we can't get rid of this.Tim Peters2003-01-281-0/+3
|
* save_dict(): Added a comment about the control flow NealN missed.Tim Peters2003-01-281-1/+2
|
* _is_string_secure(): This method is no longer used; removed it. (ItTim Peters2003-01-281-37/+0
| | | | was used before string-escape codecs were added to the core.)
* Made save() fit on a page, while adding comments. (I moved some typeGuido van Rossum2003-01-281-60/+69
| | | | | | checks to save_reduce(), which can also be called from a subclass.) Also tweaked some more comments.
* Got rid of the _quotes global. Used only once, and is trivial.Tim Peters2003-01-281-3/+1
|
* Use raw-mode docstring whenever there's an escape code in an example --Tim Peters2003-01-281-42/+42
| | | | they're easier to read this way.
* _dis_test should be a raw string now that it contains \x escapes.Guido van Rossum2003-01-281-1/+1
|
* dis(): Not all opcodes are printable anymore, so print the reprTim Peters2003-01-281-126/+150
| | | | | | | | | | of the opcode character instead (but stripping the quotes). Added a proto 2 test section for the canonical recursive-tuple case. Note that since pickle's save_tuple() takes different paths depending on tuple length now, beefier tests are really needed (but not in pickletools); the "short tuple" case tried here was actually broken yesterday, and it's subtle stuff so needs to be tested.
* Add a few comments. Change the way the protocol is checked (it mustGuido van Rossum2003-01-281-2/+8
| | | | | | | be one of 0, 1 or 2). I should note that the previous checkin also added NEWOBJ support to the unpickler -- but there's nothing yet that generates this.
* Rename all variables 'object' to 'obj' to avoid conflicts with theGuido van Rossum2003-01-281-112/+113
| | | | | type 'object'. Also minor docstring tweakage, and rearranged a few lines in save().
* Fix one disassembly output now that empty tuples are no longerGuido van Rossum2003-01-281-12/+11
| | | | | memoized in text mode. Fixed some variable names in the disassembler doctest.
* Don't memoize the empty tuple in protocol 0.Guido van Rossum2003-01-281-1/+2
|
* Update to the final version released as Expat 1.95.6 (maintainingFred Drake2003-01-281-78/+66
| | | | Martin's integration changes).
* save_tuple(): So long as the charter is rewriting for clarity, the snakyTim Peters2003-01-281-21/+20
| | | | control flow had to be simplified.
* save_tuple(): I believe the new code for TUPLE{1,2,3} in proto 2 wasTim Peters2003-01-281-2/+5
| | | | | incorrect for recursive tuples. Tried to repair; seems to work OK, but there are no checked-in tests for this yet.
* Comments.Tim Peters2003-01-281-1/+5
|
* Now that proto2 is defined, replaced XXX blocks with text about it.Tim Peters2003-01-281-175/+206
| | | | | Also moved the proto2 opcode descriptors into the sections they fit (like TUPLE{1,2,3} in the group of tuple-building opcodes; etc).
* OK, this is really the last one tonight!Guido van Rossum2003-01-282-1/+19
| | | | NEWFALSE and NEWTRUE.
* Shouldn't test short tuples with all items equal -- one potential bugGuido van Rossum2003-01-281-4/+4
| | | | | | | would be that the tuple is reversed on unpickling, and we should catch that. :-) Goodnight -- that's it for toniht!
* More protocol 2: TUPLE1, TUPLE2, TUPLE3.Guido van Rossum2003-01-282-11/+47
| | | | Also moved the special case for empty tuples from save() to save_tuple().
* Rename 'bin' arg to 'proto'. Keep the default at 0 lest the testsGuido van Rossum2003-01-281-4/+4
| | | | change in meaning.
* save_inst(): Rewrote to have only one branch on self.bin. Also got ridTim Peters2003-01-281-16/+9
| | | | | of my recent XXX comment, taking a (what appears to be vanishingly small) chance and calling self.memoize() instead.
* First baby steps towards implementing protocol 2: PROTO, LONG1 and LONG4.Guido van Rossum2003-01-282-1/+102
|
* Fixed odd whitespace after "if", which I believe I introduced long ago.Tim Peters2003-01-281-1/+1
|
* save_int(): Fixed two new off-by-1 glitches.Tim Peters2003-01-281-2/+2
|
* Add a comment explaining that struct.pack() beats marshal.dumps(), butGuido van Rossum2003-01-281-0/+3
| | | | | marshal.loads() beats struct.unpack()! Possibly because the latter creates a one-tuple. :-(
* Got rid of mdumps; I timed it, and struct.pack("<i", x) is more thanGuido van Rossum2003-01-281-30/+26
| | | | | 40% faster than marshal.dumps(x)[1:]! (That's not counting the module attribute lookups, which can be avoided in either case.)
* save_tuple(): Minor rewriting, and added a comment about the subtletyTim Peters2003-01-281-8/+13
| | | | created by recursive tuples.
* load_appends(): replaced .append() loop with an .extend().Tim Peters2003-01-281-3/+1
|
* Comments.Tim Peters2003-01-281-1/+9
|
* save_dict(): Untangled most of the bin-vs-not-bin logic. Also usedTim Peters2003-01-281-15/+14
| | | | | iteritems() instead of materializing a (possibly giant) list of the items.
* save_list(): Rewrote, to untangle the proto 0 from the proto 1 cases.Tim Peters2003-01-281-15/+17
| | | | The code is much easier to follow now, and I bet it's faster too.
* save_list(): removed unused local "d".Tim Peters2003-01-281-2/+0
|
* save_list(): removed unused local "memo".Tim Peters2003-01-281-1/+0
|
* save_pers(): Switched the order of cases, to get rid of a "not", and toTim Peters2003-01-281-3/+3
| | | | | make the bin-vs-not-bin order consistent with what other routines try to do (they almost all handle the bin case first).
* Several routines appeared to inline the guts of memoize(), possibly forTim Peters2003-01-281-12/+9
| | | | | | some notion of low-level efficiency. Undid that, but left one routine alone: save_inst() claims it has a reason for not using memoize(). I don't understand that comment, so added an XXX comment there.
* save(): Fiddled the control flow to put the normal case where itTim Peters2003-01-281-44/+47
| | | | | belongs. This is a much smaller change than it may appear: the bulk of the function merely got unindented by one level.
* Added XXX about save()'s special-casing of tuples -- I don't get it.Tim Peters2003-01-281-0/+1
|
* save_bool(): simplified.Tim Peters2003-01-281-4/+1
|
* Repaired grammar in new comment.Tim Peters2003-01-281-1/+1
|
* clear_memo(): Repaired grammar in docstring.Tim Peters2003-01-281-3/+3
|
* Added one-line comments to the proto 2 opcodes.Tim Peters2003-01-281-14/+14
|
* Use proper function name in exception messagesNeal Norwitz2003-01-281-2/+2
|