Browse Source

module,src: do not wrap modules with -1 lineOffset

In b799a74709 and
dfee4e3712 the module wrapping
mechanism was changed for better error reporting. However,
the changes causes issues with debuggers and profilers. This
commit reverts the wrapping changes.

Fixes: https://github.com/nodejs/node/issues/4297
PR-URL: https://github.com/nodejs/node/pull/4298
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
process-exit-stdio-flushing
cjihrig 9 years ago
parent
commit
2a60e2ad71
  1. 2
      lib/module.js
  2. 4
      src/node.js
  3. 4
      test/sequential/test-module-loading.js

2
lib/module.js

@ -372,7 +372,7 @@ Module.prototype._compile = function(content, filename) {
var wrapper = Module.wrap(content);
var compiledWrapper = runInThisContext(wrapper,
{ filename: filename, lineOffset: -1 });
{ filename: filename, lineOffset: 0 });
if (global.v8debug) {
if (!resolvedArgv) {
// we enter the repl if we're not given a filename argument.

4
src/node.js

@ -958,7 +958,7 @@
};
NativeModule.wrapper = [
'(function (exports, require, module, __filename, __dirname) {\n',
'(function (exports, require, module, __filename, __dirname) { ',
'\n});'
];
@ -968,7 +968,7 @@
var fn = runInThisContext(source, {
filename: this.filename,
lineOffset: -1
lineOffset: 0
});
fn(this.exports, NativeModule.require, this, this.filename);

4
test/sequential/test-module-loading.js

@ -281,9 +281,9 @@ assert.equal(42, require('../fixtures/utf8-bom.js'));
assert.equal(42, require('../fixtures/utf8-bom.json'));
// Error on the first line of a module should
// have the correct line and column number
// have the correct line number
assert.throws(function() {
require('../fixtures/test-error-first-line-offset.js');
}, function(err) {
return /test-error-first-line-offset.js:1:1/.test(err.stack);
return /test-error-first-line-offset.js:1:/.test(err.stack);
}, 'Expected appearance of proper offset in Error stack');

Loading…
Cancel
Save