From: KanZen
Subject: Problem: Right ) causes freeze with emacs/ilisp
Date: 
Message-ID: <10eb079f.0401122354.15bada55@posting.google.com>
I've configured emacs and ilisp with Clisp and CMUCL. With both lisps, if
I'm in the buffer that is running the lisp program and I type ')<return>'
it no longer responds.

By this I mean if I type 1<return> Lisp does not echo 1 back to me.

I've found I can send a STOP signal to emacs to recover, but this is very
awkward:

1. I want to use "emacs -nw"
2. Using this seems to prevent the menus from working (Alt-` says 'Done')
3. A kill -SIGSTOP from another window and 'fg' gets you back in, but the
   formatting is then all wrong.

Surely things aren't really this awkward and ugly. What am I doing wrong?

KanZen

From: Zach Beane
Subject: Re: Problem: Right ) causes freeze with emacs/ilisp
Date: 
Message-ID: <m3d69odnhe.fsf@unnamed.xach.com>
······@mail.com (KanZen) writes:

> I've configured emacs and ilisp with Clisp and CMUCL. With both lisps, if
> I'm in the buffer that is running the lisp program and I type ')<return>'
> it no longer responds.
[snip]
>
> Surely things aren't really this awkward and ugly. What am I doing wrong?

This class of problems with ILISP (losing track of the state of Lisp
in the inferior REPL) made me try SLIME and eventually switch
completely to it. The integration is much, much nicer.

See http://www.cliki.net/SLIME%20Features for some of the goodies.

Zach
From: KanZen
Subject: Re: Problem: Right ) causes freeze with emacs/ilisp
Date: 
Message-ID: <10eb079f.0401131143.79511d39@posting.google.com>
Zach Beane <····@xach.com> wrote in message news:<··············@unnamed.xach.com>...


> This class of problems with ILISP (losing track of the state of Lisp
> in the inferior REPL) made me try SLIME and eventually switch
> completely to it. The integration is much, much nicer.
> 
> See http://www.cliki.net/SLIME%20Features for some of the goodies.
> 
> Zach

Thanks, but I just tried SLIME, and it seems to have the same problem.

After a ) I get a message in the minibuffer saying:
"[input not complete]", and I can't find a way to break out of it.

KanZen
From: David Golden
Subject: Re: Problem: Right ) causes freeze with emacs/ilisp
Date: 
Message-ID: <I6YMb.5100$HR.9991@news.indigo.ie>
KanZen wrote:

> I've configured emacs and ilisp with Clisp and CMUCL. With both lisps, if
> I'm in the buffer that is running the lisp program and I type ')<return>'
> it no longer responds.
> 

I suspect this is just a misunderstanding, not a bug at all:

Have you tried deleting the ) and typing in a sensible form?

Worked example:
I tried this (SLIME)

USER> ) <enter>   [input not complete]
1 <enter>         [input not complete]

Indeed, one gets "[input not complete]".  But that's because
")<return>1" makes Very Little Sense, just as little sense as ") 1".

It isn't "hung" really.  Just delete the ) and type
something sensible instead:


CL-USER> )<enter>   [input not complete]
1<enter>            [input not complete]
<backspace>
<backspace>
<backspace>
<backspace>         [lone ) is now gone]
1<enter>
1                   [Lisp output!]
CL-USER>            [next prompt. Yay!]


SLIME doesn't bring up a _new_ prompt for input that doesn't look "ready"
for Lisp, you just need to correct the old one. 

)something might make a good APL command, but it ain't a lisp exp :-)
From: Luke Gorrie
Subject: Re: Problem: Right ) causes freeze with emacs/ilisp
Date: 
Message-ID: <lhad4rrmn3.fsf@dodo.bluetail.com>
David Golden <············@oceanfree.net> writes:

> SLIME doesn't bring up a _new_ prompt for input that doesn't look "ready"
> for Lisp, you just need to correct the old one. 

There's still room for trouble: how can we know when it's "ready"? Our
approximation is to use the Elisp reader (extended somewhat) to see if
we have a whole sexp. But if you have some funky read syntax that
allows unbalanced parens and suchlike, then we could get in your way.

For those times we have 'C-u RET' to send the current input without
bothering to check it. We also have 'C-RET' to automatically close any
extra parens and then send the input.

One difference between SLIME and ILISP is that ILISP is talking
directly to a Lisp listener, but SLIME is sending a sexp over a
socket, like (:evaluate-this "(+ 1 2)"). If SLIME sends incomplete
input, like "(+ 1", then it will trigger a read-error when we call
READ-FROM-STRING which we can debug and then carry merrily on. ILISP
has a harder job because the listener will get stuck waiting for the
rest of the input, but that same listener has to be used for other
commands as well.

P.S., the ILISP guys deserve major kudos for years of good work! I'm a
big fan and don't mean to use SLIME as an ILISP-bashing vehicle. In
many ways we are solving an easier problem by assuming that the
backends are all Common Lisp, have sockets, etc.

Cheers,
Luke
From: KanZen
Subject: Re: Problem: Right ) causes freeze with emacs/ilisp
Date: 
Message-ID: <10eb079f.0401141305.75f31b67@posting.google.com>
David Golden <············@oceanfree.net> wrote in message news:<··················@news.indigo.ie>...
> I suspect this is just a misunderstanding, not a bug at all:
> 
> Have you tried deleting the ) and typing in a sensible form?

Ah, thanks! That works nicely.

KanZen