diff --git a/lib/repl.js b/lib/repl.js index e257f55e23..4b10f6bb48 100644 --- a/lib/repl.js +++ b/lib/repl.js @@ -206,7 +206,7 @@ function REPLServer(prompt, stream, eval_, useGlobal, ignoreUndefined) { // Check to see if a REPL keyword was used. If it returns true, // display next prompt and return. - if (cmd && cmd.charAt(0) === '.' && cmd != parseFloat(cmd)) { + if (cmd && cmd.charAt(0) === '.' && isNaN(parseFloat(cmd))) { var matches = cmd.match(/^(\.[^\s]+)\s*(.*)$/); var keyword = matches && matches[1]; var rest = matches && matches[2]; diff --git a/test/simple/test-repl.js b/test/simple/test-repl.js index d03cccc355..944d7a2385 100644 --- a/test/simple/test-repl.js +++ b/test/simple/test-repl.js @@ -122,6 +122,9 @@ function error_test() { // Floating point numbers are not interpreted as REPL commands. { client: client_unix, send: '.1234', expect: '0.1234' }, + // Floating point expressions are not interpreted as REPL commands + { client: client_unix, send: '.1+.1', + expect: '0.2' }, // Can parse valid JSON { client: client_unix, send: 'JSON.parse(\'{"valid": "json"}\');', expect: '{ valid: \'json\' }'},