Using Multiple Lisps with Inferior Lisp
I was reading On Lisp which uses Common Lisp through out the book, so I needed a quick way to switch between lisps, following is a quick hack to switch between different lisp programs. When you call na-run-lisp without any prefix it will run the first item in lisp-programs, when called with a prefix you can select which lisp to run.
(setq lisp-programs
(list (list "clojure" clojure-command)
(list "sbcl" "/opt/local/bin/sbcl")))
(defun na-run-lisp (arg)
(interactive "P")
(if (null arg)
(run-lisp (second (first lisp-programs)))
(let (choice)
(setq choice (completing-read "Lisp: " (mapcar 'first lisp-programs)))
(dolist (l lisp-programs)
(if (string= (first l) choice)
(run-lisp (second l)))))))