Author: Stephan <step...@stzal.com>
Branch: 
Changeset: r323:857128c82b9a
Date: 2012-12-21 18:46 +0100
http://bitbucket.org/pypy/lang-js/changeset/857128c82b9a/

Log:    no need for no-exception-jseval

diff --git a/js/builtins_interpreter.py b/js/builtins_interpreter.py
--- a/js/builtins_interpreter.py
+++ b/js/builtins_interpreter.py
@@ -2,18 +2,11 @@
 #from pypy.rlib import jit
 
 
-def setup_builtins(global_object, overwrite_eval=False):
+def setup_builtins(global_object):
     from js.builtins import put_native_function
 
     put_native_function(global_object, u'load', js_load)
     put_native_function(global_object, u'debug', js_debug)
-
-    ## the tests expect eval to return "error" on an exception
-    if overwrite_eval is True:
-        from js.builtins import put_intimate_function
-        global_object._del_prop(u'eval')
-        put_intimate_function(global_object, u'eval', overriden_eval, 
configurable=False, params=[u'x'])
-
     put_native_function(global_object, u'trace', js_trace)
 
 
@@ -39,14 +32,3 @@
     config = object_space.interpreter.config
     config.debug = not config.debug
     return config.debug
-
-
-def overriden_eval(ctx):
-    from js.builtins_global import js_eval
-    from js.execution import JsException
-    from js.completion import NormalCompletion
-    from js.jsobj import _w
-    try:
-        return js_eval(ctx)
-    except JsException:
-        return NormalCompletion(value=_w("error"))
diff --git a/js/interpreter.py b/js/interpreter.py
--- a/js/interpreter.py
+++ b/js/interpreter.py
@@ -10,7 +10,6 @@
 class InterpreterConfig(object):
     def __init__(self, config={}):
         self.debug = config.get('debug', False)
-        self.no_exception_jseval = config.get('no-exception-jseval', False)
 
 
 class Interpreter(object):
@@ -27,7 +26,7 @@
         object_space.interpreter = self
 
         js.builtins.setup_builtins(self.global_object)
-        js.builtins_interpreter.setup_builtins(self.global_object, 
self.config.no_exception_jseval)
+        js.builtins_interpreter.setup_builtins(self.global_object)
 
         object_space.assign_proto(self.global_object)
 
diff --git a/js/py-js.py b/js/py-js.py
--- a/js/py-js.py
+++ b/js/py-js.py
@@ -126,7 +126,6 @@
 
     opts['debug'] = _parse_bool_arg('-d', argv) or _parse_bool_arg('--debug', 
argv)
     opts['inspect'] = _parse_bool_arg('-i', argv) or 
_parse_bool_arg('--inspect', argv)
-    opts['no-exception-jseval'] = _parse_bool_arg('--no-exception-jseval', 
argv)
 
     del(argv[0])
 
diff --git a/js/test/ecma/shell.js b/js/test/ecma/shell.js
--- a/js/test/ecma/shell.js
+++ b/js/test/ecma/shell.js
@@ -55,6 +55,17 @@
 var DESCRIPTION;
 var EXPECTED;
 
+(function () {
+  var _eval = eval;
+  eval = function(src) {
+    try {
+        return _eval(src);
+    } catch(e) {
+        return "error";
+    }
+  };
+})();
+
 /*
  * wrapper for test case constructor that doesn't require the SECTION
  * argument.
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to