From: Finn B. <bc...@us...> - 2001-01-17 11:51:16
|
Update of /cvsroot/jython/jython/org/python/core In directory usw-pr-cvs1:/tmp/cvs-serv28916 Modified Files: Py.java Log Message: Keep the reference to PyJavaClass(__builtin__) alive during initialization. Index: Py.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/Py.java,v retrieving revision 2.30 retrieving revision 2.31 diff -C2 -r2.30 -r2.31 *** Py.java 2001/01/10 11:32:10 2.30 --- Py.java 2001/01/17 11:51:14 2.31 *************** *** 374,380 **** } public static void setBuiltinExceptions() { ! PyObject dict = PyJavaClass.lookup( ! org.python.core.__builtin__.class).__getattr__("__dict__"); dict.__setitem__("Exception", Py.Exception); dict.__setitem__("TypeError", Py.TypeError); --- 374,385 ---- } + // This is just to save a reference, so the weak implementation + // of internal tables does not remove it shortly after initialization. + private static PyJavaClass __builtin__class; + public static void setBuiltinExceptions() { ! __builtin__class = ! PyJavaClass.lookup(org.python.core.__builtin__.class); ! PyObject dict = __builtin__class.__getattr__("__dict__"); dict.__setitem__("Exception", Py.Exception); dict.__setitem__("TypeError", Py.TypeError); |