1. 10 Eyl, 2001 25 kayıt (commit)
  2. 09 Eyl, 2001 6 kayıt (commit)
  3. 08 Eyl, 2001 7 kayıt (commit)
  4. 07 Eyl, 2001 2 kayıt (commit)
    • Guido van Rossum's avatar
      PyClass_New(): put the extended Don Beaudry hook back in. When one of · 28d80b10
      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).
      28d80b10
    • Guido van Rossum's avatar
      PySequence_Check(), PyMapping_Check(): only return true if the · 8700b428
      Guido van Rossum yazdı
      corresponding "getitem" operation (sq_item or mp_subscript) is
      implemented.  I realize that "sequence-ness" and "mapping-ness" are
      poorly defined (and the tests may still be wrong for user-defined
      instances, which always have both slots filled), but I believe that a
      sequence that doesn't support its getitem operation should not be
      considered a sequence.  All other operations are optional though.
      
      For example, the ZODB BTree tests crashed because PySequence_Check()
      returned true for a dictionary!  (In 2.2, the dictionary type has a
      tp_as_sequence pointer, but the only field filled is sq_contains, so
      you can write "if key in dict".)  With this fix, all standalone ZODB
      tests succeed.
      8700b428