Next: , Previous: , Up: SLIME Mode   [Contents][Index]


17.6.2 Using Multiple LISPs in SLIME

To setup SLIME with multiple Lisp’s configure the variable:

slime-lisp-implementations

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)
(setq slime-lisp-implementations
      '((ccl ("/opt/local/share/ccl/1.12/dx86cl64"))
        (sbcl ("/opt/local/bin/sbcl") :coding-system utf-8-unix)))
NAME

is a symbol and is used to identify the program.

PROGRAM

is the filename of the program.

PROGRAM-ARGS

is a list of command line arguments.

CODING-SYSTEM

the coding system for the connection. (see slime-net-coding-system)

INIT

should be a function which takes two arguments: a filename and a character encoding. The function should return a Lisp expression as a string which instructs Lisp to start the Swank server and to write the port number to the file. At startup, SLIME starts the Lisp process and sends the result of this function to Lisp’s standard input. As default, slime-init-command is used. An example is shown in Loading Swank faster.

INIT-FUNCTION

should be a function which takes no arguments. It is called after the connection is established. (See also slime-connected-hook.)

ENV

specifies a list of environment variables for the subprocess. E.g.

(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.


Next: Running SLIME, Previous: Setting Up SLIME, Up: SLIME Mode   [Contents][Index]