diff --git a/src/node.js b/src/node.js index b99476427..f6cc2392c 100644 --- a/src/node.js +++ b/src/node.js @@ -536,10 +536,15 @@ var cwd = process.cwd(); var path = requireNative('path'); + var isWindows = process.platform === 'win32'; - // Make process.argv[0] and process.argv[1] into full paths. - if ('/\\'.indexOf(process.argv[0].charAt(0)) < 0 - && process.argv[0].charAt(1) != ':') { + // Make process.argv[0] and process.argv[1] into full paths, but only + // touch argv[0] if it's not a system $PATH lookup. + // TODO: Make this work on Windows as well. Note that "node" might + // execute cwd\node.exe, or some %PATH%\node.exe on Windows, + // and that every directory has its own cwd, so d:node.exe is valid. + var argv0 = process.argv[0]; + if (!isWindows && argv0.indexOf('/') !== -1 && argv0.charAt(0) !== '/') { process.argv[0] = path.join(cwd, process.argv[0]); }