Skip to content
Snippets Groups Projects
Commit 6dbec7fe authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

1.716: Improve gcl 2.7 support. Minor doc tweaks.

parent 30bb39c6
No related branches found
No related tags found
No related merge requests found
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
:test 'equalp :key 'car)) :test 'equalp :key 'car))
(let* ((asdf-version (let* ((asdf-version
;; the 1+ helps the version bumping script discriminate ;; the 1+ helps the version bumping script discriminate
(subseq "VERSION:1.715" (1+ (length "VERSION")))) (subseq "VERSION:1.716" (1+ (length "VERSION"))))
(existing-asdf (find-package :asdf)) (existing-asdf (find-package :asdf))
(vername '#:*asdf-version*) (vername '#:*asdf-version*)
(versym (and existing-asdf (versym (and existing-asdf
...@@ -500,7 +500,7 @@ Also, if either argument is NIL, then the other argument is returned unmodified. ...@@ -500,7 +500,7 @@ Also, if either argument is NIL, then the other argument is returned unmodified.
(unspecific-handler (p) (unspecific-handler (p)
(if (typep p 'logical-pathname) #'ununspecific #'identity))) (if (typep p 'logical-pathname) #'ununspecific #'identity)))
(multiple-value-bind (host device directory unspecific-handler) (multiple-value-bind (host device directory unspecific-handler)
(ecase (first directory) (#-gcl ecase #+gcl case (first directory)
((nil) ((nil)
(values (pathname-host defaults) (values (pathname-host defaults)
(pathname-device defaults) (pathname-device defaults)
...@@ -735,14 +735,13 @@ actually-existing directory." ...@@ -735,14 +735,13 @@ actually-existing directory."
(return p)) (return p))
(let ((sofar (ignore-errors (truename (pathname-root p))))) (let ((sofar (ignore-errors (truename (pathname-root p)))))
(unless sofar (return p)) (unless sofar (return p))
(flet ((solution (directory) (flet ((solution (directories)
(merge-pathnames* (merge-pathnames*
(make-pathname :host nil :device nil (make-pathname :host nil :device nil
:directory directory :directory `(:relative ,@directories)
:name (pathname-name p) :name (pathname-name p)
:type (pathname-type p) :type (pathname-type p)
:version (pathname-version p) :version (pathname-version p))
:defaults "/" :case :local)
sofar))) sofar)))
(loop :for component :in (cdr directory) (loop :for component :in (cdr directory)
:for rest :on (cdr directory) :for rest :on (cdr directory)
...@@ -753,7 +752,7 @@ actually-existing directory." ...@@ -753,7 +752,7 @@ actually-existing directory."
sofar))) :do sofar))) :do
(if more (if more
(setf sofar more) (setf sofar more)
(return (solution `(:relative ,@rest)))) (return (solution rest)))
:finally :finally
(return (solution nil)))))))) (return (solution nil))))))))
...@@ -2288,9 +2287,10 @@ located." ...@@ -2288,9 +2287,10 @@ located."
(defparameter *os-features* (defparameter *os-features*
'((:windows :mswindows :win32 :mingw32) '((:windows :mswindows :win32 :mingw32)
(:solaris :sunos) (:solaris :sunos)
:linux ;; for GCL at least, must appear before :bsd.
:macosx :darwin :apple :macosx :darwin :apple
:freebsd :netbsd :openbsd :bsd :freebsd :netbsd :openbsd :bsd
:linux :unix)) :unix))
(defparameter *architecture-features* (defparameter *architecture-features*
'((:x86-64 :amd64 :x86_64 :x8664-target) '((:x86-64 :amd64 :x86_64 :x8664-target)
...@@ -2312,6 +2312,7 @@ located." ...@@ -2312,6 +2312,7 @@ located."
(:-ics "8") (:-ics "8")
(:+ics "")) (:+ics ""))
(if (member :64bit *features*) "-64bit" "")) (if (member :64bit *features*) "-64bit" ""))
#+clisp (subseq s 0 (position #\space s))
#+clozure (format nil "~d.~d-fasl~d" #+clozure (format nil "~d.~d-fasl~d"
ccl::*openmcl-major-version* ccl::*openmcl-major-version*
ccl::*openmcl-minor-version* ccl::*openmcl-minor-version*
...@@ -2322,11 +2323,11 @@ located." ...@@ -2322,11 +2323,11 @@ located."
(let ((vcs-id (ext:lisp-implementation-vcs-id))) (let ((vcs-id (ext:lisp-implementation-vcs-id)))
(when (>= (length vcs-id) 8) (when (>= (length vcs-id) 8)
(subseq vcs-id 0 8)))) (subseq vcs-id 0 8))))
#+gcl (subseq s (1+ (position #\space s)))
#+lispworks (format nil "~A~@[~A~]" s #+lispworks (format nil "~A~@[~A~]" s
(when (member :lispworks-64bit *features*) "-64bit")) (when (member :lispworks-64bit *features*) "-64bit"))
;; #+sbcl (format nil "~a-fasl~d" s sb-fasl:+fasl-file-version+) ; fasl-f-v is redundant ;; #+sbcl (format nil "~a-fasl~d" s sb-fasl:+fasl-file-version+) ; fasl-f-v is redundant
#+(or armedbear cormanlisp mcl sbcl scl) s #+(or armedbear cormanlisp mcl sbcl scl) s
#+(or clisp gcl) (subseq s 0 (position #\space s))
#-(or allegro armedbear clisp clozure cmu cormanlisp digitool #-(or allegro armedbear clisp clozure cmu cormanlisp digitool
ecl gcl lispworks mcl sbcl scl) s)) ecl gcl lispworks mcl sbcl scl) s))
......
...@@ -552,7 +552,7 @@ by evaluating the following Lisp form: ...@@ -552,7 +552,7 @@ by evaluating the following Lisp form:
(asdf:load-system :@var{foo}) (asdf:load-system :@var{foo})
@end example @end example
On some implementations (namely, SBCL and Clozure CL), On some implementations (namely ABCL, Clozure CL and SBCL),
ASDF hooks into the @code{CL:REQUIRE} facility ASDF hooks into the @code{CL:REQUIRE} facility
and you can just use: and you can just use:
...@@ -2731,11 +2731,18 @@ Other issues include the following: ...@@ -2731,11 +2731,18 @@ Other issues include the following:
@item @item
There is a slight performance bug, notably on SBCL, There is a slight performance bug, notably on SBCL,
when initially searching for @file{asd} files when initially searching for @file{asd} files,
(depending on your configuration). the implicit @code{(directory "/configured/path/**/*.asd")}
The @code{(directory "**/*.asd")} can make things slower than desired. for every configured path @code{(:tree "/configured/path/")}
in your @code{source-registry} configuration can cause a slight pause.
Try to @code{(time (asdf:initialize-source-registry))} Try to @code{(time (asdf:initialize-source-registry))}
to see how bad it is or isn't on your system. to see how bad it is or isn't on your system.
If you insist on not having this pause,
you can avoid the pause by overriding the default source-registry configuration
and not use any deep @code{:tree} entry but only @code{:directory} entries
or shallow @code{:tree} entries.
Or you can fix your implementation to not be quite that slow
when recursing through directories.
@item @item
On Windows, only LispWorks supports proper default configuration pathnames On Windows, only LispWorks supports proper default configuration pathnames
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment