[slime-devel] Re: Port File and Dedicated SLIME Instance

Tobias C. Rittweiler tcr at freebits.de
Fri Aug 15 11:42:27 UTC 2008


Volkan YAZICI <yazicivo at ttmail.com> writes:

>   This is SBCL 1.0.19.27, an implementation of ANSI Common Lisp.
>   ...
>   ; loading #P"/home/vy/.slime/fasl/2008-08-14/sbcl-1.0.19.27-linux-x86-64/swank.fasl"
>   WARNING: These Swank interfaces are unimplemented:
>    (CALLS-WHO DISASSEMBLE-FRAME SLDB-BREAK-AT-START SLDB-BREAK-ON-RETURN
>               WHO-SPECIALIZES)
>   ;; Swank started at port: 56586.
>   ;; SWANK: sb-thread::get-foreground ...
>   56586
>   *
>
> First problem is SLIME doesn't place `/tmp/slime.<emacs-pid>' file.
>
> 1. Do I need to turn some variable on to make SLIME write the port
>    number its accepting connections from to the port file?

The temporary file is probably deleted after the connection succeeded.
You can look into the *inferior-lisp* buffer (cf. above) where the port
number is shown.

> Then I start a second emacs instance and try to connect the related
> swank session using `M-x slime-connect'. (Such a thing is possible,
> isn't it?) But emacs complains that
>
>   make client process failed: connection refused, :name, SLIME Lisp,
>   :buffer, nil, :host, 127.0.0.1, :service, 5658

You cannot multiply connect to the same swank server. You can however,
start several swank servers in your Lisp image if the Lisp
implementation you use supports threads, or serve-event.

> 2. How can I start SLIME on a dedicated TCP/IP socket?

You have to manually start the SWANK server, and use CREATE-SERVER's
:PORT key argument.

>
> 3. Is it possible to connect to a single swank session using multiple
>    client (SLIME) connections?

No, only if you start several SWANK servers.


> 4. How can I make my swank session to not close its listener after one
>    of clients disconnects? (Or in other words, how can I pass
>    ":DONT-CLOSE T" option SWANK:START-SERVER within emacs?

You can place an appropriate form into ~/.swank.lisp. Starting an
inferior-lisp with :DONT-CLOSE being T doesn't generally make much
sense, as the inferior-lisp process will be killed when you close Emacs.

  -T.




More information about the slime-devel mailing list