Fred Drake [Thu, 25 Mar 2004 14:25:28 +0000 (14:25 +0000)]
Remove note that PyErr_SetInterrupt() is obsolete; add comment about the
fact that it was marked obsolete but is still needed.
Closes SF bug #919299. Someone else should backport this to Python 2.3.
Brett Cannon [Tue, 23 Mar 2004 21:26:39 +0000 (21:26 +0000)]
Replace code in urllib for basejoin (undocumented) with urlparse.urljoin .
Test suites for urllib and urlparse run with each other's function to verify
correctness of replacement and both test suites pass.
Bumped urllib's __version__ attribute up a minor number.
Fred Drake [Tue, 23 Mar 2004 18:54:12 +0000 (18:54 +0000)]
- use recommended Python style in examples (no spaces around "=" for
keyword args)
- format multi-line calls to distutils.core.setup() consistently, and
in line with general practice (one keyword arg per line,
comma/newline after the last
- fix a few typos
Anthony Baxter [Mon, 22 Mar 2004 22:22:05 +0000 (22:22 +0000)]
Basic dependency checking. setup() has two new optional arguments
requires and provides. requires is a sequence of strings, of the
form 'packagename-version'. The dependency checking so far merely
does an '__import__(packagename)' and checks for packagename.__version__
You can also leave off the version, and any version of the package
will be installed.
There's a special case for the package 'python' - sys.version_info
is used, so
requires= ( 'python-2.3', )
just works.
Provides is of the same format as requires - but if it's not supplied,
a provides is generated by adding the version to each entry in packages,
or modules if packages isn't there.
Provides is currently only used in the PKG-INFO file. Shortly, PyPI
will grow the ability to accept these lines, and register will be
updated to send them.
There's a new command 'checkdep' command that runs these checks.
For this version, only greater-than-or-equal checking is done. We'll
add the ability to specify an optional operator later.
Tim Peters [Sun, 21 Mar 2004 23:38:41 +0000 (23:38 +0000)]
SF bug 847019 datetime.datetime initialization needs more strict checking
It's possible to create insane datetime objects by using the constructor
"backdoor" inserted for fast unpickling. Doing extensive range checking
would eliminate the backdoor's purpose (speed), but at least a little
checking can stop honest mistakes.
Armin Rigo [Sun, 21 Mar 2004 20:27:49 +0000 (20:27 +0000)]
This is the fastest I could get on Intel GCC. I kept the memset() in to clear
the newly created tuples, but tuples added in the freelist are now cleared in
tupledealloc already (which is very cheap, because we are already
Py_XDECREF'ing all elements anyway).
Python should have a standard Py_ZAP macro like ZAP in pystate.c.
[Part of patch #909005] Repeating exception changed from 'raise socket.error, why' to just raise. Make use of connect_ex() raise socket.error with 2-tuple instead of just error code
Tim Peters [Sun, 21 Mar 2004 16:59:09 +0000 (16:59 +0000)]
recursive_isinstance(), recursive_issubclass(): New code here returned
NULL in case of error, but the functions are declared to return int.
MSVC 6 properly complains about that. Return -1 on error instead.
Brett Cannon [Sun, 21 Mar 2004 14:06:49 +0000 (14:06 +0000)]
Back out last patch that removed an entry from sys.path if it was not an
existent path. Pointed out by jvr that entries could be non-file items for
custom importers.
Tim Peters [Sat, 20 Mar 2004 21:51:12 +0000 (21:51 +0000)]
SF patch 508730 CGIHTTPServer execfile should save cwd
UNTESTED!!!
This simple two-line patch has been sitting on SF for more than 2 years.
I'm guessing it's because nobody knows how to test it -- I sure don't.
It doesn't look like you can get to this part of the code on Unixish
or Windows systems, so the "how to test it?" puzzle has more than one
part. OTOH, if this is dead code, it doesn't matter either if I just
broke it <wink>.
Thomas Wouters [Sat, 20 Mar 2004 20:29:50 +0000 (20:29 +0000)]
test_email: comment out two fail-test cases that no longer fail with the new
parser -- for now. Failure behaviour of the new parser(s) will change in any
case, so this will be revisited later anyway.
Tim Peters [Sat, 20 Mar 2004 20:11:29 +0000 (20:11 +0000)]
Speed HMAC.copy() by installing a secret backdoor argument to
HMAC.__init__(). Adapted from SF patch 895445 "hmac.HMAC.copy() speedup"
by Trevor Perrin, who reported that this approach increased throughput
of his hmac-intensive app by 30%.
Armin Rigo [Sat, 20 Mar 2004 20:03:17 +0000 (20:03 +0000)]
A 2% speed improvement with gcc on low-endian machines. My guess is that this
new pattern for NEXTARG() is detected and optimized as a single (*short)
loading.
Guido van Rossum [Sat, 20 Mar 2004 19:11:58 +0000 (19:11 +0000)]
GCC was complaining that 'value' in dictiter_iternextvalue() wasn't
necessarily always set before used. Between Tim, Armin & me we
couldn't prove GCC wrong, so we decided to fix the algorithm. This
version is Armin's.
Thomas Wouters [Sat, 20 Mar 2004 17:31:29 +0000 (17:31 +0000)]
Merge in Anthony's new parser code, from the anthony-parser-branch:
> ----------------------------
> revision 1.20.4.4
> date: 2003/06/12 09:14:17; author: anthonybaxter; state: Exp; lines: +13 -6
> preamble is None when missing, not ''.
> Handle a couple of bogus formatted messages - now parses my main testsuite.
> Handle message/external-body.
> ----------------------------
> revision 1.20.4.3
> date: 2003/06/12 07:16:40; author: anthonybaxter; state: Exp; lines: +6 -4
> epilogue-processing is now the same as the old parser - the newline at the
> end of the line with the --endboundary-- is included as part of the epilogue.
> Note that any whitespace after the boundary is _not_ part of the epilogue.
> ----------------------------
> revision 1.20.4.2
> date: 2003/06/12 06:39:09; author: anthonybaxter; state: Exp; lines: +6 -4
> message/delivery-status fixed.
> HeaderParser fixed.
> ----------------------------
> revision 1.20.4.1
> date: 2003/06/12 06:08:56; author: anthonybaxter; state: Exp; lines: +163 -129
> A work-in-progress snapshot of the new parser. A couple of known problems:
>
> - first (blank) line of MIME epilogues is being consumed
> - message/delivery-status isn't quite right
>
> It still needs a lot of cleanup, but right now it parses a whole lot of
> badness that the old parser failed on. I also need to think about adding
> back the old 'strict' flag in some way.
> =============================================================================
Tim Peters [Sat, 20 Mar 2004 17:24:51 +0000 (17:24 +0000)]
Update copyright years, and change copyright.tex to use the same spelling
as license.tex (SF patch 795531 complained about the spelling discrepancy,
although this "repairs" that flaw in a different way than the patch).
Fred Drake [Sat, 20 Mar 2004 08:15:30 +0000 (08:15 +0000)]
commit the portion of PyXML patch #919008 that is relevant to the
standard library:
str() of xml.sax.SAXParseException should not fail if the line and/or
column number returned by the locator are None
(tests added)