[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
buffered output and prompting
Date: Wednesday, 19 February 1986 13:10-EST
From: SANDRA <LOOSEMORE at UTAH-20.ARPA>
To: common-lisp at SU-AI.ARPA
Re: buffered output and prompting
I'm having trouble coming up with a portable way for a CL application
program to read with a prompt string. What I would like to do is
something like, but more general than, the y-or-n-p and yes-or-no-p
functions: specify a prompt string and then call read, read-line, or
read-char. For a usual terminal-style interaction, I'd like to have
the prompt message printed out without a newline so the cursor is left
at the end of the same line, and then read.
I believe the solution in TOPS-20 Clisp is the have the terminal
output stream remember the text on the current line. When a read is
done on the stream, this text is passed to the OS prompting call as
the prompt.
I think it is definitely wrong for a FORCE-OUTPUT or FINISH-OUTPUT to
implicitly cause a newline to be written. If it is impossible to
write text without a newline, then these calls are probably no-ops in
your OS.
It isn't true that the Common Lisp I/O precludes the use of a pop-up
window for prompting. All you have to do is define the stream so that
it pops up when you use it. You can do quite a bit with the built-in
stream I/O functions if you are willing to define new kinds of
streams. Common Lisp doesn't specifiy how, but every implementation
should provide some way to define new kinds of streams in Lisp.
Rob