jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java
changeset 7991 96cdf8806d96
parent 7800 cf50efba2e1d
child 8772 e088a9afb9cc
--- 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" +