[slime-devel] REPL mode

Luke Gorrie luke at bluetail.com
Sun Nov 2 02:15:07 UTC 2003


Helmut Eller <e9626484 at stud3.tuwien.ac.at> writes:

> This is a proof of concept, to see if our own REPL is actually better
> than the (not-so-) inferior-lisp mode.

So far I'm hooked! And I see you've already fixed most of the things
mentioned in your last mail.

I hacked in some other little things, like a `slime-lisp-package'
variable that roughly tracks *PACKAGE* and is used for the repl's
package, so you can do (in-package ...) etc.

> There are also problems with output buffering, e.g., when you evaluate
> (labels ((foo () (foo) t)) (foo)) in the listener, CMUCL puts you in
> the (tty-) debugger, but you can't see it because the output is
> buffered somewhere.

It looks like things are getting buffered in the
slime-output-stream. I added an extra `force-output' call (before
completing an evaluation request) to help, but it's easy to reproduce
this problem with "(loop (format t "Hello~%") (sleep 1))" in the
REPL. Possibly something to do with inheriting `string-output-stream'
buffering semantics? I haven't grokked the stream code.

It feels really good to have the REPL to me. Features-wise I think
we've got enough for a respectable 1.0 release. Just the small matter
of filling in the details and tidying up :-)

Cheers,
Luke





More information about the slime-devel mailing list