summaryrefslogtreecommitdiffstats
path: root/Objects
Commit message (Collapse)AuthorAgeFilesLines
* As noted by Per Cederqvist, new_buffersize() sometimes returns theGuido van Rossum1998-12-111-2/+11
| | | | | | | buffer increment, and sometimes the new buffer size. Make it do what its name says, and fix the one place where this matters to the caller. Also add a comment explaining why we call lseek() and then ftell().
* When tracing references, reset the type and size of tuples allocatedGuido van Rossum1998-12-111-0/+4
| | | | | from the fast free list -- the type (at least) is reset by _Py_Dealloc().
* Remove prototype for PyOS_strtol -- Chris Herborth.Guido van Rossum1998-12-101-1/+0
|
* When comparing bound methods, use identity test on the objects,Guido van Rossum1998-12-041-1/+1
| | | | not equality test.
* Remove dead code discovered by Vladimir Marangozov.Guido van Rossum1998-11-161-4/+2
|
* Make tuples less hungry -- an extra item was allocated but never used.Guido van Rossum1998-11-161-1/+1
| | | | Tip by Vladimir Marangozov.
* A Py_DECREF(f) is missing in PyFrame_New for the error case whenGuido van Rossum1998-10-191-4/+4
| | | | the `builtins' initialization fails. Vladimir Marangozov.
* Replace fprintf(stderr, ...) with PySys_WriteStderr(...).Guido van Rossum1998-10-121-2/+2
|
* listextend(): New method which implements L.extend(L2).Barry Warsaw1998-10-091-0/+74
|
* Remove unreachable code. (Sjoerd)Guido van Rossum1998-10-091-8/+0
|
* Greg Stein: Implement the new bf_getcharbuffer function, indicatingGuido van Rossum1998-10-082-4/+36
| | | | that (as far as the data type is concerned!) this is character data.
* Make gcc -Wall happy.Guido van Rossum1998-10-071-5/+4
|
* Add Greg Stein's buffer object API.Guido van Rossum1998-10-071-2/+3
|
* Add Greg Stein's buffer object API.Guido van Rossum1998-10-071-0/+599
|
* Remove a redundant check from list_slice() and list_ass_slice().Guido van Rossum1998-10-071-4/+0
| | | | Noted by Greg Stein.
* Slight rearrangement of code in lookdict() by Vladimir Marangozov, toGuido van Rossum1998-10-061-4/+3
| | | | make a common case slightly faster.
* Believe it or not, Solaris 2.6 strtod() can move the end pointerGuido van Rossum1998-10-011-1/+6
| | | | | *beyond* the null byte at the end of the input string, when the input is inf(inity). Discovered by Greg Ward.
* Typo reported by Greg Stein: "modifiable" is the correct spelling.Guido van Rossum1998-10-011-1/+1
|
* In PyFrame_New(), don't set extras to something derived from codeGuido van Rossum1998-09-251-1/+2
| | | | | before code has been checked for validity. Discovered by Vladimir Marangozov.
* Patches from Greg Stein to support 'P' format in struct module'sGuido van Rossum1998-09-181-0/+55
| | | | | native format, as void* (translated to Python int or long). Also adds PyLong_FromVoidPtr and PyLong_AsVoidPtr to longobject.c.
* Undo victim of careless global substitute ("long long_hash" wasGuido van Rossum1998-09-131-1/+1
| | | | | changed to "LONG_LONG_hash" in the list of forward decls). Discovered by Jason Harper.
* Patch by Mark Hammond to support 64-bit ints on MS platforms.Guido van Rossum1998-08-251-22/+22
| | | | | | The MS compiler doesn't call it 'long long', it uses __int64, so a new #define, LONG_LONG, has been added and all occurrences of 'long long' are replaced with it.
* Better error messages when a sequence is indexed with a non-integer.Guido van Rossum1998-08-131-6/+17
| | | | | | | Previously, this said "unsubscriptable object"; in 1.5.1, the reverse problem existed, where None[''] would complain about a non-integer index. This fix does the right thing in all cases (for get, set and del item).
* Two patches by Jason Harper:Guido van Rossum1998-08-111-37/+96
| | | | | | - Faster conversion to string for binary bases: linear instead of quadratic! - Allocate smaller result for certain masking ops, e.g. (1L<<30000) & 1.
* Changes for BeOS, QNX and long long, by Chris Herborth.Guido van Rossum1998-08-041-0/+192
|
* Fix a potential problem in PyLong_FromString(): could fall through theGuido van Rossum1998-08-041-0/+2
| | | | for loop with z==NULL but continue to reference z later.
* Better error messages when raising ValueError for int and longGuido van Rossum1998-08-041-6/+9
| | | | | literals. (The previous version of this code would not show the offending input, even though there was code that attempted this.)
* Fix a memory leak -- the cached values of __getattr__ etc. were neverGuido van Rossum1998-08-041-0/+3
| | | | freed.
* PyFile_FromString(): If an exception occurs, pass in the filename thatBarry Warsaw1998-07-231-1/+2
| | | | | was used so it's reflected in the IOError. Call PyErr_SetFromErrnoWithFilename().
* When comparing objects, always check that tp_compare is not NULLGuido van Rossum1998-07-211-3/+7
| | | | | | before calling it. This check was there when the objects were of the same type *before* coercion, but not if they initially differed but became the same *after* coercion.
* Avoid using calloc(). This triggered an obscure bug on multiprocessorGuido van Rossum1998-07-161-1/+2
| | | | | | | Sparc Solaris 2.6 (fully patched!) that I don't want to dig into, but which I suspect is a bug in the multithreaded malloc library that only shows up when run on a multiprocessor. (The program wasn't using threads, it was just using the multithreaded C library.)
* Add special case to PySequence_List() so that list() of a list isGuido van Rossum1998-07-101-0/+6
| | | | | | faster (using PyList_GetSlice()). Also added a test for a NULL argument, as with PySequence_Tuple(). (Hmm... Better names for these two would be PyList_FromSequence() and PyTuple_FromSequence(). Oh well.)
* Changed PySequence_List() and PySequence_Tuple() to supportGuido van Rossum1998-07-101-27/+38
| | | | | | | | | "indefinite length" sequences. These should still have a length, but the length is only used as a hint -- the actual length of the sequence is determined by the item that raises IndexError, which may be either smaller or larger than what len() returns. (This is a novelty; map(), filter() and reduce() only allow the actual length to be larger than what len() returns, not shorter. I'll fix that shortly.)
* Move the definition of PyMethodObject to classobject.h, so it can defineGuido van Rossum1998-07-101-8/+0
| | | | macros for more efficient access to the fields.
* Marc-Andre Lemburg's patch to move the typedef for PyCFunctionObjectGuido van Rossum1998-07-101-6/+0
| | | | to the .h file and add macros there for inlined access to the fields.
* Marc-Andre Lemburg's patch to support instance methods with otherGuido van Rossum1998-07-081-16/+21
| | | | callable objects than regular Pythonm functions as their im_func.
* Recompute the special getattr/setattr/delattr cache slots afterGuido van Rossum1998-07-081-7/+13
| | | | changing __dict__ *or* __bases__.
* Added doc strings for methods and a new pop() method.Guido van Rossum1998-06-301-7/+54
|
* New feature: if the object's type has a non-NULL tp_doc field, thatGuido van Rossum1998-06-271-2/+9
| | | | | | is returned as the object's __doc__ attribute. (If only the list of methods would be referenced from the type...)
* Slight rearrangement of some code to make it faster, by VladimirGuido van Rossum1998-06-261-9/+15
| | | | Marangozov.
* Add check in long-to-int conversion for at least one digit.Guido van Rossum1998-06-221-0/+7
|
* Fix the tests for various anomalies in the string-to-numbersGuido van Rossum1998-06-221-12/+8
| | | | | | conversions. Formerly, for example, int('-') would return 0 instead of raising ValueError, and int(' 0') would raise ValueError (complaining about a null byte!) instead of 0...
* Minor cleanup by Tim after my changes:Guido van Rossum1998-06-171-25/+19
| | | | | | | | | | | | + Took the "list" argument out of the other functions that no longer need it. This speeds things up a little more. + Small comment changes in accord with that. + Exploited the now-safe ability to cache values in the partitioning loop. Makes no timing difference on my flavor of Pentium, but this machine ran out of registers 12 iterations ago. It should yield a small speedup on a RISC machine, and not hurt in any case.
* Tim's latest, with some of my changes (also a TP suggestion) added:Guido van Rossum1998-06-161-218/+551
| | | | | | | | | | instead of testing whether the list changed size after each comparison, temporarily set the type of the list to an immutable list type. This should allow continued use of the list for legitimate purposes but disallows all operations that can change it in any way. (Changes to the internals of list items are not caught, of cause; that's not possible to detect, and it's not necessary to protect the sort code, either.)
* Keep Microsoft's compiler happy.Guido van Rossum1998-06-121-4/+1
|
* When comparing objects of different types (which is done by comparingGuido van Rossum1998-06-091-8/+15
| | | | | the type names), make sure that numeric objects are considered smaller than all other objects, by forcing their name to "".
* Should check that PyObject_Str() really returned a string!Guido van Rossum1998-06-091-0/+5
|
* Allow assignments to special class attributes -- with typechecks, andGuido van Rossum1998-05-291-12/+87
| | | | | | | | | | | | | | | | | | | not in restricted mode. __dict__ can be set to any dictionary; the cl_getattr, cl_setattr and cl_delattr slots are refreshed. __name__ can be set to any string. __bases__ can be set to to a tuple of classes, provided they are not subclasses of the class whose attribute is being assigned. __getattr__, __setattr__ and __delattr__ can be set to anything, or deleted; the appropriate slot (cl_getattr, cl_setattr, cl_delattr) is refreshed. (Note: __name__ really doesn't need to be a special attribute, but that would be more work.)
* Tim's revision of the previous patch. He also added some sparts toGuido van Rossum1998-05-291-43/+35
| | | | the median-of-three code to get a few percent back.
* Fix a whole bunch of error return NULL that should be return -1.Guido van Rossum1998-05-291-5/+5
|