Marc-André Lemburg
d25c650461
Let u'%s' % obj try obj.__unicode__() first and fallback to obj.__str__().
2004-07-23 16:13:25 +00:00
Neil Schemenauer
3a313e3655
Check the type of values returned by __int__, __float__, __long__,
...
__oct__, and __hex__. Raise TypeError if an invalid type is
returned. Note that PyNumber_Int and PyNumber_Long can still
return ints or longs. Fixes SF bug #966618 .
2004-07-19 16:29:17 +00:00
Nicholas Bastin
9ba301e589
Moved SunPro warning suppression into pyport.h and out of individual
...
modules and objects.
2004-07-15 15:54:05 +00:00
Marc-André Lemburg
126b44cd41
Fix a copy&paste typo.
2004-07-10 12:04:20 +00:00
Marc-André Lemburg
1dffb120b7
.encode()/.decode() patch part 2.
2004-07-08 19:13:55 +00:00
Marc-André Lemburg
d2d4598ec2
Allow string and unicode return types from .encode()/.decode()
...
methods on string and unicode objects. Added unicode.decode()
which was missing for no apparent reason.
2004-07-08 17:57:32 +00:00
Neal Norwitz
739a8f86d6
Fix a couple of signed/unsigned comparison warnings
2004-07-08 01:55:58 +00:00
Neal Norwitz
93468eac72
Remove unused macros in .c files
2004-07-08 01:49:00 +00:00
Neal Norwitz
bdcb9410c2
SF bug #978308 , Spurious errors taking bool of dead pro
...
Need to return -1 on error.
Needs backport.
2004-07-08 01:22:31 +00:00
Fred Drake
0a4dd390bf
Make weak references subclassable:
...
- weakref.ref and weakref.ReferenceType will become aliases for each
other
- weakref.ref will be a modern, new-style class with proper __new__
and __init__ methods
- weakref.WeakValueDictionary will have a lighter memory footprint,
using a new weakref.ref subclass to associate the key with the
value, allowing us to have only a single object of overhead for each
dictionary entry (currently, there are 3 objects of overhead per
entry: a weakref to the value, a weakref to the dictionary, and a
function object used as a weakref callback; the weakref to the
dictionary could be avoided without this change)
- a new macro, PyWeakref_CheckRefExact(), will be added
- PyWeakref_CheckRef() will check for subclasses of weakref.ref
This closes SF patch #983019 .
2004-07-02 18:57:45 +00:00
Raymond Hettinger
214b1c3aae
SF Bug #215126 : Over restricted type checking on eval() function
...
The builtin eval() function now accepts any mapping for the locals argument.
Time sensitive steps guarded by PyDict_CheckExact() to keep from slowing
down the normal case. My timings so no measurable impact.
2004-07-02 06:41:07 +00:00
Tim Peters
e7c053233f
sizeof(char) is 1, by definition, so get rid of that expression in
...
places it's just noise.
2004-06-27 17:24:49 +00:00
Martin v. Löwis
8d97e33bb7
Patch #966493 : Cleanup generator/eval_frame exposure.
2004-06-27 15:43:12 +00:00
Raymond Hettinger
a006c37472
SF bug #980419 : int left-shift causes memory leak
2004-06-26 23:22:57 +00:00
Raymond Hettinger
8d726eef96
Cosmetic spacing fix.
2004-06-25 22:24:35 +00:00
Raymond Hettinger
d56cbe57b8
Fix leak found by Eric Huss.
2004-06-25 22:17:39 +00:00
Nicholas Bastin
9e1bfe7dd9
Disabling end-of-loop code not reached warning on SunPro
2004-06-18 19:57:13 +00:00
Nicholas Bastin
1ce9e4cfc1
Fixed end-of-loop code not reached warning when using SunPro C
2004-06-17 18:27:18 +00:00
Raymond Hettinger
148a63f1fc
Remove a function no longer in use.
2004-06-14 04:24:41 +00:00
Raymond Hettinger
47edb4b09c
Remove unnecessary GC support. Sets cannot have cycles.
2004-06-13 08:20:46 +00:00
Raymond Hettinger
6c7a00fbaa
* Factor out PyObject_SelfIter().
...
* Change a XDECREF to DECREF (adding an assertion just to be sure).
2004-06-12 05:17:55 +00:00
Anthony Baxter
3ecdb250af
Fix for bug #966623 - classes created with type() in an exec(, {}) don't
...
have a __module__. Test for this case.
Bugfix candidate, will backport.
2004-06-11 14:41:18 +00:00
Skip Montanaro
51ffac6db7
dump HAVE_FOPENRF stuff - obsolete
2004-06-11 04:49:03 +00:00
Raymond Hettinger
c978633ec6
Futher improvements to frozenset hashing (based on Yitz Gale's battery of
...
tests which nicely highly highlight weaknesses).
* Initial value is now a large prime.
* Pre-multiply by the set length to add one more basis of differentiation.
* Work a bit harder inside the loop to scatter bits from sources that
may have closely spaced hash values.
All of this is necessary to make up for keep the hash function commutative.
Fortunately, the hash value is cached so the call to frozenset_hash() will
only occur once per set.
2004-06-10 22:41:48 +00:00
Raymond Hettinger
27e403ebe9
Fixups to the hash function for frozensets.
...
* Non-zero initial value so that hash(frozenset()) != hash(0).
* Final permutation to differentiate nested sets.
* Add logic to make sure that -1 is not a possible hash value.
2004-06-10 21:38:41 +00:00
Raymond Hettinger
57c2d930f6
Add a final permutation step to the tuple hash function.
...
Prevents a collision pattern that occurs with nested tuples.
(Yitz Gale provided code that repeatably demonstrated the weakness.)
2004-06-10 18:42:15 +00:00
Martin v. Löwis
737ea82a5a
Patch #774665 : Make Python LC_NUMERIC agnostic.
2004-06-08 18:52:54 +00:00
Neal Norwitz
b5d7702e5c
whoops, I wanted that commented out by default, will add doc to Misc
2004-06-06 19:21:34 +00:00
Neal Norwitz
7eb3c9196d
SF bug 881641, make it easier to use valgrind
2004-06-06 19:20:22 +00:00
Andrew M. Kuchling
41627bf78d
Reword message
2004-06-05 19:49:12 +00:00
Andrew M. Kuchling
204d7861df
Fix exception wording
2004-06-05 19:29:41 +00:00
Raymond Hettinger
4ec44e851d
Replaced arbitrary addend in tuple_hash with one that is known to generate
...
many more prime multipliers and that performs well on collision tests.
2004-06-04 06:35:20 +00:00
Hye-Shik Chang
974ed7cfa5
- SF #962502 : Add two more methods for unicode type; width() and
...
iswide() for east asian width manipulation. (Inspired by David
Goodger, Reviewed by Martin v. Loewis)
- Move _PyUnicode_TypeRecord.flags to the end of the struct so that
no padding is added for UCS-4 builds. (Suggested by Martin v. Loewis)
2004-06-02 16:49:17 +00:00
Martin v. Löwis
e440e47e91
Patch #957398 : Add public API for Generator Object/Type.
2004-06-01 15:22:42 +00:00
Raymond Hettinger
41bd02256f
SF bug #942952 : Weakness in tuple hash
...
(Basic approach and test concept by Tim Peters.)
* Improved the hash to reduce collisions.
* Added the torture test to the test suite.
2004-06-01 06:36:24 +00:00
Raymond Hettinger
cb87bc8e7e
Add weakref support to array.array and file objects.
2004-05-31 00:35:52 +00:00
Raymond Hettinger
691d80532b
Make sets and deques weak referencable.
2004-05-30 07:26:47 +00:00
Walter Dörwald
d70ad8a9d9
Update docstring for dict.update() to match the new realities.
2004-05-28 20:59:21 +00:00
Michael W. Hudson
08678a1055
Remove float_compare as per
...
[ 899109 ] 1==float('nan')
which can now finally be closed, I think.
2004-05-26 17:36:12 +00:00
Raymond Hettinger
10c660673e
SF bug #952866 : "can't multiply sequence *by* non-int"
...
Minor wording fix.
2004-05-12 21:35:06 +00:00
Raymond Hettinger
fdfe618228
Nits:
...
- Neatened the braces in PyList_New().
- Made sure "indexerr" was initialized to NULL.
- Factored if blocks in PyList_Append().
- Made sure "allocated" is initialized in list_init().
2004-05-05 06:28:16 +00:00
Raymond Hettinger
0468e416c1
SF patch #947476 : Apply freelist technique to lists
...
Re-use list object bodies. Saves calls to malloc() and free() for
faster list instantiation and deallocation.
2004-05-05 05:37:53 +00:00
Thomas Heller
1328b52c6f
Two new public API functions, Py_IncRef and Py_DecRef. Useful for
...
dynamic embedders of Python.
2004-04-22 17:23:49 +00:00
Raymond Hettinger
7892b1c651
* Add unittests for iterators that report their length
...
* Document the differences between them
* Fix corner cases covered by the unittests
* Use Py_RETURN_NONE where possible for dictionaries
2004-04-12 18:10:01 +00:00
Raymond Hettinger
45d0b5cc44
Use Py_RETURN_NONE macro where applicable.
2004-04-12 17:21:03 +00:00
Raymond Hettinger
501f02cd02
Small refactoring saving one function() and eliminating some indirection.
...
* Applied app1() to listappend().
* Inlined ins() into its one remaining caller.
2004-04-12 14:01:16 +00:00
Raymond Hettinger
40a03821ae
* Specialize ins1() into app1() for appends. Saves several unnecessary
...
steps and further improves the speed of list append.
* Add guards to the list iterator length method to handle corner cases.
2004-04-12 13:05:09 +00:00
Hye-Shik Chang
4057483164
SF Patch #926375 : Remove a useless UTF-16 support code that is never
...
been used. (Suggested by Martin v. Loewis)
2004-04-06 07:24:51 +00:00
Raymond Hettinger
ed9192e2ae
Improve previous checkin to use a slot check instead of equivalent
...
attribute name lookup.
2004-04-05 08:14:48 +00:00
Raymond Hettinger
e2eda606a8
Improve accuracy of sequence and mapping checks.
2004-04-04 08:51:41 +00:00