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

ehuelsmann at common-lisp.net ehuelsmann at common-lisp.net
Fri Sep 19 19:21:56 UTC 2008


Author: ehuelsmann
Date: Fri Sep 19 15:21:55 2008
New Revision: 11324

Modified:
   trunk/j/src/org/armedbear/lisp/SpecialOperators.java
Log:
Code cleanup.

Patch by: Philip Hudson <Phil.hudson at iname dot com>

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	Fri Sep 19 15:21:55 2008
@@ -390,31 +390,7 @@
       {
         final Environment innerEnv = new Environment(ext);
         LispObject body = args.cdr();
-        while (body != NIL)
-          {
-            LispObject obj = body.car();
-            if (obj instanceof Cons && ((Cons)obj).car == Symbol.DECLARE)
-              {
-                LispObject decls = ((Cons)obj).cdr;
-                while (decls != NIL)
-                  {
-                    LispObject decl = decls.car();
-                    if (decl instanceof Cons && ((Cons)decl).car == Symbol.SPECIAL)
-                      {
-                        LispObject vars = ((Cons)decl).cdr;
-                        while (vars != NIL)
-                          {
-                            innerEnv.declareSpecial((Symbol)((Cons)vars).car);
-                            vars = ((Cons)vars).cdr;
-                          }
-                      }
-                    decls = ((Cons)decls).cdr;
-                  }
-                body = ((Cons)body).cdr;
-              }
-            else
-              break;
-          }
+        body = innerEnv.processDeclarations(body);
         return progn(body, ext, thread);
       }
     finally



More information about the armedbear-cvs mailing list