#439: Quicklisp RFC2388 case of no meaningful error ---------------------------+---------------------------------------- Reporter: mevenson | Owner: Type: defect | Status: new Priority: major | Milestone: 1.5.0 Component: other | Version: 1.5.0-dev Resolution: | Keywords: quicklisp-rfc2388 debugger Parent Tickets: | ---------------------------+----------------------------------------
Comment (by mevenson):
Answer to #1 ("Why does SLIME not catch this error?"): because SeekableStringWriter "swallows" the Java runtime exception rather than converting into a JavaExeception type.
Patch like this {{{ diff -r 250b651f6d84 src/org/armedbear/lisp/SeekableStringWriter.java --- a/src/org/armedbear/lisp/SeekableStringWriter.java Thu Feb 02 09:23:00 2017 +0000 +++ b/src/org/armedbear/lisp/SeekableStringWriter.java Fri Feb 03 08:08:27 2017 +0100 @@ -36,6 +36,7 @@ import static org.armedbear.lisp.Lisp.*;
import java.io.Writer; +import java.text.MessageFormat;
public final class SeekableStringWriter extends Writer { private final StringBuffer stringBuffer; @@ -81,11 +82,15 @@
@Override public void write(int c) { + try { if (offset == stringBuffer.length()) stringBuffer.append((char) c); else stringBuffer.setCharAt(offset, (char) c); ++offset; + } catch (IndexOutOfBoundsException e) { + error(new JavaException(e)); + } }
@Override }}}
-- Ticket URL: http://abcl.org/trac/ticket/439#comment:1 armedbear http://abcl.org armedbear