1. 18 Ock, 2008 1 kayıt (commit)
    • Guido van Rossum's avatar
      Backport r55080: · 03706d2d
      Guido van Rossum yazdı
      Fix for #1303614 and #1174712:
      - __dict__ descriptor abuse for subclasses of built-in types
      - subclassing from both ModuleType and another built-in types
      03706d2d
  2. 15 Mar, 2007 1 kayıt (commit)
  3. 14 Mar, 2007 1 kayıt (commit)
  4. 11 Mar, 2007 1 kayıt (commit)
  5. 09 Şub, 2007 1 kayıt (commit)
  6. 23 Ock, 2007 1 kayıt (commit)
  7. 04 Eki, 2006 1 kayıt (commit)
    • Armin Rigo's avatar
      Forward-port of r52136: a review of overflow-detecting code. · 4b63c21d
      Armin Rigo yazdı
      * unified the way intobject, longobject and mystrtoul handle
        values around -sys.maxint-1.
      
      * in general, trying to entierely avoid overflows in any computation
        involving signed ints or longs is extremely involved.  Fixed a few
        simple cases where a compiler might be too clever (but that's all
        guesswork).
      
      * more overflow checks against bad data in marshal.c.
      
      * 2.5 specific: fixed a number of places that were still confusing int
        and Py_ssize_t.  Some of them could potentially have caused
        "real-world" breakage.
      
      * list.pop(x): fixing overflow issues on x was messy.  I just reverted
        to PyArg_ParseTuple("n"), which does the right thing.  (An obscure
        test was trying to give a Decimal to list.pop()... doesn't make
        sense any more IMHO)
      
      * trying to write a few tests...
      4b63c21d
  8. 30 Eyl, 2006 1 kayıt (commit)
  9. 12 Agu, 2006 2 kayıt (commit)
    • Neal Norwitz's avatar
      Fix a couple of bugs exposed by the new __index__ code. The 64-bit buildbots · 1872b1c0
      Neal Norwitz yazdı
      were failing due to inappropriate clipping of numbers larger than 2**31
      with new-style classes. (typeobject.c)  In reviewing the code for classic
      classes, there were 2 problems.  Any negative value return could be returned.
      Always return -1 if there was an error.  Also make the checks similar
      with the new-style classes.  I believe this is correct for 32 and 64 bit
      boxes, including Windows64.
      
      Add a test of classic classes too.
      1872b1c0
    • Neal Norwitz's avatar
      Patch #1538606, Patch to fix __index__() clipping. · 8a87f5d3
      Neal Norwitz yazdı
      I modified this patch some by fixing style, some error checking, and adding
      XXX comments.  This patch requires review and some changes are to be expected.
      I'm checking in now to get the greatest possible review and establish a
      baseline for moving forward.  I don't want this to hold up release if possible.
      8a87f5d3
  10. 09 Agu, 2006 2 kayıt (commit)
  11. 04 Agu, 2006 1 kayıt (commit)
  12. 21 Tem, 2006 1 kayıt (commit)
  13. 23 Haz, 2006 1 kayıt (commit)
  14. 21 Haz, 2006 1 kayıt (commit)
    • Armin Rigo's avatar
      Fix for an obscure bug introduced by revs 46806 and 46808, with a test. · 53c1692f
      Armin Rigo yazdı
      The problem of checking too eagerly for recursive calls is the
      following: if a RuntimeError is caused by recursion, and if code needs
      to normalize it immediately (as in the 2nd test), then
      PyErr_NormalizeException() needs a call to the RuntimeError class to
      instantiate it, and this hits the recursion limit again...  causing
      PyErr_NormalizeException() to never finish.
      
      Moved this particular recursion check to slot_tp_call(), which is not
      involved in instantiating built-in exceptions.
      
      Backport candidate.
      53c1692f
  15. 18 Haz, 2006 1 kayıt (commit)
  16. 25 May, 2006 1 kayıt (commit)
  17. 21 Nis, 2006 1 kayıt (commit)
  18. 18 Nis, 2006 1 kayıt (commit)
  19. 15 Nis, 2006 3 kayıt (commit)
  20. 11 Nis, 2006 2 kayıt (commit)
  21. 30 Mar, 2006 2 kayıt (commit)
  22. 17 Mar, 2006 1 kayıt (commit)
  23. 10 Mar, 2006 1 kayıt (commit)
  24. 07 Mar, 2006 2 kayıt (commit)
  25. 27 Şub, 2006 1 kayıt (commit)
  26. 20 Şub, 2006 1 kayıt (commit)
  27. 16 Şub, 2006 2 kayıt (commit)
  28. 15 Şub, 2006 1 kayıt (commit)
  29. 02 Ock, 2006 1 kayıt (commit)
  30. 29 Ara, 2005 2 kayıt (commit)
    • Armin Rigo's avatar
      SF bug #1153075: "PyXxx_Check(x) trusts x->ob_type->tp_mro". · 037d1e0f
      Armin Rigo yazdı
      A patch by mwh to check that user-defined mro's are reasonable
      enough.
      037d1e0f
    • Armin Rigo's avatar
      SF patch #1390657: · fd163f92
      Armin Rigo yazdı
      * set sq_repeat and sq_concat to NULL for user-defined new-style
        classes, as a way to fix a number of related problems.  See
        test_descr.notimplemented()).  One of these problems was fixed
        in r25556 and r25557 but many more existed; this is a general
        fix and thus reverts r25556-r25557.
      
      * to avoid having PySequence_Repeat()/PySequence_Concat() failing
        on user-defined classes, they now fall back to nb_add/nb_mul if
        sq_concat/sq_repeat are not defined and the arguments appear to
        be sequences.
      
      * added tests.
      
      Backport candidate.
      fd163f92
  31. 10 Ara, 2005 1 kayıt (commit)
    • Jeremy Hylton's avatar
      Add const to several API functions that take char *. · af68c874
      Jeremy Hylton yazdı
      In C++, it's an error to pass a string literal to a char* function
      without a const_cast().  Rather than require every C++ extension
      module to put a cast around string literals, fix the API to state the
      const-ness.
      
      I focused on parts of the API where people usually pass literals:
      PyArg_ParseTuple() and friends, Py_BuildValue(), PyMethodDef, the type
      slots, etc.  Predictably, there were a large set of functions that
      needed to be fixed as a result of these changes.  The most pervasive
      change was to make the keyword args list passed to
      PyArg_ParseTupleAndKewords() to be a const char *kwlist[].
      
      One cast was required as a result of the changes:  A type object
      mallocs the memory for its tp_doc slot and later frees it.
      PyTypeObject says that tp_doc is const char *; but if the type was
      created by type_new(), we know it is safe to cast to char *.
      af68c874