Tim Peters
2c60f7a136
Whitespace normalization.
2003-01-29 03:49:43 +00:00
Tim Peters
c0c12b5707
pickle: Comment repair.
...
pickletools: Import decode_long from pickle instead of duplicating it.
2003-01-29 00:56:17 +00:00
Tim Peters
ecd79eb7db
Expect test_macostools and test_macfs to get skipped whenever
...
sys.platform != mac. Likewise expect test_win{reg,sound} to get skipped
on non-win32 platforms.
2003-01-29 00:35:32 +00:00
Jack Jansen
addc5859db
Test aliases too.
2003-01-28 23:54:05 +00:00
Jack Jansen
2b88dec606
Converted to not use macfs whenever possible.
2003-01-28 23:53:40 +00:00
Tim Peters
47a6b13988
Temporary hacks to arrange that the pickle tests relying on protocol 2
...
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.
2003-01-28 22:34:11 +00:00
Guido van Rossum
4e2491dbb1
Add a comment about how some built-in types should grow a
...
__getnewargs__ method.
2003-01-28 22:31:25 +00:00
Guido van Rossum
b26a97aa50
Get rid of __safe_for_unpickling__ and safe_constructors.
...
Also tidied up a few lines, got rid of apply(), added a comment.
2003-01-28 22:29:13 +00:00
Tim Peters
dcaa24e503
Renamed "bin" arguments to "proto". Note that this test currently
...
fails, for reasons unrelated to this patch.
2003-01-28 22:26:28 +00:00
Guido van Rossum
c8d6ef5cd6
Add a test for a list subclass with a __dict__ as well as slots.
2003-01-28 22:02:31 +00:00
Guido van Rossum
ac5b5d2e8b
Instead of bad hacks trying to worm around the inherited
...
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.
2003-01-28 22:01:16 +00:00
Jack Jansen
28827e2406
Don't import Nav. It isn't needed, and importing it doesn't work in a
...
non-windowing Python.
2003-01-28 21:40:36 +00:00
Jack Jansen
10882f6fcb
Finally created the first two tests for MacPython modules: macfs and
...
macostools.
2003-01-28 21:39:28 +00:00
Guido van Rossum
fe8d84d5ae
Comment out a test that was anticipating SF patch 661536 -- but that
...
isn't checked in yet. :-(
2003-01-28 20:39:49 +00:00
Guido van Rossum
3d8c01b31c
The default __reduce__ on the base object type obscured any
...
possibility of calling save_reduce(). Add a special hack for this.
The tests for this are much simpler now (no __getstate__ or
__getnewargs__ needed).
2003-01-28 19:48:18 +00:00
Neal Norwitz
abcb0c03ad
Fix SF bug# 676155, RuntimeWarning with tp_compare
...
Check return value of PyLong_AsDouble(), it can return an error.
2003-01-28 19:21:24 +00:00
Guido van Rossum
54fb192508
Move the NEWOBJ-generating code to a separate function, and invoke it
...
after checking for __reduce__.
2003-01-28 18:22:35 +00:00
Guido van Rossum
533dbcf250
Some experimental support for generating NEWOBJ with proto=2, and
...
fixed a bug in load_newobj().
2003-01-28 17:55:05 +00:00
Guido van Rossum
53b39d2e70
Verify treatment of unary minus on negative numbers SF bug #660455 .
2003-01-28 17:48:21 +00:00
Barry Warsaw
f71de3e9a0
Everything worked in both the distutils distro and in Python 2.3cvs,
...
so merge from the bsddb-bsddb3-schizo-branch back to the trunk.
2003-01-28 17:20:44 +00:00
Tim Peters
a6ae9a2128
save_empty_tuple(): Comment on why we can't get rid of this.
2003-01-28 16:58:41 +00:00
Tim Peters
82ca59e002
save_dict(): Added a comment about the control flow NealN missed.
2003-01-28 16:47:59 +00:00
Tim Peters
13a25fb8e6
_is_string_secure(): This method is no longer used; removed it. (It
...
was used before string-escape codecs were added to the core.)
2003-01-28 16:42:22 +00:00
Guido van Rossum
bc64e22ed6
Made save() fit on a page, while adding comments. (I moved some type
...
checks to save_reduce(), which can also be called from a subclass.)
Also tweaked some more comments.
2003-01-28 16:34:19 +00:00
Tim Peters
ad5a771fae
Got rid of the _quotes global. Used only once, and is trivial.
2003-01-28 16:23:33 +00:00
Tim Peters
55762f5f80
Use raw-mode docstring whenever there's an escape code in an example --
...
they're easier to read this way.
2003-01-28 16:01:25 +00:00
Guido van Rossum
03e35327f2
_dis_test should be a raw string now that it contains \x escapes.
2003-01-28 15:37:13 +00:00
Tim Peters
d0f7c86a20
dis(): Not all opcodes are printable anymore, so print the repr
...
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.
2003-01-28 15:27:57 +00:00
Guido van Rossum
1be3175992
Add a few comments. Change the way the protocol is checked (it must
...
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.
2003-01-28 15:19:53 +00:00
Guido van Rossum
3a41c61dd4
Rename all variables 'object' to 'obj' to avoid conflicts with the
...
type 'object'. Also minor docstring tweakage, and rearranged a few
lines in save().
2003-01-28 15:10:22 +00:00
Guido van Rossum
570283584a
Fix one disassembly output now that empty tuples are no longer
...
memoized in text mode. Fixed some variable names in the disassembler
doctest.
2003-01-28 15:09:10 +00:00
Guido van Rossum
cbe2dbddda
Don't memoize the empty tuple in protocol 0.
2003-01-28 14:40:16 +00:00
Tim Peters
d97da80dd5
save_tuple(): So long as the charter is rewriting for clarity, the snaky
...
control flow had to be simplified.
2003-01-28 05:48:29 +00:00
Tim Peters
ff57bff16e
save_tuple(): I believe the new code for TUPLE{1,2,3} in proto 2 was
...
incorrect for recursive tuples. Tried to repair; seems to work OK, but
there are no checked-in tests for this yet.
2003-01-28 05:34:53 +00:00
Tim Peters
81098ac1c8
Comments.
2003-01-28 05:12:08 +00:00
Tim Peters
fdc03462b3
Now that proto2 is defined, replaced XXX blocks with text about it.
...
Also moved the proto2 opcode descriptors into the sections they fit (like
TUPLE{1,2,3} in the group of tuple-building opcodes; etc).
2003-01-28 04:56:33 +00:00
Guido van Rossum
7d97d31a1b
OK, this is really the last one tonight!
...
NEWFALSE and NEWTRUE.
2003-01-28 04:25:27 +00:00
Guido van Rossum
025bc2fe6c
Shouldn't test short tuples with all items equal -- one potential bug
...
would be that the tuple is reversed on unpickling, and we should catch
that. :-)
Goodnight -- that's it for toniht!
2003-01-28 04:20:02 +00:00
Guido van Rossum
44f0ea5f73
More protocol 2: TUPLE1, TUPLE2, TUPLE3.
...
Also moved the special case for empty tuples from save() to save_tuple().
2003-01-28 04:14:51 +00:00
Guido van Rossum
9d32bb1708
Rename 'bin' arg to 'proto'. Keep the default at 0 lest the tests
...
change in meaning.
2003-01-28 03:51:53 +00:00
Tim Peters
3b769835ca
save_inst(): Rewrote to have only one branch on self.bin. Also got rid
...
of my recent XXX comment, taking a (what appears to be vanishingly small)
chance and calling self.memoize() instead.
2003-01-28 03:51:36 +00:00
Guido van Rossum
d6c9e63af9
First baby steps towards implementing protocol 2: PROTO, LONG1 and LONG4.
2003-01-28 03:49:52 +00:00
Tim Peters
d95c2df3a9
Fixed odd whitespace after "if", which I believe I introduced long ago.
2003-01-28 03:41:54 +00:00
Tim Peters
8fda7bc48d
save_int(): Fixed two new off-by-1 glitches.
2003-01-28 03:40:52 +00:00
Guido van Rossum
e0b904232f
Add a comment explaining that struct.pack() beats marshal.dumps(), but
...
marshal.loads() beats struct.unpack()! Possibly because the latter
creates a one-tuple. :-(
2003-01-28 03:17:21 +00:00
Guido van Rossum
5c938d00a1
Got rid of mdumps; I timed it, and struct.pack("<i", x) is more than
...
40% faster than marshal.dumps(x)[1:]! (That's not counting the
module attribute lookups, which can be avoided in either case.)
2003-01-28 03:03:08 +00:00
Tim Peters
f558da0f90
save_tuple(): Minor rewriting, and added a comment about the subtlety
...
created by recursive tuples.
2003-01-28 02:09:55 +00:00
Tim Peters
209ad95b00
load_appends(): replaced .append() loop with an .extend().
2003-01-28 01:44:45 +00:00
Tim Peters
c23d18a955
Comments.
2003-01-28 01:41:51 +00:00
Tim Peters
064567e41a
save_dict(): Untangled most of the bin-vs-not-bin logic. Also used
...
iteritems() instead of materializing a (possibly giant) list of the
items.
2003-01-28 01:34:43 +00:00