Žiga Seilnacht
ad3d2c2fe4
Patch #1675981 : remove unreachable code from type.__new__() method.
...
__dict__ and __weakref__ are removed from the slots tuple earlier
in the code, in the loop that mangles slot names.
(backport from rev. 54270)
2007-03-11 16:01:51 +00:00
Neal Norwitz
e7881559f2
Fix SF #1676971 , Complex OverflowError has a typo
2007-03-09 06:01:28 +00:00
Georg Brandl
ffb0a804c6
Patch #1638879 : don't accept strings with embedded NUL bytes in long().
...
(backport from rev. 54173)
2007-03-06 18:44:35 +00:00
Georg Brandl
5f795865da
Backport from Py3k branch: fix refleak in PyString_Format.
...
(backport from rev. 53935)
2007-02-26 13:51:34 +00:00
Raymond Hettinger
d621a6e8dc
Fixup set/dict interoperability.
2007-02-19 20:45:46 +00:00
Raymond Hettinger
1bff796983
Extend work on revision 52962: Eliminate redundant calls to PyObject_Hash().
2007-02-19 03:04:45 +00:00
Martin v. Löwis
b4af42a635
Bug #1653736 : Properly discard third argument to slot_nb_inplace_power.
2007-02-09 12:19:46 +00:00
Raymond Hettinger
fdf7bf8305
Bypass set specific optimizations for set and frozenset subclasses.
2007-02-08 00:49:51 +00:00
Raymond Hettinger
9f0e1ea964
Do not let overflows in enumerate() and count() pass silently.
2007-02-07 23:57:05 +00:00
Raymond Hettinger
bbe92887ce
Silence compiler warning
2007-02-07 23:48:15 +00:00
Raymond Hettinger
127ef44c7b
Bug #1575169 : operator.isSequenceType() now returns False for subclasses of dict.
2007-02-07 22:12:01 +00:00
Raymond Hettinger
20dcf1cb9d
SF #1615701 : make d.update(m) honor __getitem__() and keys() in dict subclasses
2007-02-07 20:01:28 +00:00
Raymond Hettinger
21191f4f0c
Bug #1648179 : set.update() not recognizing __iter__ overrides in dict subclasses.
2007-02-01 21:01:21 +00:00
Brett Cannon
75ba075110
If you created a weakref in an object's __del__ method to itself it would
...
segfault the interpreter during weakref clean up. Now any new weakrefs created
after __del__ is run are removed silently.
Fixes bug #1377858 and the weakref_in_del crasher for new-style classes.
Classic classes are still affected.
2007-01-23 22:41:20 +00:00
Thomas Wouters
e471317a08
Backport trunk revision 53527:
...
SF patch #1630975 : Fix crash when replacing sys.stdout in sitecustomize
When running the interpreter in an environment that would cause it to set
stdout/stderr/stdin's encoding, having a sitecustomize that would replace
them with something other than PyFile objects would crash the interpreter.
Fix it by simply ignoring the encoding-setting for non-files.
This could do with a test, but I can think of no maintainable and portable
way to test this bug, short of adding a sitecustomize.py to the buildsystem
and have it always run with it (hmmm....)
2007-01-23 13:54:30 +00:00
Raymond Hettinger
535989ecb6
SF #1486663 -- Allow keyword args in subclasses of set() and frozenset().
2007-01-11 18:21:04 +00:00
Raymond Hettinger
9cdf70399f
For sets with cyclical reprs, emit '...' instead of recursing.
2006-12-29 18:49:13 +00:00
Raymond Hettinger
775ebe29a5
Backport fixes to set objects:
...
rev 52964 sf 1576657 KeyError unpacks tuple arguments
rev 52963 sf 1456209 obscure resizing vulnerability
rev 52962 redundant calls to PyObject_Hash()
2006-12-08 18:12:24 +00:00
Martin v. Löwis
a1e3422205
Correctly forward exception in instance_contains().
...
Fixes #1591996 . Patch contributed by Neal Norwitz.
2006-11-08 06:46:49 +00:00
Neal Norwitz
ae6b84184b
Fix refleak
2006-10-29 23:42:59 +00:00
Georg Brandl
5e9f94ac7a
Bug #1576657 : when setting a KeyError for a tuple key, make sure that
...
the tuple isn't used as the "exception arguments tuple".
(backport from rev. 52535)
2006-10-29 18:31:45 +00:00
Neal Norwitz
ca63121553
Backport 52506:
...
Don't inline Py_ADDRESS_IN_RANGE with gcc 4+ either.
2006-10-28 21:39:31 +00:00
Neal Norwitz
e0cf624747
Backport 52505:
...
Prevent crash if alloc of garbage fails. Found by Typo.pl.
2006-10-28 21:39:10 +00:00
Neal Norwitz
7e3ec048f9
Backport 52502:
...
Fix warnings with HP's C compiler. It doesn't recognize that infinite
loops are, um, infinite. These conditions should not be able to happen.
2006-10-28 21:37:16 +00:00
Thomas Heller
a0a50feea8
WindowsError.str should display the windows error code,
...
not the posix error code; with test.
Fixes #1576174 .
Backported from trunk, revision 52485.
2006-10-27 18:47:29 +00:00
Georg Brandl
dd4c398c27
Bug #1545497 : when given an explicit base, int() did ignore NULs
...
embedded in the string to convert.
(backport from rev. 52305)
2006-10-12 11:28:04 +00:00
Armin Rigo
4b63c21d6f
Forward-port of r52136: a review of overflow-detecting code.
...
* unified the way intobject, longobject and mystrtoul handle
values around -sys.maxint-1.
* in general, trying to entierely avoid overflows in any computation
involving signed ints or longs is extremely involved. Fixed a few
simple cases where a compiler might be too clever (but that's all
guesswork).
* more overflow checks against bad data in marshal.c.
* 2.5 specific: fixed a number of places that were still confusing int
and Py_ssize_t. Some of them could potentially have caused
"real-world" breakage.
* list.pop(x): fixing overflow issues on x was messy. I just reverted
to PyArg_ParseTuple("n"), which does the right thing. (An obscure
test was trying to give a Decimal to list.pop()... doesn't make
sense any more IMHO)
* trying to write a few tests...
2006-10-04 11:44:06 +00:00
Martin v. Löwis
10525ad313
Fix integer negation and absolute value to not rely
...
on undefined behaviour of the C compiler anymore.
2006-10-04 05:47:47 +00:00
Georg Brandl
506cc189a9
Bug #1566800 : make sure that EnvironmentError can be called with any
...
number of arguments, as was the case in Python 2.4.
(backport from rev. 52061)
2006-09-30 09:03:45 +00:00
Georg Brandl
af4337a017
Patch #1567691 : super() and new.instancemethod() now don't accept
...
keyword arguments any more (previously they accepted them, but didn't
use them).
(backport from rev. 52058)
2006-09-30 08:43:50 +00:00
Brett Cannon
c70e003f75
Backport of fix to allow exception instances to be sliced once again.
2006-09-21 18:12:15 +00:00
Brett Cannon
19d76c5aa8
Remove __unicode__ method so that ``unicode(BaseException)`` succeeds.
...
Fixes bug #1551432 .
2006-09-09 07:18:44 +00:00
Georg Brandl
8de403a56a
Backport rev. 51798 from trunk:
...
fix setobject.c refcounts and error checks.
2006-09-08 06:02:26 +00:00
Georg Brandl
ecab623e13
Bug #1542051 : Exceptions now correctly call PyObject_GC_UnTrack.
...
Also make sure that every exception class has __module__ set to
'exceptions'.
(backport)
2006-09-06 06:47:02 +00:00
Neal Norwitz
fe50f8e961
Backport 51669: Make sure memory is properly cleaned up in file_init (even though this should not be able to happen since we already parsed the args)
2006-09-05 04:32:06 +00:00
Neal Norwitz
29a5fdb7ca
Fix str.rpartition(sep) when sep is not found in str.
...
Partially from SF patch #1551339 , but also taken from head.
2006-09-05 02:21:38 +00:00
Neal Norwitz
d3da7d394a
Fix SF bug #1546288 , crash in dict_equal
2006-09-05 01:54:06 +00:00
Tim Peters
cbdd350dd7
i_divmod(): As discussed on Python-Dev, changed the overflow
...
checking to live happily with recent gcc optimizations that
assume signed integer arithmetic never overflows.
2006-09-05 01:47:53 +00:00
Neal Norwitz
19c35bba5d
- Patch #1541585 : fix buffer overrun when performing repr() on
...
a unicode string in a build with wide unicode (UCS-4) support.
I will forward port to 2.6. Can someone backport to 2.4?
2006-08-21 22:13:11 +00:00
Neal Norwitz
47f0ffa7ee
Fix a couple of ssize-t issues reported by Alexander Belopolsky on python-dev
2006-08-21 18:44:09 +00:00
Neal Norwitz
3ba24783ba
Move initialization of interned strings to before allocating the
...
object so we don't leak op. (Fixes an earlier patch to this code)
Klockwork #350
2006-08-19 04:19:14 +00:00
Neal Norwitz
271a8689e9
Subclasses of int/long are allowed to define an __index__.
2006-08-15 06:29:03 +00:00
Georg Brandl
26a07b5198
Fix refleak introduced in rev. 51248.
2006-08-14 20:25:39 +00:00
Marc-André Lemburg
3a457790c7
Correct an accidentally removed previous patch.
2006-08-14 12:57:27 +00:00
Marc-André Lemburg
040f76b79c
Slightly revised version of patch #1538956 :
...
Replace UnicodeDecodeErrors raised during == and !=
compares of Unicode and other objects with a new
UnicodeWarning.
All other comparisons continue to raise exceptions.
Exceptions other than UnicodeDecodeErrors are also left
untouched.
2006-08-14 10:55:19 +00:00
Neal Norwitz
af33f2d571
Can't return NULL from a void function. If there is a memory error,
...
about the best we can do is call PyErr_WriteUnraisable and go on.
We won't be able to do the call below either, so verify delstr is valid.
2006-08-14 00:59:03 +00:00
Neal Norwitz
56423e5762
Fix segfault when doing string formatting on subclasses of long if
...
__oct__, __hex__ don't return a string.
Klocwork 308
2006-08-13 18:11:08 +00:00
Neal Norwitz
b09f4f578f
Handle a whole lot of failures from PyString_FromInternedString().
...
Should fix most of Klocwork 234-272.
2006-08-13 18:10:28 +00:00
Neal Norwitz
1872b1c01f
Fix a couple of bugs exposed by the new __index__ code. The 64-bit buildbots
...
were failing due to inappropriate clipping of numbers larger than 2**31
with new-style classes. (typeobject.c) In reviewing the code for classic
classes, there were 2 problems. Any negative value return could be returned.
Always return -1 if there was an error. Also make the checks similar
with the new-style classes. I believe this is correct for 32 and 64 bit
boxes, including Windows64.
Add a test of classic classes too.
2006-08-12 18:44:06 +00:00
Neal Norwitz
8a87f5d37e
Patch #1538606 , Patch to fix __index__() clipping.
...
I modified this patch some by fixing style, some error checking, and adding
XXX comments. This patch requires review and some changes are to be expected.
I'm checking in now to get the greatest possible review and establish a
baseline for moving forward. I don't want this to hold up release if possible.
2006-08-12 17:03:09 +00:00