[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