[armedbear-cvs] r12205 - trunk/abcl/src/org/armedbear/lisp
Erik Huelsmann
ehuelsmann at common-lisp.net
Sat Oct 17 21:08:36 UTC 2009
Author: ehuelsmann
Date: Sat Oct 17 17:08:35 2009
New Revision: 12205
Log:
Fix hard crashes in BEYOND-ANSI tests.
Note: Don't cheer too hard; there are 158 tests failing (out of 527).
Modified:
trunk/abcl/src/org/armedbear/lisp/SpecialOperators.java
trunk/abcl/src/org/armedbear/lisp/StandardObject.java
Modified: trunk/abcl/src/org/armedbear/lisp/SpecialOperators.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/SpecialOperators.java (original)
+++ trunk/abcl/src/org/armedbear/lisp/SpecialOperators.java Sat Oct 17 17:08:35 2009
@@ -47,7 +47,7 @@
{
if (args.cdr() != NIL)
return error(new WrongNumberOfArgumentsException(this));
- return ((Cons)args).car;
+ return args.car();
}
};
Modified: trunk/abcl/src/org/armedbear/lisp/StandardObject.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/StandardObject.java (original)
+++ trunk/abcl/src/org/armedbear/lisp/StandardObject.java Sat Oct 17 17:08:35 2009
@@ -252,7 +252,9 @@
}
Debug.assertTrue(layout != null);
int index = layout.getSlotIndex(slotName);
- Debug.assertTrue(index >= 0);
+ //### FIXME: should call SLOT-MISSING (clhs)
+ if (index < 0)
+ return error(new LispError("Missing slot " + slotName.writeToString()));
return slots[index];
}
@@ -268,7 +270,9 @@
}
Debug.assertTrue(layout != null);
int index = layout.getSlotIndex(slotName);
- Debug.assertTrue(index >= 0);
+ //### FIXME: should call SLOT-MISSING (clhs)
+ if (index < 0)
+ error(new LispError("Missing slot " + slotName.writeToString()));
slots[index] = newValue;
}
More information about the armedbear-cvs
mailing list