summaryrefslogtreecommitdiffstats
path: root/Objects
Commit message (Collapse)AuthorAgeFilesLines
* If auto-conversion fails, the Unicode codecs will return NULL.Marc-André Lemburg2000-07-031-11/+13
| | | | This is now checked and the error passed on to the caller.
* changed repr and str to always convert unicode stringsFredrik Lundh2000-07-011-0/+16
| | | | to 8-bit strings, using the default encoding.
* Neil Schemenauer: small fixes for GCGuido van Rossum2000-07-016-7/+14
|
* Change copyright notice - 2nd try.Guido van Rossum2000-06-3021-126/+0
|
* Change copyright notice.Guido van Rossum2000-06-3021-458/+143
|
* Fix an error on AIX by using a proper cast.Guido van Rossum2000-06-301-1/+1
|
* Trent Mick <trentm@activestate.com>:Fred Drake2000-06-308-33/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | The common technique for printing out a pointer has been to cast to a long and use the "%lx" printf modifier. This is incorrect on Win64 where casting to a long truncates the pointer. The "%p" formatter should be used instead. The problem as stated by Tim: > Unfortunately, the C committee refused to define what %p conversion "looks > like" -- they explicitly allowed it to be implementation-defined. Older > versions of Microsoft C even stuck a colon in the middle of the address (in > the days of segment+offset addressing)! The result is that the hex value of a pointer will maybe/maybe not have a 0x prepended to it. Notes on the patch: There are two main classes of changes: - in the various repr() functions that print out pointers - debugging printf's in the various thread_*.h files (these are why the patch is large) Closes SourceForge patch #100505.
* Marc-Andre Lemburg <mal@lemburg.com>:Marc-André Lemburg2000-06-301-1/+1
| | | | A previous patch by Jack Jansen was accidently reverted.
* Marc-Andre Lemburg <mal@lemburg.com>:Marc-André Lemburg2000-06-302-49/+129
| | | | | | New buffer overflow checks for formatting strings. By Trent Mick.
* final patches from Neil Schemenauer for garbage collectionJeremy Hylton2000-06-306-14/+80
|
* This patch addresses two main issues: (1) There exist some non-fatalFred Drake2000-06-296-48/+94
| | | | | | | | | | | | | | | | | | | | errors in some of the hash algorithms. For exmaple, in float_hash and complex_hash a certain part of the value is not included in the hash calculation. See Tim's, Guido's, and my discussion of this on python-dev in May under the title "fix float_hash and complex_hash for 64-bit *nix" (2) The hash algorithms that use pointers (e.g. func_hash, code_hash) are universally not correct on Win64 (they assume that sizeof(long) == sizeof(void*)) As well, this patch significantly cleans up the hash code. It adds the two function _Py_HashDouble and _PyHash_VoidPtr that the various hashing routine are changed to use. These help maintain the hash function invariant: (a==b) => (hash(a)==hash(b))) I have added Lib/test/test_hash.py and Lib/test/output/test_hash to test this for some cases.
* Jack Jansen: Use include "" instead of <>; and staticforward declarationsGuido van Rossum2000-06-291-1/+1
|
* Vladimir Marangozov:Guido van Rossum2000-06-281-3/+3
| | | | | | Avoid calling the dealloc function, previously triggered with DECREF(inst). This caused a segfault in PyDict_GetItem, called with a NULL dict, whenever inst->in_dict fails under low-memory conditions.
* Trent Mick: change a few casts for Win64 compatibility.Guido van Rossum2000-06-282-2/+2
|
* Jack Jansen: Moved includes to the top, removed think C supportGuido van Rossum2000-06-281-18/+20
|
* Marc-Andre Lemburg <mal@lemburg.com>:Marc-André Lemburg2000-06-281-0/+121
| | | | | | | | Patch to the standard unicode-escape codec which dynamically loads the Unicode name to ordinal mapping from the module ucnhash. By Bill Tutt.
* Marc-Andre Lemburg <mal@lemburg.com>:Marc-André Lemburg2000-06-281-1/+4
| | | | | Better error message for "1 in unicodestring". Submitted by Andrew Kuchling.
* part 2 of Neil Schemenauer's GC patches:Jeremy Hylton2000-06-235-20/+23
| | | | | | | | This patch modifies the type structures of objects that participate in GC. The object's tp_basicsize is increased when GC is enabled. GC information is prefixed to the object to maintain binary compatibility. GC objects also define the tp_flag Py_TPFLAGS_GC.
* traverse functions should return 0 on successJeremy Hylton2000-06-231-2/+2
|
* raise TypeError when PyObject_Get/SetAttr called with non-string nameJeremy Hylton2000-06-231-5/+17
|
* Round 1 of Neil Schemenauer's GC patches:Jeremy Hylton2000-06-235-1/+210
| | | | | This patch adds the type methods traverse and clear necessary for GC implementation.
* Fredrik Lundh <effbot@telia.com>:Fred Drake2000-06-201-8/+4
| | | | | Simplify find code; this is a performance improvement on at least some platforms.
* Marc-Andre Lemburg <mal@lemburg.com>:Marc-André Lemburg2000-06-181-6/+4
| | | | | | | | Fixed a bug in PyUnicode_Count() which would have caused a core dump in case of substring coercion failure. Synchronized .count() with the string method of the same name to return len(s)+1 for s.count('').
* Patch from /F:Andrew M. Kuchling2000-06-182-21/+36
| | | | | this patch introduces PySequence_Fast and PySequence_Fast_GET_ITEM, and modifies the list.extend method to accept any kind of sequence.
* Vladimir MARANGOZOV <Vladimir.Marangozov@inrialpes.fr>:Marc-André Lemburg2000-06-171-3/+4
| | | | | This patch fixes an optimisation mystery in _PyUnicodeNew causing segfaults on AIX when the interpreter is compiled with -O.
* Michael Hudson <mwh21@cam.ac.uk>:Marc-André Lemburg2000-06-161-1/+1
| | | | | The error message refers to "append", yet the operation in question is "concat".
* Thomas Wouters <thomas@xs4all.net>:Fred Drake2000-06-153-0/+46
| | | | | | | | | | | | | | | The following patch adds "sq_contains" support to rangeobject, and enables the already-written support for sq_contains in listobject and tupleobject. The rangeobject "contains" code should be a bit more efficient than the current default "in" implementation ;-) It might not get used much, but it's not that much to add. listobject.c and tupleobject.c already had code for sq_contains, and the proper struct member was set, but the PyType structure was not extended to include tp_flags, so the object-specific code was not getting called (Go ahead, test it ;-). I also did this for the immutable_list_type in listobject.c, eventhough it is probably never used. Symmetry and all that.
* Marc-Andre Lemburg <mal@lemburg.com>:Marc-André Lemburg2000-06-142-0/+48
| | | | Added code so that .isXXX() testing returns 0 for emtpy strings.
* Marc-Andre Lemburg <mal@lemburg.com>:Marc-André Lemburg2000-06-101-2/+1
| | | | | Fixed a typo and removed a debug printf(). Thanks to Finn Bock for finding these.
* the PyDict_SetItem does not borrow a reference, so we need to decrefJeremy Hylton2000-06-091-0/+1
| | | | reported by Mark Hammon
* Patch from Michael Hudson: improve unclear error messageAndrew M. Kuchling2000-06-092-2/+2
|
* Marc-Andre Lemburg <mal@lemburg.com>:Marc-André Lemburg2000-06-081-8/+29
| | | | | | | | Fixed %c formatting to check for one character arguments. Thanks to Finn Bock for finding this bug. Added a fix for bug PR#348 which originated from not resetting the globals correctly in _PyUnicode_Fini().
* Marc-Andre Lemburg <mal@lemburg.com>:Marc-André Lemburg2000-06-071-1/+1
| | | | | | | | | | Change the default encoding to 'ascii' (it was previously defined as UTF-8). Note: The implementation still uses UTF-8 to implement the buffer protocol, so C APIs will still see UTF-8. This is on purpose: rather than fixing the Unicode implementation, the C APIs should be made Unicode aware.
* Trent Mick <trentm@ActiveState.com>:Fred Drake2000-06-011-2/+2
| | | | | | | This patch correct bounds checking in PyLong_FromLongLong. Currently, it does not check properly for negative values when checking to see if the incoming value fits in a long or unsigned long. This results in possible silent truncation of the value for very large negative values.
* Improve TypeError exception message for list catenation.Fred Drake2000-06-011-2/+2
|
* Michael Hudson <mwh21@cam.ac.uk>:Fred Drake2000-06-013-4/+12
| | | | | Removed PyErr_BadArgument() calls and replaced them with more useful error messages.
* Minimal change so I can add the rest of MAL's checkin message:Fred Drake2000-05-091-1/+1
| | | | | M.-A. Lemburg <mal@lemburg.com>: Fixed a core dump in PyUnicode_Format().
* M.-A. Lemburg <mal@lemburg.com>:Fred Drake2000-05-091-20/+71
| | | | | | | Added support for user settable default encodings. The current implementation uses a per-process global which defines the value of the encoding parameter in case it is set to NULL (meaning: use the default encoding).
* Replace PyErr_BadArgument() error in PyInt_AsLong() with "an integerGuido van Rossum2000-05-091-1/+1
| | | | | is required" (we can't say more because we don't know in which context it is called).
* Trent Mick:Guido van Rossum2000-05-091-7/+14
| | | | | | | | | | | Fix the string methods that implement slice-like semantics with optional args (count, find, endswith, etc.) to properly handle indeces outside [INT_MIN, INT_MAX]. Previously the "i" formatter for PyArg_ParseTuple was used to get the indices. These could overflow. This patch changes the string methods to use the "O&" formatter with the slice_index() function from ceval.c which is used to do the same job for Python code slices (e.g. 'abcabcabc'[0:1000000000L]).
* Trent Mick:Guido van Rossum2000-05-081-5/+9
| | | | | | | | | | | | | | | | Fix the string methods that implement slice-like semantics with optional args (count, find, endswith, etc.) to properly handle indeces outside [INT_MIN, INT_MAX]. Previously the "i" formatter for PyArg_ParseTuple was used to get the indices. These could overflow. This patch changes the string methods to use the "O&" formatter with the slice_index() function from ceval.c which is used to do the same job for Python code slices (e.g. 'abcabcabc'[0:1000000000L]). slice_index() is renamed _PyEval_SliceIndex() and is now exported. As well, the return values for success/fail were changed to make slice_index directly usable as required by the "O&" formatter. [GvR: shouldn't a similar patch be applied to unicodeobject.c?]
* The methods islower(), isupper(), isspace(), isdigit() and istitle()Guido van Rossum2000-05-051-11/+11
| | | | | | gave bogus results for chars in the range 128-255, because their implementation was using signed characters. Fixed this by using unsigned character pointers (as opposed to using Py_CHARMASK()).
* Mark Hammond should get his act into gear (his words :-). Zero lengthGuido van Rossum2000-05-041-2/+7
| | | | strings _are_ valid!
* Fix warning detected by VC++ on assignment of Py_UNICODE to char.Guido van Rossum2000-05-031-1/+1
|
* Vladimir Marangozov's long-awaited malloc restructuring.Guido van Rossum2000-05-0321-171/+159
| | | | | | | | | | For more comments, read the patches@python.org archives. For documentation read the comments in mymalloc.h and objimpl.h. (This is not exactly what Vladimir posted to the patches list; I've made a few changes, and Vladimir sent me a fix in private email for a problem that only occurs in debug mode. I'm also holding back on his change to main.c, which seems unnecessary to me.)
* Mark Hammond withdraws his fix -- the size includes the trailing 0 soGuido van Rossum2000-05-031-7/+2
| | | | a size of 0 *is* illegal.
* Mark Hammond:Guido van Rossum2000-05-031-2/+7
| | | | Fixes the MBCS codec to work correctly with zero length strings.
* Ignore a bunch of generated files.Barry Warsaw2000-05-021-0/+2
|
* Marc-Andre Lemburg:Guido van Rossum2000-05-011-4/+4
| | | | | Fixed \OOO interpretation for Unicode objects. \777 now correctly produces the Unicode character with ordinal 511.
* add list_contains and tuplecontains: efficient implementations of tp_containsJeremy Hylton2000-04-272-0/+39
|