# HG changeset patch
# Parent eb51aefaa91063badc5f2397b960119bceb7c3b3
(incomplete)

At least throw intelligble errors in SHARPSIGN_DOT macros passed
through '--eval'.

http://abcl.org/trac/ticket/334


diff -r eb51aefaa910 -r 7d7b35230115 src/org/armedbear/lisp/Interpreter.java
--- a/src/org/armedbear/lisp/Interpreter.java	Thu Dec 26 21:40:00 2013 +0100
+++ b/src/org/armedbear/lisp/Interpreter.java	Fri Dec 27 10:45:20 2013 +0100
@@ -595,10 +595,19 @@
             initializeJLisp();
         StringInputStream stream = new StringInputStream(s);
         final LispThread thread = LispThread.currentThread();
-        LispObject obj = stream.read(false, EOF, false, thread,
-                                     Stream.currentReadtable);
+	LispObject obj = null;
+
+	final SpecialBindingsMark mark0 = thread.markSpecialBindings();
+        thread.bindSpecial(Symbol.DEBUGGER_HOOK, _DEBUGGER_HOOK_FUNCTION);
+	try {  // catch possible errors from use of SHARPSIGN_DOT macros in --eval stanzas
+	  obj = stream.read(false, EOF, false, thread,
+			    Stream.currentReadtable);
+	} finally {
+	  thread.resetSpecialBindings(mark0);
+	}
         if (obj == EOF)
             return error(new EndOfFile(stream));
+
         final SpecialBindingsMark mark = thread.markSpecialBindings();
         thread.bindSpecial(Symbol.DEBUGGER_HOOK, _DEBUGGER_HOOK_FUNCTION);
         try {
