[slime-devel] cmucl multithread problem

William Conrad Halliburton will at licentiae.com
Thu Dec 11 07:06:52 UTC 2003


Using cmucl 18e and a CVS from a couple of days ago. 
(mp::startup-idle-and-top-level-loops) from slime-repl hangs slime-repl 
but works when ran from inferior-lisp (slime-repl still works 
afterwards). Upgraded to latest CVS and now the inferior-lisp is taken 
up by the slime server, while before I was able to use both 
inferior-lisp and slime-repl.

Hacked a fix in slime.el but is nonportable. Started the mutithreading 
from slime and placed slime server into a thread.

(defun slime-maybe-start-lisp ()
   "Start an inferior lisp unless one is already running."
   (unless (get-buffer-process (get-buffer "*inferior-lisp*"))
     (call-interactively 'inferior-lisp)
     (comint-proc-query (inferior-lisp-proc) 
"(mp::startup-idle-and-top-level-loops)")
     (comint-proc-query (inferior-lisp-proc)
     (format "(load %S)\n" (concat slime-path slime-backend)))))

(defun slime-start-swank-server ()
   "Start a Swank server on the inferior lisp."
   (comint-proc-query (inferior-lisp-proc)
      (format "(mp::make-process (lambda () (swank:start-server %S)) 
:name \"slime\")\n"
   (slime-swank-port-file))))









More information about the slime-devel mailing list