Commit graph

36347 commits

Author SHA1 Message Date
Raymond Hettinger
eb9798892d Prepare collections module for pure python code entries. 2007-02-28 18:37:52 +00:00
Raymond Hettinger
3035d2397f Docstring nit. 2007-02-28 18:27:41 +00:00
Brett Cannon
f8267df2ad Add a test for instantiating SyntaxError with no arguments. 2007-02-28 18:15:00 +00:00
Armin Rigo
adf172339c Modify the segfaulting example to show why r53997 is not a solution to
it.
2007-02-28 09:25:29 +00:00
Jeremy Hylton
cca75403c4 Add news about changes to metaclasses and __bases__ error checking. 2007-02-27 18:33:31 +00:00
Jeremy Hylton
fa955697fa Add checking for a number of metaclass error conditions.
We add some new rules that are required for preserving internal
invariants of types.

1.  If type (or a subclass of type) appears in bases, it must appear
    before any non-type bases.  If a non-type base (like a regular
    new-style class) occurred first, it could trick type into
    allocating the new class an __dict__ which must be impossible.

2. There are several checks that are made of bases when creating a
   type.  Those checks are now repeated when assigning to __bases__.
   We also add the restriction that assignment to __bases__ may not
   change the metaclass of the type.

Add new tests for these cases and for a few other oddball errors that
were no previously tested.  Remove a crasher test that was fixed.

Also some internal refactoring:  Extract the code to find the most
derived metaclass of a type and its bases.  It is now needed in two
places.  Rewrite the TypeError checks in test_descr to use doctest.
The tests now clearly show what exception they expect to see.
2007-02-27 18:29:45 +00:00
Jeremy Hylton
2d1f5c93bb whitespace normalization 2007-02-27 17:24:48 +00:00
Jeremy Hylton
819de6ce20 tabify
Note that ast.c still has a mix of tabs and spaces, because it
attempts to use four-space indents for more of the new code.
2007-02-27 16:13:23 +00:00
Jeremy Hylton
18623e2525 tabify 2007-02-27 16:00:06 +00:00
Jeremy Hylton
37075c5ace Fix long-standing bug in name mangling for package imports
Reported by Mike Verdone.
2007-02-27 01:01:59 +00:00
Andrew M. Kuchling
c6a1ef3fe1 Add some items 2007-02-26 23:54:17 +00:00
Neal Norwitz
f83b751f4b SF #1669182, 2.5 was already fixed. Just assert in 2.6 since string exceptions
are gone.
2007-02-26 23:48:27 +00:00
Andrew M. Kuchling
f2ae27e61a Markup fix 2007-02-26 23:02:47 +00:00
Neal Norwitz
88516a6039 When printing an unraisable error, don't print exceptions. before the name.
This duplicates the behavior whening normally printing exceptions.
2007-02-26 22:41:45 +00:00
Jeremy Hylton
a892554781 Fix assertion. 2007-02-26 19:00:20 +00:00
Jeremy Hylton
759410b372 Do not copy free variables to locals in class namespaces.
Fixes bug 1569356, but at the cost of a minor incompatibility in
locals().  Add test that verifies that the class namespace is not
polluted.  Also clarify the behavior in the library docs.

Along the way, cleaned up the dict_to_map and map_to_dict
implementations and added some comments that explain what they do.
2007-02-26 18:41:18 +00:00
Neal Norwitz
7b7d1c8282 Fix a couple of problems in generating the AST code:
* use %r instead of backticks since backticks are going away in Py3k
 * PyArena_Malloc() already sets PyErr_NoMemory so we don't need to do it again
 * the signature for ast2obj_int incorrectly used a bool, rather than a long
2007-02-26 18:10:47 +00:00
Georg Brandl
1177bc4dfd Fix typo. 2007-02-26 17:09:03 +00:00
Neal Norwitz
41624e9894 Add Steven Bethard to help out with patches. 2007-02-26 17:01:08 +00:00
Jeremy Hylton
7c1e347f73 Reformat long lines. 2007-02-26 16:14:51 +00:00
Georg Brandl
10a4b0e6df Backport from Py3k branch: fix refleak in PyString_Format. 2007-02-26 13:51:29 +00:00
Thomas Wouters
110054c053 Backported r51621 from p3yk:
Don't use a fixed temporary name (gdbm).
Don't use our own temp name creation (dbm).
Should be backported to 2.5.
2007-02-25 22:12:31 +00:00
Neal Norwitz
ee3a1b5244 Variation of patch # 1624059 to speed up checking if an object is a subclass
of some of the common builtin types.

Use a bit in tp_flags for each common builtin type.  Check the bit
to determine if any instance is a subclass of these common types.
The check avoids a function call and O(n) search of the base classes.
The check is done in the various Py*_Check macros rather than calling
PyType_IsSubtype().

All the bits are set in tp_flags when the type is declared
in the Objects/*object.c files because PyType_Ready() is not called
for all the types.  Should PyType_Ready() be called for all types?
If so and the change is made, the changes to the Objects/*object.c files
can be reverted (remove setting the tp_flags).  Objects/typeobject.c
would also have to be modified to add conditions
for Py*_CheckExact() in addition to each the PyType_IsSubtype check.
2007-02-25 19:44:48 +00:00
Fred Drake
5a3e812444 - SF patch #1657613: add documentation for the Element interface
- clean up bogus use of the {datadescni} environment everywhere
2007-02-25 17:56:27 +00:00
Jeremy Hylton
714b112ae5 Put declarations before code. 2007-02-25 16:01:58 +00:00
Jeremy Hylton
c5ceb251b3 Fix crash in exec when unicode filename can't be decoded.
I can't think of an easy way to test this behavior.  It only occurs
when the file system default encoding and the interpreter default
encoding are different, such that you can open the file but not decode
its name.
2007-02-25 15:57:45 +00:00
Neal Norwitz
7218c2d2f4 Whitespace only changes 2007-02-25 15:53:36 +00:00
Neal Norwitz
1c1a1c5aa1 Add more details when releasing interned strings 2007-02-25 15:52:27 +00:00
Brett Cannon
6fbb96e69a Refactor PEP 352 tests to make it easier in the future to make sure certain
things cannot be raised or caught.
2007-02-23 14:28:25 +00:00
Neal Norwitz
764cf7ed82 Fix typo in comment 2007-02-23 00:22:39 +00:00
Raymond Hettinger
1b6ca54c44 Remove filler struct item and fix leak. 2007-02-21 17:22:05 +00:00
Raymond Hettinger
d36862cf78 Add itertools.izip_longest(). 2007-02-21 05:20:38 +00:00
Raymond Hettinger
15cade0568 Fixup set/dict interoperability. 2007-02-19 20:44:04 +00:00
Raymond Hettinger
cbac8ce5b0 Fixup docstrings for merge(). 2007-02-19 18:15:04 +00:00
Martin v. Löwis
382abeff0f Patch #1490190: posixmodule now includes os.chflags() and os.lchflags()
functions on platforms where the underlying system calls are available.
2007-02-19 10:55:19 +00:00
Lars Gustäbel
0713a68dc5 Moved misplaced news item. 2007-02-19 09:54:47 +00:00
Raymond Hettinger
bcc40ba922 Provide an example of defaultdict with non-zero constant factory function. 2007-02-19 09:14:10 +00:00
Raymond Hettinger
01b9881062 Add test for merge stability 2007-02-19 07:30:21 +00:00
Raymond Hettinger
45eb0f1419 Use C heapreplace() instead of slower _siftup() in pure python. 2007-02-19 06:59:32 +00:00
Raymond Hettinger
54da9819cc Add tie-breaker count to preserve sort stability. 2007-02-19 05:28:28 +00:00
Raymond Hettinger
00166c5532 Add merge() function to heapq. 2007-02-19 04:08:43 +00:00
Raymond Hettinger
d6fc72a5ae Extend work on revision 52962: Eliminate redundant calls to PyObject_Hash(). 2007-02-19 02:03:19 +00:00
Vinay Sajip
f7ccc101d2 Minor fix for currentframe (SF #1652788). 2007-02-16 22:36:24 +00:00
Brett Cannon
fa6521b4fd Make the __import__ call in encodings.__init__ absolute with a level 0 call. 2007-02-16 19:33:01 +00:00
Brett Cannon
971a012ce1 Update the encoding package's search function to use absolute imports when
calling __import__.  This helps make the expected search locations for encoding
modules be more explicit.

One could use an explicit value for __path__ when making the call to __import__
to force the exact location searched for encodings.  This would give the most
strict search path possible if one is worried about malicious code being
imported.  The unfortunate side-effect of that is that if __path__ was modified
on 'encodings' on purpose in a safe way it would not be picked up in future
__import__ calls.
2007-02-15 22:54:39 +00:00
Georg Brandl
9cb37fc5d0 Add missing \versionadded. 2007-02-15 11:29:55 +00:00
Georg Brandl
983d100202 Patch #1494140: Add documentation for the new struct.Struct object. 2007-02-15 11:29:04 +00:00
Georg Brandl
9dca5eaf57 Make functools.wraps() docs a bit clearer. 2007-02-15 10:37:59 +00:00
Martin v. Löwis
13a9828719 Patch #1397848: add the reasoning behind no-resize-on-shrinkage. 2007-02-15 09:51:35 +00:00
Lars Gustäbel
d0b6040ced A missing binary mode in AppendTest caused failures in Windows
Buildbot.
2007-02-14 14:45:12 +00:00