These Lisp variables can be configured via your ~/.swank.lisp file:
&body-arguments in macros are discovered and sent to Emacs. It is enabled by default.
*standard-output*, etc) to be globally redirected to the REPL in Emacs. When
NIL(the default) these streams are only temporarily redirected to Emacs using dynamic bindings while handling requests. Note that
*standard-input*is currently never globally redirected into Emacs, because it can interact badly with the Lisp's native REPL by having it try to read from the Emacs one.
*DEBUGGER-HOOK*to be globally set to
SWANK:SWANK-DEBUGGER-HOOKand thus for SLIME to handle all debugging in the Lisp image. This is for debugging multithreaded and callback-driven applications.
(setf swank:*sldb-quit-restart* 'sb-thread:terminate-thread)
(push '(*print-pretty* . t) swank:*sldb-printer-bindings*).
nil, don't use it, and is strongly recommended to keep.
t, a separate socket is established solely for Lisp to send
printed output to Emacs through, which is faster than sending the output
in protocol-messages to Emacs. However, as nothing can be guaranteed
about the timing between the dedicated output stream and the stream of
protocol messages, the output of a Lisp command can arrive before or
after the corresponding REPL results. Thus output and REPL results can
end up in the wrong order, or even interleaved, in the REPL buffer.
Using a dedicated output stream also makes it more difficult to
communicate to a Lisp running on a remote host via SSH
(see Connecting to a remote lisp).
tthe stream will be opened on this port. The default value,
0, means that the stream will be opened on some random port.
tcauses all protocol messages exchanged with Emacs to be printed to
*TERMINAL-IO*. This is useful for low-level debugging and for observing how SLIME works “on the wire.” The output of
*TERMINAL-IO*can be found in your Lisp system's own listener, usually in the buffer