From: Armin R. <ar...@ul...> - 2002-03-18 19:10:07
|
Hello everybody, I commited a bunch of changes to Psyco. Here are a few words about them... Primitive traceback support. There is still no general frame support, but this is enough to let the familiar tracebacks be printed again. Memory allocation bug fixed. Might be the source of the SF bug reported by Codepage. [Can you please check this? Thanks!] IMPORT_NAME and IMPORT_FROM opcodes supported (import xx / from xx import yy). The "from xx import *" form is not supported but is supposed to be illegal anyway in a function. Fix for global variables: a function like def f(): global N N = 5 return N failed with a NameError on the last line if N did not exist in the globals before the function call. Note however that a contrieved exemple can still be built: if f() calls g() which creates a new global N, f() will immediately see N. I have taken care of this in the common case of N not also being the name of an existing built-in. Class creation: when creating a class inside a function, __metaclass__ was looked up in the globals of the last Python-executed function instead of the current function. Minor other fixes. Thanks, Armin. |