Tim Peters [Tue, 28 Jan 2003 16:58:41 +0000 (16:58 +0000)]
save_empty_tuple(): Comment on why we can't get rid of this.
Tim Peters [Tue, 28 Jan 2003 16:47:59 +0000 (16:47 +0000)]
save_dict(): Added a comment about the control flow NealN missed.
Tim Peters [Tue, 28 Jan 2003 16:42:22 +0000 (16:42 +0000)]
_is_string_secure(): This method is no longer used; removed it. (It
was used before string-escape codecs were added to the core.)
Guido van Rossum [Tue, 28 Jan 2003 16:34:19 +0000 (16:34 +0000)]
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.
Tim Peters [Tue, 28 Jan 2003 16:23:33 +0000 (16:23 +0000)]
Got rid of the _quotes global. Used only once, and is trivial.
Tim Peters [Tue, 28 Jan 2003 16:01:25 +0000 (16:01 +0000)]
Use raw-mode docstring whenever there's an escape code in an example --
they're easier to read this way.
Guido van Rossum [Tue, 28 Jan 2003 15:37:13 +0000 (15:37 +0000)]
_dis_test should be a raw string now that it contains \x escapes.
Tim Peters [Tue, 28 Jan 2003 15:27:57 +0000 (15:27 +0000)]
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.
Guido van Rossum [Tue, 28 Jan 2003 15:19:53 +0000 (15:19 +0000)]
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.
Guido van Rossum [Tue, 28 Jan 2003 15:10:22 +0000 (15:10 +0000)]
Rename all variables 'object' to 'obj' to avoid conflicts with the
type 'object'. Also minor docstring tweakage, and rearranged a few
lines in save().
Guido van Rossum [Tue, 28 Jan 2003 15:09:10 +0000 (15:09 +0000)]
Fix one disassembly output now that empty tuples are no longer
memoized in text mode. Fixed some variable names in the disassembler
doctest.
Guido van Rossum [Tue, 28 Jan 2003 14:40:16 +0000 (14:40 +0000)]
Don't memoize the empty tuple in protocol 0.
Fred Drake [Tue, 28 Jan 2003 06:42:40 +0000 (06:42 +0000)]
Update to the final version released as Expat 1.95.6 (maintaining
Martin's integration changes).
Tim Peters [Tue, 28 Jan 2003 05:48:29 +0000 (05:48 +0000)]
save_tuple(): So long as the charter is rewriting for clarity, the snaky
control flow had to be simplified.
Tim Peters [Tue, 28 Jan 2003 05:34:53 +0000 (05:34 +0000)]
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.
Tim Peters [Tue, 28 Jan 2003 05:12:08 +0000 (05:12 +0000)]
Comments.
Tim Peters [Tue, 28 Jan 2003 04:56:33 +0000 (04:56 +0000)]
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).
Guido van Rossum [Tue, 28 Jan 2003 04:25:27 +0000 (04:25 +0000)]
OK, this is really the last one tonight!
NEWFALSE and NEWTRUE.
Guido van Rossum [Tue, 28 Jan 2003 04:20:02 +0000 (04:20 +0000)]
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!
Guido van Rossum [Tue, 28 Jan 2003 04:14:51 +0000 (04:14 +0000)]
More protocol 2: TUPLE1, TUPLE2, TUPLE3.
Also moved the special case for empty tuples from save() to save_tuple().
Guido van Rossum [Tue, 28 Jan 2003 03:51:53 +0000 (03:51 +0000)]
Rename 'bin' arg to 'proto'. Keep the default at 0 lest the tests
change in meaning.
Tim Peters [Tue, 28 Jan 2003 03:51:36 +0000 (03:51 +0000)]
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.
Guido van Rossum [Tue, 28 Jan 2003 03:49:52 +0000 (03:49 +0000)]
First baby steps towards implementing protocol 2: PROTO, LONG1 and LONG4.
Tim Peters [Tue, 28 Jan 2003 03:41:54 +0000 (03:41 +0000)]
Fixed odd whitespace after "if", which I believe I introduced long ago.
Tim Peters [Tue, 28 Jan 2003 03:40:52 +0000 (03:40 +0000)]
save_int(): Fixed two new off-by-1 glitches.
Guido van Rossum [Tue, 28 Jan 2003 03:17:21 +0000 (03:17 +0000)]
Add a comment explaining that struct.pack() beats marshal.dumps(), but
marshal.loads() beats struct.unpack()! Possibly because the latter
creates a one-tuple. :-(
Guido van Rossum [Tue, 28 Jan 2003 03:03:08 +0000 (03:03 +0000)]
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.)
Tim Peters [Tue, 28 Jan 2003 02:09:55 +0000 (02:09 +0000)]
save_tuple(): Minor rewriting, and added a comment about the subtlety
created by recursive tuples.
Tim Peters [Tue, 28 Jan 2003 01:44:45 +0000 (01:44 +0000)]
load_appends(): replaced .append() loop with an .extend().
Tim Peters [Tue, 28 Jan 2003 01:41:51 +0000 (01:41 +0000)]
Comments.
Tim Peters [Tue, 28 Jan 2003 01:34:43 +0000 (01:34 +0000)]
save_dict(): Untangled most of the bin-vs-not-bin logic. Also used
iteritems() instead of materializing a (possibly giant) list of the
items.
Tim Peters [Tue, 28 Jan 2003 01:15:46 +0000 (01:15 +0000)]
save_list(): Rewrote, to untangle the proto 0 from the proto 1 cases.
The code is much easier to follow now, and I bet it's faster too.
Tim Peters [Tue, 28 Jan 2003 01:07:48 +0000 (01:07 +0000)]
save_list(): removed unused local "d".
Tim Peters [Tue, 28 Jan 2003 01:07:10 +0000 (01:07 +0000)]
save_list(): removed unused local "memo".
Tim Peters [Tue, 28 Jan 2003 01:03:10 +0000 (01:03 +0000)]
save_pers(): Switched the order of cases, to get rid of a "not", and to
make the bin-vs-not-bin order consistent with what other routines try to
do (they almost all handle the bin case first).
Tim Peters [Tue, 28 Jan 2003 01:00:38 +0000 (01:00 +0000)]
Several routines appeared to inline the guts of memoize(), possibly for
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.
Tim Peters [Tue, 28 Jan 2003 00:48:09 +0000 (00:48 +0000)]
save(): Fiddled the control flow to put the normal case where it
belongs. This is a much smaller change than it may appear: the bulk
of the function merely got unindented by one level.
Tim Peters [Tue, 28 Jan 2003 00:43:26 +0000 (00:43 +0000)]
Added XXX about save()'s special-casing of tuples -- I don't get it.
Tim Peters [Tue, 28 Jan 2003 00:26:14 +0000 (00:26 +0000)]
save_bool(): simplified.
Tim Peters [Tue, 28 Jan 2003 00:24:43 +0000 (00:24 +0000)]
Repaired grammar in new comment.
Tim Peters [Tue, 28 Jan 2003 00:23:36 +0000 (00:23 +0000)]
clear_memo(): Repaired grammar in docstring.
Tim Peters [Tue, 28 Jan 2003 00:22:12 +0000 (00:22 +0000)]
Added one-line comments to the proto 2 opcodes.
Neal Norwitz [Tue, 28 Jan 2003 00:20:41 +0000 (00:20 +0000)]
Use proper function name in exception messages
Tim Peters [Tue, 28 Jan 2003 00:13:19 +0000 (00:13 +0000)]
Removed the new LONG2 opcode: it's extravagant. If LONG1 isn't enough,
then the embedded argument consumes at least 256 bytes. The difference
between a 3-byte prefix (LONG2 + 2 bytes) and a 5-byte prefix (LONG4 +
4 bytes) is at worst less than 1%. Note that binary strings and binary
Unicode strings also have only "size is 1 byte, or size is 4 bytes?"
flavors, and I expect for the same reason. The only place a 2-byte
thingie was used was in BININT2, where the 2 bytes make up the *entire*
embedded argument (and now EXT2 also does this); that's a large savings
over 4 bytes, because the total opcode+argument size is so small in
the BININT2/EXT2 case.
Removed the TAKEN_FROM_ARGUMENT "number of bytes" code, and bifurcated it
into TAKEN_FROM_ARGUMENT1 and TAKEN_FROM_ARGUMENT4. Now there's enough
info in ArgumentDescriptor objects to deduce the # of bytes consumed by
each opcode.
Rearranged the order in which proto2 opcodes are listed in pickle.py.
Tim Peters [Mon, 27 Jan 2003 23:54:04 +0000 (23:54 +0000)]
Documented the 2's-comp business for the new long opcodes.
Tim Peters [Mon, 27 Jan 2003 23:51:36 +0000 (23:51 +0000)]
Whitespace normalization.
Tim Peters [Mon, 27 Jan 2003 23:51:11 +0000 (23:51 +0000)]
decode_long(): Simplified the "is it negative?" test.
Guido van Rossum [Mon, 27 Jan 2003 22:47:53 +0000 (22:47 +0000)]
Begin the change from 'binary vs. text mode' to 'protocol 0, 1, 2'.
The protocol now defaults to 1. Protocol 2 is still unimplemented.
Guido van Rossum [Mon, 27 Jan 2003 22:22:50 +0000 (22:22 +0000)]
Support socket timeout in SSL, by Geoff Talvola.
(SF patch #675750, to fix SF bug #675552.)
Guido van Rossum [Mon, 27 Jan 2003 21:44:25 +0000 (21:44 +0000)]
Begin documenting protocol 2.
Tim Peters [Mon, 27 Jan 2003 21:25:41 +0000 (21:25 +0000)]
Added some comments.
Tim Peters [Mon, 27 Jan 2003 21:22:10 +0000 (21:22 +0000)]
memoize(): Reworded the docs to try to disentangle the Pickler's memo
dict from the Unpickler's memo (which is a different beast!).
Tim Peters [Mon, 27 Jan 2003 21:15:36 +0000 (21:15 +0000)]
Using marshal functions to pack & unpack 1-byte ints is an obscure &
expensive way to spell chr() and ord().
Tim Peters [Mon, 27 Jan 2003 20:16:36 +0000 (20:16 +0000)]
Added a brief comment to each pickle opcode declaration.
Guido van Rossum [Mon, 27 Jan 2003 19:40:47 +0000 (19:40 +0000)]
Remove a stray quote.
Tim Peters [Mon, 27 Jan 2003 19:38:34 +0000 (19:38 +0000)]
Repaired comment.
Tim Peters [Mon, 27 Jan 2003 19:01:47 +0000 (19:01 +0000)]
stringnl_noescape_pair(): changed the reader to separate the two
component strings by a blank instead of a period. Guido pointed
out that the component strings (at least the first one) can be
dotted already. find_class() is overridable too, so only God knows
all the possibilities that make sense to someone.
Tim Peters [Mon, 27 Jan 2003 18:51:48 +0000 (18:51 +0000)]
Moving pickletools.py from the sandbox into the std library. I started
this over the weekend, and it made faster & better progress than I
expected -- it's already useful <wink>.
Tim Peters [Mon, 27 Jan 2003 16:45:03 +0000 (16:45 +0000)]
Repaired spelling of "test_iconv_codecs" in various expected-skip lists.
Andrew M. Kuchling [Mon, 27 Jan 2003 16:36:34 +0000 (16:36 +0000)]
Update register example
Fred Drake [Mon, 27 Jan 2003 16:32:04 +0000 (16:32 +0000)]
Adjust some of Skip's latest changes slightly; these really are things
that should stand out.
Fred Drake [Mon, 27 Jan 2003 16:31:16 +0000 (16:31 +0000)]
Make the "notice" environments somewhat similar, with less difference
between the "note" and "warning" flavors.
Andrew M. Kuchling [Mon, 27 Jan 2003 16:30:36 +0000 (16:30 +0000)]
Remove the recently-added get_distutil_options(), and just
have two tuples listing the legal keywords for setup() and Extension()
Walter Dörwald [Mon, 27 Jan 2003 15:57:14 +0000 (15:57 +0000)]
Fix comment typos
Jack Jansen [Mon, 27 Jan 2003 15:21:39 +0000 (15:21 +0000)]
Attempting to keep the Mac section of the NEWS file up-to-date, in stead
of the usual frantic editing at the last moment:-)
Skip Montanaro [Mon, 27 Jan 2003 15:00:38 +0000 (15:00 +0000)]
* add \versionadded{} strings as appropriate
* remove doc for defunct IllegalKeywordArgument exception
* add note that HTTP class is for backward compatibility and refer reader to
online docstrings for help
Martin v. Löwis [Mon, 27 Jan 2003 11:39:04 +0000 (11:39 +0000)]
Fix reference counting of iconvcodec_Type. Fixes #670715.
Remove GC code; the base type does not need GC.
Martin v. Löwis [Mon, 27 Jan 2003 11:28:52 +0000 (11:28 +0000)]
Patch #670715: Universal Unicode Codec for POSIX iconv.
Kurt B. Kaiser [Mon, 27 Jan 2003 02:40:20 +0000 (02:40 +0000)]
Update for release.
Modified Files:
INSTALL.txt NEWS.txt idlever.py
Kurt B. Kaiser [Mon, 27 Jan 2003 02:36:18 +0000 (02:36 +0000)]
Whitespace normalization.
Modified Files:
Bindings.py configHandler.py configHelpSourceEdit.py
Jack Jansen [Sun, 26 Jan 2003 22:15:48 +0000 (22:15 +0000)]
Use new file dialogs.
Jack Jansen [Sun, 26 Jan 2003 22:15:10 +0000 (22:15 +0000)]
Fix an omission in the previous checkin.
Jack Jansen [Sun, 26 Jan 2003 21:40:00 +0000 (21:40 +0000)]
Use new file dialogs.
Kurt B. Kaiser [Sun, 26 Jan 2003 20:37:01 +0000 (20:37 +0000)]
Update.
Jack Jansen [Sun, 26 Jan 2003 20:35:47 +0000 (20:35 +0000)]
Use new file dialogs.
Jack Jansen [Sun, 26 Jan 2003 20:33:46 +0000 (20:33 +0000)]
Path to default location for Python output has changed.
Jack Jansen [Sun, 26 Jan 2003 20:22:41 +0000 (20:22 +0000)]
FSRef and EasyDialogs pathname support was pretty much broken in MacPython-OS9. Fixed.
Neal Norwitz [Sun, 26 Jan 2003 16:26:20 +0000 (16:26 +0000)]
Get rid of compiler warnings on Redhat
Neal Norwitz [Sun, 26 Jan 2003 16:15:24 +0000 (16:15 +0000)]
amk pointed out that syslog may use UDP or TCP sockets.
Update to try UDP, if that fails, try TCP.
Martin v. Löwis [Sun, 26 Jan 2003 12:17:52 +0000 (12:17 +0000)]
Define XML_STATIC.
Martin v. Löwis [Sun, 26 Jan 2003 11:48:20 +0000 (11:48 +0000)]
Add _iconv_codec to Setup.dist. Use PyModule_ functions.
Martin v. Löwis [Sun, 26 Jan 2003 11:32:44 +0000 (11:32 +0000)]
Test that True can be copied.
Martin v. Löwis [Sun, 26 Jan 2003 11:30:36 +0000 (11:30 +0000)]
Patch #670715: Universal Unicode Codec for POSIX iconv.
Martin v. Löwis [Sun, 26 Jan 2003 10:36:33 +0000 (10:36 +0000)]
Require PyXML 0.8.2.
Martin v. Löwis [Sun, 26 Jan 2003 09:04:35 +0000 (09:04 +0000)]
Merge with PyXML 1.3:
Add support for the DOM Level 3 (draft) DOMImplementationSource interface
to the xml.dom and xml.dom.minidom modules. Note API issue: the draft spec
says to return null when there is no suitable implementation, while the
Python getDOMImplementation() function raises ImportError (minor).
Martin v. Löwis [Sun, 26 Jan 2003 09:01:30 +0000 (09:01 +0000)]
Merge with PyXML 1.34: Correct typo. Fixes #674700.
Martin v. Löwis [Sun, 26 Jan 2003 08:59:32 +0000 (08:59 +0000)]
Merge with PyXML 1.82:
Correct various typos. Fixes #674700.
Set newly created attribute via setNamedItem.
Martin v. Löwis [Sun, 26 Jan 2003 08:40:50 +0000 (08:40 +0000)]
Undo inclusion of Python.h. Remove HAVE_MEMCPY section.
Update Windows command line.
Kurt B. Kaiser [Sun, 26 Jan 2003 04:17:16 +0000 (04:17 +0000)]
M ScriptBinding.py
M config-extensions.def
M help.txt
1. Run Script --> Run Module
2. Update IDLE Help file and do more work on format.
Raymond Hettinger [Sun, 26 Jan 2003 03:29:15 +0000 (03:29 +0000)]
Part 3 of Py2.3 update
Neal Norwitz [Sun, 26 Jan 2003 02:45:47 +0000 (02:45 +0000)]
SF #642974, logging SysLogHandler proto type wrong
Syslog uses UDP (SOCK_DGRAM)
Neal Norwitz [Sun, 26 Jan 2003 02:14:23 +0000 (02:14 +0000)]
SF #642974, logging SysLogHandler proto type wrong
Syslog uses UDP (SOCK_DGRAM)
Martin v. Löwis [Sat, 25 Jan 2003 22:48:51 +0000 (22:48 +0000)]
Uncomment usage of expat_config.h
Martin v. Löwis [Sat, 25 Jan 2003 22:46:11 +0000 (22:46 +0000)]
Patch #636005: Filter unicode into unicode.
Martin v. Löwis [Sat, 25 Jan 2003 22:41:29 +0000 (22:41 +0000)]
Incorporate Expat 1.95.6.
Raymond Hettinger [Sat, 25 Jan 2003 22:35:42 +0000 (22:35 +0000)]
Part II of Python2.3 update
Martin v. Löwis [Sat, 25 Jan 2003 22:02:52 +0000 (22:02 +0000)]
Synchronize with PyXML's 1.33: Import missing modules.
Raymond Hettinger [Sat, 25 Jan 2003 21:46:53 +0000 (21:46 +0000)]
Fix minor typos.
Martin v. Löwis [Sat, 25 Jan 2003 21:39:09 +0000 (21:39 +0000)]
Merge PyXML 1.11-1.26:
Re-arrange the imports into "Python normal form."
Add test of the getUserData() / setUserData() methods, including the
NODE_CLONED callback.
Added support for renameNode() and getInterface().
Changed Node.unlink() so an unlinked node is not rendered completely
unusable by setting childNodes to None.
Element.removeAttributeNode() is slightly less destructive.
Added test for the wholeText attribute.
Added a test for Text.replaceWholeText().
Fixed to properly create Element in test of user data
Rename a local variable so it makes sense when viewed as a sequence.
Unlink a few documents when we're done with them.
Added tests to define the behavior of the cloneNode() and importNode()
mehods, especially in the "difficult" cases of document and
document-type nodes.
Filled in a few more of the other cloneNode() tests.
NodeList.item() does not exist before Python 2.2, since it requires being
able to create subtypes of list. Use the subscript syntax instead.
Added a test that minidom documents can be pickled and unpickled.
Closes SF bug #609641.
Fill in an empty test, making sure we get the whitespace right for the
data attribute of a processing instruction.
Added checks for a few more invariants for processing instructions.
testProcessingInstruction(): The length attribute of the NodeList
interface is not implemented for Python 2.0, 2.1, so only use
len() to test the length.
testSchemaType(): New test, testing just the minimum of schemaType
support; this is different from the test_xmlbuilder version of the
test since it doesn't rely on using a specific builder, and the
builders support different levels of DTD support.
Add tests for the removeNamedItem() and removeNamedItemNS() methods of
the NamedNodeMap instances found on Element nodes.
These do not pass; the fix will be committed shortly.
Added support for the DOM Level 3 (draft) Element.setIdAttribute*() methods.
Do more to avoid creating new Attr nodes, so that attributes do not lose
their ID-ness when set using setIdAttribute*().
Kurt B. Kaiser [Sat, 25 Jan 2003 21:33:40 +0000 (21:33 +0000)]
M PyShell.py
M RemoteDebugger.py
M rpc.py
Fix the incorrect shell exception tracebacks generated when running
under debugger control:
1. Use rpc.SocketIO.asynccall() instead of remotecall() to handle the
IdbProxy.run() command.
2. Add a 'shell' attribute to RemoteDebugger.IdbProxy to allow setting
of ModifiedInterpreter's active_seq attribute from RemoteDebugger code.
3. Cleanup PyShell.ModifiedInterpreter.runcode() and remove ambiguity
regarding use of begin/endexecuting().
4. In runcode() and cleanup_traceback() use 'console' instead of 'file' to
denote the entity to which the exception traceback is printed.
5. Enhance cleanup_traceback() so if the traceback is pruned entirely away
(the error is in IDLE internals) it will be displayed in its entirety
instead.
6. ModifiedInterpreter.runcode() now prints ERROR RPC returns to both
console and __stderr__.
7. Make a small tweak to the rpc.py debug messages.