"Viktor T. Toth" writes:
> Simply put, what remains to be done is that every time you notice that two
> lines are run together, you need to find the appropriate spot in the code
> and apply the appropriate change (adding a conditional or unconditional
> newline either at the end of the first line or the beginning of the second.)
This sprinkles the sources with code snippets reflecting certain
constraints on the underlying streams instead of keeping such
assumptions in one place. What if somebody wants *standard-input* and
*standard-output* to go to different terminals, for instance?
> Things would be much easier if ~& took into account cursor
> positioning as a result of input, but I understand that that's not
> how it is meant to work (i.e., its present behaviour is "by design",
> not a bug) so we're left on our own.
I don't think so, and we have already discussed this point. In
particular, Clisp's (and ECL's) *terminal-io* behave as you want it
to. For SBCL and CMUCL there's the Gray-stream wrapper if somebody is
annoyed by the blank lines, but I think of this as an optional thing.
Why do we care about these issues at all? We should just use
FRESH-LINE and not worry about what any old lisp might do about it.
Wolfgang