[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Issue: STREAM-INFO (Version 6)



    From: gz@spt.entity.com (Gail Zacharias)
    Date: 10 Jan 89 00:22 PST

    ... it may not be possible to write whitespace to a stream in units
    smaller than a #\space character, if the stream is associated with a
    (multi-font) ascii file or editor buffer (since there may be no ascii
    character available that can be inserted in the file/buffer to
    represent the whitespace). ...

This is a good point. I think the wording should be loosened to indicate
the obvious -- that an implementation should not be branded non-conforming
if it does the closest approximation to the right thing for the stream,
font, device, operating system, etc. that it is dealing with.

To the extent that this hook is primarily to support portable pretty
printers My belief is that people would quickly learn to use a fixed
width font for pretty printed code if the approximate behavior bothered
them, but those who insisted on using bold would be happier with an
approximation to pretty printing than none at all. Of course, nothing
prevents a particular vendor in this mess from providing a proprietary
pretty printer which deals better -- and I'm sure people would use it --
but the idea is to provide a means to save a lot of vendors that work.

How about if the function returned information saying whether it
believed it had correctly achieved its stated goal?

    ... In general we feel that the proposal is premature, given the
    current state of i/o standards. ...

This is the sort of reasoning that led us to not have a way to clear
the screen in portable code under CLtL. [A situation we should probably
rectify even now...]

My belief is that the needs of the Common Lisp community are better
served by a slightly faulty implementation that tries to win as much
as it can than by no implementation.

If and when a better solution exists (eg, some window system spec),
the window system spec can contain advice to its users that they should
no longer use the clumsy primitives provided by ANSI Common Lisp.