Commit Graph

29720 Commits

Author SHA1 Message Date
Raymond Hettinger 93d448198b Add identity shortcut to PyObject_RichCompareBool. 2004-03-21 17:01:44 +00:00
Nicholas Bastin 07973dab97 Modified string.split documentation to reflect behaviour of splitting emtpy string. Closes SF bug #811604 2004-03-21 16:59:59 +00:00
Tim Peters 5f112eb43b 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.
2004-03-21 16:59:09 +00:00
Just van Rossum 7139afd1f5 [693255] also back out corresponding NEWS item... 2004-03-21 16:26:32 +00:00
Skip Montanaro 20a8336ff7 concrete example of why retaining old objects is good 2004-03-21 16:05:30 +00:00
Martin v. Löwis 347c30d217 Patch #853488: Tix hlist missing entryconfigure and entrycget methods. 2004-03-21 15:29:41 +00:00
Martin v. Löwis 433fa69c40 Patch #853488: Add hlist entry_configure and entry_cget methods. 2004-03-21 15:26:44 +00:00
Neil Schemenauer 4848557924 Remove unused instance attributes. 2004-03-21 15:18:50 +00:00
Raymond Hettinger ff5bc50bb0 Improve byte coding for multiple assignments.
Gives 30% speedup on "a,b=1,2" and 25% on "a,b,c=1,2,3".
2004-03-21 15:12:00 +00:00
Brett Cannon 8b6cc2e7f2 Removed extra period from \versionchanged entry; macro adds period
automatically.
2004-03-21 14:10:18 +00:00
Brett Cannon 46cf4fc249 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.
2004-03-21 14:06:49 +00:00
Brett Cannon c82208eecb Deal with case of when locale time values has characters that can be mistaken
for regex syntax.
Fixes bug #883604 .
2004-03-20 23:09:40 +00:00
Brett Cannon 4f65331483 Limit the nesting depth of a tuple passed as the second argument to
isinstance() or issubclass() to the recursion limit of the interpreter.
2004-03-20 22:52:14 +00:00
Guido van Rossum c69661725a Fix for SF 780407.
Change %08l to %p to print a pointer.
Will backport to 2.3.
2004-03-20 22:34:14 +00:00
Armin Rigo 70d172dda4 Get rid of listextend_internal() and explain why the special case
'a.extend(a)' isn't so special anyway.
2004-03-20 22:19:23 +00:00
Guido van Rossum 70ec0b42b5 Fix for SF 777848.
I've been bitten by this myself in the past half year.
I hope this fix is right.
I'll backport this to 2.3.
2004-03-20 22:18:03 +00:00
Tim Peters 27f49610af 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>.
2004-03-20 21:51:12 +00:00
Armin Rigo 9dbf9084e8 Cancelled checkin, sorry. 2004-03-20 21:50:13 +00:00
Brett Cannon 508c57d544 Clarify docs on where .pth files can exist. 2004-03-20 21:41:28 +00:00
Armin Rigo 7cdf3e8a8a memset() hunt continuing. This is a net win. 2004-03-20 21:35:09 +00:00
Brett Cannon cc45466b8f Remove non-existent paths. 2004-03-20 21:31:33 +00:00
Armin Rigo 75be012cba memset() with small memory sizes just kill us. 2004-03-20 21:10:27 +00:00
Brett Cannon 497331fa2b Fix how line endings were handled when iterating over a .pth file by stripping
all whitespace at the end of the path line.
2004-03-20 21:08:17 +00:00
Guido van Rossum d54357d4e2 Tweaked after following all these instructions.
Removed Win9x notes (since the .NET compiler requires Win2K or XP anyway).
2004-03-20 21:00:26 +00:00
Thomas Wouters 1e1305491b 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.
2004-03-20 20:29:50 +00:00
Tim Peters 934d31b1d3 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%.
2004-03-20 20:11:29 +00:00
Armin Rigo 1515fc2a01 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.
2004-03-20 20:03:17 +00:00
Guido van Rossum 09240f65f8 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.
2004-03-20 19:11:58 +00:00
Raymond Hettinger fe703e0650 SF bug #918371: hasattr()'s return type
Replace 1 and 0 with True and False.
2004-03-20 18:25:31 +00:00
Thomas Wouters 0813d76cb0 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.
> =============================================================================
2004-03-20 17:31:29 +00:00
Tim Peters d4079e1fc2 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).
2004-03-20 17:24:51 +00:00
Fred Drake 6fd0b0d5ba 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)
2004-03-20 08:15:30 +00:00
Fred Drake 9de0a2ba9d fix two typos that turned text into markup 2004-03-20 08:13:32 +00:00
Tim Peters bd6850f6cb Ignore oodles of MSVC-generated files. 2004-03-20 05:00:56 +00:00
Tim Peters 4ae4f2658b A helper for rt.bat, copied (but with path adjustment) from PCbuild. 2004-03-20 04:57:32 +00:00
Fred Drake 086a0f79cd PyFile_WriteObject(): some of the local variables are only used when
Py_USING_UNICODE is defined
2004-03-19 15:22:36 +00:00
Skip Montanaro 8e6ad6fbe9 Expand on the semantics of reload(). Closes #919099. 2004-03-19 15:20:16 +00:00
Raymond Hettinger 0690512a7d Factor out a double lookup. 2004-03-19 10:30:00 +00:00
Hye-Shik Chang 4a7ad1a27d Add an entry for addition of the ptcp154 codec. 2004-03-19 08:11:56 +00:00
Hye-Shik Chang 5c5316f111 Add a new unicode codec: ptcp154 (Kazakh) 2004-03-19 08:06:07 +00:00
Raymond Hettinger 435bf58b7b Make iterators length transparent where possible. 2004-03-18 22:43:10 +00:00
Raymond Hettinger 1e5809ff02 Improve deque iteration.
* The default __reversed__ performed badly, so reintroduced a custom
  reverse iterator.
* Added length transparency to improve speed with map(), list(), etc.
2004-03-18 11:04:57 +00:00
Raymond Hettinger ade08ea8a8 Add news entries for the dictionary optimizations. 2004-03-18 09:48:12 +00:00
Raymond Hettinger 0ce6dc8530 Make the new dictionary iterators transparent with respect to length.
This gives another 30% speedup for operations such as
map(func, d.iteritems()) or list(d.iteritems()) which can both take
advantage of length information when provided.
2004-03-18 08:38:00 +00:00
Hye-Shik Chang 0e5e6c70e6 Ignore error status codes occurred while compiling site-packages
directory.
2004-03-18 07:51:27 +00:00
Brett Cannon d1de45f549 Fix capitalization of title for subsection 2. 2004-03-18 07:37:15 +00:00
Raymond Hettinger 019a148c72 Optimize dictionary iterators.
* Split into three separate types that share everything except the
  code for iternext.  Saves run time decision making and allows
  each iternext function to be specialized.

* Inlined PyDict_Next().  In addition to saving a function call, this
  allows a redundant test to be eliminated and further specialization
  of the code for the unique needs of each iterator type.

* Created a reusable result tuple for iteritems().  Saves the malloc
  time for tuples when the previous result was not kept by client code
  (this is the typical use case for iteritems).  If the client code
  does keep the reference, then a new tuple is created.

Results in a 20% to 30% speedup depending on the size and sparsity
of the dictionary.
2004-03-18 02:41:19 +00:00
Brett Cannon 65d63424b4 Minor grammatical fixes. 2004-03-18 01:38:11 +00:00
Brett Cannon 9b976e6636 Extremely minor typo fixed. 2004-03-18 00:49:01 +00:00
Raymond Hettinger 4344278250 Dictionary optimizations:
* Factored constant structure references out of the inner loops for
  PyDict_Next(), dict_keys(), dict_values(), and dict_items().
  Gave measurable speedups to each (the improvement varies depending
  on the sparseness of the dictionary being measured).

* Added a freelist scheme styled after that for tuples.  Saves around
  80% of the calls to malloc and free.  About 10% of the time, the
  previous dictionary was completely empty; in those cases, the
  dictionary initialization with memset() can be skipped.
2004-03-17 21:55:03 +00:00