Index: /trunk/ccl/level-1/l1-sockets.lisp
===================================================================
--- /trunk/ccl/level-1/l1-sockets.lisp	(revision 4899)
+++ /trunk/ccl/level-1/l1-sockets.lisp	(revision 4900)
@@ -291,5 +291,5 @@
 
 
-;; An active TCP socket is an honest-to-goodness stream.
+;;; An active TCP socket is an honest-to-goodness stream.
 (defclass tcp-stream (tcp-socket fd-stream
 				 buffered-binary-io-stream-mixin
@@ -317,5 +317,5 @@
 
 (defmethod socket-device ((stream tcp-stream))
-  (let ((ioblock (stream-ioblock stream)))
+  (let ((ioblock (stream-ioblock stream nil)))
     (and ioblock (ioblock-device ioblock))))
 
Index: /trunk/ccl/level-1/l1-sysio.lisp
===================================================================
--- /trunk/ccl/level-1/l1-sysio.lisp	(revision 4899)
+++ /trunk/ccl/level-1/l1-sysio.lisp	(revision 4900)
@@ -301,5 +301,5 @@
       (format out "(~s/" (stream-filename s))
       (if file-ioblock
-	(format out "~d)" (file-ioblock-device (stream-ioblock s)))
+	(format out "~d)" (file-ioblock-device file-ioblock))
 	(format out ":closed")))))
 	    
@@ -471,5 +471,5 @@
 (defmethod close ((s file-stream) &key abort)
   (when (open-stream-p s)
-    (let* ((ioblock (stream-ioblock s))
+    (let* ((ioblock (stream-ioblock s t))
 	   (filename (stream-filename s))
 	   (actual-filename (stream-actual-filename s)))
@@ -614,6 +614,8 @@
                                :device fd
                                :external-format real-external-format
-                               :sharing sharing))
-                     (ioblock (stream-ioblock fstream)))
+                               :sharing sharing
+                               :character-p (or (eq element-type 'character)
+                                                (subtypep element-type 'character))))
+                     (ioblock (stream-ioblock fstream t)))
                 (setf (stream-filename fstream) (namestring pathname)
                       (stream-actual-filename fstream) temp-name)
Index: /trunk/ccl/level-1/linux-files.lisp
===================================================================
--- /trunk/ccl/level-1/linux-files.lisp	(revision 4899)
+++ /trunk/ccl/level-1/linux-files.lisp	(revision 4900)
@@ -677,5 +677,5 @@
     ((or pathname string)
      (with-open-stream (file (apply #'open object keys))
-       (let* ((fd (fd-dup (ioblock-device (stream-ioblock file)))))
+       (let* ((fd (fd-dup (ioblock-device (stream-ioblock file t)))))
          (values fd
                  nil
@@ -683,5 +683,5 @@
                  (cons fd close-on-error)))))
     (fd-stream
-     (let ((fd (fd-dup (ioblock-device (stream-ioblock object)))))
+     (let ((fd (fd-dup (ioblock-device (stream-ioblock object t)))))
        (values fd
 	       nil
