From fdbabe3dc04c81453b8338b28771a1ec610d7c32 Mon Sep 17 00:00:00 2001 From: Alastair Bridgewater Date: Sat, 25 Apr 2009 03:12:13 +0000 Subject: [PATCH] 1.0.27.46: Fix build on systems with "src" in the path. 1.0.27.31 introduced an actual check that the path for all source files is correctly externalized as an LPN at cold-init time. Due to a longstanding bug in MAKE-FILE-INFO-NAMESTRING, not fixed with 1.0.27.31, it is possible for the system to create a pathname such as "SYS:SRC;LISP;SBCL;SBCL-GIT;OUTPUT;STUFF-GROVELED-FROM-HEADERS.LISP". Once the SYS: logical pathname translations are set up, this path is not valid, causing a build failure. Fixed, at the cost of disallowing paths in SYS:SRC that have a final directory of OUTPUT, not likely to be an issue in practice. --- src/code/source-location.lisp | 5 +++-- version.lisp-expr | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/code/source-location.lisp b/src/code/source-location.lisp index 7eb411b..3d488d2 100644 --- a/src/code/source-location.lisp +++ b/src/code/source-location.lisp @@ -37,8 +37,9 @@ (let ((src (position "src" dir :test #'string= :from-end t))) (cond - (src (format nil "SYS:~{~:@(~A~);~}~:@(~A~).LISP" - (subseq dir src) (pathname-name untruename))) + ((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")) diff --git a/version.lisp-expr b/version.lisp-expr index e8a526b..f811532 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.27.45" +"1.0.27.46" -- 1.7.10.4