inputcommon-lispallegro-cl

Allegro CL freezes when calling (read) function


Whenever I called the (read) function in Allegro Common Lisp 9.0 the Debug window "breaks" (I can't think of a more articulate term, sorry): the mouse becomes the spinning blue wheel of death, and the window refuses to evaluate any new input, although it can still be typed into. No other parts of the IDE are affected. The screen looks like this:

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.

The status text at the bottom of the window is stuck on:

"reading and evaluating 'read'..."

Any idea what's going on? All I'm trying to do is basic console io.


Solution

  • This problem seems to be resolved by patch 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
    

    Download and install the new patches:

    A message appears saying that the process isn't over:

    Now, (read) works in the IDE listeners.