Index: /branches/working-0711/ccl/level-1/l1-readloop-lds.lisp
===================================================================
--- /branches/working-0711/ccl/level-1/l1-readloop-lds.lisp	(revision 12943)
+++ /branches/working-0711/ccl/level-1/l1-readloop-lds.lisp	(revision 12944)
@@ -394,5 +394,5 @@
   (force-output output-stream)
   (funcall prompt-function output-stream)
-  (read-toplevel-form input-stream eof-value))
+  (read-toplevel-form input-stream :eof-value eof-value))
 
 (defvar *always-eval-user-defvars* nil)
Index: /branches/working-0711/ccl/level-1/l1-streams.lisp
===================================================================
--- /branches/working-0711/ccl/level-1/l1-streams.lisp	(revision 12943)
+++ /branches/working-0711/ccl/level-1/l1-streams.lisp	(revision 12944)
@@ -5858,18 +5858,16 @@
 ;;; and the SELECTION-INPUT-STREAM method below.)
 
-(defmethod read-toplevel-form ((stream synonym-stream) eof-value)
-  (read-toplevel-form (symbol-value (synonym-stream-symbol stream)) eof-value))
-
-(defmethod read-toplevel-form ((stream two-way-stream) eof-value)
+(defmethod read-toplevel-form ((stream synonym-stream) &rest keys)
+  (apply #'read-toplevel-form (symbol-value (synonym-stream-symbol stream)) keys))
+
+(defmethod read-toplevel-form ((stream two-way-stream) &rest keys)
   (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)
-  (declare (ignore eof-value))
+    (apply #'read-toplevel-form (two-way-stream-input-stream stream) keys)))
+
+(defmethod read-toplevel-form :after ((stream echoing-two-way-stream) &key &allow-other-keys)
   (stream-set-column (two-way-stream-output-stream stream) 0))
 
-(defmethod read-toplevel-form ((stream input-stream)
-                               eof-value)
+(defmethod read-toplevel-form ((stream input-stream) &key eof-value file-name start-offset map)
   (loop
     (let* ((*in-read-loop* nil)
@@ -5880,5 +5878,9 @@
                      (read-command-or-keyword stream eof-value))
                     ((eq first-char eof-value) eof-value)
-                    (t (read stream nil eof-value))))))
+                    (t (read-recording-source stream :eofval eof-value
+                                              :file-name file-name
+                                              :start-offset start-offset
+                                              :map map
+                                              :save-source-text t))))))
       (if (eq form eof-value)
         (return (values form nil t))
@@ -5901,5 +5903,5 @@
 
 (defmethod read-toplevel-form ((stream selection-input-stream)
-                               eof-value)
+                               &key eof-value &allow-other-keys)
   (if (eq (stream-peek-char stream) :eof)
     (values eof-value nil t)
