1. 10 Eyl, 2001 21 kayıt (commit)
  2. 09 Eyl, 2001 6 kayıt (commit)
  3. 08 Eyl, 2001 7 kayıt (commit)
  4. 07 Eyl, 2001 6 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
    • Guido van Rossum's avatar
      PyType_IsSubtype(): test tp_flags for HAVE_CLASS bit before accessing · 9478d07e
      Guido van Rossum yazdı
      a->tp_mro.  If a doesn't have class, it's considered a subclass only
      of itself or of 'object'.
      
      This one fix is enough to prevent the ExtensionClass test suite from
      dumping core, but that doesn't say much (it's a rather small test
      suite).  Also note that for ExtensionClass-defined types, a different
      subclass test may be needed.  But I haven't checked whether
      PyType_IsSubtype() is actually used in situations where this matters
      -- probably it doesn't, since we also don't check for classic classes.
      9478d07e
    • Barry Warsaw's avatar
      Bumping version numbers. · 317e9f5e
      Barry Warsaw yazdı
      317e9f5e
    • Barry Warsaw's avatar
      b5b78650
    • Barry Warsaw's avatar
      d6c8ca65