[armedbear-cvs] r11311 - trunk/j/src/org/armedbear/lisp

ehuelsmann at common-lisp.net ehuelsmann at common-lisp.net
Sat Sep 13 06:35:09 UTC 2008


Author: ehuelsmann
Date: Sat Sep 13 02:35:05 2008
New Revision: 11311

Modified:
   trunk/j/src/org/armedbear/lisp/SpecialOperators.java
Log:
Reinstate error message in LET case.

Modified: trunk/j/src/org/armedbear/lisp/SpecialOperators.java
==============================================================================
--- trunk/j/src/org/armedbear/lisp/SpecialOperators.java	(original)
+++ trunk/j/src/org/armedbear/lisp/SpecialOperators.java	Sat Sep 13 02:35:05 2008
@@ -140,9 +140,9 @@
             if (obj instanceof Cons)
               {
                 if (obj.length() > 2)
-                  return error(new LispError("The LET* binding specification " +
-                                              obj.writeToString() +
-                                              " is invalid."));
+                  return error(new LispError("The " + (sequential ? "LET*" : "LET")
+                          + " binding specification " +
+                          obj.writeToString() + " is invalid."));
                 try
                   {
                     symbol = (Symbol) ((Cons)obj).car;
@@ -188,17 +188,12 @@
             ext.declareSpecial(symbol);
             specials = ((Cons)specials).cdr;
           }
-        while (body != NIL)
-          {
-            result = eval(body.car(), ext, thread);
-            body = ((Cons)body).cdr;
-          }
+        return progn(body, ext, thread);
       }
     finally
       {
         thread.lastSpecialBinding = lastSpecialBinding;
       }
-    return result;
   }
 
   // ### symbol-macrolet



More information about the armedbear-cvs mailing list