Index: /trunk/ccl/level-1/l1-streams.lisp
===================================================================
--- /trunk/ccl/level-1/l1-streams.lisp	(revision 5332)
+++ /trunk/ccl/level-1/l1-streams.lisp	(revision 5333)
@@ -1787,5 +1787,5 @@
     (if (< code 256)
       (%ioblock-write-u8-element ioblock code)
-      (error "Character ~s can't be encoded on ~s" char (ioblock-stream ioblock)))))
+      (%ioblock-write-u8-element ioblock (char-code #\Sub)))))
 
 (defun %private-ioblock-write-char (ioblock char)
@@ -1833,5 +1833,4 @@
         (limit (ioblock-literal-char-code-limit ioblock))
         (encode-function (ioblock-encode-output-function ioblock))
-        (wcf (ioblock-write-char-when-locked-function ioblock))
         (start-char start-char (1+ start-char)))
        ((= i num-chars) (setf (ioblock-charpos ioblock) col) num-chars)
@@ -1840,12 +1839,11 @@
            (code (char-code char)))
       (declare (type (mod #x110000) code))
-      (cond ((eq char #\newline)
-             (setq col 0)
-             (funcall wcf ioblock char))
-            (t
-             (incf col)
-             (if (< code limit)
+      (if (eq char #\newline)
+        (setq col 0)
+        (incf col))
+      (if (< code limit)
                (%ioblock-write-u8-element ioblock code)
-               (funcall encode-function char #'%ioblock-write-u8-element ioblock)))))))
+               (funcall encode-function char #'%ioblock-write-u8-element ioblock)))))
+
 
 (declaim (inline %ioblock-write-u16-encoded-char))
