ReST-ification of the NEWS file. While the total number of changes are
fairly large, most are caused by reformatting section and subsection
headings. The changes fall into the following categories:
* reformatted section and subsection headers.
* escaped isolated asterisks which would be interpreted as starting bold
or italic text (e.g. "void (*)(PyObject \*)").
* quoted stuff that looks like internal references but isn't
(e.g. ``PyCmp_``).
* changed visually balanced quotes to just use apostrophes
(e.g. "'string'" instead of "`string'").
* introduced and indenting multiline chunks of code.
Jeremy Hylton [Thu, 19 Sep 2002 22:57:26 +0000 (22:57 +0000)]
whichmodule() should skip dummy package entries in sys.modules.
This fixes the charming, but unhelpful error message for
>>> pickle.dumps(type.__new__)
Can't pickle <built-in method __new__ of type object at 0x812a440>: it's not the same object as datetime.math.__new__
Two more cases of switch(PySequence_Size()) without checking for case -1.
(Same problem as last checkin for SF bug 610610)
Need to clear the error and proceed.
Fix SF bug 610610 (reported by Martijn Pieters, diagnosed by Neal Norwitz).
The switch in Exception__str__ didn't clear the error if
PySequence_Size() raised an exception. Added a case -1 which clears
the error and falls through to the default case.
Definite backport candidate (this dates all the way to Python 2.0).
Kurt B. Kaiser [Wed, 18 Sep 2002 03:26:47 +0000 (03:26 +0000)]
Merge Py Idle changes:
Rev 1.6 GvR
Finally fix SF bug #441172, using a variant of patch ##443626:
canceling an edit operation would not revert the value of the field.
The fix takes care to destroy the Entry object, as suggested in the
patch.
Kurt B. Kaiser [Wed, 18 Sep 2002 02:29:59 +0000 (02:29 +0000)]
Merge Py Idle changes:
Rev 1.35 fdrake
Use string.ascii_letters instead of string.letters (SF bug #226706).
Move computation of sets of characters out of the body of the function
that uses them.
Rev 1.36 tim_one
Convert a pile of obvious "yes/no" functions to return bool
Rev 1.37
(skip, done differently in Idlefork)
Rev 1.38 loewis
Patch #590913: PEP 263 support.
Rev 1.39 loewis
Convert characters from the locale's encoding on output.
Reject characters outside the locale's encoding on input.
migrate news about 2.1 and earlier releases from NEWS to HISTORY in
preparation for ReST-ification of NEWS. (Also tests checkin ability
from my new Powerbook. woohoo!)
Fred Drake [Tue, 17 Sep 2002 18:10:34 +0000 (18:10 +0000)]
write(): Special case the common situation of a stream that's only
being used to dump output (no seeks), so we can avoid a lot
of extra checks being made.
Kurt B. Kaiser [Tue, 17 Sep 2002 03:40:47 +0000 (03:40 +0000)]
Merge Py Idle changes:
Rev 1.7 loewis
Convert characters from the locale's encoding on output.
Reject characters outside the locale's encoding on input.
Rearrange the members of struct _node to put shorter fields towards
the end, in the hope of saving some bytes on 64-bit machines. (Too
bad n_nchildren can't be made an unsigned short, but
test/test_longexp.py specifically tests for more than 2**16 subtrees
at one level.)
I don't expect any binary compatibility issues here, unless someone
has an old binary of parsermodule.so saved away.
Provisional fix for writefile() [SF bug # 541730].
The problem was that an exception can occur in the text.get() call or
in the write() call, when the text buffer contains non-ASCII
characters. This causes the previous contents of the file to be lost.
The provisional fix is to call str(self.text.get(...)) *before*
opening the file, so that if the exception occurs, we never open the
file.
Two orthogonal better solutions have to wait for policy decisions:
1. We could try to encode the data as Latin-1 or as UTF-8; but that
would require IDLE to grow a notion of file encoding which requires
more thought.
2. We could make backups before overwriting a file. This requires
more thought because it needs to be fast and cross-platform and
configurable.
Rev 1.7 gvanrossum
(previously merged with modifications by Stephen M. Gava)
Add primitive printing support for Unix and Windows.
Use // where int division is intended. (This breaks IDLE for use with
previous Python versions -- I don't care.)
Rev 1.40 tim_one
Convert a pile of obvious "yes/no" functions to return bool.
Rev 1.41 foffani/loewis
(already merged) - MS html help
Rev 1.42
(skip, done differently in Idlefork)
Rev 1.43 tzot/rhettinger
Extended IDLE's open module menu item to handle hierarchical module names.
Will look at doing something similar in import.c so that the effort won't
have to be repeated elsewhere.
Closes SF patch 600152.
Kurt B. Kaiser [Mon, 16 Sep 2002 01:06:52 +0000 (01:06 +0000)]
Merge Py Idle changes
Rev 1.16
(skip. The Edward K. Ream breakpoint fix has been added to bdb.py
and idlefork Debugger.py no longer overrides Bdb.set_break() )
Kurt B. Kaiser [Sun, 15 Sep 2002 22:02:58 +0000 (22:02 +0000)]
Merge Py Idle changes
Rev 1.9
Improve handling of docstrings. I had feared this was a case of
introspection incompatibility, but in fact it's just that calltips
always gave up on a docstring that started with a newline (but
didn't realize they were giving up <wink>).
Rev 1.10
(already merged)
Rev 1.11
(whitespace normalization, skip this time)
Kurt B. Kaiser [Sun, 15 Sep 2002 21:43:13 +0000 (21:43 +0000)]
Merge Py Idle changes
Rev 1.4
SF bug 546078: IDLE calltips cause application error.
Assorted crashes on Windows and Linux when trying to display a very
long calltip, most likely a Tk bug. Wormed around by clamping the
calltip display to a maximum of 79 characters (why 79? why not ...).
Kurt B. Kaiser [Sun, 15 Sep 2002 21:31:30 +0000 (21:31 +0000)]
Merge Py Idle's changes to AutoIndent.py into EditorWindow.py since
EditorWindow has incorporated AutoIndent
Rev 1.17
classifyws(): Fix a "/" to work under -Qnew (as well as without it).
Bugfix candidate!
Rev 1.18
(Already merged)
Rev 1.19
smart_backspace_event(): remove now-pointless int() call.
Bugfix candidate: the current state of AutoIdent.py should be in 2.2.1.
Rev 1.20
Apply diff2.txt from SF patch http://www.python.org/sf/572113
(with one small bugfix in bgen/bgen/scantools.py)
This replaces string module functions with string methods
for the stuff in the Tools directory. Several uses of
string.letters etc. are still remaining.
Address SF bug #577530: del __builtins__ breaks out of rexec
Using the suggestion there: add_module() forces __builtin__ back; this
fixes r_exec, r_eval, r_execfile. The interactive console had to be
fixed separately, because it doesn't use r_exec, but relies on the
'locals' dict having the right __builtins__. Fixed this by
subclassing InteractiveConsole and overriding runcode(), which does
the exec. This changes the banner output slightly: instead of
starting with *** RESTRICTED ***, a subtler (RestrictedConsole) is
printed before the first >>> prompt.
Also import readline (if it exists) when the interactive console is
used, for more convenient input editing and history.
This does not mean that rexec is now considered safe! But for those
willing to take the risk, it's safer than before. (Note that a safety
analysis of the code module would be wise if you plan to use the
interactive console for real -- I've only ever used it to play with
restricted mode.)
Kurt B. Kaiser [Sat, 14 Sep 2002 02:53:05 +0000 (02:53 +0000)]
MERGE DS_RPC_BRANCH into MAIN
ReplaceDialog
(missed a change Py Idle 04Apr2002, Booleans, pick up later)
track Py Idle: GvR drops 1.5.2 re support 24 Jul
Kurt B. Kaiser [Sat, 14 Sep 2002 02:40:17 +0000 (02:40 +0000)]
MERGE DS_RPC_BRANCH into MAIN
EditorWindow.py
don't track Py Idle patch 543222 - disable script bindings in shell
since it was done differently in MAIN
Remove "binding comments" 05 Aug 1.23.2.3 to 1.23.2.4
Remove last dependencies to old config backend 06Aug to 1.23.2.5
Fred Drake [Thu, 12 Sep 2002 18:01:26 +0000 (18:01 +0000)]
Minor revision to the "\\" patch, including updating the docs a little to
accomodate the fact that they are more general now that they are for the
os.path module and not just posixpath.
This and the previous patch should be combined and applied to the 2.2-maint
branch.
Fred Drake [Thu, 12 Sep 2002 17:02:01 +0000 (17:02 +0000)]
Relax a test so it passes either with the standard library or PyXML.
The original expected value is actually wrong, but we'll pick up the
real fix and test when we refresh the xml package from PyXML before
2.3a1.
Only build the 'dl' extension when sys.maxint equals 2**31-1.
This module raises "SystemError: module dl requires sizeof(int) ==
sizeof(long) == sizeof(char*)" when compiled on 64-bit platforms.