From 7c2f348a6353a4d29e6cd178c3ea79badd71c729 Mon Sep 17 00:00:00 2001 From: Ben Buckman Date: Thu, 14 Apr 2016 09:24:21 -0700 Subject: [PATCH] Fix 'Error: EBADF: bad file descriptor, write' on `.exit` in REPL Fixes issue #4252. --- lib/coffee-script/repl.js | 2 +- src/repl.coffee | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/coffee-script/repl.js b/lib/coffee-script/repl.js index dd14ae9a..8fbb72a3 100644 --- a/lib/coffee-script/repl.js +++ b/lib/coffee-script/repl.js @@ -138,7 +138,7 @@ } catch (error) {} fd = fs.openSync(filename, 'a'); repl.rli.addListener('line', function(code) { - if (code && code.length && code !== '.history' && lastLine !== code) { + if (code && code.length && code !== '.history' && code !== '.exit' && lastLine !== code) { fs.write(fd, code + "\n"); return lastLine = code; } diff --git a/src/repl.coffee b/src/repl.coffee index ccafd27e..f5a7ddac 100644 --- a/src/repl.coffee +++ b/src/repl.coffee @@ -121,7 +121,7 @@ addHistory = (repl, filename, maxSize) -> fd = fs.openSync filename, 'a' repl.rli.addListener 'line', (code) -> - if code and code.length and code isnt '.history' and lastLine isnt code + if code and code.length and code isnt '.history' and code isnt '.exit' and lastLine isnt code # Save the latest command in the file fs.write fd, "#{code}\n" lastLine = code