[slime-devel] Re: How to connect to lisp with swank preloaded?

Helmut Eller heller at common-lisp.net
Sun Oct 9 19:47:02 UTC 2005

* Marco Baringer [2005-10-08 11:34+0200] writes:

> ; in a clean CLISP image
> (asdf:oos 'asdf:load-op :swank)
> (ext:saveinitmem "image-with-swank.mem"
>                  :init-function (lambda () (swank:create-swank-server)))
> then loadup the image-with-swank image and you should get a properly
> runnig swank server.

The latest CVS version has some better support for this situation.

E.g. you can set slime-registered-lisp-implementations like so:

(setq slime-registered-lisp-implementations
      '((clisp  ("clisp"))
        (xclisp ("clisp" "-q" "-M" "image-with-swank.mem")
		:init (lambda (file _) 
			(format "(swank:start-server %S)\n\n" file)))))

Then you can start the custom image with `M-- M-x slime xclisp'.  Note
that the :init, unlike the default, doesn't load the swank code.

It's currently not possible to use plain a `M-x slime' to load custom
image, mostly because all the our docs mention inferior-lisp-program
as the way the specify the lisp implementation, but we need a little
more information than the program name alone. Maybe we should switch
from inferior-lisp-program to slime-registered-lisp-implementations as

In the meantime you can create your own command like this:

(defun clisp-slime ()
  (slime-start :program "clisp" 
               :program-args '("-M" "image-with-swank.mem")
               :init (lambda (file _) 
			(format "(swank:start-server %S)\n\n" file))))


More information about the slime-devel mailing list