Changeset 11322


Ignore:
Timestamp:
09/17/08 21:27:52 (15 years ago)
Author:
ehuelsmann
Message:

Add declaration processing in MACROLET bodies.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/Primitives.java

    r11297 r11322  
    35003500        LispObject defs = checkList(args.car());
    35013501        final LispThread thread = LispThread.currentThread();
    3502         LispObject result;
    3503         if (defs != NIL)
     3502        final SpecialBinding lastSpecialBinding = thread.lastSpecialBinding;
     3503
     3504        try
    35043505          {
    35053506            Environment ext = new Environment(env);
     
    35183519                defs = defs.cdr();
    35193520              }
    3520             result = progn(args.cdr(), ext, thread);
    3521           }
    3522         else
    3523           result = progn(args.cdr(), env, thread);
    3524         return result;
     3521            return progn(ext.processDeclarations(args.cdr()), ext, thread);
     3522          }
     3523        finally
     3524          {
     3525            thread.lastSpecialBinding = lastSpecialBinding;
     3526          }
    35253527      }
    35263528    };
Note: See TracChangeset for help on using the changeset viewer.