While compiling psyco under Python 3000, I ran into some issues that
might be of interest.
At the C level:
statichere & staticforward caused the oddest error messages.
The removal of Py_TPFLAGS_HAVE_XXX touched the most places.
I think it be possible to redefine PyType_HasFeature and all of the
old flags
in a compatibility header file, something like :
#define PyType_HasFeature(t,f) ((f) && ( ((t)->tp_flags & (f) ) != 0))
nb_divide and nb_nonzero changes popped up a lot too.
At the python level:
Forced absolute imports was the only syntax issue not handled by 2to3.
This wrinkle of absolute imports surprised me:
>>> from .sibling import *
File "<stdin>", line 1
SyntaxError: 'import *' not allowed with 'from .'
This is a Python 3000 behavior:
>>> hash(sys._getframe())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'frame'
Potentially a bunch of types will become unhashable since this
code was removed from PyObject_Hash:
if (tp->tp_compare == NULL && RICHCOMPARE(tp) == NULL) {
return _Py_HashPointer(v); /* Use address as hash
value */
}
I was wondering whether those two behaviors could be changed.
Thanks
-Tony
_______________________________________________
Python-3000 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe:
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com