From d77342453e7c40c4027f6d8f3cc65fc5e1ae8d9c Mon Sep 17 00:00:00 2001
From: Francois-Rene Rideau <fare@tunes.org>
Date: Mon, 22 Mar 2010 23:58:36 -0400
Subject: [PATCH] 1.659: Tweak system-source-file to be nicer wrt hot upgrade.
 Move test results in tmp/ directory.

---
 .gitignore                     |  8 --------
 asdf.lisp                      | 15 +++++++++------
 test/asdf-pathname-test.script | 11 -----------
 test/run-tests.sh              |  4 ++--
 4 files changed, 11 insertions(+), 27 deletions(-)

diff --git a/.gitignore b/.gitignore
index a4a40c84..d0394fb3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,17 +5,9 @@ common-lisp.net
 init-lisp.lisp
 website/changelog.xml
 
-# Test stuff
-test/results/
-test/tmp/
-test/conf.d/
-test/dir1/
-test/dir2/
-
 # We build these at various stages in the make process
 LICENSE
 website/output/
-test-results/
 tmp/
 lift-local.config
 *.dribble
diff --git a/asdf.lisp b/asdf.lisp
index 7211b5f3..fd994248 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -121,7 +121,8 @@
                p)))
     (let ((redefined-functions
            '(#:perform #:explain #:output-files #:operation-done-p
-             #:perform-with-restarts #:component-relative-pathname)))
+             #:perform-with-restarts #:component-relative-pathname
+             #:system-source-file)))
       (ensure-package
        ':asdf-utilities
        :nicknames '(#:asdf-extensions)
@@ -262,7 +263,7 @@
   ;; This parameter isn't actually user-visible
   ;; -- please use the exported function ASDF:ASDF-VERSION below.
   ;; the 1+ hair is to ensure that we don't do an inadvertent find and replace
-  (subseq "VERSION:1.658" (1+ (length "VERSION"))))
+  (subseq "VERSION:1.659" (1+ (length "VERSION"))))
 
 (defun asdf-version ()
   "Exported interface to the version of ASDF currently installed. A string.
@@ -587,10 +588,10 @@ ways that the filename components can be missing are for it to be `nil`,
 Note that this does _not_ check to see that `pathname` points to an
 actually-existing directory."
   (flet ((check-one (x)
-           (not (null (member x '(nil :unspecific "")
-                              :test 'equal)))))
+           (member x '(nil :unspecific "") :test 'equal)))
     (and (check-one (pathname-name pathname))
-         (check-one (pathname-type pathname)))))
+         (check-one (pathname-type pathname))
+         t)))
 
 (defun ensure-directory-pathname (pathspec)
   "Converts the non-wild pathname designator PATHSPEC to directory form."
@@ -2048,7 +2049,9 @@ output to `*verbose-out*`.  Returns the shell's exit code."
 ;;;; ---------------------------------------------------------------------------
 ;;;; system-relative-pathname
 
-(defmethod system-source-file ((system-name t))
+(defmethod system-source-file ((system-name string))
+  (system-source-file (find-system system-name)))
+(defmethod system-source-file ((system-name symbol))
   (system-source-file (find-system system-name)))
 
 (defun system-source-directory (system-name)
diff --git a/test/asdf-pathname-test.script b/test/asdf-pathname-test.script
index 6ee7af5a..460ce932 100644
--- a/test/asdf-pathname-test.script
+++ b/test/asdf-pathname-test.script
@@ -272,17 +272,6 @@
       (setf (logical-pathname-translations "ASDFTEST") nil))
     (remhash "test-system" asdf::*defined-systems*)))
 
-#+clisp
-(trace
- make-pathname
- make-instance
- asdf::component-pathname
- asdf::component-relative-pathname
- asdf::merge-pathnames*
- asdf::merge-component-name-type
- asdf::component-name-to-pathname-components
- make-pathname)
-
 (quit-on-error
  (asdf:initialize-source-registry)
  (format t "source registry: ~S~%" (asdf::source-registry))
diff --git a/test/run-tests.sh b/test/run-tests.sh
index 001f4aa3..3ec637bf 100755
--- a/test/run-tests.sh
+++ b/test/run-tests.sh
@@ -188,9 +188,9 @@ if [ -z "$command" ] ; then
     echo "Error: cannot find or do not know how to run Lisp named $lisp"
 else
     create_config
-    mkdir -p results
+    mkdir -p ../tmp/results
     thedate=`date "+%Y-%m-%d"`
     do_tests "$command" "$eval" 2>&1 | \
-	tee "results/${lisp}.text" "results/${lisp}-${thedate}.save"
+	tee "../tmp/results/${lisp}.text" "../tmp/results/${lisp}-${thedate}.save"
     clean_up
 fi
-- 
GitLab