Previous: , Up: Misc   [Contents][Index]

5.3 Multiple connections

SLIME is able to connect to multiple Lisp processes at the same time. The M-x slime command, when invoked with a prefix argument, will offer to create an additional Lisp process if one is already running. This is often convenient, but it requires some understanding to make sure that your SLIME commands execute in the Lisp that you expect them to.

Some buffers are tied to specific Lisp processes. Each Lisp connection has its own REPL buffer, and all expressions entered or SLIME commands invoked in that buffer are sent to the associated connection. Other buffers created by SLIME are similarly tied to the connections they originate from, including SLDB buffers, apropos result listings, and so on. These buffers are the result of some interaction with a Lisp process, so commands in them always go back to that same process.

Commands executed in other places, such as slime-mode source buffers, always use the “default” connection. Usually this is the most recently established connection, but this can be reassigned via the “connection list” buffer:

C-c C-x c
M-x slime-list-connections

Pop up a buffer listing the established connections. It is also available by the typing c from the SLIME selector (slime-selector).

C-c C-x n
M-x slime-cycle-connections

Change current Lisp connection by cycling through all connections. It is also available by the typing n from the SLIME selector (slime-selector).

C-c C-x t
M-x slime-list-threads

Pop up a buffer listing the current threads. It is also available by the typing t from the SLIME selector (slime-selector).

The buffer displayed by slime-list-connections gives a one-line summary of each connection. The summary shows the connection’s serial number, the name of the Lisp implementation, and other details of the Lisp process. The current “default” connection is indicated with an asterisk.

The commands available in the connection-list buffer are:

M-x slime-goto-connection

Pop to the REPL buffer of the connection at point.

M-x slime-connection-list-make-default

Make the connection at point the “default” connection. It will then be used for commands in slime-mode source buffers.

M-x slime-update-connection-list

Update the connection list in the buffer.

M-x slime-temp-buffer-quit

Quit the connection list (kill buffer, restore window configuration).

M-x slime-restart-connection-at-point

Restart the Lisp process for the connection at point.

M-x slime-connect

Connect to a running Swank server.

M-x slime-disconnect

Disconnect all connections.

M-x slime-abort-connection

Abort the current attempt to connect.

Previous: , Up: Misc   [Contents][Index]