[slime-devel] pid

Helmut Eller e9626484 at stud3.tuwien.ac.at
Fri Oct 1 19:10:16 UTC 2004


Andras Simon <andras at renyi.hu> writes:

> Is there a reason why the pid of the inferior lisp should be asked from the
> lisp itself? Isn't (process-id (inferior-lisp-proc)) good enough? (Are
> multiple lisps in the same slime instance or a remotely running lisp the
> problem?)

Yes, you answered the question almost yourself.  

inferior-lisp-proc is IMO not enough, because it basically does

  (get-buffer-process inferior-lisp-buffer) 

and inferior-lisp-buffer is "*inferior-lisp*" unless someone changed
it.  If we connect to Lisp, with say M-x slime-connect, there will be
no "*inferior-lisp*" lisp buffer, but we need the pid sometimes.
E.g. to interrupt Lisp if we use the :fd-handler communication style.

There's also the possibility that we have multiple connections, each
with a different *inferior-lisp*<n> buffer and we have no nice way
to find out which of those *inferior-lisp* buffers belongs to which
Lisp connection.

Recently I made some pid related changes and I guess I've created some
problems for you.  Basically I just needed a way to find the inferior
lisp process, the Emacs object that is, to restart it with the
original command line.  slime-process just searches the pid in the
process-list.

> I'm asking this both out of curiosity and because Java (and hence abcl)
> doesn't have a clue about its pid(s), at least AFAIK.

I see; that's a problem.  Perhaps we should make slime-process a per
connection variable and initialize it at startup, i.e. when SLIME is
started with M-x slime.

Helmut.




More information about the slime-devel mailing list