[slime-cvs] CVS slime/contrib
CVS User sboukarev
sboukarev at common-lisp.net
Tue Jan 29 16:17:24 UTC 2013
Update of /project/slime/cvsroot/slime/contrib
In directory tiger.common-lisp.net:/tmp/cvs-serv27359
Modified Files:
ChangeLog swank-asdf.lisp
Log Message:
* swank-asdf.lisp: Better upcoming ASDF3 support.
--- /project/slime/cvsroot/slime/contrib/ChangeLog 2013/01/20 06:37:32 1.564
+++ /project/slime/cvsroot/slime/contrib/ChangeLog 2013/01/29 16:17:24 1.565
@@ -1,3 +1,7 @@
+2013-01-29 Francois-Rene Rideau <tunes at google.com>
+
+ * swank-asdf.lisp: Better upcoming ASDF3 support.
+
2013-01-20 Stas Boukarev <stassats at gmail.com>
* swank-asdf.lisp: Better compatibility with newer ASDF.
--- /project/slime/cvsroot/slime/contrib/swank-asdf.lisp 2013/01/20 06:37:32 1.36
+++ /project/slime/cvsroot/slime/contrib/swank-asdf.lisp 2013/01/29 16:17:24 1.37
@@ -46,9 +46,10 @@
;; It's just not worth the hassle supporting something
;; that doesn't even have COERCE-PATHNAME.
(eval-when (:compile-toplevel :load-toplevel :execute)
- (unless (or #+asdf2
+ (unless (or #+asdf3 t #+asdf2
(asdf:version-satisfies (asdf:asdf-version) "2.14.6"))
- (error "ASDF is too old. The latest supported version is 2.14.6.")))
+ (error "Your ASDF is too old. ~
+ The oldest version supported by swank-asdf is 2.014.6.")))
;;; Import functionality from ASDF that isn't available in all ASDF versions.
;;; Please do NOT depend on any of the below as reference:
@@ -263,13 +264,17 @@
:version (make-pathname-component-logical
(pathname-version f)))))))))
-(asdefs "2.26.125"
+(asdefs "2.26.149"
(defmethod component-relative-pathname ((system asdf:system))
(asdf::coerce-pathname
(and (slot-boundp system 'asdf::relative-pathname)
(slot-value system 'asdf::relative-pathname))
:type :directory
- :defaults (system-source-directory system))))
+ :defaults (system-source-directory system)))
+ (defun load-asd (pathname &key name &allow-other-keys)
+ (asdf::load-sysdef (or name (string-downcase (pathname-name pathname)))
+ pathname)))
+
;;; Taken from ASDF 1.628
(defmacro while-collecting ((&rest collectors) &body body)
@@ -364,7 +369,8 @@
(apply #'asdf:operate (asdf-operation operation-name)
system-name keyword-args)
t)
- (asdf:compile-error () nil)))
+ ((or asdf:compile-error #+asdf3 asdf/lisp-build:compile-file-error)
+ () nil)))
(defun unique-string-list (&rest lists)
(sort (delete-duplicates (apply #'append lists) :test #'string=) #'string<))
@@ -380,17 +386,15 @@
for defaults = (eval dir)
when defaults
do (collect-asds-in-directory defaults #'c))
- #+asdf2
- (progn
- (asdf:ensure-source-registry)
- (if (asdf:version-satisfies (asdf:asdf-version) "2.15")
- (loop :for k :being :the :hash-keys :of asdf::*source-registry*
- :do (c k))
- (dolist (entry (asdf::flatten-source-registry))
- (destructuring-bind (directory &key recurse exclude) entry
- (register-asd-directory
- directory
- :recurse recurse :exclude exclude :collect #'c)))))))))
+ (asdf:ensure-source-registry)
+ (if (or #+asdf3 t (asdf:version-satisfies (asdf:asdf-version) "2.15"))
+ (loop :for k :being :the :hash-keys :of asdf::*source-registry*
+ :do (c k))
+ (dolist (entry (asdf::flatten-source-registry))
+ (destructuring-bind (directory &key recurse exclude) entry
+ (register-asd-directory
+ directory
+ :recurse recurse :exclude exclude :collect #'c))))))))
(defslimefun list-all-systems-known-to-asdf ()
"Returns a list of all systems ASDF knows already."
@@ -508,7 +512,7 @@
(defun try-compile-asd-file (pathname load-p &rest options)
(declare (ignore load-p options))
(when (equalp (pathname-type pathname) "asd")
- (load-sysdef (string-downcase (pathname-name pathname)) pathname)
+ (load-asd pathname)
(values t t nil pathname)))
(pushnew 'try-compile-asd-file *compile-file-for-emacs-hook*)
More information about the slime-cvs
mailing list