[Ecls-list] Problems with slime
Ram Krishnan
kriyative at gmail.com
Mon Feb 8 16:05:03 UTC 2010
Hi Juan,
In the absence of a :fd-handler, or :spawn communication style support
in a SWANK backend, SLIME resorts to a continuous loop waiting for user
input. I have hacked together a set of patches to get both :fd-handler
and :spawn support in the SWANK backend implementation for ECL. I have
only tested it on a Mac OS/Darwin system, but it should work on Linux
systems as well. I have no idea about getting it to work on Win32.
Anyway, if anyone's interested the patches are available at:
http://github.com/kriyative/ecl-iphone-builder/blob/master/swank-ecl-patches.txt
Applying this file will change the default communication style (in
swank-ecl.lisp) to :spawn, which requires multiprocessing.
Cheers,
-ram
Juan Jose Garcia-Ripoll wrote:
> Slime gets my computer at 100% activity because it has some strange
> way of waiting for input: this is a loop over streams, inifite, using
> read-char-no-hang without ever waiting. I am sure there are better
> ways of doing this. This is in swank-backend.lisp -- do all
> implementations have this problem?
>
> (defun wait-for-streams (streams timeout)
> (loop
> (when (check-slime-interrupts) (return :interrupt))
> (let ((ready (remove-if-not #'stream-readable-p streams)))
> (when ready (return ready)))
> (when timeout (return nil))
> (sleep 0.1)))
>
>
> --
> Instituto de Física Fundamental, CSIC
> c/ Serrano, 113b, Madrid 28006 (Spain)
> http://juanjose.garciaripoll.googlepages.com
More information about the ecl-devel
mailing list