Index: /trunk/ccl/level-1/l1-streams.lisp
===================================================================
--- /trunk/ccl/level-1/l1-streams.lisp	(revision 6196)
+++ /trunk/ccl/level-1/l1-streams.lisp	(revision 6197)
@@ -4100,7 +4100,7 @@
   (index 0))
 
-(defglobal *string-output-stream-class* (make-built-in-class 'string-output-stream 'string-stream 'basic-character-output-stream))
-
-(defglobal *fill-pointer-string-output-stream-class* (make-built-in-class 'fill-pointer-string-output-stream 'string-output-stream))
+(defstatic *string-output-stream-class* (make-built-in-class 'string-output-stream 'string-stream 'basic-character-output-stream))
+
+(defstatic *fill-pointer-string-output-stream-class* (make-built-in-class 'fill-pointer-string-output-stream 'string-output-stream))
 
 (def-standard-initial-binding %string-output-stream-ioblocks% (%cons-pool nil))
@@ -4291,5 +4291,5 @@
 
 ;;;"Bounded" string output streams.
-(defglobal *truncating-string-output-stream-class* (make-built-in-class 'truncating-string-stream 'string-output-stream))
+(defstatic *truncating-string-output-stream-class* (make-built-in-class 'truncating-string-stream 'string-output-stream))
 
 (defun truncating-string-output-stream-ioblock-write-char (ioblock char)
@@ -4331,5 +4331,5 @@
 ;;;One way to indent on newlines:
 
-(defglobal *indenting-string-output-stream-class* (make-built-in-class 'indenting-string-output-stream 'string-output-stream))
+(defstatic *indenting-string-output-stream-class* (make-built-in-class 'indenting-string-output-stream 'string-output-stream))
 
 
@@ -4398,5 +4398,5 @@
 
 ;;; String input streams.
-(defglobal *string-input-stream-class* (make-built-in-class 'string-input-stream 'string-stream 'basic-character-input-stream))
+(defstatic *string-input-stream-class* (make-built-in-class 'string-input-stream 'string-stream 'basic-character-input-stream))
 
 (defstruct (string-input-stream-ioblock (:include string-stream-ioblock))
@@ -5578,5 +5578,7 @@
 
 (defmethod read-toplevel-form ((stream two-way-stream) eof-value)
-  (read-toplevel-form (two-way-stream-input-stream stream) eof-value))
+  (if (typep stream 'echo-stream)
+    (call-next-method)
+    (read-toplevel-form (two-way-stream-input-stream stream) eof-value)))
 
 (defmethod read-toplevel-form :after ((stream echoing-two-way-stream) eof-value)
