Blob Blame History Raw
Index: slime/slime.el
===================================================================
--- slime.orig/slime.el	2012-04-21 21:46:55.000000001 +0200
+++ slime/slime.el	2012-04-21 21:47:22.000000001 +0200
@@ -133,6 +133,15 @@
 (defvar slime-protocol-version nil)
 (setq slime-protocol-version (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
 ;;
@@ -1055,7 +1064,7 @@
 (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 KEYWORD-ARGS) ...)