Ignore:
Timestamp:
Apr 18, 2011, 3:22:27 AM (10 years ago)
Author:
Sam Hocevar
Message:

lisp: properly manage user functions and reactivate garbage collector.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • abuse/trunk/src/lisp/lisp_gc.cpp

    r497 r501  
    148148        break;
    149149      case L_USER_FUNCTION:
    150 #ifndef NO_LIBS
    151         ret = new_lisp_user_function(((LUserFunction *)x)->alist,
    152                                      ((LUserFunction *)x)->blist);
    153 
    154 #else
    155         {
    156           LObject *arg = CollectObject(((LUserFunction *)x)->arg_list);
    157           LObject *block = CollectObject(((LUserFunction *)x)->block_list);
    158           ret = new_lisp_user_function(arg, block);
    159         }
    160 #endif
    161         break;
     150      {
     151        LUserFunction *fun = (LUserFunction *)x;
     152        LList *arg = (LList *)CollectObject(fun->arg_list);
     153        LList *block = (LList *)CollectObject(fun->block_list);
     154        ret = new_lisp_user_function(arg, block);
     155        break;
     156      }
    162157      case L_STRING:
    163158        ret = LString::Create(lstring_value(x));
     
    261256void collect_space(int which_space) // should be tmp or permanent
    262257{
    263   return; /* XXX: temporary hack */
    264 
    265258  int old_space = current_space;
    266259  cstart = space[which_space];
Note: See TracChangeset for help on using the changeset viewer.