removing the CoffeeScript.run named function from eval'd script scope by making it anonymous

This commit is contained in:
Jeremy Ashkenas 2010-03-19 23:15:42 -04:00
parent 69911209ea
commit 4ebaa82563
2 changed files with 4 additions and 3 deletions

View File

@ -51,12 +51,12 @@
};
// Compile and execute a string of CoffeeScript (on the server), correctly
// setting `__filename`, `__dirname`, and relative `require()`.
exports.run = function run(code, options) {
exports.run = (function(code, options) {
var __dirname, __filename;
module.filename = (__filename = options.source);
__dirname = path.dirname(__filename);
return eval(exports.compile(code, options));
};
});
// Extend CoffeeScript with a custom language extension. It should hook in to
// the **Lexer** (as a peer of any of the lexer's tokenizing methods), and
// push a token on to the stack that contains a **Node** as the value (as a

View File

@ -49,10 +49,11 @@ exports.nodes: (code) ->
# Compile and execute a string of CoffeeScript (on the server), correctly
# setting `__filename`, `__dirname`, and relative `require()`.
exports.run: (code, options) ->
exports.run: ((code, options) ->
module.filename: __filename: options.source
__dirname: path.dirname __filename
eval exports.compile code, options
)
# Extend CoffeeScript with a custom language extension. It should hook in to
# the **Lexer** (as a peer of any of the lexer's tokenizing methods), and