我一直在断断续续地使用 LispCabinet,在业余时间学习。在我家里的 PC 上运行的东西,以及在我以前工作的工作 PC 上运行的东西,似乎在我的新工作中卡住了 Emacs 或 SLIME。
我正在复习 Practical Common 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)。 如果您想使用命令 shell 而不是 SLIME REPL(但 SLIME 更方便),您可以尝试将官方版本安装到 '/bin/sbcl/' 或使用 ClozureCL。
关于windows-7 - LispCabinet 读取行卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12522236/