Changeset 11769
- Timestamp:
- 04/20/09 08:31:34 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/SpecialOperators.java
r11768 r11769 331 331 final LispThread thread = LispThread.currentThread(); 332 332 final SpecialBinding lastSpecialBinding = thread.lastSpecialBinding; 333 final Environment ext= new Environment(env);333 final Environment funEnv = new Environment(env); 334 334 while (defs != NIL) 335 335 { … … 374 374 Closure closure = 375 375 new Closure(lambda_name, lambda_expression, 376 recursive ? ext: env);377 ext.addFunctionBinding(name, closure);376 recursive ? funEnv : env); 377 funEnv.addFunctionBinding(name, closure); 378 378 defs = defs.cdr(); 379 379 } 380 380 try 381 381 { 382 final Environment innerEnv = new Environment(ext);382 final Environment ext = new Environment(funEnv); 383 383 LispObject body = args.cdr(); 384 body = innerEnv.processDeclarations(body);385 return progn(body, innerEnv, thread);384 body = ext.processDeclarations(body); 385 return progn(body, ext, thread); 386 386 } 387 387 finally
Note: See TracChangeset
for help on using the changeset viewer.