summaryrefslogtreecommitdiffstats
path: root/Objects/classobject.c
Commit message (Collapse)AuthorAgeFilesLines
* The rest of the changes by Trent Mick and Dale Nagata for warning-freeGuido van Rossum2000-01-201-3/+3
| | | | compilation on NT Alpha. Mostly added casts etc.
* Fix for PR#98 (Adrian Eyre) -- in instancemethod_repr, the funcnameGuido van Rossum1999-10-111-1/+1
| | | | object is DECREFed too early.
* Fix a memory leak -- the cached values of __getattr__ etc. were neverGuido van Rossum1998-08-041-0/+3
| | | | freed.
* 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 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__.
* Keep Microsoft's compiler happy.Guido van Rossum1998-06-121-4/+1
|
* 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.)
* Uses PyErr_ExceptionMatches() instead of comparing PyErr_Occurred().Guido van Rossum1998-05-281-1/+1
|
* Remove a redundant statement from halfbinop().Guido van Rossum1998-05-131-1/+0
|
* Change the default repr() and str() of class instance objects to lookGuido van Rossum1997-12-031-1/+9
| | | | | like <modulename.classname instance at ...> (to match the repr() of class objects.
* Undo another glitch of the automatic not-so-Grand Renaming; some localGuido van Rossum1997-11-181-10/+10
| | | | | variables called 'coerce' were accidentally renamed to 'PyNumber_Coerce'. Rename them back to coercefunc.
* Write a str() function for class objects that returnsGuido van Rossum1997-10-201-2/+36
| | | | "modulename.classname" instead of returning the same as repr().
* Check that all base classes are indeed class objects, rather thanGuido van Rossum1997-10-071-5/+30
| | | | expecting the caller to do so.
* When creating a class, set its __module__ attribute to the moduleGuido van Rossum1997-09-121-1/+22
| | | | | whose name is in the current globals' __name__ variable. If __name__ is not set, ignore this.
* Allow assignments to instance.__dict__ and instance.__class__. TheGuido van Rossum1997-08-251-17/+57
| | | | | | | | | | | | former lets you give an instance a set of new instance vars. The latter lets you give it a new class. Both are typechecked and disallowed in restricted mode. For classes, the check for read-only special attributes is tightened so that only assignments to __dict__, __bases__, __name__, __getattr__, __setattr__, and __delattr__ (these could be made to work as well, but I don't know if that's useful -- let's see first whether mucking with instances will help).
* Added separate free list for instance method objects, for a fewGuido van Rossum1997-08-051-4/+28
| | | | percent speed up. Also add PyMethod_Fini() to discard it.
* PyObject_Compare can raise an exception now.Guido van Rossum1997-05-231-4/+12
|
* removed last #ifdef SUPPORT_OBSOLETE_ACCESS bits.Guido van Rossum1997-05-091-87/+3
|
* Quickly renamed the last directory.Guido van Rossum1997-05-021-525/+537
|
* Intern the various string objects created to speed up lookups.Guido van Rossum1997-01-181-25/+25
|
* Yet more elaborate message for exception in __del__.Guido van Rossum1996-12-051-11/+23
| | | | Make gcc -Wall happy.
* New permission notice, includes CNRI.Guido van Rossum1996-10-251-13/+20
|
* Support passing in an empty dictionary of keywords to newinstanceobject.Guido van Rossum1996-10-211-1/+3
|
* More detailed error message about exception in __del__Guido van Rossum1996-09-111-3/+6
|
* Use getstringsize where available instead of strlen.Guido van Rossum1996-08-261-1/+1
|
* Be a bit more careful with printing a warning for a failed __del__.Guido van Rossum1996-08-221-2/+5
|
* More efficient handling of "__doc__" lookup.Guido van Rossum1996-08-211-2/+8
|
* Write warning about exception in __del__ to stderr, not stdout.Guido van Rossum1996-08-201-1/+1
|
* Disable support for access statementGuido van Rossum1996-08-121-4/+27
|
* Optimizations by Sjoerd:Guido van Rossum1996-08-091-81/+172
| | | | | - define tp_getattro, tp_setattro - use precreated string objects for most common exceptions and method names
* Only __dict__ and __class__ are read-only instance attributesGuido van Rossum1996-07-211-2/+4
|
* new debugger symbol namesGuido van Rossum1996-05-231-6/+6
|
* Added __name__ attribute to class instance method objects.Guido van Rossum1996-05-141-7/+15
| | | | | | Removed im_doc attribute; __name__ and __doc__ are now handled by special casing in instancemethodgetattr(). This saves a few bytes and INCREF/DECREF calls per i.m. object allocation/deallocation.
* Get ordering right for TRACE_REFS/COUNT_ALLOCS combination (otherwiseSjoerd Mullender1995-09-181-1/+1
| | | | may get inc_count sanity check abort).
* Fixed calling of __del__ method with TRACE_REFS defined.Sjoerd Mullender1995-08-281-1/+23
|
* class objects are read-only in restricted modeGuido van Rossum1995-08-041-0/+5
|
* changes for keyword args to built-in functions and classesGuido van Rossum1995-07-261-5/+6
|
* args to call_object must be tuple or NULLGuido van Rossum1995-07-121-6/+2
|
* change comparing instance methodsGuido van Rossum1995-04-061-4/+3
|
* removed unused varsGuido van Rossum1995-01-261-1/+0
|
* implement coercions involving instances properlyGuido van Rossum1995-01-101-1/+53
|
* add restrictions in restricted modeGuido van Rossum1995-01-101-24/+32
|
* * Objects/classobject.c: added 5th (function) parameter toGuido van Rossum1995-01-071-27/+49
| | | | | instancebinop, to support things like Rational * float; added documentation strings to classes and methods
* Added 1995 to copyright message.Guido van Rossum1995-01-041-2/+2
| | | | | floatobject.c: fix hash(). methodobject.c: support METH_FREENAME flag bit.
* Lots of minor changes. Note for mappingobject.c: the hash table pointerGuido van Rossum1995-01-021-5/+4
| | | | can now be NULL.
* fix comparison of instances without _-cmp__Guido van Rossum1994-11-101-3/+3
|
* Comparison of two class instances without __cmp__ or __rcmp__ methodsSjoerd Mullender1994-10-191-2/+5
| | | | was broken.
* * Include/classobject.h, Objects/classobject.c, Python/ceval.c:Guido van Rossum1994-09-281-159/+160
| | | | | | | | | | | | | | | | | | entirely redone operator overloading. The rules for class instances are now much more relaxed than for other built-in types (whose coerce must still return two objects of the same type) * Objects/floatobject.c: add overflow check when converting float to int and implement truncation towards zero using ceil/float * Objects/longobject.c: change ValueError to OverflowError when converting to int * Objects/rangeobject.c: modernized * Objects/stringobject.c: use HAVE_LIMITS instead of __STDC__ * Objects/xxobject.c: changed to use new style (not finished?)
* Yet another version (by me) of __getattr__ etc.Guido van Rossum1994-09-051-174/+51
|