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

Issue: STREAM-INFO (Version 6)



Our opposition is based on the following points:
1) The defining property of WRITE-SPACE (that it must write exactly the number
of units given) is too restrictive.  For example 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).  An implementation cannot simply
make the unit size equal to the width of a #\space character, because a
subsequent increase in font-size would again make the unit smaller than a
current #\space character.

2) The "additional properties" of PRINTED-WIDTH (i.e. 8 and 9, stating that
printed-widths are additive) are incompatible with some non-Roman scripts. For
example, in the Arabic language the glyphs used for characters are dependent
on the surrounding characters: in our Arabic implementation of Object Logo,
editing causes surrounding characters to change shape (and width) according to
their new context.  The restrictions on PRINTED-WIDTH would make it difficult
to similarly incorporate the context-sensitive character portrayal features of
the Macintosh into our Common Lisp implementation.

3) In general we feel that the proposal is premature, given the current state
of i/o standards.  We would prefer to wait for a complete solution (i.e. a
real graphics standard and extended characters set standard).  We feel that
the current proposal is too specific and problematical for a proper place in
Common Lisp.  For now, the desired features are probably best obtained via
implementation-specific functions.