[PATCH] Add trivial initialization of slime-lisp-implementations.

Torsten Landschoff torsten at landschoff.net
Fri May 1 23:30:41 UTC 2009


---
 debian/changelog |    8 ++++++++
 slime.el         |   11 ++++++++++-
 2 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 24b4a40..023f900 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+slime (1:20090409-1.1) unstable; urgency=low
+
+  [ Torsten Landschoff ]
+  * slime.el: Populate slime-lisp-implementations from known common
+    lisp implementations on PATH (closes: #491602).
+
+ -- Torsten Landschoff <torsten at debian.org>  Sat, 02 May 2009 01:25:22 +0200
+
 slime (1:20090409-1) unstable; urgency=low
 
   * New upstream version. 
diff --git a/slime.el b/slime.el
index 7f0f1bb..04c5793 100644
--- a/slime.el
+++ b/slime.el
@@ -123,6 +123,15 @@ Return nil if the ChangeLog file cannot be found."
 (setq slime-protocol-version
       (eval-when-compile (slime-changelog-date)))
 
+(defun slime-gather-lisp-implementations ()
+  "Compute sane default value for slime-lisp-implementations."
+  (let ((known-lisps '("sbcl" "clisp" "ecl" "cmucl")))
+    (remove-if
+     'null
+     (mapcar 
+      (lambda (l) (if (executable-find l) (list l (list l))))
+      known-lisps))))
+
 
 ;;;; Customize groups
 ;;
@@ -1116,7 +1125,7 @@ last activated the buffer."
 (defvar inferior-lisp-program "lisp" 
   "*Program name for invoking an inferior Lisp with for Inferior Lisp mode.")
 
-(defvar slime-lisp-implementations nil
+(defvar slime-lisp-implementations (slime-gather-lisp-implementations)
   "*A list of known Lisp implementations.
 The list should have the form: 
   ((NAME (PROGRAM PROGRAM-ARGS...) &key INIT CODING-SYSTEM ENV) ...)
-- 
1.6.2.4


--bg08WKrSYDhXBjb5--





More information about the pkg-common-lisp-devel mailing list