Commit 0c281b99 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

2.20.9: fix logical-pathname issue; export more utilities.

The issue fixed is that most Lisps don't like
*default-pathname-defaults* being a logical-pathname.
Added a test for logical-pathname functionality;
it all works on CCL, and works better on other Lisps after the fix,
but there are still logical-pathname issues on SBCL, CLISP and more.
Also, a package cleanup of our test suite.
parent b570623d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ endif
## MINOR FAIL: xcl (logical pathname issue in asdf-pathname-test.script)
## OCCASIONALLY TESTED BY NOT ME: allegromodern (not in my free demo version)
## OCCASIONALLY TESTED BY NOT ME: lispworks (testing requires Pro version)
## MAJOR FAIL: gclcvs -- COMPILER BUG! Upstream fixed it, but it won't compile for me.
## MAJOR FAIL: gclcvs -- COMPILER BUG! Upstream fixed it, but upstream fails to compile.
## NOT SUPPORTED BY OUR TESTS: cormancl genera rmcl. Manually tested once in a while.

lisp ?= sbcl
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
  :licence "MIT"
  :description "Another System Definition Facility"
  :long-description "ASDF builds Common Lisp software organized into defined systems."
  :version "2.20.8" ;; to be automatically updated by bin/bump-revision
  :version "2.20.9" ;; to be automatically updated by bin/bump-revision
  :depends-on ()
  :components
  ((:file "asdf")
+10 −5
Original line number Diff line number Diff line
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.20.8: Another System Definition Facility.
;;; This is ASDF 2.20.9: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
@@ -115,7 +115,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.20.8")
         (asdf-version "2.20.9")
         (existing-asdf (find-class 'component nil))
         (existing-version *asdf-version*)
         (already-there (equal asdf-version existing-version)))
@@ -340,6 +340,7 @@
            #:ensure-source-registry
            #:process-source-registry
            #:system-registered-p
            #:resolve-location
            #:asdf-message
            #:user-output-translations-pathname
            #:system-output-translations-pathname
@@ -354,13 +355,16 @@
            #:absolute-pathname-p
            ;; #:aif #:it
            ;; #:appendf #:orf
            ;; #:first-char #:last-char
            #:coerce-name
            #:directory-pathname-p
            ;; #:ends-with
            #:pathname-root
            #:ends-with
            #:ensure-directory-pathname
            #:getenv
            #:probe-file*
            ;; #:length=n-p
            ;; #:find-symbol*
            #:find-symbol*
            #:merge-pathnames* #:coerce-pathname #:subpathname
            #:pathname-directory-pathname
            #:read-file-forms
@@ -1703,7 +1707,8 @@ Going forward, we recommend new users should be using the source-registry.
                                  :condition condition))))
             (let ((*package* package)
                   (*default-pathname-defaults*
                    (pathname-directory-pathname pathname)))
                    ;; resolve logical-pathnames so they won't wreak havoc in parsing namestrings.
                    (translate-logical-pathname (pathname-directory-pathname pathname))))
               (asdf-message (compatfmt "~&~@<; ~@;Loading system definition from ~A into ~A~@:>~%")
                             pathname package)
               (load pathname)))
+4 −1
Original line number Diff line number Diff line
(in-package #:common-lisp-user)

(load (make-pathname :name "script-support" :defaults *load-pathname*))

(in-package #:asdf-test)

(declaim (optimize (speed 2) (safety 3) #-allegro (debug 3)
		   #+(or cmu scl) (c::brevity 2)))
(proclaim '(optimize (speed 2) (safety 3) #-allegro (debug 3)
		     #+(or cmu scl) (c::brevity 2)))

(load (make-pathname :name "script-support" :defaults *load-pathname*))
(defun my-compile-file (&rest args) (apply 'compile-file args))
#+ecl (trace my-compile-file)

+12 −3
Original line number Diff line number Diff line
(in-package #:common-lisp-user)
(defpackage :asdf-test (:use :common-lisp))

(in-package #:asdf-test)

(declaim (optimize (speed 2) (safety 3) #-allegro (debug 3)))
(proclaim '(optimize (speed 2) (safety 3) #-allegro (debug 3)))
@@ -39,12 +41,16 @@
      *asdf-lisp*))))

(defun load-asdf ()
  (load *asdf-fasl*))
  (load *asdf-fasl*)
  (use-package :asdf :asdf-test)
  (setf *package* (find-package :asdf-test)))

(defun common-lisp-user::load-asdf ()
  (load-asdf))

#+allegro
(setf excl:*warn-on-nested-reader-conditionals* nil)

#-sbcl
(defun native-namestring (x)
  (let ((p (pathname x)))
    #+clozure (ccl:native-translated-namestring p)
@@ -95,11 +101,14 @@ is bound, write a message and exit on an error. If
                  ((ignore-errors (funcall (find-symbol "GETENV" :asdf) "DEBUG_ASDF_TEST"))
                   (break))
                  (t
                   (finish-output *standard-output*)
                   (finish-output *trace-output*)
                   (format *error-output* "~&ABORTING:~% ~S~%" c)
                   #+sbcl (sb-debug:backtrace 69)
                   #+clozure (ccl:print-call-history :count 69 :start-frame-number 1)
                   #+clisp (system::print-backtrace)
                   (format *error-output* "~&ABORTING:~% ~S~%" c)
                   (finish-output *error-output*)
                   (leave-lisp "~&Script failed~%" 1))))))
    (funcall thunk)
    (leave-lisp "~&Script succeeded~%" 0)))
Loading