[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
- To: GLS at MIT-MC, RICH at MIT-MC
- From: JONL at MIT-MC (Jon L White)
- Date: Tue, 21 Aug 79 17:13:00 GMT
- Cc: (BUG LISP) at MIT-MC
- Original-date: 21 AUG 1979 1313-EDT
From: RICH@MIT-AI
Date: Mon, 21 Aug 79 15:00:38 GMT
Original-Date: 08/21/79 11:00:38 EDT
Subject: Re: TYIPEEK bug
To: (BUG LISP) at MIT-AI
(PROGN (TYIPEEK)(PRINT (READ))(PRINT (READ)))A B
A
B
T
The A and B don't come out until the space after the B
is typed.
This is a bona-fide bug in the interface to the TTYSCAN
routine, and doesn't have anythin particular to do with
TYIPEEK - I can make it happen in other ways, e.g.
(PROGN (REAL-TIME-ACTION) (PRINT (READ)) (PRINT (READ)))
where "(REAL-TIME-ACTION)" causes something to be put on the
buffer-back-list of the input file array; then same behaviour
appears. This is the same kind of situation which was at
the root of Jim Stansfield's bug, which was recently fixed -
a tty-interrupt function caused something to go on the
buffer-back-list, and the various input routines were "unaware"
of this. The problem in this case, however, is that the main
"TYI" input routine ($DEVICE) interfaces badly to the rubout
processor, i.e. the routine specified by (STATUS TTYSCAN).
Rather than have $DEVICE call the tty-scanner, why not
have READ call it? This problem is due to the fact that
the tty-scanner is not called until after READ gobbles
up the character which was TYIPEEKd. READ waits until
$DEVICE decides to call it, but it is really READ that
knows when it should be called.