Index: /branches/mb-coverage-merge/compiler/X86/x862.lisp
===================================================================
--- /branches/mb-coverage-merge/compiler/X86/x862.lisp	(revision 8544)
+++ /branches/mb-coverage-merge/compiler/X86/x862.lisp	(revision 8545)
@@ -592,7 +592,6 @@
                        (when (or (afunc-lfun-info afunc)
                                  lambda-form
-                                 (and *compiler-record-source* *definition-source-note*)
                                  *x862-recorded-symbols*
-                                 (and *compiler-record-source*
+                                 (and *fasl-save-source-locations*
                                       *x862-emitted-source-notes*
                                       *definition-source-note*))
@@ -611,11 +610,7 @@
                                       (when lambda-form
                                         (list 'function-debugging-info lambda-form))
-                                      (when (and *compiler-record-source* *definition-source-note*)
-                                        (list 'function-source-note  
-                                              (source-note-for-%lfun-info *definition-source-note* :form nil :subform-notes nil)))
                                       (when *x862-recorded-symbols*
                                         (list 'function-symbol-map (x862-digest-symbols)))
-                                      (when (and *compiler-record-source*
-                                                 *x862-emitted-source-notes*
+                                      (when (and *x862-emitted-source-notes*
                                                  *definition-source-note*)
                                         (list 'pc-source-map 
@@ -686,5 +681,5 @@
 
 (defun x862-generate-pc-source-map (definition-source-note emitted-source-notes)
-  (when *compiler-record-source*
+  (when *fasl-save-source-locations*
     (let ((def-start (source-note-start-pos definition-source-note))
           (vec (make-array (length emitted-source-notes))))
Index: /branches/mb-coverage-merge/compiler/nx0.lisp
===================================================================
--- /branches/mb-coverage-merge/compiler/nx0.lisp	(revision 8544)
+++ /branches/mb-coverage-merge/compiler/nx0.lisp	(revision 8545)
@@ -1261,7 +1261,4 @@
                       (%ilogand $vrefmask
                                 (%i+ (%i- boundtocount 1) varcount)))))))))
-
-(defvar *compiler-record-source* t
-  "When T we record source location for compiled forms.")
 
 (defvar *nx1-source-note-map* nil
@@ -1631,5 +1628,5 @@
 
 (defun record-source-location-on-stream-p (stream)
-  (and *compiler-record-source*
+  (and *fasl-save-source-locations*
        *fcomp-stream*
        (eq *fcomp-stream* stream)))
@@ -1661,10 +1658,10 @@
 (defun nx1-source-note (nx1-code)
   "Return the source-note for the form which generated NX1-CODE."
-  (and *compiler-record-source*
+  (and *fasl-save-source-locations*
        *nx1-source-note-map*
        (gethash nx1-code *nx1-source-note-map*)))
 
 (defun form-source-note (source-form)
-  (and *compiler-record-source*
+  (and *fasl-save-source-locations*
        *form-source-note-map*
        (gethash source-form *form-source-note-map*)))
@@ -1729,5 +1726,5 @@
                      (nx1-symbol form env)
                      (nx1-immediate (nx-unquote constant-value)))))))
-    (if *compiler-record-source*
+    (if *fasl-save-source-locations*
         (destructuring-bind (nx1-form . values)
             (multiple-value-list (main))
@@ -2140,9 +2137,9 @@
 
 (defun record-form-to-nx1-transformation (form nx1)
-  (when (and *compiler-record-source* (form-source-note form))
+  (when (and *fasl-save-source-locations* (form-source-note form))
     (setf (gethash nx1 *nx1-source-note-map*) (form-source-note form))))
 
 (defun record-nx1-source-equivalent (original new)
-  (when (and *compiler-record-source*
+  (when (and *fasl-save-source-locations*
              (nx1-source-note original)
              (not (nx1-source-note new)))
@@ -2151,5 +2148,5 @@
 
 (defun record-form-source-equivalent (original new)
-  (when (and *compiler-record-source*
+  (when (and *fasl-save-source-locations*
              (form-source-note original)
              (not (form-source-note new)))
Index: /branches/mb-coverage-merge/level-1/l1-reader.lisp
===================================================================
--- /branches/mb-coverage-merge/level-1/l1-reader.lisp	(revision 8544)
+++ /branches/mb-coverage-merge/level-1/l1-reader.lisp	(revision 8545)
@@ -2407,5 +2407,5 @@
               (or dot-ok
                   (signal-reader-error stream "Dot context error in ~s." (%string-from-token tb)))
-              (signal-reader-error stream "Illegal symbol syntax in ~s. (%string-from-token tb)"))
+              (signal-reader-error stream "Illegal symbol syntax in ~s." (%string-from-token tb)))
             ;; Something other than a buffer full of dots.  Thank god.
             (let* ((num (if (null escapes)
@@ -3016,9 +3016,10 @@
           (when text
             (let ((source (source-note-source note)))
-              (%fast-compact
-               (etypecase source
-                 (string source)
-                 (source-note (source-note-source source))
-                 (code-note (code-note-source source))))))
+              (list :%text
+                    (%fast-compact
+                     (etypecase source
+                       (string source)
+                       (source-note (source-note-source source))
+                       (code-note (code-note-source source)))))))
           (when form  (list :form (source-note-form  note)))
           (when subform-notes (list :subform-notes (source-note-subform-notes note)))
@@ -3030,5 +3031,5 @@
                        :start-pos (getf note-plist :start)
                        :end-pos (getf note-plist :end)
-                       :text (%fast-uncompact (getf note-plist :%text))
+                       :source (%fast-uncompact (getf note-plist :%text))
                        )))
 
@@ -3103,11 +3104,12 @@
              (setf (source-note-source source-note) text)))
          (values form source-note))))
-    (t (let* ((start (file-position stream))
-              (form (read-internal stream nil eofval nil)))
-         (values form (and (neq form eofval)
-                           (%make-source-note :form form
-                                              :file-name file-name
-                                              :start-pos (+ (or start-offset 0) start)
-                                              :end-pos (+ (or start-offset 0) (file-position stream)))))))))
+    ((eql t)
+     (let* ((start (file-position stream))
+            (form (read-internal stream nil eofval nil)))
+       (values form (and (neq form eofval)
+                         (%make-source-note :form form
+                                            :file-name file-name
+                                            :start-pos (+ (or start-offset 0) start)
+                                            :end-pos (+ (or start-offset 0) (file-position stream)))))))))
 
 (defun make-source-note (&key form stream start-pos end-pos subform-notes)
Index: /branches/mb-coverage-merge/lib/nfcomp.lisp
===================================================================
--- /branches/mb-coverage-merge/lib/nfcomp.lisp	(revision 8544)
+++ /branches/mb-coverage-merge/lib/nfcomp.lisp	(revision 8545)
@@ -116,5 +116,8 @@
                      *.fasl-pathname*) 
                    pathname))
-(defvar *fasl-save-source-locations*)
+(defvar *fasl-save-source-locations* nil
+  "This controls whether we save source inforamiotn when
+  compiling. This variable should not be set directly, see
+  *save-source-locations*.")
 
 (defun compile-file (src &key output-file
@@ -415,5 +418,5 @@
            (*fcomp-toplevel-forms* '())
            (*loading-file-source-file* (namestring orig-file)) ; why orig-file???
-           (*fcomp-source-note-map* (and (or *record-pc-mapping* *compile-code-coverage*)
+           (*fcomp-source-note-map* (and (or *save-source-locations* *record-pc-mapping* *compile-code-coverage*)
                                          (make-hash-table)))
            (*fcomp-covered-functions* nil)
@@ -452,6 +455,5 @@
                                            :file-name (or *compile-file-original-truename* *loading-file-source-file*)
                                            :start-offset (or *compile-file-original-buffer-offset* 0)
-                                           :map (or *fcomp-source-note-map*
-                                                    (and *fasl-save-source-locations* t)))))))
+                                           :map (or *fcomp-source-note-map* (and *fasl-save-source-locations* t)))))))
             (when (eq eofval form) (return))
             (fcomp-form form env processing-mode source-note)
@@ -858,5 +860,5 @@
                           ,@forms)))))
       (dolist (form forms)
-        (record-form-source-equivalent lambda forms))
+        (record-form-source-equivalent lambda form))
       (setq *fcomp-toplevel-forms* '())
       ;(format t "~& Random toplevel form: ~s" lambda)
@@ -864,5 +866,5 @@
                      $fasl-lfuncall
                      env
-                     (fcomp-named-function lambda nil env))
+                     (fcomp-named-function lambda nil env nil))
         (compiler-function-overflow ()
           (if (null (cdr forms))
