0

我一直在玩 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,我仍然遇到同样的失败。

4

1 回答 1

1

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

于 2012-09-21T20:43:59.150 回答