diff -r 57019dc81b66 -r 96cdf8806d96 jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java --- a/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java Fri Jan 14 15:31:45 2011 -0800 +++ b/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java Mon Jan 17 13:29:12 2011 +0530 @@ -223,7 +223,9 @@ } catch (RhinoException re) { if (DEBUG) re.printStackTrace(); int line = (line = re.lineNumber()) == 0 ? -1 : line; - throw new ScriptException(re.toString(), re.sourceName(), line); + ScriptException se = new ScriptException(re.toString(), re.sourceName(), line); + se.initCause(re); + throw se; } finally { cx.exit(); } @@ -257,6 +259,8 @@ " str = 'null'; \n" + " } \n" + " var out = context.getWriter(); \n" + + " if (!(out instanceof java.io.PrintWriter))\n" + + " out = new java.io.PrintWriter(out); \n" + " out.print(String(str)); \n" + " if (newline) out.print('\\n'); \n" + " out.flush(); \n" +