Emacs Node REPL奇怪的行为

我在ubuntu ec2实例的emacs中使用了一个节点REPL,我注意到每当我input一个未知的字符,例如“#”进入REPL时,REPL将停止工作,而不是以'> '我会在哪里input我的代码,我正在'… [[5G'。 如果我点击抄送抄送,那么抄送将恢复正常。 这里发生了什么?

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

在JavaScript中#是一个非法令牌,而不是注释(尝试在浏览器JavaScript控制台中input)。 这会在评估时产生语法错误,但是节点REPL试图通过缓冲命令并提示您input更多的input( ... )来试图从错误中恢复。

这将是相同的行为(在REPL源文件中记载):

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

然而,就你而言,我不相信你永远不会从糟糕的语法中恢复过来。