[armedbear-cvs] r13843 - trunk/abcl/src/org/armedbear/lisp

ehuelsmann at common-lisp.net ehuelsmann at common-lisp.net
Thu Feb 2 09:38:05 UTC 2012


Author: ehuelsmann
Date: Thu Feb  2 01:38:02 2012
New Revision: 13843

Log:
Fix Maxima compilation failure.

Modified:
   trunk/abcl/src/org/armedbear/lisp/ArgumentListProcessor.java

Modified: trunk/abcl/src/org/armedbear/lisp/ArgumentListProcessor.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/ArgumentListProcessor.java	Wed Feb  1 12:06:17 2012	(r13842)
+++ trunk/abcl/src/org/armedbear/lisp/ArgumentListProcessor.java	Thu Feb  2 01:38:02 2012	(r13843)
@@ -467,7 +467,12 @@
    */
   public void bindVars(LispObject[] values, Environment env, LispThread thread) {
       for (int i = 0; i < variables.length; i++) {
-          bindArg(specials[i], variables[i], values[i], env, thread);
+          Symbol var = variables[i];
+          // If a symbol is declared special after a function is defined,
+          // the interpreter binds a lexical variable instead of a dynamic
+          // one if we don't check isSpecialVariable()
+          bindArg(specials[i] || var.isSpecialVariable(),
+                  var, values[i], env, thread);
       }
   }
   




More information about the armedbear-cvs mailing list