[slime-devel] Problem with Slime/OpenMCL REPL
Camille Troillard
tuscland at mac.com
Thu Dec 18 09:19:01 UTC 2003
Hi Helmut,
I tried to put the snippet in my .swank.lisp (which gets correctly
loaded) and no, unfortunately the patch doesn't work ...
Perhaps it would be a good idea to try to see what's wrong with OpenMCL.
Or if you have a precise idea, tell me and I'll try to introspect it
next week.
Best,
Camille
On Dec 17, 2003, at 10:34 PM, Helmut Eller wrote:
> Camille Troillard <tuscland at mac.com> writes:
>
>> The problem is that I really can't get out of this, if I type ":pop"
>> for instance, Emacs tell me that the "Text is read only". Then Emacs
>> is stuck there, the only way to get out of this is to quit Emacs and
>> restart. I sometimes get the same problem when pressing return or
>> some other key without evaluating "(break)" ...
>
> You encountered two bugs at once. The first is buggy handling of
> asynchronous output in SLIME, which causes the "Text is read only"
> errors. Th CVS version contains some fixes for this.
>
> The second problem is that OpenMCL doesn't invoke the *debugger-hook*
> on BREAK. This is probably more ANSI compliant than what CMUCL does,
> but not exactly helpful for SLIME. You can try to put something like
> this in your .swank.lisp:
>
> (let ((ccl::*warn-if-redefine-kernel* nil))
> (defun ccl::cbreak-loop (msg cont-string condition error-pointer)
> (when *debugger-hook*
> (let ((hook *debugger-hook*)
> (*debugger-hook* nil))
> (funcall hook condition hook)))
> (let* ((*print-readably* nil))
> (ccl::with-terminal-input
> (ccl::%break-message msg condition error-pointer)
> (restart-case (ccl::break-loop condition error-pointer
> ccl::*backtrace-on-break*)
> (continue () :report (lambda (stream)
> (write-string cont-string stream))))
> (fresh-line *error-output*)
> nil))))
>
>
> Helmut.
More information about the slime-devel
mailing list