Commit 7e917a9a authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

2.26.140: fix a pathname bug found by clisp, work around clisp issues.

parent cda2cab5
* 2.6.134: fix u (abcl, ccl, clisp, cmucl)
* Bug found by fe[nl]ix: infinite loop if the definitions in an asd file
are not in strict dependency order.
* fix upgrade on (abcl, clisp, cmucl)
** Extract minimal test case
* Learn to use cl-grid-test, to make sure ASDF changes don't break stuff,
and that breakage gets fixed quickly.
* Test stassats's thing:
......
......@@ -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.139" ;; to be automatically updated by make bump-version
:version "2.26.140" ;; to be automatically updated by make bump-version
:depends-on ()
:components ((:module "build" :components ((:file "asdf"))))
:in-order-to (#+asdf2.27 (compile-op (monolithic-load-concatenated-source-op asdf/defsystem))))
......
......@@ -34,7 +34,7 @@
(check-type pathname (or null string pathname))
(absolutize-pathnames
(list pathname (load-pathname) *default-pathname-defaults* (getcwd))
:resolve-symlinks *resolve-symlinks*))
:type :directory :resolve-symlinks *resolve-symlinks*))
;;; Component class
......
......@@ -21,6 +21,12 @@
@macro &body
&body
@end macro
@macro &curly
{
@end macro
@macro &ylruc
}
@end macro
@c for install-info
@dircategory Software development
......@@ -266,7 +272,8 @@ or none at all:
(find-symbol (string :*asdf-revision*) :asdf)))))
(etypecase ver
(string ver)
(cons (format nil "~{~D~^.~}" ver))
(cons (with-output-to-string (s)
(loop for (n . m) on ver do (princ n s) (when m (princ "." s)))))
(null "1.0"))))
@end lisp
......
;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
;;; This is ASDF 2.26.139: Another System Definition Facility.
;;; This is ASDF 2.26.140: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
......
;;; -*- Lisp -*-
#+lispworks (lispworks:load-all-patches)
(load "script-support.lisp")
(load (make-pathname :name "script-support" :defaults *load-pathname*))
(load-asdf)
#+ecl (require :cmp)
......
;;; -*- Lisp -*-
(defsystem :test-system-pathnames
:pathname "sources/level1"
:components
((:file "file1")
(:file "file2" :pathname "level2/file2")
(:static-file "level2/static.file")
(:static-file "test-tmp.cl")))
;;; -*- Lisp -*-
(trace parse-unix-namestring asdf::determine-system-directory)
(defsystem :test-system-pathnames
:pathname "sources/level1"
:components
((:file "file1")
(:file "file2" :pathname "level2/file2")
(:static-file "level2/static.file")
(:static-file "test-tmp.cl")))
(progn
(asdf:load-system 'test-system-pathnames)
(assert (find-package :test-package)
() "package test-package not found")
(assert (find-symbol (symbol-name '*file-tmp*) :test-package)
() "symbol `*file-tmp*` not found")
(assert (symbol-value (find-symbol (symbol-name '*file-tmp*) :test-package))
() "symbol `*file-tmp*` has wrong value")
(load-system 'test-system-pathnames)
(assert (probe-file
(apply-output-translations
(merge-pathnames*
(make-pathname*
:name "file1"
:type (compile-file-type)
:directory '(:relative "sources" "level1"))
*test-directory*)))
() "compiled file not found")
(assert (find-package :test-package)
() "package test-package not found")
(assert (find-symbol (symbol-name '*file-tmp*) :test-package)
() "symbol `*file-tmp*` not found")
(assert (symbol-value (find-symbol (symbol-name '*file-tmp*) :test-package))
() "symbol `*file-tmp*` has wrong value")
(assert (find-symbol (symbol-name '*file-tmp2*) :test-package) nil
"symbol `*file-tmp2*` not found")
(assert (symbol-value (find-symbol (symbol-name '*file-tmp2*) :test-package))
nil "symbol `*file-tmp2*` has wrong value")
(assert (probe-file (test-fasl "sources/level1/file1"))
() "compiled file not found")
(assert (probe-file
(apply-output-translations
(merge-pathnames*
(make-pathname*
:name "file2"
:type (compile-file-type)
:directory '(:relative "sources" "level1" "level2")))))
nil "compiled file not found"))
(assert (find-symbol (symbol-name '*file-tmp2*) :test-package) nil
"symbol `*file-tmp2*` not found")
(assert (symbol-value (find-symbol (symbol-name '*file-tmp2*) :test-package))
() "symbol `*file-tmp2*` has wrong value")
(assert (probe-file (test-fasl "sources/level1/level2/file2"))
() "compiled file not found")
......@@ -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.139")
(asdf-version "2.26.140")
(existing-asdf (find-class (find-symbol* :component :asdf nil) nil))
(existing-version *asdf-version*)
(already-there (equal asdf-version existing-version))
......
......@@ -63,7 +63,7 @@
;; We usually try to do it only for the functions that need it,
;; which happens in asdf/upgrade - however, for ECL, we need this hammer,
;; (which causes issues in clisp)
,@(when (or supersede #+(or ecl (and gcl (not gcl-pre2.7))) t) ; XXX
,@(when (or #-clisp supersede #+(or ecl (and gcl (not gcl-pre2.7))) t) ; XXX
`((undefine-function ',name)))
#-gcl ; gcl 2.7.0 notinline functions lose secondary return values :-(
,@(when (and #+ecl (symbolp name)) ; fails for setf functions on ecl
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment