Index: /trunk/source/level-1/l1-readloop-lds.lisp
===================================================================
--- /trunk/source/level-1/l1-readloop-lds.lisp	(revision 13181)
+++ /trunk/source/level-1/l1-readloop-lds.lisp	(revision 13182)
@@ -300,4 +300,6 @@
     (and fd (eof-transient-p fd))))
 
+(defvar *save-interactive-source-locations* t)
+
 ;;; This is the part common to toplevel loop and inner break loops.
 (defun read-loop (&key (input-stream *standard-input*)
@@ -328,5 +330,4 @@
               (setq *in-read-loop* nil
                     *break-level* break-level)
-	      (clrhash *nx-source-note-map*)
               (multiple-value-bind (form env print-result)
                   (toplevel-read :input-stream input-stream
@@ -334,5 +335,7 @@
                                  :prompt-function prompt-function
                                  :eof-value eof-value
-				 :map *nx-source-note-map*)
+				 :map (when *save-interactive-source-locations*
+                                        (clrhash *nx-source-note-map*)
+                                        *nx-source-note-map*))
                 (if (eq form eof-value)
                   (progn
