On Fri, 8 Apr 2011, Dieter Kaiser wrote:
< Am Freitag, den 08.04.2011, 12:06 -0700 schrieb Richard Fateman:
<
< > I don't know what displayinput does, but just guessing, I would think it
< > has to do with whether you are doing a batch() input from a file or from
< > a keyboard. If the input is from a file, do you want to display the
< > input as well as the output?
< > Or just quietly chew up the input. And for the web interface, I'm not
< > sure what you would want to do. You could, perhaps with some benefit,
< > display the input nicely. You could display balanced parens and
< > "pretty-print" the command; this might even lead some people to notice
< > bugs in their input. It certainly does the job for me when I write
< > programs in lisp.
<
<
< The keywords DISPLAYINPUT and NODISPLAYINPUT are the headers of the
< operators ; and $. The parser - that is the function MREAD - puts these
< keywords as first operators into the input expression, e.g.
<
< (%i3) a+b;
< 0: (MREAD #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {9130451}> (NIL))
< 0: MREAD returned ((DISPLAYINPUT) NIL ((MPLUS) $A $B))
<
< (%i4) a+b$
< 0: (MREAD #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {9130451}> (NIL))
< 0: MREAD returned ((NODISPLAYINPUT) NIL ((MPLUS) $A $B))
<
< The main loop CONTINUE calls MREAD to get the input expression R. The
< display routines check the keywords DISPLAYINPUT and NODISPLAYINPUT to
< control the output. In the routine CONTINUE the value of (CADDR R) is
< assigned to the variable $__. Therefore $__ holds the last input without
< the keywords DISPLAYINPUT and NODISPLAYINPUT.
Dieter, thanks! Leo
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.