[slime-devel] Re: Problem using a reader macro in SLIME REPL

Luke Gorrie luke at synap.se
Fri Feb 4 07:48:48 UTC 2005


Damien Kick <dkick1 at motorola.com> writes:

> With raw CMUCL, I am able to do the following:
> 
> * (in-package #:pg-user)        
> 
> #<The PLAYGROUND-USER package, 0/9 internal, 0/2 external>
> * (in-syntax-kick-reader-macros)
> 
> * !$(
> ls
> -F
> )
> 
> ; [... snip for brevity ...]
> #<process 523 :EXITED>
> * 
> 
> However, when I attempt the same thing in a SLIME REPL, I encounter the 
> following blah stack:
> 
> End-of-File on #<String-Input Stream>
>    [Condition of type END-OF-FILE]

SLIME is getting confused and asking Lisp to evaluate your input
before it's complete. When you press RET the first time Emacs is
asking Lisp to eval "!$(" and is getting END-OF-FILE.

Quick workaround is to press C-j instead of RET when entering
multi-line input with this syntax. C-j will always open a new line,
whereas RET will try to decide if the input is finished or not.

Sorry but I haven't got time to make a proper fix today!





More information about the slime-devel mailing list