Revert "repl: add friendly tips about how to exit repl"

This reverts commit 9aa4ec43fce7fd9166459c98f347760cf450a350.

This commit in question introduced a regression in repl.eval(),
as the context argument is no longer passed to runInContext().

PR-URL: https://github.com/nodejs/node/pull/20972
Fixes: https://github.com/nodejs/node/issues/20965
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: John-David Dalton <john.david.dalton@gmail.com>
This commit is contained in:
cjihrig 2018-05-25 22:26:34 -04:00
parent 35cf00842f
commit 4dbfb096f0
No known key found for this signature in database
GPG Key ID: 7434390BDBE9B9C5
2 changed files with 4 additions and 38 deletions

View File

@ -215,15 +215,9 @@ function REPLServer(prompt,
function defaultEval(code, context, file, cb) { function defaultEval(code, context, file, cb) {
var err, result, script, wrappedErr; var err, result, script, wrappedErr;
var isExitCommand = false;
var wrappedCmd = false; var wrappedCmd = false;
var awaitPromise = false; var awaitPromise = false;
var input = code; var input = code;
var trimmedCommand = code.trim();
if (trimmedCommand === 'exit' || trimmedCommand === 'quit') {
isExitCommand = true;
}
if (/^\s*\{/.test(code) && /\}\s*$/.test(code)) { if (/^\s*\{/.test(code) && /\}\s*$/.test(code)) {
// It's confusing for `{ a : 1 }` to be interpreted as a block // It's confusing for `{ a : 1 }` to be interpreted as a block
@ -319,16 +313,10 @@ function REPLServer(prompt,
breakOnSigint: self.breakEvalOnSigint breakOnSigint: self.breakEvalOnSigint
}; };
const localContext = self.useGlobal ? global : self.context;
if (isExitCommand && !localContext.hasOwnProperty(trimmedCommand)) {
self.outputStream.write('(To exit, press ^D or type .exit)\n');
return self.displayPrompt();
}
if (self.useGlobal) { if (self.useGlobal) {
result = script.runInThisContext(scriptOptions); result = script.runInThisContext(scriptOptions);
} else { } else {
result = script.runInContext(localContext, scriptOptions); result = script.runInContext(context, scriptOptions);
} }
} finally { } finally {
if (self.breakEvalOnSigint) { if (self.breakEvalOnSigint) {
@ -344,10 +332,12 @@ function REPLServer(prompt,
} }
} catch (e) { } catch (e) {
err = e; err = e;
if (err && err.code === 'ERR_SCRIPT_EXECUTION_INTERRUPTED') { if (err && err.code === 'ERR_SCRIPT_EXECUTION_INTERRUPTED') {
// The stack trace for this case is not very useful anyway. // The stack trace for this case is not very useful anyway.
Object.defineProperty(err, 'stack', { value: '' }); Object.defineProperty(err, 'stack', { value: '' });
} }
if (process.domain) { if (process.domain) {
debug('not recoverable, send to domain'); debug('not recoverable, send to domain');
process.domain.emit('error', err); process.domain.emit('error', err);

View File

@ -130,29 +130,6 @@ const strictModeTests = [
} }
]; ];
const friendlyExitTests = [
{
send: 'exit',
expect: '(To exit, press ^D or type .exit)'
},
{
send: 'quit',
expect: '(To exit, press ^D or type .exit)'
},
{
send: 'quit = 1',
expect: '1'
},
{
send: 'quit',
expect: '1'
},
{
send: 'exit',
expect: '(To exit, press ^D or type .exit)'
},
];
const errorTests = [ const errorTests = [
// Uncaught error throws and prints out // Uncaught error throws and prints out
{ {
@ -763,7 +740,6 @@ const tcpTests = [
const [ socket, replServer ] = await startUnixRepl(); const [ socket, replServer ] = await startUnixRepl();
await runReplTests(socket, prompt_unix, unixTests); await runReplTests(socket, prompt_unix, unixTests);
await runReplTests(socket, prompt_unix, friendlyExitTests);
await runReplTests(socket, prompt_unix, errorTests); await runReplTests(socket, prompt_unix, errorTests);
replServer.replMode = repl.REPL_MODE_STRICT; replServer.replMode = repl.REPL_MODE_STRICT;
await runReplTests(socket, prompt_unix, strictModeTests); await runReplTests(socket, prompt_unix, strictModeTests);