From: <zy...@us...> - 2008-08-16 06:22:42
|
Revision: 5187 http://jython.svn.sourceforge.net/jython/?rev=5187&view=rev Author: zyasoft Date: 2008-08-16 06:22:40 +0000 (Sat, 16 Aug 2008) Log Message: ----------- input and raw_input now appropriately raise a RuntimeError if sys.stdin/stdout are deleted (via the facade of PySystemState.PyAttributeDeleted) Modified Paths: -------------- branches/asm/src/org/python/core/__builtin__.java Modified: branches/asm/src/org/python/core/__builtin__.java =================================================================== --- branches/asm/src/org/python/core/__builtin__.java 2008-08-16 06:18:30 UTC (rev 5186) +++ branches/asm/src/org/python/core/__builtin__.java 2008-08-16 06:22:40 UTC (rev 5187) @@ -1025,7 +1025,11 @@ } public static String raw_input(PyObject prompt, PyObject file) { - Py.print(prompt); + PyObject stdout = Py.getSystemState().stdout; + if (stdout instanceof PyAttributeDeleted) { + throw Py.RuntimeError("[raw_]input: lost sys.stdout"); + } + Py.print(stdout, prompt); String data = readline(file).toString(); if (data.endsWith("\n")) { return data.substring(0, data.length() - 1); @@ -1038,7 +1042,11 @@ } public static String raw_input(PyObject prompt) { - return raw_input(prompt, Py.getSystemState().stdin); + PyObject stdin = Py.getSystemState().stdin; + if (stdin instanceof PyAttributeDeleted) { + throw Py.RuntimeError("[raw_]input: lost sys.stdin"); + } + return raw_input(prompt, stdin); } public static String raw_input() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |