Emacs节点REPL奇怪的行为

时间:2013-10-29 20:06:11

标签: node.js emacs read-eval-print-loop

我在ubuntu ec2实例上的emacs中使用节点REPL,我注意到每当我输入一个未知字符时,例如,“#”进入REPL,REPL将停止工作,而不是让每一行开始用'>'在哪里我输入我的代码我得到'... ^ [[5G'。如果我点击C-c C-c那么REPL将恢复正常。这是怎么回事?

我认为这可能与评论有关。如果是这样,如果第一行是注释,我如何使用C-c C-r将我的所有代码都带到REPL?

1 个答案:

答案 0 :(得分:1)

在JavaScript #中是非法令牌,而非评论(尝试在浏览器JavaScript控制台中输入此内容)。这会在评估时生成语法错误,但是节点REPL试图通过缓冲命令并提示您输入更多信息(...)以尝试从错误中恢复来提供帮助。

这与此处的行为相同(如REPL来源中所述):

> {          // syntax error!
... x : 1    // syntax error!
... }        // recovered ...
{ x: 1 }

但是,在您的情况下,我不相信您可以从错误的语法中恢复。