每当我调用Allegro Common Lisp 9.0中的(read)
函数时,调试窗口就会"中断"(对不起,我想不出一个更清晰的术语):鼠标变成了旋转的蓝色死亡之轮,窗口拒绝评估任何新的输入,尽管它仍然可以输入。IDE的其他部分不受影响。屏幕看起来是这样的:
International Allegro CL Free Express Edition
9.0 [Windows] (Jan 8, 2013 8:45)
Copyright (C) 1985-2012, Franz Inc., Oakland, CA, USA. All Rights Reserved.
This development copy of Allegro CL is licensed to:
Allegro CL 9.0 Express user
CG version 9.0 / IDE version 9.0
Loaded options from C:UsersNoah DoveDocumentsallegro-prefs-9-0-express.cl.
;; Optimization settings: safety 1, space 1, speed 1, debug 2.
;; For a complete description of all compiler switches given the current
;; optimization settings evaluate (EXPLAIN-COMPILER-SETTINGS).
[changing package from "COMMON-LISP-USER" to "COMMON-GRAPHICS-USER"]
CG-USER(1): (read) ; <--- causes window to malfunction.
; any further input is not evaluated.
窗口底部的状态文本固定在:
"reading and evaluating 'read'..."
知道是怎么回事吗?我要做的就是基本的控制台操作
这个问题似乎可以通过补丁cg_cg-text-edit-pane_001:
解决Date posted: Mon Jan 28 09:26:04 PST 2013
Patch names: code/cg-text-edit-pane.001,
update/pjk001.001,
update/pjl002.001
Description: The code for doing lisp reading in text-edit-pane windows and
widgets was out-of-date with the conversion of Common Graphics
to the Unicode version of the Windows API.
fresh-line erroneously printed a newline just after a blocking
read.
Lisp reading was broken in IDE listeners.
Impact: recommended
下载并安装新补丁:
- 选择菜单"Install"->"New Patches"点击"列表新补丁"
- 保持选中"下载所有新的和更新的补丁"单选按钮
我推荐这样做,这样您就可以获得所有当前的修复和改进
另外,你可以:- 只检查这些补丁
- 选中"只下载选定的补丁(上面选中的)"单选按钮
- 点击"下载"
确保您看到了这些补丁
出现消息说进程还没有结束:
- 关闭所有Allegro CL实例
- 运行
update.exe
它将用下载的补丁重建官方图像
现在,(read)
在IDE监听器中工作。
(read)
期望您输入s表达式并按return。
* (read)
(1 2 3 a b c)
(1 2 3 A B C)