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

时间:2013-01-12 00:21:37

标签: input common-lisp allegro-cl

每当我在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:\Users\Noah Dove\Documents\allegro-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'..."

知道发生了什么事吗?我所要做的就是基本的控制台io。

2 个答案:

答案 0 :(得分:4)

补丁 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

下载并安装新补丁:

  • 选择菜单“安装” - &gt; “新补丁”
  • 点击“列出新补丁”
    确保您看到这些补丁
  • 选中“下载所有新增和更新的补丁”单选按钮 我推荐这个,所以你得到所有当前的修复和改进 或者,您可以:
    • 仅检查这些补丁
    • 选中“仅下载所选补丁(上面选中的补丁)”单选按钮
  • 点击“下载”

显示一条消息,说明该过程尚未结束:

  • 关闭所有Allegro CL实例
  • 运行update.exe
    它将使用下载的补丁重建官方图像

现在,(read)适用于IDE侦听器。

答案 1 :(得分:0)

(read)期望您输入s表达式并按回车键。

* (read)
(1 2 3 a b c) 
(1 2 3 A B C)