Allegro CL在调用(read)函数时冻结



每当我调用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)

最新更新