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

Issue: WITH-OUTPUT-TO-STRING-APPEND-STYLE (Version 4)



I approve of WITH-OUTPUT-TO-STRING-APPEND-STYLE:VECTOR-PUSH-EXTEND.
One comment:

    Current Practice:

    VaxLisp 2.2 and Lucid 3.0 implement the proposal; Lucid 2.1 and earlier
    versions implement CLtL.  For WITH-OUTPUT-TO-STRING, Xerox Common Lisp 
    implements CLtL.  The question is entirely moot for Symbolics since 
    it is impossible to create a non-adjustable string, even upon demand.

The last sentence is not really true.  For example, the following
signals an error, rather than inconspicuously dropping characters:

(setq s1 (make-string 10))
(setq s2 (make-array 10 :displaced-to s1 :element-type 'string-char))
(adjustable-array-p s2) => nil
(with-output-to-string (s s2 :index i)
  (loop repeat 20 do (write-char #\c s)))

I would change the current practice to say Symbolics Genera 7.2
implements the proposal (I did not check Symbolics CLOE).