Commit Graph

37853 Commits

Author SHA1 Message Date
Guido van Rossum 01dbc109a8 Improve performance of built-in any()/all() by avoiding PyIter_Next() --
using a trick found in ifilter().
Feel free to backport to 2.5.
2007-12-20 23:48:28 +00:00
Georg Brandl 30b78048a6 Fix refleak introduced in r59576. 2007-12-20 21:03:02 +00:00
Guido van Rossum e9a0e885db Patch #1672 by Joseph Armbruster. Use tempdir() to get a temporary directory. 2007-12-20 17:28:10 +00:00
Brett Cannon 905c31c73d Add tests for the warnings module; specifically formatwarning and showwarning.
Still need tests for warn_explicit and simplefilter.
2007-12-20 10:09:52 +00:00
Raymond Hettinger dff1fd93ef Add comments 2007-12-20 01:25:05 +00:00
Guido van Rossum 0b7b6fdff3 Patch #1549 by Thomas Herve.
This changes the rules for when __hash__ is inherited slightly,
by allowing it to be inherited when one or more of __lt__, __le__,
__gt__, __ge__ are overridden, as long as __eq__ and __ne__ aren't.
2007-12-19 22:51:13 +00:00
Raymond Hettinger 70fcfd03bc Bigger range for non-extended opargs. 2007-12-19 22:14:34 +00:00
Guido van Rossum 02de8979cc Patch #1583 by Adam Olsen.
This adds signal.set_wakeup_fd(fd) which sets a file descriptor to
which a zero byte will be written whenever a C exception handler runs.

I added a simple C API as well, PySignal_SetWakeupFd(fd).
2007-12-19 19:41:06 +00:00
Raymond Hettinger 80016c9555 Fix issue 1661: Flags argument silently ignored in re functions with compiled regexes. 2007-12-19 18:13:31 +00:00
Facundo Batista 0f5e7bf304 Some minor cleanups. Thanks Mark Dickinson. 2007-12-19 12:53:01 +00:00
Christian Heimes e93237dfcc #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. Macros for b/w compatibility are available. 2007-12-19 02:37:44 +00:00
Andrew M. Kuchling d586559c31 Add a bunch of items 2007-12-19 02:02:04 +00:00
Raymond Hettinger eca274367e Zap a duplicate line 2007-12-19 00:27:21 +00:00
Raymond Hettinger 3b63556d4a Beef-up tests for dict literals 2007-12-19 00:21:06 +00:00
Raymond Hettinger 85dfcf3530 Users demand iterable input for named tuples. The author capitulates. 2007-12-18 23:51:15 +00:00
Christian Heimes 0a8143f646 Applied patch #1635: Float patch for inf and nan on Windows (and other platforms).
The patch unifies float("inf") and repr(float("inf")) on all platforms.
2007-12-18 23:22:54 +00:00
Raymond Hettinger 8777bcae27 Simplify and speedup _asdict() for named tuples. 2007-12-18 22:21:27 +00:00
Christian Heimes 0423698bc3 Fixed #1649: IDLE error: dictionary changed size during iteration 2007-12-18 21:56:09 +00:00
Raymond Hettinger fd7ed407d7 Give meaning to the oparg for BUILD_MAP: estimated size of the dictionary.
Allows dictionaries to be pre-sized (upto 255 elements) saving time lost
to re-sizes with their attendant mallocs and re-insertions.

Has zero effect on small dictionaries (5 elements or fewer), a slight
benefit for dicts upto 22 elements (because they had to resize once
anyway), and more benefit for dicts upto 255 elements (saving multiple
resizes during the build-up and reducing the number of collisions on
the first insertions).  Beyond 255 elements, there is no addional benefit.
2007-12-18 21:24:09 +00:00
Guido van Rossum 3c887b2802 Issue #1645 by Alberto Bertogli. Fix a comment. 2007-12-18 20:10:42 +00:00
Thomas Heller 153038efa4 Issue #1642: Fix segfault in ctypes when trying to delete attributes. 2007-12-18 19:00:34 +00:00
Raymond Hettinger effde12f5f Speed-up dictionary constructor by about 10%.
New opcode, STORE_MAP saves the compiler from awkward stack manipulations
and specializes for dicts using PyDict_SetItem instead of PyObject_SetItem.

Old disassembly:
              0 BUILD_MAP                0
              3 DUP_TOP
              4 LOAD_CONST               1 (1)
              7 ROT_TWO
              8 LOAD_CONST               2 ('x')
             11 STORE_SUBSCR
             12 DUP_TOP
             13 LOAD_CONST               3 (2)
             16 ROT_TWO
             17 LOAD_CONST               4 ('y')
             20 STORE_SUBSCR

New disassembly:
              0 BUILD_MAP                0
              3 LOAD_CONST               1 (1)
              6 LOAD_CONST               2 ('x')
              9 STORE_MAP
             10 LOAD_CONST               3 (2)
             13 LOAD_CONST               4 ('y')
             16 STORE_MAP
2007-12-18 18:26:18 +00:00
Christian Heimes eb103b3577 Removed several unused files from the PCbuild9 directory. They are relics from the past. 2007-12-18 09:12:10 +00:00
Christian Heimes bb89992211 Make it a bit easier to test Tcl/Tk and idle from a build dir. 2007-12-18 09:00:13 +00:00
Christian Heimes 8affb5f236 Fixed for #1601: IDLE not working correctly on Windows (Py30a2/IDLE30a1)
Amaury's ideas works great. Should we build the Python core with WINVER=0x0500 and _WIN32_WINNT=0x0500, too?
2007-12-18 03:38:03 +00:00
Raymond Hettinger 88880b2dd6 Add more namedtuple() test cases. Neaten the code and comments. 2007-12-18 00:13:45 +00:00
Facundo Batista e64acfad3d Removed the private _rounding_decision: it was not needed, and the code
is now simpler.  Thanks Mark Dickinson.
2007-12-17 14:18:42 +00:00
Georg Brandl d41b8dc58c Don't use quotes for non-string code. 2007-12-16 23:15:07 +00:00
Georg Brandl 9f72d237f8 Use PEP 8. 2007-12-16 23:13:29 +00:00
Georg Brandl 001e8388d4 Simplify. 2007-12-16 23:11:16 +00:00
Christian Heimes db3d6cbce0 Fixed #1638: %zd configure test fails on Linux 2007-12-16 21:39:43 +00:00
Georg Brandl eee1fc51ba Adapt conf.py to new option names. 2007-12-16 19:36:51 +00:00
Georg Brandl 1bd51e3eec Remove curious space-like characters. 2007-12-16 16:00:36 +00:00
Georg Brandl 6dfe956bfc Remove another unnecessary Unicode character. 2007-12-16 15:59:19 +00:00
Georg Brandl 459744cc71 Remove gratuitous unicode character. 2007-12-16 15:53:49 +00:00
Georg Brandl 05df69b2ea Remove orphaned footnote reference. 2007-12-16 15:47:46 +00:00
Georg Brandl 9c8497eb6e Revert dummy commit now that the build slave is building. 2007-12-16 11:21:48 +00:00
Georg Brandl 6f6f6adea2 Dummy commit to investigate #1617. 2007-12-16 11:06:09 +00:00
Georg Brandl 4257ca7afb Argh, wrong version. 2007-12-15 09:36:37 +00:00
Georg Brandl 07b55eadc2 Add note about future import needed for with statement. 2007-12-15 09:34:59 +00:00
Christian Heimes 17b52afda6 Fixed #1624: Remove output comparison for test_pep277
I had to modify Brett's patch slightly.
2007-12-15 05:38:35 +00:00
Raymond Hettinger 6c87af5d87 Optimize PyList_AsTuple(). Improve cache performance by doing the
pointer copy and object increment in one pass.  For small lists,
save the overhead of the call to memcpy() -- this comes up in
calls like f(*listcomp).
2007-12-15 00:07:25 +00:00
Christian Heimes c67a15d865 Fixed bug #1628
The detection now works on Unix with Makefile, Makefile with VPATH and on Windows.
2007-12-14 23:42:36 +00:00
Andrew M. Kuchling 90921cc4b5 Bump the version number, and make a few small edits 2007-12-14 22:52:36 +00:00
Andrew M. Kuchling df2d745f38 Remove warning about URL 2007-12-14 22:41:18 +00:00
Raymond Hettinger e846f38c77 Add usage note 2007-12-14 21:51:50 +00:00
Raymond Hettinger 07ae83f840 Faster and simpler _replace() method 2007-12-14 19:19:59 +00:00
Georg Brandl adbda844d0 Add a section about nested listcomps to the tutorial.
Thanks to Ian Bruntlett and Robert Lehmann.
2007-12-14 19:03:36 +00:00
Raymond Hettinger 366523c667 Update method names for named tuples. 2007-12-14 18:12:21 +00:00
Raymond Hettinger 48eca67ab9 Add line spacing for readability 2007-12-14 18:08:20 +00:00