[armedbear-cvs] r12694 - branches/0.20.x/abcl/src/org/armedbear/lisp
Alessio Stalla
astalla at common-lisp.net
Sun May 16 21:13:13 UTC 2010
Author: astalla
Date: Sun May 16 17:13:12 2010
New Revision: 12694
Log:
Backported r12693 to 0.20 branch
Modified:
branches/0.20.x/abcl/src/org/armedbear/lisp/Stream.java
Modified: branches/0.20.x/abcl/src/org/armedbear/lisp/Stream.java
==============================================================================
--- branches/0.20.x/abcl/src/org/armedbear/lisp/Stream.java (original)
+++ branches/0.20.x/abcl/src/org/armedbear/lisp/Stream.java Sun May 16 17:13:12 2010
@@ -735,20 +735,21 @@
final LispThread thread = LispThread.currentThread();
final Readtable rt = rta.rt(thread);
LispObject fun = rt.getDispatchMacroCharacter(dispChar, c);
- if (fun instanceof DispatchMacroFunction)
- return ((DispatchMacroFunction)fun).execute(this, c, numArg);
if (fun != NIL) {
- LispObject result =
- thread.execute(fun, this, LispCharacter.getInstance(c),
- (numArg < 0) ? NIL : Fixnum.getInstance(numArg));
- LispObject[] values = thread._values;
- if (values != null && values.length == 0)
- result = null;
+ LispObject result;
+
thread._values = null;
- return result;
+ if (fun instanceof DispatchMacroFunction)
+ return ((DispatchMacroFunction)fun).execute(this, c, numArg);
+ else
+ return
+ thread.execute(fun, this, LispCharacter.getInstance(c),
+ (numArg < 0) ? NIL : Fixnum.getInstance(numArg));
}
+
if (Symbol.READ_SUPPRESS.symbolValue(thread) != NIL)
return null;
+
return error(new ReaderError("No dispatch function defined for #\\" + c,
this));
}
More information about the armedbear-cvs
mailing list