diff options
Diffstat (limited to 'src/shell.js')
-rw-r--r-- | src/shell.js | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/shell.js b/src/shell.js index 5571b8ac..20db25a7 100644 --- a/src/shell.js +++ b/src/shell.js @@ -1,7 +1,6 @@ -// TODO: " u s e s t r i c t "; - try { this['Module'] = Module; + Module.test; } catch(e) { this['Module'] = Module = {}; } @@ -26,17 +25,20 @@ if (ENVIRONMENT_IS_NODE) { var nodeFS = require('fs'); var nodePath = require('path'); - Module['read'] = function(filename) { + Module['read'] = function(filename, binary) { filename = nodePath['normalize'](filename); - var ret = nodeFS['readFileSync'](filename).toString(); + var ret = nodeFS['readFileSync'](filename); // The path is absolute if the normalized version is the same as the resolved. if (!ret && filename != nodePath['resolve'](filename)) { filename = path.join(__dirname, '..', 'src', filename); - ret = nodeFS['readFileSync'](filename).toString(); + ret = nodeFS['readFileSync'](filename); } + if (ret && !binary) ret = ret.toString(); return ret; }; + Module['readBinary'] = function(filename) { return Module['read'](filename, true) }; + Module['load'] = function(f) { globalEval(read(f)); }; @@ -50,12 +52,10 @@ if (ENVIRONMENT_IS_SHELL) { Module['print'] = print; if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - // Polyfill over SpiderMonkey/V8 differences - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function(f) { snarf(f) }; - } + Module['read'] = read; + Module['readBinary'] = function(f) { + return read(f, 'binary'); + }; if (!Module['arguments']) { if (typeof scriptArgs != 'undefined') { |