Andras Simon andras@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.