[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug in TOPS-20 MacLisp terminal i/o



The file <MACLISP>CSTEP.FASL on CMU-20C contains a CMU-modified version
of the Rich stepper.  It demonstrates a bug in TOPS-20's i/o routine for
reading single characters from the terminal.  To check out this bug you
should load the CMU programming environment described in the files
<MACLISP>LISP.INI and <MACLISP>COMMON.INI on CMU-20C.

One especially pertinent item:  we run with (status linmode t).

After starting up a fresh Lisp, do the following:
(STEP T)		;load CMU's stepper

(PLUS 1 2)<space><cr>	;note that stepper isn't reading a space alone -- it
			;needs a <cr> to terminate the read (bogus!)

^C
START			;restart Lisp
(STEP T)		;try the stepper again
(PLUS 1 2)<space>	;now it can read <space> by itself!

^G			;quit to toplevel again
(STEP T)		;try the stepper one more time
(PLUS 1 2)<space><cr>	;now it can't read <space> !!!!

Clearly the terminal initialization done by START and that done
by ^G is not the same.  I claim that only START does the initialization
correctly.

-- Dave Touretzky