2.26.97: more portability fixes for ECL, CMUCL, GCL, XCL.
authorFrancois-Rene Rideau <tunes@google.com>
Tue, 15 Jan 2013 00:22:11 +0000 (19:22 -0500)
committerFrancois-Rene Rideau <tunes@google.com>
Tue, 15 Jan 2013 00:22:11 +0000 (19:22 -0500)
14 files changed:
Makefile
asdf.asd
bin/bump-version
header.lisp
lisp-build.lisp
os.lisp
package.lisp
pathname.lisp
stream.lisp
test/run-tests.sh
test/script-support.lisp
upgrade.lisp
utility.lisp
version.lisp-expr

index e03ea60..4f0b416 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -34,7 +34,12 @@ XCL ?= xcl
 
 # website, tag, install
 
-default: test
+driver_lisp := header.lisp package.lisp compatibility.lisp utility.lisp pathname.lisp stream.lisp os.lisp image.lisp run-program.lisp lisp-build.lisp configuration.lisp driver.lisp
+asdf_lisp := upgrade.lisp component.lisp system.lisp find-system.lisp find-component.lisp operation.lisp action.lisp lisp-action.lisp plan.lisp operate.lisp output-translations.lisp source-registry.lisp backward-internals.lisp defsystem.lisp bundle.lisp concatenate-source.lisp backward-interface.lisp interface.lisp footer.lisp
+
+build/asdf.lisp: $(wildcard *.lisp)
+       mkdir -p build
+       cat $(driver_lisp) $(asdf_lisp) > $@
 
 install: archive-copy
 
@@ -51,13 +56,6 @@ archive-copy: archive build/asdf.lisp
        ${MAKE} push
        git checkout master
 
-driver_lisp := header.lisp package.lisp compatibility.lisp utility.lisp pathname.lisp stream.lisp os.lisp image.lisp run-program.lisp lisp-build.lisp configuration.lisp driver.lisp
-asdf_lisp := upgrade.lisp component.lisp system.lisp find-system.lisp find-component.lisp operation.lisp action.lisp lisp-action.lisp plan.lisp operate.lisp output-translations.lisp source-registry.lisp backward-internals.lisp defsystem.lisp bundle.lisp concatenate-source.lisp backward-interface.lisp interface.lisp footer.lisp
-
-build/asdf.lisp: $(wildcard *.lisp)
-       mkdir -p build
-       cat $(driver_lisp) $(asdf_lisp) > $@
-
 wc:
        @wc $(driver_lisp) | sort -n ; echo ; \
        wc $(asdf_lisp) | sort -n ; \
index ba607e8..7a45321 100644 (file)
--- a/asdf.asd
+++ b/asdf.asd
@@ -15,7 +15,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.26.96" ;; to be automatically updated by bin/bump-revision
+  :version "2.26.97" ;; to be automatically updated by bin/bump-revision
   :depends-on ()
   :components ((:module "build" :components ((:file "asdf"))))
   :in-order-to (#+asdf2.27 (compile-op (monolithic-load-concatenated-source-op generate-asdf))))
index d3902c6..f79f21c 100755 (executable)
@@ -14,9 +14,9 @@
 (format t "Upgrading to the latest ASDF... ~%")
 (upgrade-asdf)
 (format t "Now loading some dependencies... ~%")
-(load-systems :cl-ppcre :xcvb-utils)
+(load-systems :cl-ppcre :fare-utils)
 
-(in-package :xcvb-utils)
+(in-package :fare-utils)
 
 (format t "And the debug utilities... ~%")
 (asdf-debug)
index c50e369..7f6c07b 100644 (file)
@@ -1,5 +1,5 @@
 ;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
-;;; This is ASDF 2.26.96: Another System Definition Facility.
+;;; This is ASDF 2.26.97: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
index fd90b01..071a8b1 100644 (file)
@@ -178,7 +178,8 @@ for processing later (possibly in a different process)."
   (call-function (or hook 'funcall) function))
 
 (defun* compile-file* (input-file &rest keys &key compile-check output-file &allow-other-keys)
-  (let* ((keywords (remove-keys '(:compile-check #+gcl<2.7 :external-format) keys))
+  (let* ((keywords (remove-keys
+                    `(:compile-check #+gcl<2.7 ,@'(:external-format :print :verbose)) keys))
          (output-file (apply 'compile-file-pathname* input-file :output-file output-file keywords))
          (tmp-file (tmpize-pathname output-file))
          (status :error))
diff --git a/os.lisp b/os.lisp
index 6b2c037..d3e80e0 100644 (file)
--- a/os.lisp
+++ b/os.lisp
@@ -279,7 +279,10 @@ then returning the non-empty string value of the variable"
   (or *temporary-directory* (default-temporary-directory)))
 
 (defun setup-temporary-directory ()
-  (setf *temporary-directory* (default-temporary-directory)))
+  (setf *temporary-directory* (default-temporary-directory))
+  ;; basic lack fixed after gcl 2.7.0-61, but ending / required still on 2.7.0-64.1
+  #+gcl (setf system::*tmp-dir* *temporary-directory*))
+
 
 (defun* call-with-temporary-file
     (thunk &key
index 7b8c333..f8b0839 100644 (file)
@@ -585,7 +585,7 @@ or when loading the package is optional."
         (remove "asdf" excl::*autoload-package-name-alist*
                 :test 'equalp :key 'car)) ; We need that BEFORE any mention of package ASDF.
   (unless (member :asdf2.27 *features*)
-    #+clisp
+    #+(or clisp xcl)
     (progn
       (when (find-package :asdf)
         (delete-package* :asdf t))
index 2f9dd94..9b06284 100644 (file)
@@ -261,8 +261,14 @@ actually-existing directory."
 
 ;;; Probing the filesystem
 (defun* nil-pathname (&optional (defaults *default-pathname-defaults*))
-  (make-pathname* :directory nil :name nil :type nil :version nil :device nil :host nil
-                  :defaults defaults)) ;; The defaults shouldn't matter
+  ;; 19.2.2.2.1 says a NIL host can mean a default host;
+  ;; see also "valid physical pathname host" in the CLHS glossary, that suggests
+  ;; strings and lists of strings or :unspecific
+  ;; But CMUCL decides to die on NIL.
+  (make-pathname* :directory nil :name nil :type nil :version nil :device nil
+                  :host (or #+cmu lisp::*unix-host*)
+                  ;; the default shouldn't matter, but we really want something physical
+                  :defaults defaults))
 
 (defmacro with-pathname-defaults ((&optional defaults) &body body)
   `(let ((*default-pathname-defaults* ,(or defaults (nil-pathname)))) ,@body))
index af143ac..3a75d5d 100644 (file)
 (defvar *default-stream-element-type* (or #+(or abcl cmu cormanlisp scl xcl) 'character :default)
   "default element-type for open (depends on the current CL implementation)")
 
-(defvar *stderr* #-clozure *error-output* #+clozure ccl::*stderr*
+(defvar *stderr* *error-output*
   "the original error output stream at startup")
 
 (defun setup-stderr ()
-  (setf *stderr* #-clozure *error-output* #+clozure ccl::*stderr*))
+  (setf *stderr*
+        #+allegro excl::*stderr*
+        #+clozure ccl::*stderr*
+        #-(or allegro clozure) *error-output*))
+(setup-stderr)
 
 
 ;;; Safe syntax
index d896901..6167d3b 100755 (executable)
@@ -291,7 +291,7 @@ clean_up () {
 }
 test_clean_load () {
     case $lisp in
-        gcl) return 0 ;; # GCL 2.6 is hopeless
+        gcl|cmucl) return 0 ;; # These are hopeless
     esac
     nop=build/results/${lisp}-nop.text
     load=build/results/${lisp}-load.text
index d4f2783..0423cb3 100644 (file)
@@ -243,6 +243,7 @@ is bound, write a message and exit on an error.  If
    (apply (asym :oos) (asym :load-op) :asdf keys)))
 
 (defun call-with-asdf-conditions (thunk &optional verbose)
+  (declare (ignorable verbose))
   (handler-bind (#+sbcl
                  ((or sb-c::simple-compiler-note sb-kernel:redefinition-warning)
                    #'muffle-warning)
index b58fed5..40ac0d3 100644 (file)
@@ -35,7 +35,7 @@
          ;; "2.345.6" would be a development version in the official upstream
          ;; "2.345.0.7" would be your seventh local modification of official release 2.345
          ;; "2.345.6.7" would be your seventh local modification of development version 2.345.6
-         (asdf-version "2.26.96")
+         (asdf-version "2.26.97")
          (existing-asdf (find-class (find-symbol* :component :asdf nil) nil))
          (existing-version *asdf-version*)
          (already-there (equal asdf-version existing-version)))
index 78f9b66..4a2621c 100644 (file)
@@ -293,7 +293,7 @@ with later being determined by a lexicographical comparison of minor numbers."
   #+(or cmu scl) 'conditions::format-control
   #+(or gcl lispworks) 'conditions::format-string
   #+sbcl 'sb-kernel:format-control
-  #-(or abcl allegro clisp clozure cmu gcl lispworks sbcl scl) nil
+  #-(or abcl allegro clisp clozure cmu ecl gcl lispworks sbcl scl) nil
   "Name of the slot for FORMAT-CONTROL in simple-condition")
 
 (defun* match-condition-p (x condition)
index 2b5fa4d..061b942 100644 (file)
@@ -1 +1 @@
-"2.26.96"
+"2.26.97"