Synonym streams and column position

Stas Boukarev stassats at
Mon Apr 4 11:52:30 UTC 2016

Because using the stream directly works fine:

(let ((stream *standard-output*))
  (write-string "abc" stream)
  (fresh-line stream)
  (write-string "abc" stream))

On Mon, Apr 4, 2016 at 9:16 AM, Mark Evenson <evenson at> wrote:
> On 2016/4/3 11:59, Stas Boukarev wrote:
> […]
>> Just noticed that the first snippet came out wrong, it was supposed to be
>> (let ((stream (make-synonym-stream '*standard-output*)))
>>   (write-string "abc" stream)
>>   (fresh-line stream)
>>   (write-string "abc" stream))
>> => abcabc
> I was wondering about the repetition; I've updated the ticket.
> May I ask what is the point of using a SYNONYM-STREAM in the bug
> examples?  Just using *STANDARD-OUTPUT* directly as the stream argument
> still evidences the problem, so I don't understand the use of
> MAKE-SYNOMYM-STREAM.  Is the potential problem that something in SLIME
> or elsewhere might be rebinding *STANDARD-OUTPUT* between calls?
> --
> "A screaming comes across the sky.  It has happened before, but there
> is nothing to compare to it now."

With best regards, Stas.

More information about the armedbear-devel mailing list