Raymond Hettinger
e03e5b1f91
Remove assumption that cls is a subclass of dict.
...
Simplifies the code and gets Just van Rossum's example to work.
2002-12-07 08:10:51 +00:00
Tim Peters
61ce0a9bae
slot_tp_hash(): In the normal path, this leaked a reference to the
...
integer hash object returned by __hash__(). This accounts for some of
the "mystery leaks" in the sandbox datetime tests, but probably not
all of them.
2002-12-06 23:38:02 +00:00
Martin v. Löwis
79acb9edfa
Patch #614055 : Support OpenVMS.
2002-12-06 12:48:53 +00:00
Michael W. Hudson
a69c030c15
The final tweaks before closing
...
[ 633152 ] list slice ass ignores subtypes of list
Allow arbitrary sequences on the RHS of extended slices.
2002-12-05 21:32:32 +00:00
Raymond Hettinger
b02bb5ed0a
Replace BadInternalCall with TypeError. Add a test case. Fix whitespace.
...
Just van Rossum showed a weird, but clever way for pure python code to
trigger the BadInternalCall. The C code had assumed that calling a class
constructor would return an instance of that class; however, classes that
abuse __new__ can invalidate that assumption.
2002-12-04 07:32:25 +00:00
Neal Norwitz
ef786ae1a5
Add missing decref
2002-11-27 19:38:00 +00:00
Michael W. Hudson
ade8c8b2c3
Nudge getting __module__ and __name__ for new-style classes so that
...
the results of *setting* __name__ are not so surprising.
If people can suggest more tests, that'd be grand, or is what's there
sufficient?
2002-11-27 16:29:26 +00:00
Michael W. Hudson
7e7c00db0c
I don't know why staring at the email to python-checkins made me
...
see problems with my code that I didn't see before the checkin, but:
When a subtype .mro() fails, we need to reset the type whose __bases__
are being changed, too. Fix + test.
2002-11-27 15:40:09 +00:00
Michael W. Hudson
586da8fddd
Readjustments to the way we cope with exceptions from subclasses'
...
mro() methods. Now any exception aborts the whole __bases__ change.
And more tests.
2002-11-27 15:20:19 +00:00
Michael W. Hudson
caf17be1b7
I had the inheritance cycle stuff backwards. Oops!
2002-11-27 10:24:44 +00:00
Raymond Hettinger
e33d3df030
SF Patch 643443. Added dict.fromkeys(iterable, value=None), a class
...
method for constructing new dictionaries from sequences of keys.
2002-11-27 07:29:33 +00:00
Michael W. Hudson
ac74f5d44b
Initialize a variable. Hope this makes things work for Guido.
...
It's odd that gcc on my ibook didn't complain about this.
2002-11-26 17:49:11 +00:00
Michael W. Hudson
98bbc49c54
This is my patch:
...
[ 635933 ] make some type attrs writable
Plus a couple of extra tests beyond what's up there.
It hasn't been as carefully reviewed as it perhaps should, so all readers
are encouraged, nay exhorted, to give this a close reading.
There are still a couple of oddities related to assigning to __name__,
but I intend to solicit python-dev's opinions on these.
2002-11-26 14:47:27 +00:00
Guido van Rossum
98f3373a8c
A tweaked version of Jeremy's patch #642489 , to produce better error
...
messages about MRO conflicts. (The tweaks include correcting spelling
errors, some refactoring to get the name of classic classes, and a
style nit or two.)
2002-11-25 21:36:54 +00:00
Martin v. Löwis
b5c980b802
Add unidata_version. Bump generator version number.
2002-11-25 09:13:37 +00:00
Martin v. Löwis
d5169bad94
Regenerate from Unicode 3.2.0 to include all First/Last ranges.
2002-11-24 23:10:08 +00:00
Neil Schemenauer
b808c5cf2d
Simplify use of NB_BINOP and NB_TERNOP by making them do the pointer
...
dereference rather than the caller.
2002-11-24 01:34:49 +00:00
Neil Schemenauer
d46fbc322d
Remove special handling of str and unicode in PyNumber_InPlaceRemainder. They
...
both have a nb_remainer slot.
2002-11-24 01:07:42 +00:00
Just van Rossum
a797d8150d
Patch #642500 with slight modifications: allow keyword arguments in
...
dict() constructor. Example:
>>> dict(a=1, b=2)
{'a': 1, 'b': 2}
>>>
2002-11-23 09:45:04 +00:00
Martin v. Löwis
39f59b089d
Remove MALLOC_ZERO_RETURNS_NULL.
2002-11-23 09:13:40 +00:00
Martin v. Löwis
0073f2e428
Fix --disable-unicode compilation problems.
2002-11-21 23:52:35 +00:00
Tim Peters
7d791240c0
float_int(): Some systems raise an exception if a double is cast to
...
long but the double is too big to fit in a long. Prevent that. This
closes some recent bug or patch on SF, but SF is down now so I can't
say which.
Bugfix candidate.
2002-11-21 22:26:37 +00:00
Walter Dörwald
f171540ab8
Change int() so that passing a string, unicode, float or long argument
...
that is outside the integer range no longer raises OverflowError, but
returns a long object instead.
This fixes SF bug http://www.python.org/sf/635115
2002-11-19 20:49:15 +00:00
Neil Schemenauer
ce30bc9f49
Add nb_remainder (i.e. __mod__) slot to unicode type. Fixes SF bug #615506 .
2002-11-18 16:10:18 +00:00
Neil Schemenauer
a6cd4e65d7
Add nb_remainder (i.e. __mod__) slot to str type. Fixes SF bug #615506 .
2002-11-18 16:09:38 +00:00
Neil Schemenauer
2c77e90804
Improve exception message raised by PyFloat_AsDouble if the object does not
...
have a nb_float slot. This matches what PyInt_AsLong does.
2002-11-18 16:06:21 +00:00
Neil Schemenauer
26db587485
str and unicode objects now have a __mod__ slot so don't special case them in
...
PyNumber_Remainder(). This fixes SF bug #615506 and allows string and unicode
subclasses to override __mod__.
2002-11-18 16:04:52 +00:00
Neil Schemenauer
89350a41b9
Remove _Py_ResetReferences. Fixes bug #529750 "Circular reference makes
...
Py_Init crash". refchain cannot be cleared because objects can live across
Py_Finalize() and Py_Initialize() if they are kept alive by circular
references.
2002-11-17 17:52:44 +00:00
Tim Peters
9a6b8d8cf8
Repaired illegal syntax most compilers probably let slide (but MSVC
...
treats as a fatal error).
2002-11-14 23:22:33 +00:00
Guido van Rossum
1f1213120e
Use the new C3 MRO algorithm, implemented by Samuele Pedroni (SF patch
...
619475; also closing SF bug 618704). I tweaked his code a bit for
style.
This raises TypeError for MRO order disagreements, which is an
improvement (previously these went undetected) but also a degradation:
what if the order disagreement doesn't affect any method lookups?
I don't think I care.
2002-11-14 19:49:16 +00:00
Neal Norwitz
80a1bf4b5d
Fix SF # 635969, No error "not all arguments converted"
...
When mwh added extended slicing, strings and unicode became mappings.
Thus, dict was set which prevented an error when doing:
newstr = 'format without a percent' % string_value
This fix raises an exception again when there are no formats
and % with a string value.
2002-11-12 23:01:12 +00:00
Tim Peters
b9099c3df4
SF patch 637176: list.sort crasher
...
Armin Rigo's Draconian but effective fix for
SF bug 453523: list.sort crasher
slightly fiddled to catch more cases of list mutation. The dreaded
internal "immutable list type" is gone! OTOH, if you look at a list
*while* it's being sorted now, it will appear to be empty. Better
than a core dump.
2002-11-12 22:08:10 +00:00
Raymond Hettinger
5ae8e01cc5
Restore attribute access so that the following work again:
...
dir(xrange(10))
xrange(10).__getitem__(4)
2002-11-07 16:55:54 +00:00
Walter Dörwald
07e147667c
Make int("...") return a long if an int would overflow.
...
Also remove the 512 character limitation for int(u"...") and long(u"...").
This closes SF bug #629989 .
2002-11-06 16:15:14 +00:00
Michael W. Hudson
cbd6fb9006
Handle really big steps in extended slices.
...
Fixes a test failure on 64 bit platforms (I hope).
2002-11-06 15:17:32 +00:00
Neal Norwitz
03b109afc0
Use PyOS_snprintf() instead of sprintf and wrap the long line
2002-11-05 22:41:37 +00:00
Michael W. Hudson
2801fe1c8f
Use PyList_CheckExact and PyTuple_CheckExact for checking whether
...
PySequence_Fast needs to do anything siginificant.
2002-11-05 18:05:49 +00:00
Michael W. Hudson
5da854fe51
This is Alex Martelli's patch
...
[ 633870 ] allow any seq assignment to a list slice
plus a very silly little test case of my own.
2002-11-05 17:38:05 +00:00
Michael W. Hudson
173f11da5d
Some days, I think my comment of
...
/* this is harder to get right than you might think */
angered some God somewhere. After noticing
>>> range(5000000)[slice(96360, None, 439)]
[]
I found that my cute test for the slice being empty failed due to
overflow. Fixed, and added simple test (not the above!).
2002-11-05 15:28:51 +00:00
Guido van Rossum
f740bdf337
Since properties are supported here, is possible that
...
instance_getattr2() raises an exception. Fix all code that made this
assumption.
Backport candidate.
2002-10-29 18:36:40 +00:00
Martin v. Löwis
8c1402869b
Patch #627105 : Document that SYSTEM_PAGE_SIZE really should not be
...
larger than the system page size.
2002-10-26 15:01:53 +00:00
Marc-André Lemburg
9cd87aaa54
Fix for bug #626172 : crash using unicode latin1 single char
...
Python 2.2.3 candidate.
2002-10-23 09:02:46 +00:00
Martin v. Löwis
edf368c351
Make lower/upper/title work for non-BMP characters.
2002-10-18 16:40:36 +00:00
Neal Norwitz
673cd824ba
Fix SF # 624982, Potential AV in slot_sq_item, by Greg Chapman
...
Don't crash when getting value of a property raises an exception
2002-10-18 16:33:13 +00:00
Martin v. Löwis
9def6a3a77
Update to Unicode 3.2 database.
2002-10-18 16:11:54 +00:00
Guido van Rossum
617080b6cf
Fix (real! :-) memory leaks in half_cmp and half_binop.
...
Perhaps found by NealN and valgrind. Will forward port.
2002-10-18 14:15:33 +00:00
Guido van Rossum
3930bc35d0
Sigh. That wasn't a memory leak, that was Guido committing before
...
running tests. Withdraw 2.183 and its backport.
2002-10-18 13:51:49 +00:00
Guido van Rossum
72297bb71e
Fix memory leak in add_subclass() found by NealN with valgrind.
...
Will backport.
2002-10-18 13:41:47 +00:00
Martin v. Löwis
ceaa77cf85
Add n_unnamed_fields into the type.
2002-10-16 19:10:03 +00:00
Martin v. Löwis
f607bdaa77
Add PyStructSequence_UnnamedField. Add stat_float_times.
...
Use integers in stat tuple, optionally floats in named fields.
2002-10-16 18:27:39 +00:00