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
......@@ -70,7 +70,7 @@
:test 'equalp :key 'car))
(let* ((asdf-version
;; 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))
(vername '#:*asdf-version*)
(versym (and existing-asdf
......@@ -500,7 +500,7 @@ Also, if either argument is NIL, then the other argument is returned unmodified.
(unspecific-handler (p)
(if (typep p 'logical-pathname) #'ununspecific #'identity)))
(multiple-value-bind (host device directory unspecific-handler)
(ecase (first directory)
(#-gcl ecase #+gcl case (first directory)
(values (pathname-host defaults)
(pathname-device defaults)
......@@ -735,14 +735,13 @@ actually-existing directory."
(return p))
(let ((sofar (ignore-errors (truename (pathname-root p)))))
(unless sofar (return p))
(flet ((solution (directory)
(flet ((solution (directories)
(make-pathname :host nil :device nil
:directory directory
:directory `(:relative ,@directories)
:name (pathname-name p)
:type (pathname-type p)
:version (pathname-version p)
:defaults "/" :case :local)
:version (pathname-version p))
(loop :for component :in (cdr directory)
:for rest :on (cdr directory)
......@@ -753,7 +752,7 @@ actually-existing directory."
sofar))) :do
(if more
(setf sofar more)
(return (solution `(:relative ,@rest))))
(return (solution rest)))
(return (solution nil))))))))
......@@ -2288,9 +2287,10 @@ located."
(defparameter *os-features*
'((:windows :mswindows :win32 :mingw32)
(:solaris :sunos)
:linux ;; for GCL at least, must appear before :bsd.
:macosx :darwin :apple
:freebsd :netbsd :openbsd :bsd
:linux :unix))
(defparameter *architecture-features*
'((:x86-64 :amd64 :x86_64 :x8664-target)
......@@ -2312,6 +2312,7 @@ located."
(:-ics "8")
(:+ics ""))
(if (member :64bit *features*) "-64bit" ""))
#+clisp (subseq s 0 (position #\space s))
#+clozure (format nil "~d.~d-fasl~d"
......@@ -2322,11 +2323,11 @@ located."
(let ((vcs-id (ext:lisp-implementation-vcs-id)))
(when (>= (length vcs-id) 8)
(subseq vcs-id 0 8))))
#+gcl (subseq s (1+ (position #\space s)))
#+lispworks (format nil "~A~@[~A~]" s
(when (member :lispworks-64bit *features*) "-64bit"))
;; #+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 clisp gcl) (subseq s 0 (position #\space s))
#-(or allegro armedbear clisp clozure cmu cormanlisp digitool
ecl gcl lispworks mcl sbcl scl) s))
......@@ -552,7 +552,7 @@ by evaluating the following Lisp form:
(asdf:load-system :@var{foo})
@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
and you can just use:
......@@ -2731,11 +2731,18 @@ Other issues include the following:
There is a slight performance bug, notably on SBCL,
when initially searching for @file{asd} files
(depending on your configuration).
The @code{(directory "**/*.asd")} can make things slower than desired.
when initially searching for @file{asd} files,
the implicit @code{(directory "/configured/path/**/*.asd")}
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))}
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.
On Windows, only LispWorks supports proper default configuration pathnames
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