1.0.19.22: fix bug #425
[sbcl.git] / src / code / source-location.lisp
index d281ccf..be5d1fd 100644 (file)
@@ -19,7 +19,7 @@
    (when (and (boundp '*source-info*)
               *source-info*)
      (make-file-info-namestring *compile-file-pathname*
-                                (source-info-file-info *source-info*)))
+                                (sb!c:get-toplevelish-file-info *source-info*)))
    :type (or string null))
   ;; Toplevel form index
   (toplevel-form-number
 
 #!+sb-source-locations
 (define-compiler-macro source-location (&environment env)
-  #+sb-xc-host (declare (ignore env))
-  #-sb-xc-host
-  (unless (policy env (and (> space 1)
-                           (> space debug)))
-    (make-definition-source-location)))
+  (declare (ignore env))
+  #-sb-xc-host (make-definition-source-location))
+
+;; We need a regular definition of SOURCE-LOCATION for calls processed
+;; during LOAD on a source file while *EVALUATOR-MODE* is :INTERPRET.
+#!+sb-source-locations
+(setf (symbol-function 'source-location)
+      (lambda () (make-definition-source-location)))
 
 (/show0 "/Processing source location thunks")
 #!+sb-source-locations