X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fsource-location.lisp;h=3d488d23c65ff5b6dc7424c7e9ebb55647d76d16;hb=95591ed483dbb8c0846c129953acac1554f28809;hp=be5d1fdedf5c4a487eb7c1618cf4b90785d04958;hpb=9d572e5dec980b0a9572c5a888986b4497e92a5c;p=sbcl.git diff --git a/src/code/source-location.lisp b/src/code/source-location.lisp index be5d1fd..3d488d2 100644 --- a/src/code/source-location.lisp +++ b/src/code/source-location.lisp @@ -36,11 +36,14 @@ #+sb-xc-host (let ((src (position "src" dir :test #'string= :from-end t))) - (if src - (format nil "SYS:~{~:@(~A~);~}~:@(~A~).LISP" - (subseq dir src) (pathname-name untruename)) - ;; FIXME: just output/stuff-groveled-from-headers.lisp - (namestring untruename))) + (cond + ((and src (not (string= (car (last dir)) "output"))) + (format nil "SYS:~{~:@(~A~);~}~:@(~A~).LISP" + (subseq dir src) (pathname-name untruename))) + (t (aver (string-equal (car (last dir)) "output")) + (aver (string-equal (pathname-name untruename) "stuff-groveled-from-headers")) + (aver (string-equal (pathname-type untruename) "lisp")) + "SYS:OUTPUT;STUFF-GROVELED-FROM-HEADERS.LISP"))) #-sb-xc-host (if (and dir (eq (first dir) :absolute)) (namestring untruename)