1.0.18.7: just one POWER-OF-TWO-CEILING, thank you
[sbcl.git] / src / pcl / gray-streams.lisp
index 873bf38..7498eea 100644 (file)
     (loop
      (let ((ch (stream-read-char stream)))
        (cond ((eq ch :eof)
-              (return (values (shrink-vector res index) t)))
+              (return (values (%shrink-vector res index) t)))
              (t
               (when (char= ch #\newline)
-                (return (values (shrink-vector res index) nil)))
+                (return (values (%shrink-vector res index) nil)))
               (when (= index len)
                 (setq len (* len 2))
                 (let ((new (make-string len)))
   (error 'type-error :datum non-stream :expected-type 'stream))
 
 (defgeneric stream-read-sequence (stream seq &optional start end)
+  #+sb-doc
   (:documentation
    "This is like CL:READ-SEQUENCE, but for Gray streams."))
 
       T)))
 
 (defgeneric stream-write-sequence (stream seq &optional start end)
+  #+sb-doc
   (:documentation
    "This is like CL:WRITE-SEQUENCE, but for Gray streams."))
 
   (basic-io-type-stream-write-sequence stream seq start end
                                        #'stream-write-byte))
 
+(defgeneric stream-file-position (stream &optional position-spec)
+  #+sb-doc
+  (:documentation
+   "Used by FILE-POSITION. Returns or changes the current position within STREAM."))
+
+(defmethod stream-file-position ((stream ansi-stream) &optional position-spec)
+  (ansi-stream-file-position stream position-spec))
+
+(defmethod stream-file-position ((stream t) &optional position-spec)
+  (declare (ignore stream position-spec))
+  nil)
+
 \f
 ;;; This is not in the Gray stream proposal, so it is left here
 ;;; as example code.