diff --git a/lib/repl.js b/lib/repl.js index 668e7a0d07..86471af60a 100644 --- a/lib/repl.js +++ b/lib/repl.js @@ -79,8 +79,6 @@ function REPLServer(prompt, stream) { rli.addListener('line', function (cmd) { cmd = trimWhitespace(cmd); - var flushed = true; - // Check to see if a REPL keyword was used. If it returns true, // display next prompt and return. if (cmd && cmd.charAt(0) === '.') { @@ -100,7 +98,7 @@ function REPLServer(prompt, stream) { var ret = evalcx(self.buffered_cmd, context, "repl"); if (ret !== undefined) { context._ = ret; - flushed = self.stream.write(exports.writer(ret) + "\n"); + self.stream.write(exports.writer(ret) + "\n"); } self.buffered_cmd = ''; @@ -113,28 +111,14 @@ function REPLServer(prompt, stream) { } catch (e) { // On error: Print the error and clear the buffer if (e.stack) { - flushed = self.stream.write(e.stack + "\n"); + self.stream.write(e.stack + "\n"); } else { - flushed = self.stream.write(e.toString() + "\n"); + self.stream.write(e.toString() + "\n"); } self.buffered_cmd = ''; } - // need to make sure the buffer is flushed before displaying the prompt - // again. This is really ugly. Need to have callbacks from - // net.Stream.write() - if (flushed) { - self.displayPrompt(); - } else { - self.displayPromptOnDrain = true; - } - }); - - self.stream.addListener('drain', function () { - if (self.displayPromptOnDrain) { - self.displayPrompt(); - self.displayPromptOnDrain = false; - } + self.displayPrompt(); }); rli.addListener('close', function () {