[slime-cvs] CVS update: slime/swank.lisp
Helmut Eller
heller at common-lisp.net
Thu Apr 22 21:37:51 UTC 2004
Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv16512
Modified Files:
swank.lisp
Log Message:
(list-all-systems-in-central-registry, asdf-central-registry): New functions.
Date: Thu Apr 22 17:37:51 2004
Author: heller
Index: slime/swank.lisp
diff -u slime/swank.lisp:1.170 slime/swank.lisp:1.171
--- slime/swank.lisp:1.170 Wed Apr 21 17:51:23 2004
+++ slime/swank.lisp Thu Apr 22 17:37:50 2004
@@ -1258,9 +1258,25 @@
(defslimefun operate-on-system-for-emacs (system-name operation &rest keywords)
"Compile and load SYSTEM using ASDF.
Record compiler notes signalled as `compiler-condition's."
- (swank-compiler (lambda ()
- (apply #'operate-on-system system-name operation keywords))))
+ (swank-compiler
+ (lambda ()
+ (apply #'operate-on-system system-name operation keywords))))
+(defun asdf-central-registry ()
+ (when (find-package :asdf)
+ (symbol-value (find-symbol (string :*central-registry*) :asdf))))
+
+(defslimefun list-all-systems-in-central-registry ()
+ "Returns a list of all systems in ASDF's central registry."
+ (loop for dir in (asdf-central-registry)
+ for defaults = (eval dir)
+ when defaults
+ nconc (mapcar #'file-namestring
+ (directory
+ (make-pathname :defaults defaults
+ :version :newest
+ :type "asd"
+ :case :local)))))
;;;; Macroexpansion
More information about the slime-cvs
mailing list