1. 12 Agu, 2005 1 kayıt (commit)
  2. 26 Nis, 2005 1 kayıt (commit)
  3. 23 Ara, 2004 1 kayıt (commit)
  4. 25 Eyl, 2004 1 kayıt (commit)
  5. 23 Eyl, 2004 1 kayıt (commit)
  6. 14 Eyl, 2004 1 kayıt (commit)
  7. 07 Agu, 2004 1 kayıt (commit)
  8. 08 Tem, 2004 1 kayıt (commit)
  9. 02 Tem, 2004 2 kayıt (commit)
    • Fred Drake's avatar
      Make weak references subclassable: · 0a4dd390
      Fred Drake yazdı
      - weakref.ref and weakref.ReferenceType will become aliases for each
        other
      
      - weakref.ref will be a modern, new-style class with proper __new__
        and __init__ methods
      
      - weakref.WeakValueDictionary will have a lighter memory footprint,
        using a new weakref.ref subclass to associate the key with the
        value, allowing us to have only a single object of overhead for each
        dictionary entry (currently, there are 3 objects of overhead per
        entry: a weakref to the value, a weakref to the dictionary, and a
        function object used as a weakref callback; the weakref to the
        dictionary could be avoided without this change)
      
      - a new macro, PyWeakref_CheckRefExact(), will be added
      
      - PyWeakref_CheckRef() will check for subclasses of weakref.ref
      
      This closes SF patch #983019.
      0a4dd390
    • Raymond Hettinger's avatar
      SF Bug #215126: Over restricted type checking on eval() function · 214b1c3a
      Raymond Hettinger yazdı
      The builtin eval() function now accepts any mapping for the locals argument.
      Time sensitive steps guarded by PyDict_CheckExact() to keep from slowing
      down the normal case.  My timings so no measurable impact.
      214b1c3a
  10. 22 Nis, 2004 1 kayıt (commit)
  11. 21 Mar, 2004 2 kayıt (commit)
  12. 27 Ock, 2004 1 kayıt (commit)
  13. 20 Kas, 2003 1 kayıt (commit)
  14. 19 Kas, 2003 1 kayıt (commit)
  15. 28 Eki, 2003 1 kayıt (commit)
  16. 15 Agu, 2003 1 kayıt (commit)
    • Michael W. Hudson's avatar
      Fix for · b2c7de46
      Michael W. Hudson yazdı
      [ 784825 ] fix obscure crash in descriptor handling
      
      Should be applied to release23-maint and in all likelyhood
      release22-maint, too.
      
      Certainly doesn't apply to release21-maint.
      b2c7de46
  17. 18 Nis, 2003 1 kayıt (commit)
    • Tim Peters's avatar
      _Py_PrintReferenceAddresses(): also print the type name. In real use · 21d7d4d5
      Tim Peters yazdı
      I'm finding some pretty baffling output, like reprs consisting entirely
      of three left parens.  At least this will let us know what type the object
      is (it's not str -- there's no quote character in the repr).
      
      New tool combinerefs.py, to combine the two output blocks produced via
      PYTHONDUMPREFS.
      21d7d4d5
  18. 17 Nis, 2003 1 kayıt (commit)
    • Tim Peters's avatar
      _Py_PrintReferences(): Changed to print object address at start of each · 269b2a67
      Tim Peters yazdı
      new line.
      
      New pvt API function _Py_PrintReferenceAddresses():  Prints only the
      addresses and refcnts of the live objects.  This is always safe to call,
      because it has no dependence on Python's C API.
      
      Py_Finalize():  If envar PYTHONDUMPREFS is set, call (the new)
      _Py_PrintReferenceAddresses() right before dumping final pymalloc stats.
      We can't print the reprs of the objects here because too much of the
      interpreter has been shut down.  You need to correlate the addresses
      displayed here with the object reprs printed by the earlier
      PYTHONDUMPREFS call to _Py_PrintReferences().
      269b2a67
  19. 15 Nis, 2003 1 kayıt (commit)
    • Guido van Rossum's avatar
      - pythunrun.c, Py_Finalize(): move the call to _Py_PrintReferences() · 0fc8f002
      Guido van Rossum yazdı
        even farther down, to just before the call to
        _PyObject_DebugMallocStats().  This required the following changes:
      
      - pystate.c, PyThreadState_GetDict(): changed not to raise an
        exception or issue a fatal error when no current thread state is
        available, but simply return NULL without raising an exception
        (ever).
      
      - object.c, Py_ReprEnter(): when PyThreadState_GetDict() returns NULL,
        don't raise an exception but return 0.  This means that when
        printing a container that's recursive, printing will go on and on
        and on.  But that shouldn't happen in the case we care about (see
        first bullet).
      
      - Updated Misc/NEWS and Doc/api/init.tex to reflect changes to
        PyThreadState_GetDict() definition.
      0fc8f002
  20. 23 Mar, 2003 5 kayıt (commit)
    • Tim Peters's avatar
      Typo in comment. · 51f8d381
      Tim Peters yazdı
      51f8d381
    • Tim Peters's avatar
      Improved new Py_TRACE_REFS gimmicks. · 7571a0fb
      Tim Peters yazdı
      Arranged that all the objects exposed by __builtin__ appear in the list
      of all objects.  I basically peed away two days tracking down a mystery
      leak in sys.gettotalrefcount() in a ZODB app (== tons of code), because
      the object leaking the references didn't appear in the sys.getobjects(0)
      list.  The object happened to be False.  Now False is in the list, along
      with other popular & previously missing leak candidates (like None).
      Alas, we still don't have a choke point covering *all* Python objects,
      so the list of all objects may still be incomplete.
      7571a0fb
    • Tim Peters's avatar
      Refactored some of the Py_TRACE_REFS code. New private API function · 36eb4dfb
      Tim Peters yazdı
      _Py_AddToAllObjects() that simply inserts an object at the front of
      the doubly-linked list of all objects.  Changed PyType_Ready() (the
       closest thing we've got to a choke point for type objects) to call
      that.
      36eb4dfb
    • Tim Peters's avatar
      Oops! Used a wrong preprocessor symbol. · 3e40c7ff
      Tim Peters yazdı
      3e40c7ff
    • Tim Peters's avatar
      When Py_TRACE_REFS is defined, a list of all live objects is maintained in · 78be7993
      Tim Peters yazdı
      a doubly-linked list, exposed by sys.getobjects().  Unfortunately, it's not
      really all live objects, and it seems my fate to bump into programs where
      sys.gettotalrefcount() keeps going up but where the reference leaks aren't
      accounted for by anything in the list of all objects.
      
      This patch helps a little:  if COUNT_ALLOCS is also defined, from now on
      type objects will also appear in this list, provided at least one object
      of a type has been allocated.
      78be7993
  21. 17 Mar, 2003 2 kayıt (commit)
  22. 19 Şub, 2003 1 kayıt (commit)
    • Guido van Rossum's avatar
      PyObject_Generic{Get,Set}Attr: · 90195e26
      Guido van Rossum yazdı
      Don't access tp_descr_{get,set} of a descriptor without checking the
      flag bits of the descriptor's type.  While we know that the main type
      (the type of the object whose attribute is being accessed) has all the
      right flag bits (or else PyObject_Generic{Get,Set}Attr wouldn't be
      called), we don't know that for its class attributes!
      
      Will backport to 2.2.
      90195e26
  23. 18 Şub, 2003 1 kayıt (commit)
  24. 05 Şub, 2003 1 kayıt (commit)
  25. 20 Ock, 2003 1 kayıt (commit)
    • Tim Peters's avatar
      Recursive compare machinery: The code that intended to exempt tuples · 4440f22e
      Tim Peters yazdı
      was broken because new-in-2.3 code added a tp_as_mapping slot to tuples.
      Repaired that.
      
      Added basic docs to check_recursion().
      
      The code that intended to exempt tuples and strings was also broken here,
      and in 2.2:  these should use PyXYZ_CheckExact(), not PyXYZ_Check() -- we
      can't know whether subclass instances are immutable.  This part (and this
      part alone) is a bugfix candidate.
      4440f22e
  26. 13 Ock, 2003 1 kayıt (commit)
  27. 17 Kas, 2002 1 kayıt (commit)
  28. 11 Eki, 2002 1 kayıt (commit)
    • Guido van Rossum's avatar
      PyObject_Init[Var] is almost always called from the PyObject_NEW[_VAR] · 6e08c146
      Guido van Rossum yazdı
      macros.  The 'op' argument is then the result from PyObject_MALLOC,
      and that can of course be NULL.  In that case, PyObject_Init[Var]
      would raise a SystemError with "NULL object passed to
      PyObject_Init[Var]".  But there's nothing the caller of the macro can
      do about this.  So PyObject_Init[Var] should call just PyErr_NoMemory.
      
      Will backport.
      6e08c146
  29. 24 Agu, 2002 2 kayıt (commit)
  30. 19 Agu, 2002 2 kayıt (commit)
  31. 07 Agu, 2002 1 kayıt (commit)