In both spilldata() functions, pretend that the docstring for
non-callable objects is always None. This makes for less confusing
output and fixes the problem reported in SF patch #550290.
Backport 1.70 and 1.71 (which really go together):
1.70:
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__
1.71:
Fiddle comments and variable names in whichmodule().
A couple of fixes for the compiler package:
* always write the mtime to a .pyc in little endian format
* ensure class's docstrings get attached to the class, not the
enclosing scope!
Rather more fixes are needed for the trunk; these will be done in due
course.
Backport fdrake's
revision 1.88 of setup.py
revision 1.46 of Lib/distutils/sysconfig.py
When using a Python that has not been installed to build 3rd-party
modules, distutils does not understand that the build version of the
source tree is needed.
This patch fixes distutils.sysconfig to understand that the running
Python is part of the build tree and needs to use the appropriate
"shape" of the tree. This does not assume anything about the current
directory, so can be used to build 3rd-party modules using Python's
build tree as well.
This is useful since it allows us to use a non-installed debug-mode
Python with 3rd-party modules for testing. It as the side-effect that
set_python_build() is no longer needed (the hack which was added to
allow distutils to be used to build the "standard" extension modules).
Fix bug 439992 - [win32] KeyboardInterrupt Not Caught.
This gets us closer to consistent Ctrl+C behaviour on NT and Win9x.
NT now reliably generates KeyboardInterrupt exceptions for NT when a
file IO operation was aborted. Bugfix candidate
Aargh! The 2.3 version of this file requires "from test.test_support
import run_suite", but the 2.2.2 version requires "from test_support
import run_suite" ... :-(
SF #558432: Prevent Annoying ' ' from readline (Holker Krekel).
readline in all python versions is configured
to append a 'space' character for a successful
completion. But for almost all python expressions
'space' is not wanted (see coding conventions PEP 8).
For example if you have a function 'longfunction'
and you type 'longf<TAB>' you get 'longfunction '
as a completion. note the unwanted space at the
end.
The patch fixes this behaviour by setting readline's
append_character to '\0' which means don't append
anything. This doesn't work with readline < 2.1
(AFAIK nowadays readline2.2 is in good use).
An alternative approach would be to make the
append_character
accessable from python so that modules like
the rlcompleter.py can set it to '\0'.
[Ed.: I think expecting readline >= 2.2 is fine. If a completer wants
another character they can append that to the keyword in the list.]
Backport 1.12 and 1.13 and normalize whitespace (remove formfeeds):
SF #515021, print the refused list to the DEBUGSTREAM, so the parameter is used
Note: There is a TBD (aka FIXME) for how best to handle the refused addresses.
smtp_RCPT(): Removed a somewhat embarrassing debugging line, found by
Scot Stevenson. Could be a bug fix candidate, but probably doesn't
matter much unless a certain blue-nosed cat suddenly becomes corporeal
and starts emailing some stmp.py (sic) fronted mailer.
Patch #586999: Fix multiline string in sendmail example.
smptlib did not handle empty addresses.
The problem was that it expected rfc822.parseaddr() to return None
upon a parse failure. The actual, documented return value for a
parse failure is (None, None).
Closes SF bug 602029.
Call me anal, but there was a particular phrase that was speading to
comments everywhere that bugged me: /* Foo is inlined */ instead of
/* Inline Foo */. Somehow the "is inlined" phrase always confused me
for half a second (thinking, "No it isn't" until I added the missing
"here"). The new phrase is hopefully unambiguous.
Close SF bug 563740. complex() now finds __complex__() in new style classes.
Made conversion failure error messages consistent between types.
Added related unittests.
Backport 1.61 (note, the actual deprecation is not backported since it
could affect existing code; instead, the documentation of the deprecation
is being backported to provide maximum advance notice):
Patch 543387. Document deprecation of complex %, //,and divmod().
Barry Warsaw [Fri, 4 Oct 2002 17:24:24 +0000 (17:24 +0000)]
Backporting of email 2.4 from Python 2.3. Many newly added modules,
some updated modules, updated documentation, and updated tests. Note
that Lib/test/regrtest.py added test_email_codecs to the expected
skips for all platforms. Also note that test_email_codecs.py differs
slightly from its Python 2.3 counterpart due to the difference in
package location for TestSkipped.
Barry Warsaw [Mon, 30 Sep 2002 14:42:29 +0000 (14:42 +0000)]
Add "runtime_library_dirs = ssl_libs" to the _socket Extension
specification so that the proper runtime ld.so path gets compiled into
the extension. This fixes _socket for Solaris systems with libssl and
libcrypto in non-standard locations and should be fine for other
systems as well. Closes SF bug #565710.
Forward port candidate for Python 2.3 (I'll work on that).
Fred Drake [Thu, 26 Sep 2002 19:37:36 +0000 (19:37 +0000)]
Previous fix depended on the "code cleanup and general bug fix patch" already
being applied. This is portion of that patch that does not add new
functionality.
Fred Drake [Thu, 26 Sep 2002 15:24:41 +0000 (15:24 +0000)]
Fix for PyXML bug #563399, as much as we can implement without relying on
a specific Expat version.
This includes fixing a test that enforced the incorrect result.
Fred Drake [Wed, 25 Sep 2002 22:31:35 +0000 (22:31 +0000)]
The Python 2.2.x version of pyexpat needs more changes to avoid type
issues with varying versions of Expat; this completes the previous fix
for this version. (Not relevant for the trunk.)