Changeset 10129


Ignore:
Timestamp:
10/17/05 03:57:56 (16 years ago)
Author:
piso
Message:

LET, LET*: handle free special declarations correctly.

File:
1 edited

Legend:

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

    r9932 r10129  
    33 *
    44 * Copyright (C) 2003-2005 Peter Graves
    5  * $Id: SpecialOperators.java,v 1.47 2005-08-28 15:00:21 piso Exp $
     5 * $Id: SpecialOperators.java,v 1.48 2005-10-17 03:57:56 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    184184                    ++i;
    185185                }
     186            }
     187            // Make sure free special declarations are visible in the body.
     188            // "The scope of free declarations specifically does not include
     189            // initialization forms for bindings established by the form
     190            // containing the declarations." (3.3.4)
     191            while (specials != NIL) {
     192                Symbol symbol = (Symbol) specials.car();
     193                ext.declareSpecial(symbol);
     194                specials = specials.cdr();
    186195            }
    187196            while (body != NIL) {
Note: See TracChangeset for help on using the changeset viewer.