Changeset 5254


Ignore:
Timestamp:
12/27/03 00:59:00 (17 years ago)
Author:
piso
Message:

_flet(): process declarations.

File:
1 edited

Legend:

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

    r5112 r5254  
    33 *
    44 * Copyright (C) 2003 Peter Graves
    5  * $Id: SpecialOperators.java,v 1.19 2003-12-13 00:02:47 piso Exp $
     5 * $Id: SpecialOperators.java,v 1.20 2003-12-27 00:59:00 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    277277                LispObject parameters = rest.car();
    278278                LispObject body = rest.cdr();
     279                LispObject decls = NIL;
     280                while (body.car() instanceof Cons && body.car().car() == Symbol.DECLARE) {
     281                    decls = new Cons(body.car(), decls);
     282                    body = body.cdr();
     283                }
    279284                body = new Cons(symbol, body);
    280285                body = new Cons(Symbol.BLOCK, body);
    281286                body = new Cons(body, NIL);
     287                while (decls != NIL) {
     288                    body = new Cons(decls.car(), body);
     289                    decls = decls.cdr();
     290                }
    282291                Closure closure;
    283292                if (recursive)
Note: See TracChangeset for help on using the changeset viewer.