Commit graph

41578 commits

Author SHA1 Message Date
Benjamin Peterson
cb2b0e45d4 comply with the evilJavaNamingScheme for attribute names
It seems my love of PEP 8 overrode the need for consistentcy
2009-03-23 22:29:45 +00:00
Benjamin Peterson
692428e77f implement test skipping and expected failures
patch by myself #1034053
2009-03-23 21:50:21 +00:00
Benjamin Peterson
797eaf305a complain when there's no last exception 2009-03-23 21:25:15 +00:00
Benjamin Peterson
3e6c335ae0 revert r70552; wrong fix 2009-03-23 21:23:30 +00:00
Benjamin Peterson
85e1478ca4 fix very old names for exception terms #5543 2009-03-23 20:47:59 +00:00
Antoine Pitrou
1fba62427c The tracking statistics were actually too pessimistic 2009-03-23 19:17:00 +00:00
Antoine Pitrou
f8387af262 Issue #4688: Add a heuristic so that tuples and dicts containing only
untrackable objects are not tracked by the garbage collector. This can
reduce the size of collections and therefore the garbage collection overhead
on long-running programs, depending on their particular use of datatypes.

(trivia: this makes the "binary_trees" benchmark from the Computer Language
Shootout 40% faster)
2009-03-23 18:41:45 +00:00
Raymond Hettinger
e5b78563b6 Make imported name private and wrap long-line. 2009-03-23 18:26:59 +00:00
Mark Dickinson
0b666bfdf9 Issue #5512: speed up the long division algorithm for Python longs.
The basic algorithm remains the same; the most significant speedups
come from the following three changes:

  (1) normalize by shifting instead of multiplying and dividing
  (2) the old algorithm usually did an unnecessary extra iteration of
      the outer loop; remove this.  As a special case, this means that
      long divisions with a single-digit result run twice as fast as
      before.
  (3) make inner loop much tighter.

Various benchmarks show speedups of between 50% and 150% for long
integer divisions and modulo operations.
2009-03-23 18:25:13 +00:00
Raymond Hettinger
906f95e80b Move initialization of root link to __init__. 2009-03-23 04:42:18 +00:00
Raymond Hettinger
f1e2df9780 Add more comments. Improve variable names.
Make links clearer by using a Link object
instead of a list.  Use proxy links to avoid
circular references.
2009-03-23 00:08:09 +00:00
Benjamin Peterson
704dc269e3 AttributeError can be thrown during recursion errors 2009-03-22 22:24:58 +00:00
Lars Gustäbel
2020a59563 Issue #5068: Fixed the tarfile._BZ2Proxy.read() method that would loop
forever on incomplete input. That caused tarfile.open() to hang when used
with mode 'r' or 'r:bz2' and a fileobj argument that contained no data or
partial bzip2 compressed data.
2009-03-22 20:09:33 +00:00
Benjamin Peterson
b364bfe2f4 close the file even if an exception occurs #5536 2009-03-22 17:45:11 +00:00
Matthias Klose
8ed2520536 - Fix comment macro in python.man 2009-03-22 13:08:22 +00:00
Hirokazu Yamamoto
52a3492efb There is no macro named SIZEOF_SSIZE_T. Should use SIZEOF_SIZE_T instead. 2009-03-21 10:32:52 +00:00
Mark Dickinson
f35f8044e4 Rewrite Py_ARITHMETIC_RIGHT_SHIFT so that it's valid for all signed
integer types T, not just those for which "unsigned T" is legal.
2009-03-20 23:16:14 +00:00
Raymond Hettinger
2cef1a5409 Add MutableSet example. 2009-03-20 18:25:49 +00:00
Mark Dickinson
efc82f7e8e Issue #4258: Use 30-bit digits for Python longs, on 64-bit platforms.
Backport of r70459.
2009-03-20 15:51:55 +00:00
Raymond Hettinger
c8e81ef508 Fix typo 2009-03-19 23:22:25 +00:00
Raymond Hettinger
e980d2d44b * Add implementation notes.
* Re-order methods so that those touching the underlying data
  structure come first and the derived methods come last.
2009-03-19 23:12:41 +00:00
Raymond Hettinger
2412299be9 * Add clearer comment to initialization code.
* Add optional argument to popitem() -- modeled
  after Anthon van der Neut's C version.
* Fix method markup in docs.
2009-03-19 19:59:58 +00:00
Raymond Hettinger
a0b8d9ad2d Silence a compiler warning. 2009-03-19 19:24:43 +00:00
Raymond Hettinger
91852ca673 Issue 5381: Add object_pairs_hook to the json module. 2009-03-19 19:19:03 +00:00
Raymond Hettinger
2124599eaa Improve implementation with better underlying data structure
for O(1) deletions.  Big-Oh performance now the same as regular
dictionaries.  Uses a doubly-linked list instead of a list/seq
to track insertion order.
2009-03-19 15:21:10 +00:00
Benjamin Peterson
fcfa7ead4f close files after comparing them 2009-03-19 03:04:31 +00:00
Raymond Hettinger
a61ae6922f Use mixin methods where possible. (2.7 only -- these don't all exist in 3.0) 2009-03-18 22:13:20 +00:00
Benjamin Peterson
06919a177d a much better example 2009-03-18 20:58:09 +00:00
Benjamin Peterson
6ffe852f90 fix strange errors when setting attributes on tracebacks #4034 2009-03-18 20:52:15 +00:00
Antoine Pitrou
7c33bd5ecb Attempt to fix Solaris buildbot failure on test_locale 2009-03-18 17:10:04 +00:00
Mark Dickinson
6b265f1bf8 Issue 4474: On platforms with sizeof(wchar_t) == 4 and
sizeof(Py_UNICODE) == 2, PyUnicode_FromWideChar now converts
each character outside the BMP to the appropriate surrogate pair.

Thanks Victor Stinner for the patch.

(backport of r70452 from py3k to trunk)
2009-03-18 16:07:26 +00:00
Hirokazu Yamamoto
eb15863a97 Updated openssl support on VC6. (openssl-0.9.6g is old, cannot compile with _ssl.c)
If you use http://svn.python.org/projects/external/openssl-0.9.8g, Perl is not needed.
This scheme was ported from PCBuild.
2009-03-18 10:17:26 +00:00
Mark Dickinson
b14514a153 Fix bug in _insert_thousands_sep: too much zero padding could be
added for 'n' formats with non-repeating thousands-separator.
2009-03-18 08:22:51 +00:00
Bob Ippolito
d914e3f861 merge json library with simplejson 2.0.9 (issue 4136) 2009-03-17 23:19:00 +00:00
Mark Dickinson
277859d591 Issue #2110: Add support for thousands separator and 'n' format specifier
to Decimal __format__ method.
2009-03-17 23:03:46 +00:00
Benjamin Peterson
ed3558b334 I thought this was begging for an example 2009-03-17 20:29:51 +00:00
Mark Dickinson
b065e52bc2 Fix bug in Decimal __format__ method that swapped left and right
alignment.
2009-03-17 18:01:03 +00:00
Georg Brandl
8cbe9556cf Add token markup. 2009-03-16 19:42:03 +00:00
Hirokazu Yamamoto
bb7467f6e3 Added skip for old MSVC. 2009-03-15 22:43:14 +00:00
Georg Brandl
fc9ea97a18 Move the previously local import of threading to module level.
This is cleaner and avoids lockups in obscure cases where a Queue
is instantiated while the import lock is already held by another thread.

OKed by Tim Peters.
2009-03-15 22:11:07 +00:00
Georg Brandl
545a134916 Fix markup in re docs and give a mail address in regex howto, so that
the recommendation to send suggestions to the author can be followed.
2009-03-15 21:59:37 +00:00
Georg Brandl
173c1f1a01 #5469: add with statement to list of name-binding constructs. 2009-03-15 21:53:56 +00:00
Georg Brandl
09827eb55e #5276: document IDLESTARTUP and .Idle.py. 2009-03-15 21:51:48 +00:00
Georg Brandl
8db96b5969 #5478: fix copy-paste oversight in function signature. 2009-03-15 21:47:42 +00:00
Georg Brandl
44e5cd3e51 #5488: add missing struct member. 2009-03-15 21:46:00 +00:00
Georg Brandl
5a95b21fee #5491: clarify nested() semantics. 2009-03-15 21:44:43 +00:00
Georg Brandl
ed4cefbedd Fix a small nit in the error message if bool() falls back on __len__ and it returns the wrong type: it would tell the user that __nonzero__ should return bool or int. 2009-03-15 21:43:38 +00:00
Georg Brandl
3259ef3dff #5493: clarify __nonzero__ docs. 2009-03-15 21:37:16 +00:00
Georg Brandl
4c95e091d6 #5496: fix docstring of lookup(). 2009-03-15 21:32:06 +00:00
Benjamin Peterson
1706c644ae fix tuple.index() error message #5495 2009-03-15 14:38:55 +00:00