sbcl quit update.
authorFrancois-Rene Rideau <fare@tunes.org>
Tue, 12 Jun 2012 07:39:43 +0000 (03:39 -0400)
committerFrancois-Rene Rideau <fare@tunes.org>
Tue, 12 Jun 2012 17:16:13 +0000 (13:16 -0400)
Don't upgrade ccl or cmucl on older asdf's due to incompatibilities.
Shouldn't matter since they already ship with more recent versions of asdf.

Makefile
test/script-support.lisp

index 539bf28..a1cd215 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -105,8 +105,10 @@ test-upgrade:
            case ${lisp}:$$tag:$$x in \
              ecl:1.*|ecl:2.00*|ecl:2.01[0-6]:*|ecl:2.20:*) \
                : Skip, because of various ASDF issues ;; \
-             cmucl:1.*|cmucl:2.00*) \
-               : Skip, CMUCL cannot upgrade from ASDF 1. Happily, it ships ASDF 2 ;; \
+             ccl:1.*|ccl:2.0[01]*) \
+               : Skip, because ccl broke old asdf ;; \
+             cmucl:1.*|cmucl:2.00*|cmucl:2.01[0-4]:*) \
+               : Skip, CMUCL has problems before 2.014.7 due to source-registry upgrade ;; \
              *) (set -x ; \
                   case $$x in \
                    load-system) l="$$lo (asdf-test::load-asdf-system)" ;; \
@@ -120,7 +122,7 @@ test-upgrade:
        done ; done
 
 test-forward-references:
-       ${SBCL} --noinform --no-userinit --no-sysinit --load asdf.lisp --eval '(sb-ext:quit)' 2>&1 | cmp - /dev/null
+       ${SBCL} --noinform --no-userinit --no-sysinit --load asdf.lisp --load test/script-support.lisp --eval '(asdf-test::exit-lisp 0)' 2>&1 | cmp - /dev/null
 
 test-lisp:
        @cd test; ${MAKE} clean;./run-tests.sh ${lisp} ${test-glob}
index 16a42a4..6ad9a09 100644 (file)
@@ -5,7 +5,7 @@
 (declaim (optimize (speed 2) (safety 3) #-allegro (debug 3)))
 (proclaim '(optimize (speed 2) (safety 3) #-allegro (debug 3)))
 
-(format t "Evaluating asdf/test/script-support~%")
+;;(format t "Evaluating asdf/test/script-support~%")
 
 ;; We can't use asdf:merge-pathnames* because ASDF isn't loaded yet.
 ;; We still want to work despite and host/device funkiness.
     #-(or clozure cmu sbcl scl) (namestring p)))
 
 ;;; code adapted from cl-launch http://www.cliki.net/cl-launch
-(defun leave-lisp (message return)
-  (fresh-line *error-output*)
-  (when message
-    (format *error-output* message)
-    (terpri *error-output*))
-  (finish-output *error-output*)
-  (finish-output *standard-output*)
+(defun exit-lisp (return)
   #+allegro
   (excl:exit return)
   #+clisp
   (lispworks:quit :status return :confirm nil :return nil :ignore-errors-p t)
   #+(or openmcl mcl)
   (ccl::quit return)
-  #+sbcl
-  (sb-ext:quit :unix-status return)
+  #+sbcl #.(let ((exit (find-symbol "EXIT" :sb-ext))
+                 (quit (find-symbol "QUIT" :sb-ext)))
+             (cond
+               (exit `(,exit :code return :abort t))
+               (quit `(,quit :unix-status return :recklessly-p t))))
   #+(or abcl xcl)
   (ext:quit :status return)
   (error "Don't know how to quit Lisp; wanting to use exit code ~a" return))
 
+(defun leave-lisp (message return)
+  (fresh-line *error-output*)
+  (when message
+    (format *error-output* message)
+    (terpri *error-output*))
+  (finish-output *error-output*)
+  (finish-output *standard-output*)
+  (exit-lisp return))
 
 (defmacro quit-on-error (&body body)
   `(call-quitting-on-error (lambda () ,@body)))