By default, the command M-x slime starts the program specified
with inferior-lisp-program
. If you invoke M-x slime with
a prefix argument, Emacs prompts for the program which should be
started instead. If you need that frequently or if the command
involves long filenames it's more convenient to set the
slime-lisp-implementations
variable in your .emacs. For
example here we define two programs:
(setq slime-lisp-implementations '((cmucl ("cmucl" "-quiet")) (sbcl ("/opt/sbcl/bin/sbcl") :coding-system utf-8-unix)))
This variable holds a list of programs and if you invoke SLIME with
a negative prefix argument, M-- M-x slime, you can select a
program from that list. When called without a prefix, either the name
specified in slime-default-lisp
, or the first item of the list will be used.
The elements of the list should look like
(NAME (PROGRAM PROGRAM-ARGS...) &key CODING-SYSTEM INIT INIT-FUNCTION ENV)
NAME
PROGRAM
PROGRAM-ARGS
CODING-SYSTEM
INIT
slime-init-command
is used. An example is shown in
Loading Swank faster.
INIT-FUNCTION
ENV
(sbcl-cvs ("/home/me/sbcl-cvs/src/runtime/sbcl" "--core" "/home/me/sbcl-cvs/output/sbcl.core") :env ("SBCL_HOME=/home/me/sbcl-cvs/contrib/"))
initializes SBCL_HOME
in the subprocess.