Fix the cheneygc build
[sbcl.git] / contrib / sb-simple-streams / impl.lisp
index 1c7582e..1367ae3 100644 (file)
   (if (typep stream 'file-simple-stream)
       (with-stream-class (file-simple-stream stream)
         (setf (sm pathname stream) new-name)
-        (setf (sm filename stream) (sb-int:unix-namestring new-name nil))
+        (setf (sm filename stream) (%file-namestring new-name))
         t)
       nil))
 
                                                   eof-error-p
                                                   stream t)))
                  ((or (eq char stream)
-                      (not (sb-impl::whitespacep char)))
+                      (not (sb-impl::whitespace[2]p char)))
                   (unless (eq char stream)
                     (funcall-stm-handler j-unread-char encap t))
                   (if (eq char stream) eof-value char))))
         (funcall-stm-handler j-listen (sm melded-stream stream))
         (or (< (sm buffpos stream) (sm buffer-ptr stream))
             ;; Attempt buffer refill
-            (let ((lcrs (sm last-char-read-size stream)))
-              (when (and (not (any-stream-instance-flags stream :dual :string))
-                         (>= (sm mode stream) 0))
-                ;; single-channel stream dirty -> write data before reading
-                (flush-buffer stream nil))
-              (>= (refill-buffer stream nil) width))))))
+            (when (and (not (any-stream-instance-flags stream :dual :string))
+                       (>= (sm mode stream) 0))
+              ;; single-channel stream dirty -> write data before reading
+              (flush-buffer stream nil))
+            (>= (refill-buffer stream nil) width)))))
 
 (defun %clear-input (stream buffer-only)
   (declare (type simple-stream stream))
                     (index (or start 0) (1+ index))
                     (end (or end (* (length vector) (vector-elt-width vector))))
                     (endian-swap (endian-swap-value vector endian-swap))
-                    (byte (read-byte-internal encap nil nil t)
-                          (read-byte-internal encap nil nil nil)))
-                   ((or (null byte) (>= index end)) index)
-                (setf (bref vector (logxor index endian-swap)) byte))))))
+                    (flag t nil))
+                   ((>= index end) index)
+                (let ((byte (read-byte-internal encap nil nil flag)))
+                  (unless byte
+                    (return index))
+                  (setf (bref vector (logxor index endian-swap)) byte)))))))
     ((or ansi-stream fundamental-stream)
      (unless (typep vector '(or string
                              (simple-array (signed-byte 8) (*))
            (remf options :input-handle)
            (remf options :output-handle)
            (make-instance class :lisp-stream
-                          (apply #'open-fd-stream filespec options))))))
+                          (apply #'open-fd-stream filespec options)))
+          (t (error "Don't know how to handle the stream class ~A"
+                    (etypecase class
+                      (symbol (find-class class t))
+                      (class class)))))))
 
 
 (declaim (inline read-byte read-char read-char-no-hang unread-char))
 (defun read-char-no-hang (&optional (stream *standard-input*) (eof-error-p t)
                                     eof-value recursive-p)
   "Returns the next character from the Stream if one is availible, or nil."
-  (declare (ignore recursive-p))
   (let ((stream (sb-impl::in-synonym-of stream)))
     (etypecase stream
       (simple-stream
              ((eq peek-type t)
               (do ((char (sb-gray:stream-read-char stream)
                          (sb-gray:stream-read-char stream)))
-                  ((or (eq char :eof) (not (sb-impl::whitespacep char)))
+                  ((or (eq char :eof) (not (sb-impl::whitespace[2]p char)))
                    (cond ((eq char :eof)
                           (sb-impl::eof-or-lose stream eof-error-p eof-value))
                          (t
@@ -1099,7 +1103,7 @@ is supported only on simple-streams."
      (cond (new-name
             (setf (sb-impl::fd-stream-pathname stream) new-name)
             (setf (sb-impl::fd-stream-file stream)
-                  (sb-int:unix-namestring new-name nil))
+                  (%file-namestring new-name))
             t)
            (t
             (sb-impl::fd-stream-pathname stream))))))