- 19 Haz, 2005 1 kayıt (commit)
-
-
Raymond Hettinger yazdı
-
- 30 Mar, 2005 1 kayıt (commit)
-
-
Michael W. Hudson yazdı
[ 1165306 ] Property access with decorator makes interpreter crash Don't allow the creation of unbound methods with NULL im_class, because attempting to call such crashes. Backport candidate.
-
- 23 Eyl, 2004 1 kayıt (commit)
-
-
Tim Peters yazdı
I need to define it again. Bite the bullet and define it once as an extern, _Py_SwappedOp[].
-
- 03 Agu, 2004 1 kayıt (commit)
-
-
Michael W. Hudson yazdı
the case of __del__ resurrecting an object. This makes the apparent reference leaks in test_descr go away (which I expected) and also kills off those in test_gc (which is more surprising but less so once you actually think about it a bit).
-
- 22 Kas, 2003 1 kayıt (commit)
-
-
Guido van Rossum yazdı
by the function object or by the method object, the function object's attribute usually wins. Christian Tismer pointed out that that this is really a mistake, because this only happens for special methods (like __reduce__) where the method object's version is really more appropriate than the function's attribute. So from now on, all method attributes will have precedence over function attributes with the same name.
-
- 28 Eki, 2003 1 kayıt (commit)
-
-
Armin Rigo yazdı
SF patch 825639 http://mail.python.org/pipermail/python-dev/2003-October/039445.html
-
- 12 Eki, 2003 1 kayıt (commit)
-
-
Raymond Hettinger yazdı
* Py_BuildValue("(OOO)",a,b,c) --> PyTuple_Pack(3,a,b,c) * Py_BuildValue("()",a) --> PyTuple_New(0) * Py_BuildValue("O", a) --> Py_INCREF(a)
-
- 16 Eyl, 2003 1 kayıt (commit)
-
-
Raymond Hettinger yazdı
hashing a class that does not define __hash__ but does define a comparison.
-
- 09 Nis, 2003 1 kayıt (commit)
-
-
Guido van Rossum yazdı
-
- 07 Nis, 2003 1 kayıt (commit)
-
-
Tim Peters yazdı
out whether __del__ exists, without executing any Python-level code.
-
- 11 Şub, 2003 1 kayıt (commit)
-
-
Guido van Rossum yazdı
in the light of weird args, and (c) not to expect None (which is now changed to NULL by slot_tp_descr_get()).
-
- 29 Ara, 2002 1 kayıt (commit)
-
-
Raymond Hettinger yazdı
Obtain cleaner coding and a system wide performance boost by using the fast, pre-parsed PyArg_Unpack function instead of PyArg_ParseTuple function which is driven by a format string.
-
- 12 Ara, 2002 2 kayıt (commit)
-
-
Walter Dörwald yazdı
containing class objects) are allowed as the second argument. This makes issubclass() more similar to isinstance() where recursive tuples are allowed too.
-
Walter Dörwald yazdı
supported as the second argument. This has the same meaning as for isinstance(), i.e. issubclass(X, (A, B)) is equivalent to issubclass(X, A) or issubclass(X, B). Compared to isinstance(), this patch does not search the tuple recursively for classes, i.e. any entry in the tuple that is not a class, will result in a TypeError. This closes SF patch #649608.
-
- 29 Eki, 2002 1 kayıt (commit)
-
-
Guido van Rossum yazdı
instance_getattr2() raises an exception. Fix all code that made this assumption. Backport candidate.
-
- 18 Eki, 2002 1 kayıt (commit)
-
-
Guido van Rossum yazdı
Perhaps found by NealN and valgrind. Will forward port.
-
- 20 Agu, 2002 1 kayıt (commit)
-
-
Tim Peters yazdı
signed vs unsigned).
-
- 19 Agu, 2002 1 kayıt (commit)
-
-
Guido van Rossum yazdı
interning. I modified Oren's patch significantly, but the basic idea and most of the implementation is unchanged. Interned strings created with PyString_InternInPlace() are now mortal, and you must keep a reference to the resulting string around; use the new function PyString_InternImmortal() to create immortal interned strings.
-
- 11 Tem, 2002 1 kayıt (commit)
-
-
Tim Peters yazdı
helper macros to something saner, and used them appropriately in other files too, to reduce #ifdef blocks. classobject.c, instance_dealloc(): One of my worst Python Memories is trying to fix this routine a few years ago when COUNT_ALLOCS was defined but Py_TRACE_REFS wasn't. The special-build code here is way too complicated. Now it's much simpler. Difference: in a Py_TRACE_REFS build, the instance is no longer in the doubly-linked list of live objects while its __del__ method is executing, and that may be visible via sys.getobjects() called from a __del__ method. Tough -- the object is presumed dead while its __del__ is executing anyway, and not calling _Py_NewReference() at the start allows enormous code simplification. typeobject.c, call_finalizer(): The special-build instance_dealloc() pain apparently spread to here too via cut-'n-paste, and this is much simpler now too. In addition, I didn't understand why this routine was calling _PyObject_GC_TRACK() after a resurrection, since there's no plausible way _PyObject_GC_UNTRACK() could have been called on the object by this point. I suspect it was left over from pasting the instance_delloc() code. Instead asserted that the object is still tracked. Caution: I suspect we don't have a test that actually exercises the subtype_dealloc() __del__-resurrected-me code.
-
- 07 Tem, 2002 1 kayıt (commit)
-
-
Tim Peters yazdı
+ I'm not sure what to do about configure.in. Left it alone. + Ditto pyexpat.c. Fred or Martin will know what to do.
-
- 18 Haz, 2002 1 kayıt (commit)
-
-
Michael W. Hudson yazdı
> Looks like an experiment by Oren Tirosh that didn't get nuked. I > think you can safely lose it. It's gone.
-
- 14 Haz, 2002 1 kayıt (commit)
-
-
Guido van Rossum yazdı
These built-in functions are replaced by their (now callable) type: slice() buffer() and these types can also be called (but have no built-in named function named after them) classobj (type name used to be "class") code function instance instancemethod (type name used to be "instance method") The module "new" has been replaced with a small backward compatibility placeholder in Python. A large portion of the patch simply removes the new module from various platform-specific build recipes. The following binary Mac project files still have references to it: Mac/Build/PythonCore.mcp Mac/Build/PythonStandSmall.mcp Mac/Build/PythonStandalone.mcp [I've tweaked the code layout and the doc strings here and there, and added a comment to types.py about StringTypes vs. basestring. --Guido]
-
- 13 Haz, 2002 2 kayıt (commit)
-
-
Guido van Rossum yazdı
optional attribute, only clear the exception when the internal getattr operation raised AttributeError. Many places in this file already had that policy; but just as many didn't, and there didn't seem to be any rhyme or reason to it. Be consistently cautious. Question: should I backport this? On the one hand it's a bugfix. On the other hand it's a change in behavior. Certain forms of buggy or just weird code would work in the past but raise an exception under the new rules; e.g. if you define a __getattr__ method that raises a non-AttributeError exception.
-
Guido van Rossum yazdı
suggested there, based upon a better analysis (__getattr__ is a red herring). Will backport to 2.2.
-
- 26 Eki, 2001 1 kayıt (commit)
-
-
Fred Drake yazdı
and functions: we only need to call PyObject_ClearWeakRefs() if the weakref list is non-NULL. Since these objects are common but weakrefs are still unusual, saving the call at deallocation time makes a lot of sense.
-
- 22 Eki, 2001 1 kayıt (commit)
-
-
Guido van Rossum yazdı
There really isn't a good reason for instance method objects to have their own __dict__, __doc__ and __name__ properties that just delegate the request to the function (callable); the default attribute behavior already does this. The test suite had to be fixed because the error changes from TypeError to AttributeError.
-
- 17 Eki, 2001 1 kayıt (commit)
-
-
Guido van Rossum yazdı
PyType_HasFeature(t, Py_TPFLAGS_HAVE_CLASS).
-
- 30 Eyl, 2001 1 kayıt (commit)
-
-
Tim Peters yazdı
Replaced 3 instances of "iter() of non-sequence" with "iteration over non-sequence". Restored "unpack non-sequence" for stuff like "a, b = 1".
-
- 20 Eyl, 2001 2 kayıt (commit)
-
-
Guido van Rossum yazdı
no backwards compatibility to worry about, so I just pushed the 'closure' struct member to the back -- it's never used in the current code base (I may eliminate it, but that's more work because the getter and setter signatures would have to change.) As examples, I added actual docstrings to the getset attributes of a few types: file.closed, xxsubtype.spamdict.state.
-
Guido van Rossum yazdı
compatibility, this required all places where an array of "struct memberlist" structures was declared that is referenced from a type's tp_members slot to change the type of the structure to PyMemberDef; "struct memberlist" is now only used by old code that still calls PyMember_Get/Set. The code in PyObject_GenericGetAttr/SetAttr now calls the new APIs PyMember_GetOne/SetOne, which take a PyMemberDef argument. As examples, I added actual docstrings to the attributes of a few types: file, complex, instance method, super, and xxsubtype.spamlist. Also converted the symtable to new style getattr.
-
- 18 Eyl, 2001 2 kayıt (commit)
-
-
Martin v. Löwis yazdı
-
Guido van Rossum yazdı
descriptors for each attribute. The getattr() implementation is similar to PyObject_GenericGetAttr(), but delegates to im_self instead of looking in __dict__; I couldn't do this as a wrapper around PyObject_GenericGetAttr(). XXX A problem here is that this is a case of *delegation*. dir() doesn't see exactly the same attributes that are actually defined; e.g. if the delegate is a Python function object, it supports attributes like func_code etc., but these are not visible to dir(); on the other hand, dynamic function attributes (stored in the function's __dict__) *are* visible to dir(). Maybe we need a mechanism to tell dir() about the delegation mechanism? I vaguely recall seeing a request in the newsgroup for a more formal definition of attribute delegation too. Sigh, time for a new PEP.
-
- 08 Eyl, 2001 1 kayıt (commit)
-
-
Tim Peters yazdı
iterable object. I'm not sure how that got overlooked before! Got rid of the internal _PySequence_IterContains, introduced a new internal _PySequence_IterSearch, and rewrote all the iteration-based "count of", "index of", and "is the object in it or not?" routines to just call the new function. I suppose it's slower this way, but the code duplication was getting depressing.
-
- 07 Eyl, 2001 1 kayıt (commit)
-
-
Guido van Rossum yazdı
the base classes is not a classic class, and its class (the metaclass) is callable, call the metaclass to do the deed. One effect of this is that, when mixing classic and new-style classes amongst the bases of a class, it doesn't matter whether the first base class is a classic class or not: you will always get the error "TypeError: metatype conflict among bases". (Formerly, with a classic class first, you'd get "TypeError: PyClass_New: base must be a class".) Another effect is that multiple inheritance from ExtensionClass.Base, with a classic class as the first class, transfers control to the ExtensionClass.Base class. This is what we need for SF #443239 (and also for running Zope under 2.2a4, before ExtensionClass is replaced).
-
- 05 Eyl, 2001 1 kayıt (commit)
-
-
Guido van Rossum yazdı
While not even documented, they were clearly part of the C API, there's no great difficulty to support them, and it has the cool effect of not requiring any changes to ExtensionClass.c.
-
- 29 Agu, 2001 1 kayıt (commit)
-
-
Neil Schemenauer yazdı
-
- 24 Agu, 2001 2 kayıt (commit)
-
-
Guido van Rossum yazdı
an inappropriate first argument. Now that there are more ways for this to fail, make sure to report the name of the class of the expected instance and of the actual instance.
-
Barry Warsaw yazdı
into a hardcoded char* buffer. Closes patch #454743.
-
- 17 Agu, 2001 2 kayıt (commit)
-
-
Guido van Rossum yazdı
-
Guido van Rossum yazdı
streamlined a bit. instancemethod_descr_get(): don't bind an unbound method of a class that's not a base class of the argument class.
-