Changeset 11324
- Timestamp:
- 09/19/08 19:21:55 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/j/src/org/armedbear/lisp/SpecialOperators.java
r11321 r11324 391 391 final Environment innerEnv = new Environment(ext); 392 392 LispObject body = args.cdr(); 393 while (body != NIL) 394 { 395 LispObject obj = body.car(); 396 if (obj instanceof Cons && ((Cons)obj).car == Symbol.DECLARE) 397 { 398 LispObject decls = ((Cons)obj).cdr; 399 while (decls != NIL) 400 { 401 LispObject decl = decls.car(); 402 if (decl instanceof Cons && ((Cons)decl).car == Symbol.SPECIAL) 403 { 404 LispObject vars = ((Cons)decl).cdr; 405 while (vars != NIL) 406 { 407 innerEnv.declareSpecial((Symbol)((Cons)vars).car); 408 vars = ((Cons)vars).cdr; 409 } 410 } 411 decls = ((Cons)decls).cdr; 412 } 413 body = ((Cons)body).cdr; 414 } 415 else 416 break; 417 } 393 body = innerEnv.processDeclarations(body); 418 394 return progn(body, ext, thread); 419 395 }
Note: See TracChangeset
for help on using the changeset viewer.