Timeouts in Lisp Listener (and maybe Address Book)
Lisp Listener command loop continuously receives :TIMEOUT
from a call to ACCEPT
, resulting in a stream of :TIMEOUT
messages on screen and no possibility of interaction.
The same issue is probably causing Address Book demo to also repeatedly display the command prompt (see CLIM:DEFAULT-FRAME-TOP-LEVEL
for CLIM:STANDARD-APPLICATION-PANE
, found in clim/frames.lisp
).
So far I've managed to track the entire call chain, and it seems that the conditions under which :TIMEOUT
is returned from STREAM-READ-GESTURE
are entirely valid. This suggests that some code using the result does not handle non-blocking keyboard input correctly, but I'm at loss as to where it should be handled and how.
I'll be posting further notes about this issue here.
For reference, the result of ACCEPT
call in LISP-LISTENER-COMMAND-READER
are the following values:
:TIMEOUT
((CLIM:COMMAND-OR-FORM :COMMAND-TABLE CLIM-DEMO::LISP-LISTENER) :AUTO-ACTIVATE NIL)
NIL