I have a problem with slime.
When I give this expression to ecl in a terminal:
(let ((*read-eval* nil)) (read-from-string "#.(car "))
it works correctly (reports and error and enters into the debugger):
[pjb@mdi-development-1 localhost:10.0 |MDI| sources]$ ecl ECL (Embeddable Common-Lisp) 10.7.1 Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya Copyright (C) 1993 Giuseppe Attardi Copyright (C) 2000 Juan J. Garcia-Ripoll ECL is free software, and you are welcome to redistribute it under certain conditions; see file 'Copyright' for details. Type :h for Help. Top level in: #<process SI:TOP-LEVEL 08778fc0>.
(let ((*read-eval* nil)) (read-from-string "#.(car "))
Unexpected end of file on #<string-input stream from "#.(car ">.
Available restarts:
1. (RESTART-TOPLEVEL) Go back to Top-Level REPL.
Broken at SI:BYTECODES. [Evaluation of: (LET ((*READ-EVAL* NIL)) (READ-FROM-STRING "#.(car "))] In: #<process SI:TOP-LEVEL 08778fc0>.
:r1
(quit)
[pjb@mdi-development-1 localhost:10.0 |MDI| sources]$
If I do the same at the slime REPL, the lisp connection is broken instead:
CL-USER> 1 1 CL-USER> (let ((*read-eval* nil)) (read-from-string "#.(car ")) ; Evaluation aborted. CL-USER>
*Message*:
Lisp connection closed unexpectedly: connection broken by remote peer
*slime-events*:
(:emacs-rex (swank:listener-eval "1\n") "COMMON-LISP-USER" :repl-thread 4) (:presentation-start 56 :repl-result) (:write-string "1" :repl-result) (:presentation-end 56 :repl-result) (:write-string "\n" :repl-result) (:return (:ok nil) 4) (:emacs-rex (swank:listener-eval "(let ((*read-eval* nil)) (read-from-string "#.(car "))\n") "COMMON-LISP-USER" :repl-thread 5) (:return (:abort) 5)