summaryrefslogtreecommitdiffstats
path: root/Objects
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a couple of places where 'int' was used where 'long'Marc-André Lemburg2000-07-061-7/+7
| | | | should have been used.
* Conditionally (currently on ifdef macintosh) break the large switch upJack Jansen2000-07-061-0/+15
| | | | into 1000-case smaller ones.
* Added new codec APIs and a new interface method .encode() whichMarc-André Lemburg2000-07-061-0/+114
| | | | | | | | | works just like the Unicode one. The C APIs match the ones in the Unicode implementation, but were extended to be able to reuse the existing Unicode codecs for string purposes too. Conversions from string to Unicode and back are done using the default encoding.
* Fix to bug #389:Marc-André Lemburg2000-07-051-4/+4
| | | | | | | Full_Name: Bastian Kleineidam Version: 2.0b1 CVS 5.7.2000 OS: Debian Linux 2.2 Submission from: earth.cs.uni-sb.de (134.96.252.92)
* Added new .isalpha() and .isalnum() methods which provide interfacesMarc-André Lemburg2000-07-051-0/+66
| | | | to the new alphabetic lookup APIs in unicodectype.c.
* Added new lookup API which matches all alphabetic Unicode characters,Marc-André Lemburg2000-07-051-0/+5295
| | | | i.e the ones with category 'Ll','Lu','Lt','Lo','Lm'.
* Added new .isalpha() and .isalnum() methods to match the sameMarc-André Lemburg2000-07-051-0/+68
| | | | | ones on the Unicode objects. Note that the string versions use the (locale aware) C lib APIs isalpha() and isalnum().
* Removed Py_PROTO and switched to ANSI C declarations in the dictTim Peters2000-07-041-104/+34
| | | | | | | implementation. This was really to test whether my new CVS+SSH setup is more usable than the old one -- and turns out it is (for whatever reason, it was impossible to do a commit before that involved more than one directory).
* Bill Tutt:Marc-André Lemburg2000-07-041-6/+29
| | | | | Make unicode_compare a true UTF-16 compare function (includes support for surrogates).
* 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?]