Subject: Re: Running CMUCL without the REPL?
From: rpw3@rpw3.org (Rob Warnock)
Date: Sat, 25 Jun 2005 22:47:43 -0500
Newsgroups: comp.lang.lisp
Message-ID: <yJudndNvEOHCuCPfRVn-2w@speakeasy.net>
Eric Marsden  <eric.marsden@free.fr> wrote:
+---------------
| >>>>> "gsz" == GSz  <elysiumwalker@NOyahSPAMoo.com> writes:
|   gsz> Is it possible to exit the REPL in CMUCL without actually exiting
|   gsz> the program?  I know this sounds a bit insane, but what I want is the
|   gsz> ability to do some curses programming (with cl-ncurses) from within
|   gsz> Emacs and SLIME.
| 
|   you can save a CMUCL image that starts a swank listener instead of a
|   REPL, by using the :INIT-FUNCTION argument to EXT:SAVE-LISP.
|   Something like:
|     (ext:save-lisp "/tmp/cmucl-swank.img"
|          :init-function (lambda () (swank:create-swank-server)
|                            (loop (sys:serve-all-events))))
|   Start the image with "lisp -core cmucl-swank.img" and connect
|   to it from Emacs with "M-x slime-connect". 
+---------------

Or equivalently, shouldn't it work for him to simply type the
following to the REPL of a normal image?

    (progn
      (swank:create-swank-server)
      (loop (sys:serve-all-events)))

The LOOP will never return, and thus the REPL will read no more characters.

[Hmmm... Well... Except for hitting the debugger. And then you might or
might not *want* it to be reading...]


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607