(define-compiler-macro source-location ()
(when (and (boundp '*source-info*)
(symbol-value '*source-info*))
- `(cons ,(make-file-info-namestring
- *compile-file-pathname*
- (sb!c:get-toplevelish-file-info (symbol-value '*source-info*)))
- ,(when (boundp '*current-path*)
- (source-path-tlf-number (symbol-value '*current-path*))))))
+ (let ((form `(cons ,(make-file-info-namestring
+ *compile-file-pathname*
+ (sb!c:get-toplevelish-file-info (symbol-value '*source-info*)))
+ ,(when (boundp '*current-path*)
+ (source-path-tlf-number (symbol-value '*current-path*))))))
+ form)))
;; If the whole source location tracking machinery has been loaded
;; (detected by the type of SOURCE-LOCATION), execute BODY. Otherwise