From 655ec2113aeb1050f26f714b43992c162ec168e2 Mon Sep 17 00:00:00 2001 From: Dan Kaplun Date: Sat, 17 May 2014 02:25:10 -0500 Subject: [PATCH] readline: fixes scoping bug Signed-off-by: Fedor Indutny --- lib/readline.js | 19 +++++++++---------- test/simple/test-readline-interface.js | 1 + 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/readline.js b/lib/readline.js index 5fb9345b1bf..8dba5d23749 100644 --- a/lib/readline.js +++ b/lib/readline.js @@ -958,15 +958,6 @@ var escapeCodeReAnywhere = new RegExp([ ].join('|')); function emitKeys(stream, s) { - var ch, - key = { - name: undefined, - ctrl: false, - meta: false, - shift: false - }, - parts; - if (util.isBuffer(s)) { if (s[0] > 127 && util.isUndefined(s[1])) { s[0] -= 128; @@ -986,7 +977,15 @@ function emitKeys(stream, s) { buffer = buffer.concat(s.split('')); buffer.forEach(function(s) { - key.sequence = s; + var ch, + key = { + sequence: s, + name: undefined, + ctrl: false, + meta: false, + shift: false + }, + parts; if (s === '\r') { // carriage return diff --git a/test/simple/test-readline-interface.js b/test/simple/test-readline-interface.js index 052602bf138..f91c10821a1 100644 --- a/test/simple/test-readline-interface.js +++ b/test/simple/test-readline-interface.js @@ -227,6 +227,7 @@ function isWarned(emitter) { var remainingKeypresses = keypresses.slice(); function keypressListener (ch, key) { callCount++; + if (ch) assert(!key.code); assert.equal(key.sequence, remainingKeypresses.shift()); }; readline.emitKeypressEvents(fi);