Skip to content

Commit

Permalink
Revert "Revert "repl: disable Ctrl+C support..."
Browse files Browse the repository at this point in the history
Full original message:

  Revert "repl: disable Ctrl+C support on win32 for now"

The original fix was a stop gap until a libuv update landed.
As the libuv update has not yet landed on v6.x the revert should
not have landed. This commit reverts 1d400ea reapplying the
stopgap fix until we update libuv.

Fixes: #12085
Refs: #8645

PR-URL: #12123
Reviewed-By: Anna Henningsen <anna@addaleax.net>
  • Loading branch information
MylesBorins committed Mar 29, 2017
1 parent 912f78a commit 64fc5a4
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions lib/repl.js
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,13 @@ function REPLServer(prompt,
if (!err) {
// Unset raw mode during evaluation so that Ctrl+C raises a signal.
let previouslyInRawMode;
if (self.breakEvalOnSigint) {

// Temporarily disabled on Windows due to output problems that likely
// result from the raw mode switches here, see
// https://github.com/nodejs/node/issues/7837
// Setting NODE_REPL_CTRLC is meant as a temporary opt-in for debugging.
if (self.breakEvalOnSigint &&
(process.platform !== 'win32' || process.env.NODE_REPL_CTRLC)) {
// Start the SIGINT watchdog before entering raw mode so that a very
// quick Ctrl+C doesn’t lead to aborting the process completely.
utilBinding.startSigintWatchdog();
Expand All @@ -342,7 +348,8 @@ function REPLServer(prompt,
result = script.runInContext(context, scriptOptions);
}
} finally {
if (self.breakEvalOnSigint) {
if (self.breakEvalOnSigint &&
(process.platform !== 'win32' || process.env.NODE_REPL_CTRLC)) {
// Reset terminal mode to its previous value.
self._setRawMode(previouslyInRawMode);

Expand Down

0 comments on commit 64fc5a4

Please sign in to comment.