From: Finn B. <bc...@us...> - 2001-11-27 19:07:24
|
Update of /cvsroot/jython/jython/org/python/core In directory usw-pr-cvs1:/tmp/cvs-serv31804/core Modified Files: CompilerFlags.java InternalTables.java Py.java PyClass.java PyCode.java PyFrame.java PyFunction.java PyString.java PySystemState.java PyTableCode.java __builtin__.java exceptions.java imp.java parser.java Log Message: Long line normalization. Index: CompilerFlags.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/CompilerFlags.java,v retrieving revision 2.3 retrieving revision 2.4 diff -C2 -d -r2.3 -r2.4 *** CompilerFlags.java 2001/11/27 13:51:37 2.3 --- CompilerFlags.java 2001/11/27 19:07:21 2.4 *************** *** 7,11 **** public CompilerFlags(int co_flags) { ! if ((co_flags&org.python.core.PyTableCode.CO_NESTED) != 0) nested_scopes = true; } --- 7,12 ---- public CompilerFlags(int co_flags) { ! if ((co_flags&org.python.core.PyTableCode.CO_NESTED) != 0) ! nested_scopes = true; } Index: InternalTables.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/InternalTables.java,v retrieving revision 2.10 retrieving revision 2.11 diff -C2 -d -r2.10 -r2.11 *** InternalTables.java 2001/11/27 13:51:37 2.10 --- InternalTables.java 2001/11/27 19:07:21 2.11 *************** *** 46,51 **** java.util.Properties registry = PySystemState.registry; if (registry == null) { ! throw new java.lang.IllegalStateException("Jython interpreter state not initialized. " ! + "You need to call PySystemState.initialize or PythonInterpreter.initialize."); } String cands = registry.getProperty( --- 46,53 ---- java.util.Properties registry = PySystemState.registry; if (registry == null) { ! throw new java.lang.IllegalStateException( ! "Jython interpreter state not initialized. " + ! "You need to call PySystemState.initialize or " + ! "PythonInterpreter.initialize."); } String cands = registry.getProperty( Index: Py.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/Py.java,v retrieving revision 2.57 retrieving revision 2.58 diff -C2 -d -r2.57 -r2.58 *** Py.java 2001/11/27 13:51:37 2.57 --- Py.java 2001/11/27 19:07:21 2.58 *************** *** 277,281 **** } ! public static void warning(PyObject category, String message,String filename,int lineno, String module, PyObject registry) { PyObject func = null; PyObject mod = importWarnings(); --- 277,284 ---- } ! public static void warning(PyObject category, String message, ! String filename, int lineno, String module, ! PyObject registry) ! { PyObject func = null; PyObject mod = importWarnings(); *************** *** 283,292 **** func = mod.__getattr__("warn_explicit"); if (func == null) { ! System.err.println(filename + ":" + lineno + ":" + warn_hcategory(category) + ": " + message); return; } else { ! func.__call__(new PyObject[] {Py.newString(message), category, Py.newString(filename), Py.newInteger(lineno), ! (module == null)?Py.None:Py.newString(module), registry}, Py.NoKeywords); } } --- 286,298 ---- func = mod.__getattr__("warn_explicit"); if (func == null) { ! System.err.println(filename + ":" + lineno + ":" + ! warn_hcategory(category) + ": " + message); return; } else { ! func.__call__(new PyObject[] { ! Py.newString(message), category, Py.newString(filename), Py.newInteger(lineno), ! (module == null) ? Py.None : Py.newString(module), ! registry}, Py.NoKeywords); } } *************** *** 434,438 **** } ! // nested scopes: String[] cellvars,String[] freevars,int npurecell & int moreflags public static PyCode newCode(int argcount, String varnames[], --- 440,445 ---- } ! // nested scopes: ! // String[] cellvars,String[] freevars,int npurecell & int moreflags public static PyCode newCode(int argcount, String varnames[], *************** *** 440,448 **** boolean args, boolean keywords, PyFunctionTable funcs, int func_id, ! String[] cellvars,String[] freevars,int npurecell,int moreflags) { return new PyTableCode(argcount, varnames, filename, name, 0, args, keywords, funcs, ! func_id, cellvars, freevars, npurecell,moreflags); } --- 447,457 ---- boolean args, boolean keywords, PyFunctionTable funcs, int func_id, ! String[] cellvars,String[] freevars, ! int npurecell, int moreflags) { return new PyTableCode(argcount, varnames, filename, name, 0, args, keywords, funcs, ! func_id, cellvars, freevars, npurecell, ! moreflags); } *************** *** 452,461 **** boolean args, boolean keywords, PyFunctionTable funcs, int func_id, ! String[] cellvars,String[] freevars,int npurecell,int moreflags) { return new PyTableCode(argcount, varnames, filename, name, firstlineno, args, keywords, ! funcs, func_id, cellvars, freevars, npurecell,moreflags); } --- 461,472 ---- boolean args, boolean keywords, PyFunctionTable funcs, int func_id, ! String[] cellvars,String[] freevars, ! int npurecell, int moreflags) { return new PyTableCode(argcount, varnames, filename, name, firstlineno, args, keywords, ! funcs, func_id, cellvars, freevars, npurecell, ! moreflags); } *************** *** 809,813 **** code = ((PyRunnable)mainClass.newInstance()).getMain(); } catch (Throwable t) { ! System.err.println("Invalid class: "+mainClass.getName()+"$py"); System.exit(-1); } --- 820,825 ---- code = ((PyRunnable)mainClass.newInstance()).getMain(); } catch (Throwable t) { ! System.err.println("Invalid class: " + mainClass.getName() + ! "$py"); System.exit(-1); } *************** *** 1126,1130 **** throw Py.TypeError( "exec: argument 1 must be string, code or file object"); ! code = Py.compile_flags(contents, "<string>", "exec",Py.getCompilerFlags()); } Py.runCode(code, locals, globals); --- 1138,1143 ---- throw Py.TypeError( "exec: argument 1 must be string, code or file object"); ! code = Py.compile_flags(contents, "<string>", "exec", ! Py.getCompilerFlags()); } Py.runCode(code, locals, globals); *************** *** 1406,1410 **** public static PyObject makeClass(String name, PyObject[] bases, ! PyCode code, PyObject doc,PyObject[] closure_cells) { return makeClass(name, bases, code, doc, null, closure_cells); --- 1419,1424 ---- public static PyObject makeClass(String name, PyObject[] bases, ! PyCode code, PyObject doc, ! PyObject[] closure_cells) { return makeClass(name, bases, code, doc, null, closure_cells); *************** *** 1419,1427 **** ! private static Class[] pyClassCtrSignature = {String.class,PyTuple.class,PyObject.class,Class.class}; public static PyObject makeClass(String name, PyObject[] bases, PyCode code, PyObject doc, ! Class proxyClass,PyObject[] closure_cells) { PyFrame frame = getFrame(); --- 1433,1444 ---- ! private static Class[] pyClassCtrSignature = { ! String.class, PyTuple.class, PyObject.class, Class.class ! }; public static PyObject makeClass(String name, PyObject[] bases, PyCode code, PyObject doc, ! Class proxyClass, ! PyObject[] closure_cells) { PyFrame frame = getFrame(); *************** *** 1429,1433 **** PyObject dict = code.call(Py.EmptyObjects, Py.NoKeywords, ! globals, Py.EmptyObjects,new PyTuple(closure_cells)); if (doc != null) dict.__setitem__("__doc__", doc); --- 1446,1451 ---- PyObject dict = code.call(Py.EmptyObjects, Py.NoKeywords, ! globals, Py.EmptyObjects, ! new PyTuple(closure_cells)); if (doc != null) dict.__setitem__("__doc__", doc); *************** *** 1450,1457 **** // experimental PyMetaClass hook try { ! return (PyObject)bases[i].getClass().getConstructor(pyClassCtrSignature).newInstance( ! new Object[] { name, new PyTuple(bases), dict, proxyClass }); } catch(Exception e) { ! throw Py.TypeError("meta-class fails to supply proper ctr: "+bases[i].safeRepr()); } } --- 1468,1478 ---- // experimental PyMetaClass hook try { ! java.lang.reflect.Constructor ctor = bases[i].getClass(). ! getConstructor(pyClassCtrSignature); ! return (PyObject) ctor.newInstance(new Object[] { ! name, new PyTuple(bases), dict, proxyClass }); } catch(Exception e) { ! throw Py.TypeError("meta-class fails to supply proper " + ! "ctr: " + bases[i].safeRepr()); } } *************** *** 1496,1500 **** boolean printResults) { ! return compile_flags(node,name,filename,linenumbers,printResults,null); } --- 1517,1522 ---- boolean printResults) { ! return compile_flags(node, name, filename, linenumbers, ! printResults, null); } *************** *** 1533,1541 **** if (type.equals("single")) printResults = true; ! return Py.compile_flags(node, getName(), filename, true, printResults,cflags); } ! public static PyCode compile_flags(String data, String filename, String type,CompilerFlags cflags) { ! return Py.compile_flags(new java.io.StringBufferInputStream(data+"\n\n"), filename, type,cflags); } --- 1555,1567 ---- if (type.equals("single")) printResults = true; ! return Py.compile_flags(node, getName(), filename, true, printResults, ! cflags); } ! public static PyCode compile_flags(String data, String filename, ! String type,CompilerFlags cflags) ! { ! return Py.compile_flags( ! new java.io.StringBufferInputStream(data+"\n\n"), filename, type,cflags); } *************** *** 1587,1591 **** public static void printResult(PyObject ret) { Py.getThreadState().systemState.invoke("displayhook", ret); - //Py.getThreadState().systemState.__dict__.__finditem__("displayhook").__call__(ret); } --- 1613,1616 ---- *************** *** 1690,1706 **** public PyObject call(PyObject args[], String keywords[], ! PyObject globals, PyObject[] defaults, PyObject closure) { return func.__call__(args, keywords); } ! public PyObject call(PyObject self, PyObject args[], ! String keywords[], ! PyObject globals, PyObject[] defaults, PyObject closure) { return func.__call__(self, args, keywords); } ! public PyObject call(PyObject globals, PyObject[] defaults, PyObject closure) { return func.__call__(); --- 1715,1733 ---- public PyObject call(PyObject args[], String keywords[], ! PyObject globals, PyObject[] defaults, ! PyObject closure) { return func.__call__(args, keywords); } ! public PyObject call(PyObject self, PyObject args[], String keywords[], ! PyObject globals, PyObject[] defaults, ! PyObject closure) { return func.__call__(self, args, keywords); } ! public PyObject call(PyObject globals, PyObject[] defaults, ! PyObject closure) { return func.__call__(); *************** *** 1708,1718 **** public PyObject call(PyObject arg1, PyObject globals, ! PyObject[] defaults, PyObject closure) { return func.__call__(arg1); } ! public PyObject call(PyObject arg1, PyObject arg2, ! PyObject globals, PyObject[] defaults, PyObject closure) { return func.__call__(arg1, arg2); --- 1735,1745 ---- public PyObject call(PyObject arg1, PyObject globals, ! PyObject[] defaults, PyObject closure) { return func.__call__(arg1); } ! public PyObject call(PyObject arg1, PyObject arg2, PyObject globals, ! PyObject[] defaults, PyObject closure) { return func.__call__(arg1, arg2); *************** *** 1720,1724 **** public PyObject call(PyObject arg1, PyObject arg2, PyObject arg3, ! PyObject globals, PyObject[] defaults, PyObject closure) { return func.__call__(arg1, arg2, arg3); --- 1747,1752 ---- public PyObject call(PyObject arg1, PyObject arg2, PyObject arg3, ! PyObject globals, PyObject[] defaults, ! PyObject closure) { return func.__call__(arg1, arg2, arg3); Index: PyClass.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PyClass.java,v retrieving revision 2.27 retrieving revision 2.28 diff -C2 -d -r2.27 -r2.28 *** PyClass.java 2001/11/27 13:51:37 2.27 --- PyClass.java 2001/11/27 19:07:21 2.28 *************** *** 134,138 **** if (snames != null) { PyObject sname; ! for (int i = 0; (sname = snames.__finditem__(i)) != null; i++) { if (__dict__.__finditem__(sname) == null) { PyObject superFunc = superDict.__finditem__(sname); --- 134,139 ---- if (snames != null) { PyObject sname; ! int i; ! for (i = 0; (sname = snames.__finditem__(i)) != null; i++) { if (__dict__.__finditem__(sname) == null) { PyObject superFunc = superDict.__finditem__(sname); Index: PyCode.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PyCode.java,v retrieving revision 2.7 retrieving revision 2.8 diff -C2 -d -r2.7 -r2.8 *** PyCode.java 2001/11/27 13:51:37 2.7 --- PyCode.java 2001/11/27 19:07:21 2.8 *************** *** 11,24 **** abstract public PyObject call(PyFrame frame, PyObject closure); ! public PyObject call(PyFrame frame) { return call(frame,null); } // commodity abstract public PyObject call(PyObject args[], String keywords[], ! PyObject globals, PyObject[] defaults, PyObject closure); abstract public PyObject call(PyObject self, PyObject args[], String keywords[], ! PyObject globals, PyObject[] defaults,PyObject closure); ! abstract public PyObject call(PyObject globals, PyObject[] defaults, PyObject closure); abstract public PyObject call(PyObject arg1, PyObject globals, --- 11,29 ---- abstract public PyObject call(PyFrame frame, PyObject closure); ! public PyObject call(PyFrame frame) { ! return call(frame, null); ! } abstract public PyObject call(PyObject args[], String keywords[], ! PyObject globals, PyObject[] defaults, ! PyObject closure); abstract public PyObject call(PyObject self, PyObject args[], String keywords[], ! PyObject globals, PyObject[] defaults, ! PyObject closure); ! abstract public PyObject call(PyObject globals, PyObject[] defaults, ! PyObject closure); abstract public PyObject call(PyObject arg1, PyObject globals, *************** *** 26,33 **** abstract public PyObject call(PyObject arg1, PyObject arg2, ! PyObject globals, PyObject[] defaults, PyObject closure); abstract public PyObject call(PyObject arg1, PyObject arg2, PyObject arg3, ! PyObject globals, PyObject[] defaults, PyObject closure); } --- 31,40 ---- abstract public PyObject call(PyObject arg1, PyObject arg2, ! PyObject globals, PyObject[] defaults, ! PyObject closure); abstract public PyObject call(PyObject arg1, PyObject arg2, PyObject arg3, ! PyObject globals, PyObject[] defaults, ! PyObject closure); } Index: PyFrame.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PyFrame.java,v retrieving revision 2.12 retrieving revision 2.13 diff -C2 -d -r2.12 -r2.13 *** PyFrame.java 2001/11/27 13:51:37 2.12 --- PyFrame.java 2001/11/27 19:07:21 2.13 *************** *** 40,52 **** // This needs work to be efficient with multiple interpreter states if (locals == null && code != null) { ! if ((code.co_flags&PyTableCode.CO_OPTIMIZED)!=0 || code.nargs > 0) { // ! f_fastlocals needed for arg passing too ! if (code.co_nlocals>0) f_fastlocals = new PyObject[code.co_nlocals-code.jy_npurecell]; // internal: may change ! } else f_locals = new PyStringMap(); } if (code != null) { // reserve space for env int env_sz = 0; ! if (code.co_freevars != null) env_sz += (f_nfreevars = code.co_freevars.length); ! if (code.co_cellvars != null) env_sz += (f_ncells = code.co_cellvars.length); ! if (env_sz > 0) f_env = new PyCell[env_sz]; } } --- 40,62 ---- // This needs work to be efficient with multiple interpreter states if (locals == null && code != null) { ! // ! f_fastlocals needed for arg passing too ! if ((code.co_flags&PyTableCode.CO_OPTIMIZED)!=0 || ! code.nargs > 0) { ! if (code.co_nlocals > 0) { ! // internal: may change ! f_fastlocals = new PyObject[ ! code.co_nlocals-code.jy_npurecell]; ! } ! } else ! f_locals = new PyStringMap(); } if (code != null) { // reserve space for env int env_sz = 0; ! if (code.co_freevars != null) ! env_sz += (f_nfreevars = code.co_freevars.length); ! if (code.co_cellvars != null) ! env_sz += (f_ncells = code.co_cellvars.length); ! if (env_sz > 0) ! f_env = new PyCell[env_sz]; } } *************** *** 119,125 **** for (i=0; i<f_fastlocals.length; i++) { PyObject o = f_fastlocals[i]; ! if (o != null) f_locals.__setitem__(f_code.co_varnames[i], o); } ! if ((f_code.co_flags&PyTableCode.CO_OPTIMIZED) == 0) f_fastlocals = null; } int j = 0; --- 129,137 ---- for (i=0; i<f_fastlocals.length; i++) { PyObject o = f_fastlocals[i]; ! if (o != null) ! f_locals.__setitem__(f_code.co_varnames[i], o); } ! if ((f_code.co_flags&PyTableCode.CO_OPTIMIZED) == 0) ! f_fastlocals = null; } int j = 0; *************** *** 212,216 **** if (f_fastlocals != null) { if (f_fastlocals[index] == null) { ! throw Py.UnboundLocalError("local: '"+f_code.co_varnames[index]+"'"); } f_fastlocals[index] = null; --- 224,229 ---- if (f_fastlocals != null) { if (f_fastlocals[index] == null) { ! throw Py.UnboundLocalError("local: '"+ ! f_code.co_varnames[index]+"'"); } f_fastlocals[index] = null; Index: PyFunction.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PyFunction.java,v retrieving revision 2.13 retrieving revision 2.14 diff -C2 -d -r2.13 -r2.14 *** PyFunction.java 2001/11/27 13:51:37 2.13 --- PyFunction.java 2001/11/27 19:07:21 2.14 *************** *** 43,47 **** } ! public PyFunction(PyObject globals, PyObject[] defaults, PyCode code, PyObject[] closure_cells) { this(globals, defaults, code, null,closure_cells); } --- 43,49 ---- } ! public PyFunction(PyObject globals, PyObject[] defaults, PyCode code, ! PyObject[] closure_cells) ! { this(globals, defaults, code, null,closure_cells); } *************** *** 171,182 **** } public PyObject __call__(PyObject arg1, PyObject arg2) { ! return func_code.call(arg1, arg2, func_globals, func_defaults, func_closure); } public PyObject __call__(PyObject arg1, PyObject arg2, PyObject arg3) { ! return func_code.call(arg1, arg2, arg3, func_globals, func_defaults, func_closure); } public PyObject __call__(PyObject[] args, String[] keywords) { ! return func_code.call(args, keywords, func_globals, func_defaults, func_closure); } public PyObject __call__(PyObject arg1, PyObject[] args, --- 173,187 ---- } public PyObject __call__(PyObject arg1, PyObject arg2) { ! return func_code.call(arg1, arg2, func_globals, func_defaults, ! func_closure); } public PyObject __call__(PyObject arg1, PyObject arg2, PyObject arg3) { ! return func_code.call(arg1, arg2, arg3, func_globals, func_defaults, ! func_closure); } public PyObject __call__(PyObject[] args, String[] keywords) { ! return func_code.call(args, keywords, func_globals, func_defaults, ! func_closure); } public PyObject __call__(PyObject arg1, PyObject[] args, Index: PyString.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PyString.java,v retrieving revision 2.51 retrieving revision 2.52 diff -C2 -d -r2.51 -r2.52 *** PyString.java 2001/11/27 11:18:04 2.51 --- PyString.java 2001/11/27 19:07:21 2.52 *************** *** 1258,1262 **** if (base == 0 || base == 16) { if (string.charAt(b) == '0') { ! if (b < e-1 && (string.charAt(b+1) == 'x' || string.charAt(b+1) == 'X')) { base = 16; b += 2; --- 1258,1263 ---- if (base == 0 || base == 16) { if (string.charAt(b) == '0') { ! if (b < e-1 && ! Character.toUpperCase(string.charAt(b+1)) == 'X') { base = 16; b += 2; *************** *** 1320,1324 **** if (base == 0 || base == 16) { if (string.charAt(b) == '0') { ! if (b < e-1 && (string.charAt(b+1) == 'x' || string.charAt(b+1) == 'X')) { base = 16; b += 2; --- 1321,1326 ---- if (base == 0 || base == 16) { if (string.charAt(b) == '0') { ! if (b < e-1 && ! Character.toUpperCase(string.charAt(b+1)) == 'X') { base = 16; b += 2; Index: PySystemState.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PySystemState.java,v retrieving revision 2.67 retrieving revision 2.68 diff -C2 -d -r2.67 -r2.68 *** PySystemState.java 2001/11/27 13:51:37 2.67 --- PySystemState.java 2001/11/27 19:07:21 2.68 *************** *** 645,649 **** } catch (PyException exc) { if (!Py.matchException(exc, Py.SystemExit)) { ! Py.println(stderr, Py.newString("Error in sys.exitfunc:")); } Py.printException(exc); --- 645,650 ---- } catch (PyException exc) { if (!Py.matchException(exc, Py.SystemExit)) { ! Py.println(stderr, ! Py.newString("Error in sys.exitfunc:")); } Py.printException(exc); Index: PyTableCode.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PyTableCode.java,v retrieving revision 2.17 retrieving revision 2.18 diff -C2 -d -r2.17 -r2.18 *** PyTableCode.java 2001/11/27 13:51:37 2.17 --- PyTableCode.java 2001/11/27 19:07:21 2.18 *************** *** 36,40 **** PyFunctionTable funcs, int func_id) { ! this(argcount,varnames,filename,name,firstlineno,args,keywords,funcs,func_id,null,null,0,0); } --- 36,41 ---- PyFunctionTable funcs, int func_id) { ! this(argcount, varnames, filename, name, firstlineno, args, ! keywords, funcs, func_id, null, null, 0, 0); } *************** *** 44,48 **** boolean args, boolean keywords, PyFunctionTable funcs, int func_id, ! String[] cellvars,String[] freevars,int npurecell,int moreflags) // may change { co_argcount = nargs = argcount; --- 45,50 ---- boolean args, boolean keywords, PyFunctionTable funcs, int func_id, ! String[] cellvars, String[] freevars, int npurecell, ! int moreflags) // may change { co_argcount = nargs = argcount; *************** *** 245,256 **** } ! public PyObject call(PyObject globals, PyObject[] defaults, PyObject closure) { if (co_argcount != 0 || args || keywords) ! return call(Py.EmptyObjects, Py.NoKeywords, globals, defaults, closure); PyFrame frame = new PyFrame(this, globals); return call(frame, closure); } ! public PyObject call(PyObject arg1, PyObject globals, PyObject[] defaults, PyObject closure) { if (co_argcount != 1 || args || keywords) --- 247,262 ---- } ! public PyObject call(PyObject globals, PyObject[] defaults, ! PyObject closure) ! { if (co_argcount != 0 || args || keywords) ! return call(Py.EmptyObjects, Py.NoKeywords, globals, defaults, ! closure); PyFrame frame = new PyFrame(this, globals); return call(frame, closure); } ! public PyObject call(PyObject arg1, PyObject globals, PyObject[] defaults, ! PyObject closure) { if (co_argcount != 1 || args || keywords) *************** *** 275,279 **** public PyObject call(PyObject arg1, PyObject arg2, PyObject arg3, ! PyObject globals, PyObject[] defaults, PyObject closure) { if (co_argcount != 3 || args || keywords) --- 281,286 ---- public PyObject call(PyObject arg1, PyObject arg2, PyObject arg3, ! PyObject globals, PyObject[] defaults, ! PyObject closure) { if (co_argcount != 3 || args || keywords) *************** *** 302,306 **** public PyObject call(PyObject call_args[], String call_keywords[], ! PyObject globals, PyObject[] defaults, PyObject closure) { //Needs try except finally blocks --- 309,314 ---- public PyObject call(PyObject call_args[], String call_keywords[], ! PyObject globals, PyObject[] defaults, ! PyObject closure) { //Needs try except finally blocks Index: __builtin__.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/__builtin__.java,v retrieving revision 2.38 retrieving revision 2.39 diff -C2 -d -r2.38 -r2.39 *** __builtin__.java 2001/11/27 13:51:37 2.38 --- __builtin__.java 2001/11/27 19:07:21 2.39 *************** *** 259,266 **** code = (PyCode)o; else { ! if (o instanceof PyString) code = Py.compile_flags(((PyString)o).toString(), ! "<string>", "eval",null); // eval does not inherit co_nested ! else throw Py.TypeError( "eval: argument 1 must be string or code object"); --- 259,267 ---- code = (PyCode)o; else { ! if (o instanceof PyString) { ! // eval does not inherit co_nested code = Py.compile_flags(((PyString)o).toString(), ! "<string>", "eval", null); ! } else throw Py.TypeError( "eval: argument 1 must be string or code object"); *************** *** 862,866 **** public static PyClass type(PyObject o) { if (o instanceof PyInstance) { ! return PyJavaClass.lookup(o.getClass()); // was just PyInstance.class, goes with experimental PyMetaClass hook } else { return o.__class__; --- 863,869 ---- public static PyClass type(PyObject o) { if (o instanceof PyInstance) { ! // was just PyInstance.class, goes with experimental ! // PyMetaClass hook ! return PyJavaClass.lookup(o.getClass()); } else { return o.__class__; Index: exceptions.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/exceptions.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** exceptions.java 2001/07/19 07:12:57 1.9 --- exceptions.java 2001/11/27 19:07:21 1.10 *************** *** 310,314 **** PyObject lineno = self.__findattr__("lineno"); if (filename instanceof PyString && lineno instanceof PyInteger) ! return new PyString(str + " (" + filename + ", line " + lineno + ")"); else if (filename instanceof PyString) return new PyString(str + " (" + filename + ")"); --- 310,315 ---- PyObject lineno = self.__findattr__("lineno"); if (filename instanceof PyString && lineno instanceof PyInteger) ! return new PyString(str + " (" + filename + ", line " + ! lineno + ")"); else if (filename instanceof PyString) return new PyString(str + " (" + filename + ")"); Index: imp.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/imp.java,v retrieving revision 2.56 retrieving revision 2.57 diff -C2 -d -r2.56 -r2.57 *** imp.java 2001/11/27 13:51:37 2.56 --- imp.java 2001/11/27 19:07:21 2.57 *************** *** 127,131 **** } org.python.compiler.Module.compile(node, ofp, name+"$py", ! filename, true, false, true,null); if (outFilename != null) { --- 127,132 ---- } org.python.compiler.Module.compile(node, ofp, name+"$py", ! filename, true, false, true, ! null); if (outFilename != null) { *************** *** 319,323 **** long classTime = classEntry.getTime(); if (classTime >= pyTime) { ! InputStream is = zipArchive.getInputStream(classEntry); o = createFromPyClass(modName, is, true, classEntry.getName()); --- 320,325 ---- long classTime = classEntry.getTime(); if (classTime >= pyTime) { ! InputStream is = ! zipArchive.getInputStream(classEntry); o = createFromPyClass(modName, is, true, classEntry.getName()); *************** *** 418,422 **** if (pyFile.isFile() && caseok(pyFile, pyName, nlen)) { ! if (classFile.isFile() && caseok(classFile, className, nlen)) { Py.writeDebug("import", "trying precompiled " + classFile.getPath()); --- 420,425 ---- if (pyFile.isFile() && caseok(pyFile, pyName, nlen)) { ! if (classFile.isFile() && ! caseok(classFile, className, nlen)) { Py.writeDebug("import", "trying precompiled " + classFile.getPath()); *************** *** 495,499 **** } ! Py.writeComment("import", "'" + name + "' not found (=> ImportError)"); return null; } --- 498,503 ---- } ! Py.writeComment("import", "'" + name + ! "' not found (=> ImportError)"); return null; } *************** *** 519,523 **** // can return null, None ! private static PyObject import_next(PyObject mod, StringBuffer parentNameBuffer, String name) { if (parentNameBuffer.length()>0) parentNameBuffer.append('.'); parentNameBuffer.append(name); --- 523,530 ---- // can return null, None ! private static PyObject import_next(PyObject mod, ! StringBuffer parentNameBuffer, ! String name) ! { if (parentNameBuffer.length()>0) parentNameBuffer.append('.'); parentNameBuffer.append(name); *************** *** 527,550 **** if (ret != null) return ret; if (mod == null) { ! ret = load(name.intern(), Py.getSystemState().path); // ?? intern superfluous? } else { ret = mod.impAttr(name.intern()); } if (ret == null || ret == Py.None) return ret; ! if (modules.__finditem__(fullName) == null) modules.__setitem__(fullName, ret); ! else ret = modules.__finditem__(fullName); return ret; } // never returns null or None ! private static PyObject import_first(String name, StringBuffer parentNameBuffer) { PyObject ret = import_next(null,parentNameBuffer,name); ! if (ret == null || ret == Py.None) throw Py.ImportError("no module named "+name); return ret; } ! // Hierarchy-recursively search for dotted name in mod; never returns null or None // ??pending: check if result is really a module/jpkg/jclass? ! private static PyObject import_logic(PyObject mod, StringBuffer parentNameBuffer, String dottedName) { int dot = 0; int last_dot= 0; --- 534,567 ---- if (ret != null) return ret; if (mod == null) { ! // ?? intern superfluous? ! ret = load(name.intern(), Py.getSystemState().path); } else { ret = mod.impAttr(name.intern()); } if (ret == null || ret == Py.None) return ret; ! if (modules.__finditem__(fullName) == null) ! modules.__setitem__(fullName, ret); ! else ! ret = modules.__finditem__(fullName); return ret; } // never returns null or None ! private static PyObject import_first(String name, ! StringBuffer parentNameBuffer) ! { PyObject ret = import_next(null,parentNameBuffer,name); ! if (ret == null || ret == Py.None) ! throw Py.ImportError("no module named "+name); return ret; } ! // Hierarchy-recursively search for dotted name in mod; ! // never returns null or None // ??pending: check if result is really a module/jpkg/jclass? ! private static PyObject import_logic(PyObject mod, ! StringBuffer parentNameBuffer, ! String dottedName) ! { int dot = 0; int last_dot= 0; *************** *** 567,573 **** } ! public static PyObject import_name(String name,boolean top,PyObject modDict) { if (name.length() == 0) ! throw Py.ValueError("Empty module name"); PyObject modules = Py.getSystemState().modules; PyObject pkgMod = null; --- 584,592 ---- } ! public static PyObject import_name(String name, boolean top, ! PyObject modDict) ! { if (name.length() == 0) ! throw Py.ValueError("Empty module name"); PyObject modules = Py.getSystemState().modules; PyObject pkgMod = null; *************** *** 576,598 **** pkgName = getParent(modDict); pkgMod = modules.__finditem__(pkgName); ! if (pkgMod != null && !(pkgMod instanceof PyModule)) pkgMod = null; } int dot = name.indexOf('.'); String firstName; ! if (dot == -1) firstName = name; ! else firstName = name.substring(0,dot); ! StringBuffer parentNameBuffer = new StringBuffer(pkgMod != null?pkgName:""); ! PyObject topMod = import_next(pkgMod,parentNameBuffer,firstName); // None or null or module-like if (topMod == Py.None || topMod == null) { if (topMod == null) { ! modules.__setitem__(parentNameBuffer.toString().intern(),Py.None); } parentNameBuffer = new StringBuffer(""); ! topMod = import_first(firstName,parentNameBuffer); // could throw ImportError } PyObject mod = topMod; ! if (dot != -1) mod = import_logic(topMod,parentNameBuffer,name.substring(dot+1)); // could throw ImportError ! if (top) return topMod; ! else return mod; } --- 595,628 ---- pkgName = getParent(modDict); pkgMod = modules.__finditem__(pkgName); ! if (pkgMod != null && !(pkgMod instanceof PyModule)) ! pkgMod = null; } int dot = name.indexOf('.'); String firstName; ! if (dot == -1) ! firstName = name; ! else ! firstName = name.substring(0,dot); ! StringBuffer parentNameBuffer = new StringBuffer( ! pkgMod != null ? pkgName : ""); ! PyObject topMod = import_next(pkgMod, parentNameBuffer, firstName); if (topMod == Py.None || topMod == null) { if (topMod == null) { ! modules.__setitem__(parentNameBuffer.toString().intern(), ! Py.None); } parentNameBuffer = new StringBuffer(""); ! // could throw ImportError ! topMod = import_first(firstName,parentNameBuffer); } PyObject mod = topMod; ! if (dot != -1) { ! // could throw ImportError ! mod = import_logic(topMod,parentNameBuffer,name.substring(dot+1)); ! } ! if (top) ! return topMod; ! else ! return mod; } *************** *** 642,646 **** * "from spam.eggs import foo, bar" is executed. */ ! public static PyObject[] importFrom(String mod, String[] names, PyFrame frame) { return importFromAs(mod, names, null, frame); } --- 672,678 ---- * "from spam.eggs import foo, bar" is executed. */ ! public static PyObject[] importFrom(String mod, String[] names, ! PyFrame frame) ! { return importFromAs(mod, names, null, frame); } Index: parser.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/parser.java,v retrieving revision 2.13 retrieving revision 2.14 diff -C2 -d -r2.13 -r2.14 *** parser.java 2001/11/27 13:51:37 2.13 --- parser.java 2001/11/27 19:07:21 2.14 *************** *** 27,32 **** } ! static public PyException fixParseError(BufferedReader reader, Throwable t, ! String filename) { return fixParseError(reader, t, filename, false); --- 27,33 ---- } ! static public PyException fixParseError(BufferedReader reader, ! Throwable t, ! String filename) { return fixParseError(reader, t, filename, false); |