X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fstream.lisp;h=71adb3a77caa960ec3c45e8eafb60224cd4f5fd3;hb=6caf3ed5713773cb423f46bf40a29f2438c97c78;hp=2b43d8365a126318f8235a68501d9325ebc80bba;hpb=ae469bbdd046b46348538f1b69db6e6b044be52f;p=sbcl.git diff --git a/src/code/stream.lisp b/src/code/stream.lisp index 2b43d83..71adb3a 100644 --- a/src/code/stream.lisp +++ b/src/code/stream.lisp @@ -1301,7 +1301,7 @@ ;; end of the stream. (index-cache 0 :type index) ;; Requested element type - (element-type 'character)) + (element-type 'character :type type-specifier)) #!+sb-doc (setf (fdocumentation 'make-string-output-stream 'function) @@ -1571,9 +1571,14 @@ benefit of the function GET-OUTPUT-STREAM-STRING.") ;;; FIXME: need to support (VECTOR NIL), ideally without destroying all hope ;;; of efficiency. +(declaim (inline vector-with-fill-pointer)) +(defun vector-with-fill-pointer-p (x) + (and (vectorp x) + (array-has-fill-pointer-p x))) + (deftype string-with-fill-pointer () - '(and (or (vector character) (vector base-char)) - (satisfies array-has-fill-pointer-p))) + `(and (or (vector character) (vector base-char)) + (satisfies vector-with-fill-pointer-p))) (defstruct (fill-pointer-output-stream (:include ansi-stream