Changeset 11329


Ignore:
Timestamp:
09/30/08 20:57:17 (13 years ago)
Author:
ehuelsmann
Message:

Cleanup by Ville Voutilainen.

File:
1 edited

Legend:

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

    r11328 r11329  
    420420  }
    421421   
    422   private final void bindParameters(int arityValue,
    423                                      Environment ext,
    424                                      LispThread thread)
     422  private final LispObject bindParametersAndExecute(int arityValue,
     423                                              Environment ext,
     424                                              LispThread thread,
     425                                              SpecialBinding lastSpecialBinding)
    425426  throws ConditionThrowable
    426427  {
     
    436437    if (auxVars != null)
    437438      bindAuxVars(ext, thread);
     439    try
     440      {
     441        return progn(body, ext, thread);
     442      }
     443    finally
     444      {
     445        thread.lastSpecialBinding = lastSpecialBinding;
     446      }
    438447  }
    439448
     
    463472        Environment ext = new Environment(environment);
    464473        bindRequiredParameters(ext, thread, arg);
    465         bindParameters(minArgs, ext, thread);
    466         try
    467           {
    468             return progn(body, ext, thread);
    469           }
    470         finally
    471           {
    472             thread.lastSpecialBinding = lastSpecialBinding;
    473           }
     474        return bindParametersAndExecute(minArgs, ext, thread,
     475                                        lastSpecialBinding);
    474476      }
    475477    else
     
    488490        Environment ext = new Environment(environment);
    489491        bindRequiredParameters(ext, thread, first, second);
    490         bindParameters(minArgs, ext, thread);
    491         try
    492           {
    493             return progn(body, ext, thread);
    494           }
    495         finally
    496           {
    497             thread.lastSpecialBinding = lastSpecialBinding;
    498           }
     492        return bindParametersAndExecute(minArgs, ext, thread,
     493                                        lastSpecialBinding);
    499494      }
    500495    else
     
    514509        Environment ext = new Environment(environment);
    515510        bindRequiredParameters(ext, thread, first, second, third);
    516         bindParameters(minArgs, ext, thread);
    517         try
    518           {
    519             return progn(body, ext, thread);
    520           }
    521         finally
    522           {
    523             thread.lastSpecialBinding = lastSpecialBinding;
    524           }
     511        return bindParametersAndExecute(minArgs, ext, thread,
     512                                        lastSpecialBinding);
    525513      }
    526514    else
     
    540528        Environment ext = new Environment(environment);
    541529        bindRequiredParameters(ext, thread, first, second, third, fourth);
    542         bindParameters(minArgs, ext, thread);       
    543         try
    544           {
    545             return progn(body, ext, thread);
    546           }
    547         finally
    548           {
    549             thread.lastSpecialBinding = lastSpecialBinding;
    550           }
     530        return bindParametersAndExecute(minArgs, ext, thread,
     531                                        lastSpecialBinding);
    551532      }
    552533    else
     
    568549        bindRequiredParameters(ext, thread, first, second, third, fourth,
    569550                               fifth);
    570         bindParameters(minArgs, ext, thread);
    571         try
    572           {
    573             return progn(body, ext, thread);
    574           }
    575         finally
    576           {
    577             thread.lastSpecialBinding = lastSpecialBinding;
    578           }
     551        return bindParametersAndExecute(minArgs, ext, thread,
     552                                        lastSpecialBinding);
    579553      }
    580554    else
     
    596570        bindRequiredParameters(ext, thread, first, second, third, fourth,
    597571                               fifth, sixth);
    598         bindParameters(minArgs, ext, thread);
    599         try
    600           {
    601             return progn(body, ext, thread);
    602           }
    603         finally
    604           {
    605             thread.lastSpecialBinding = lastSpecialBinding;
    606           }
     572        return bindParametersAndExecute(minArgs, ext, thread,
     573                                        lastSpecialBinding);
    607574      }
    608575    else
     
    626593        bindRequiredParameters(ext, thread, first, second, third, fourth,
    627594                               fifth, sixth, seventh);
    628         bindParameters(minArgs, ext, thread);
    629         try
    630           {
    631             return progn(body, ext, thread);
    632           }
    633         finally
    634           {
    635             thread.lastSpecialBinding = lastSpecialBinding;
    636           }
     595        return bindParametersAndExecute(minArgs, ext, thread,
     596                                        lastSpecialBinding);
    637597      }
    638598    else
     
    661621        bindRequiredParameters(ext, thread, first, second, third, fourth,
    662622                               fifth, sixth, seventh, eighth);
    663         bindParameters(minArgs, ext, thread);
    664         try
    665           {
    666             return progn(body, ext, thread);
    667           }
    668         finally
    669           {
    670             thread.lastSpecialBinding = lastSpecialBinding;
    671           }
     623        return bindParametersAndExecute(minArgs, ext, thread,
     624                                        lastSpecialBinding);
    672625      }
    673626    else
Note: See TracChangeset for help on using the changeset viewer.