Windows 7 LispCabinet读取行冻结

Windows 7 LispCabinet读取行冻结,windows-7,lisp,freeze,Windows 7,Lisp,Freeze,我断断续续地玩了一会儿LispCabinet,在业余时间学习。在家里我的电脑上工作的东西,在我的旧工作中我的工作电脑上工作的东西,在我的新工作中似乎冻结了Emacs或SLIME 我正在学习实用的通用Lisp以获得复习,该函数: (defun prompt-read (prompt) (format *query-io* "~a: " prompt) (force-output *query-io*) (read-line *query-io*)) 在家里工作很好。但是,在工作时运行

我断断续续地玩了一会儿LispCabinet,在业余时间学习。在家里我的电脑上工作的东西,在我的旧工作中我的工作电脑上工作的东西,在我的新工作中似乎冻结了Emacs或SLIME

我正在学习实用的通用Lisp以获得复习,该函数:

(defun prompt-read (prompt)
  (format *query-io* "~a: " prompt)
  (force-output *query-io*)
  (read-line *query-io*))
在家里工作很好。但是,在工作时运行它会在输入几个字符后冻结,直到我杀死解释器。我把范围缩小到

(read-line *query-io*)
因为单独运行会导致冻结。以下内容也会失败:

(read *query-io*)
(read-line *standard-input*)
(read *standard-input*)
我完全不明白是什么原因造成了这一切。有什么想法吗

我正在Windows 7 Pro SP1上运行LispCabinet 0.3.3


LispBox工作正常,但即使恢复到LispCabinet的早期版本,我仍然会遇到相同的故障。

批处理文件仅用于从“(”菜单启动的Emacs命令shell或外部cmd shell执行(所有环境变量都是在Emacs初始化期间设置的)。 我只是试着执行你在stackoverflow中发布的代码 SBCL SLIME REPL(也可以从“(”菜单)启动),在我的安装中运行良好。 这个问题仍然存在于shell中,我认为这是一个SBCL unicode I/O问题(LispCabinet使用SBCL的非官方版本)。
您可以尝试将正式版本安装到“/bin/sbcl/”或使用ClozureCL,如果您想使用命令shell而不是SLIME REPL(但是SLIME更方便).

我想我找到了答案。我尝试了官方的SBCL,它在命令行版本上运行,但在Emacs中仍然不起作用。我很确定它是任何模式或自动完成。当它冻结时,状态栏显示“流水线请求swank:模糊完成”。在没有自动完成模式的情况下重新安装,任何模式都会使它重新工作。我将尝试找出这两种模式中的哪一种。结果是自动完成模式破坏了它。没有。刚刚验证了它在新安装的Windows 8上仍然被破坏。在运行任何读取输入的代码之前,必须运行M-x自动完成模式才能将其关闭。这非常重要很难弄清楚AC模式到底发生了什么。可以在.emacs文件中添加以下行以在REPL缓冲区中禁用它:
(setq AC modes(delq'slime REPL mode AC modes))
@gchristnsn:看起来已经修复了它。再次感谢!