An initial analysis showed that for more than half of the classes in Zope 2, it was impossible to compute a method-resolution order using the new algorithm. After about a day of analysis (and development of a tool to aid in the analysis) I've been able to adjust the Zope classes so that they will work with the new algorithm.
I also analyzed the CMF head. To use the new algorithm with the CMF, it was necessary to make some changes to the CMF and to Zope. In one case, it was necessary to copy some methods around.
I've checked the results of my work into the mro-advanture-branch (waa, I wish I cud spell) branch.
You might find it entertaining to check out Zope on this branch:
cvs co -rmro-advanture-branch Zope
(and build it) (Note, Python2.3 is required.)
Install your favorite products (CMF makes a nice example) and then use the functions in the included mrohell module to find out if you have a problem:
cd Zope bin/zopectl debug >>> import mrohell >>> base = merohell.step1() >>> mrohell.step2(base, mroonly=True)
and see if you get any mro problems. If you do, see if you can figure out how to fix them.
-- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org
Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce