[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: BUG-LISPM at MIT-AI
- From: "Guy L. Steele, Jr." <GLS at MIT-AI>
- Date: Sat, 21 Jun 80 18:55:00 GMT
- Cc: GLS at MIT-AI, BUG-LISP at MIT-AI, nil at MIT-MC
- Original-date: 21 June 1980 14:55-EDT
I have made two changes to FORMAT for the LISP Machine only.
The changes have been documented in LMMAN;FD.STR >, and in
the FORMAT documentation string in the code.
(1) ~:| performs a :CLEAR-SCREEN operation on the output stream,
if that stream supports that operation. Otherwise it behaves
just like ~|, outputting n formfeeds. (This at the request of HES.)
(2) In the ~<...~:;...~> construction, if a second numeric parameter is given
to the ~:;, it is the width of the line and is used instead of the stream's
claimed line width, if any. (Recall that the first numeric parameter
is a number to be subtracted from the width before doing the comparison.)
Also, to make this work, I modified FORMAT-STRING-STREAM to support the
READ-CURSORPOS operation in a half-assed way: it just searches back from
the end of the string-so-far for a return, linefeed, or form, and calls
that distance the x cursorpos, and always says y=0. This makes ~<...~:;...~>
to a string work. Tabs will mess everything up, however; it isn't smart.
Also, to make this work when you are dribbling to a file, I modified the
code for DRIBBLE-IO to support READ-CURSORPOS also, by passing the buck
to the previous I/O stream.
Both FORMAT and DRIBBL have been recompiled.