Changeset 11778
- Timestamp:
- 04/23/09 20:46:27 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/Closure.java
r11777 r11778 399 399 } 400 400 bindAuxVars(ext, thread); 401 declareFreeSpecials(ext); 401 402 try 402 403 { … … 557 558 sixth, seventh, eighth); 558 559 } 560 } 561 562 private final void declareFreeSpecials(Environment ext) 563 throws ConditionThrowable 564 { 565 LispObject s = specials; 566 special: 567 while (s != NIL) { 568 Symbol special = (Symbol)s.car(); 569 s = s.cdr(); 570 for (Symbol var : variables) 571 if (special == var) 572 continue special; 573 for (Parameter parameter : auxVars) 574 if (special == parameter.var) 575 continue special; 576 ext.declareSpecial(special); 577 } 559 578 } 560 579 … … 580 599 } 581 600 bindAuxVars(ext, thread); 582 LispObject s = specials; 583 special: 584 while (s != NIL) { 585 Symbol special = (Symbol)s.car(); 586 s = s.cdr(); 587 for (Symbol var : variables) 588 if (special == var) 589 continue special; 590 for (Parameter parameter : auxVars) 591 if (special == parameter.var) 592 continue special; 593 ext.declareSpecial(special); 594 } 601 declareFreeSpecials(ext); 595 602 try 596 603 {
Note: See TracChangeset
for help on using the changeset viewer.