[Zope-dev] Re: Acquisition in Python2.5

2008-01-22 Thread Nikhil N
On Jan 22, 2008 5:01 AM, Tres Seaver [EMAIL PROTECTED] wrote:
  Hanno Schlichting wrote:

 Two wrappers compare equal, so the code comparing an AQ wrapper with
 something different should be the one with the problem. I'd look into
 Wrapper_compare in _Acquisition.c.

  Under 2.5, that function isn't even called during the test.  QED.

 It looks as though the only way out is to implement rich comparison
 semantics (Python's 'do_cmp' prefers 'tp_richcompare' to 'tp_compare').


Thanks for those hints. I will try to solve it by trying the above ways
(although I am not much good at C api part at present).


Regards,
Nikhil
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: Acquisition in Python2.5

2008-01-21 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Andreas Jung wrote:
 
 --On 21. Januar 2008 11:44:28 +0530 Nikhil N [EMAIL PROTECTED] wrote:
 
 Hello all ,

 I am stuck with an error in Acquisition while trying to make
 Zope2 work in Python2.5.
 
 Zope 2 does not support Python 2.5. Stick with the recommended
 version Python 2.4.4.

Andreas, Nikhil is the person working on 2.5 compabibility:  don't blow
him off!


Tres.
- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHlPKj+gerLs4ltQ4RArfqAKCRXxRpwr1Ys73KsmVxSkSJBJJuoQCgzxyL
eccoIDuP819JcOJFPQq0eCM=
=Aqw4
-END PGP SIGNATURE-

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: Acquisition in Python2.5

2008-01-21 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Nikhil N wrote:
 Hello all ,
 
 I am stuck with an error in Acquisition while trying to make
 Zope2 work in Python2.5. I reduced the errors obtained
 to those as follows (its not exactly as in the code, but a
 minimum set which shows the problem).
 
  from ExtensionClass import Base
  import Acquisition
  class B(Base):
 color='red'
  class A(Acquisition.Implicit):
 pass
  b=B()
  c = A()
  b.c = c
  print b.c == c
 
 When the last print statement should return true (2.4) ,in
 2.5 its returning false. Please give some hint on this.

Does 2.5 define new rich comparison slots, or something?


Tres.
- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHlPOL+gerLs4ltQ4RAqdSAKDZJOMl0yHnIm68jXAl8PwUoy4iogCfU4OD
owvenStnH4VgUeNvtPKQm5Y=
=4bXw
-END PGP SIGNATURE-

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Re: Acquisition in Python2.5

2008-01-21 Thread Andreas Jung



--On 21. Januar 2008 14:29:39 -0500 Tres Seaver [EMAIL PROTECTED] 
wrote:



-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Andreas Jung wrote:


--On 21. Januar 2008 11:44:28 +0530 Nikhil N [EMAIL PROTECTED]
wrote:


Hello all ,

I am stuck with an error in Acquisition while trying to make
Zope2 work in Python2.5.


Zope 2 does not support Python 2.5. Stick with the recommended
version Python 2.4.4.


Andreas, Nikhil is the person working on 2.5 compabibility:  don't blow
him off!


I did not know and I apologized already.

Andreas

pgpkDusM0IwmE.pgp
Description: PGP signature
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Re: Acquisition in Python2.5

2008-01-21 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Andreas Jung wrote:
 
 --On 21. Januar 2008 14:29:39 -0500 Tres Seaver [EMAIL PROTECTED] 
 wrote:
 
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Andreas Jung wrote:
 --On 21. Januar 2008 11:44:28 +0530 Nikhil N [EMAIL PROTECTED]
 wrote:

 Hello all ,

 I am stuck with an error in Acquisition while trying to make
 Zope2 work in Python2.5.
 Zope 2 does not support Python 2.5. Stick with the recommended
 version Python 2.4.4.
 Andreas, Nikhil is the person working on 2.5 compabibility:  don't blow
 him off!
 
 I did not know and I apologized already.

Ah, sorry -- I missed seeing that part of the thread.


Tres.
- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHlP4B+gerLs4ltQ4RAsbsAJ96o5HqQN+/W5Y+zXPbnxkAl9k1BQCfU5zU
ur9vwBgn8zrfK/ibge4EDhg=
=QQgZ
-END PGP SIGNATURE-
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: Acquisition in Python2.5

2008-01-21 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Nikhil N wrote:
 Hello all ,
 
 I am stuck with an error in Acquisition while trying to make
 Zope2 work in Python2.5. I reduced the errors obtained
 to those as follows (its not exactly as in the code, but a
 minimum set which shows the problem).
 
  from ExtensionClass import Base
  import Acquisition
  class B(Base):
 color='red'
  class A(Acquisition.Implicit):
 pass
  b=B()
  c = A()
  b.c = c
  print b.c == c
 
 When the last print statement should return true (2.4) ,in
 2.5 its returning false. Please give some hint on this.

Hmm, very strange.  I just did:

 $ uname -a
 Linux seabiscuit 2.6.22-14-generic #1 SMP \
   Tue Dec 18 08:02:57 UTC 2007 i686 GNU/Linux
 $ python -V
 Python 2.5.1
 $ cd ~/projects/Zope-CVS/Zope-trunk
 $ svn up
 ...
 $ python setup.py install --home=/home/tseaver/tmp/zpy25
 ...
 (error on installing a script, but all libraries installed)
 $ cd ~/tmp/zpy25/
 $ PYTHONPATH=lib/python/ python
 Python 2.5.1 (r251:54863, Oct  5 2007, 13:36:32)
 [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2
 Type help, copyright, credits or license for more information.
  from ExtensionClass import Base
  from Acquisition import Implicit
  class B(Base):
 ... color = 'red'
 ...
  class A(Implicit):
 ... pass
 ...
  b = B()
  c = A()
  c.color
 Traceback (most recent call last):
   File stdin, line 1, in module
 AttributeError: color
  b.c = c
  b.c.color
 'red'
  b.c == c
 False

which is what you reported.  However, two wrappers constructed
separately do compare equal:

  a = A().__of__(b)
  a.color
 'red'
  b.a = a
  b.a == a
 True

The Python 2.5 release notes don't talk about any changes to comparison
slots for C extensions: I'm not sure what could have changed.


Tres.
- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHlPns+gerLs4ltQ4RAlklAJ4rSe30Shrcbk/bQolzNCOQhq6UkgCg1lDo
hvA3QNJP7nFF67dBWypmWxI=
=J+x5
-END PGP SIGNATURE-

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: Acquisition in Python2.5

2008-01-21 Thread Hanno Schlichting

Tres Seaver wrote:

Nikhil N wrote:
Hmm, very strange.  I just did:


I used:

$ workingenv aq
$ source aq/bin/activate
$ easy_install Acquisition
$ python

For both Python 2.4 and 2.5 and can reproduce the problem.


  from ExtensionClass import Base
  from Acquisition import Implicit
  class B(Base):
 ... color = 'red'
 ...
  class A(Implicit):
 ... pass
 ...
  b = B()
  c = A()
  c.color
 Traceback (most recent call last):
   File stdin, line 1, in module
 AttributeError: color
  b.c = c
  b.c.color
 'red'
  b.c == c
 False


When I do:

 b.c.aq_base == c
True

So the AQ-wrapper doesn't compare equal to the outermost part of the AQ 
chain anymore.



which is what you reported.  However, two wrappers constructed
separately do compare equal:

  a = A().__of__(b)
  a.color
 'red'
  b.a = a
  b.a == a
 True


Two wrappers compare equal, so the code comparing an AQ wrapper with 
something different should be the one with the problem. I'd look into 
Wrapper_compare in _Acquisition.c.



The Python 2.5 release notes don't talk about any changes to comparison
slots for C extensions: I'm not sure what could have changed.


No idea either :(

Hanno

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: Acquisition in Python2.5

2008-01-21 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hanno Schlichting wrote:

 Two wrappers compare equal, so the code comparing an AQ wrapper with 
 something different should be the one with the problem. I'd look into 
 Wrapper_compare in _Acquisition.c.

Under 2.5, that function isn't even called during the test.  QED.


 The Python 2.5 release notes don't talk about any changes to comparison
 slots for C extensions: I'm not sure what could have changed.


Tres.
- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHlRBb+gerLs4ltQ4RAsWdAJ9ZSq23JfU8mD/dCLt7eatPlS4G+gCg2cqu
fdb8A8+fAD5zgIygv/cL1Ks=
=LZPR
-END PGP SIGNATURE-
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: Acquisition in Python2.5

2008-01-21 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tres Seaver wrote:
 Hanno Schlichting wrote:
 
 Two wrappers compare equal, so the code comparing an AQ wrapper with
 something different should be the one with the problem. I'd look into
 Wrapper_compare in _Acquisition.c.
 
 Under 2.5, that function isn't even called during the test.  QED.

Crap.  The Python maintainers decided to disallow heteragenous
comparisons in C code:

 - http://mail.python.org/pipermail/patches/2004-December/016607.html

which led to:

 -
http://svn.python.org/view/python/trunk/Objects/object.c?r1=37435r2=38113


It looks as though the only way out is to implement rich comparison
semantics (Python's 'do_cmp' prefers 'tp_richcompare' to 'tp_compare').



Tres.
- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHlStj+gerLs4ltQ4RAqDIAJwIL+1uEucXDOIFGJtsP6jP7khIqACeLV95
uf4ytGpv3fuUWO0gqx2vNhs=
=yFps
-END PGP SIGNATURE-

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )