Branch: Tag:

1999-01-31

1999-01-31 09:03:50 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

lexical closures implemented...

Rev: src/ChangeLog:1.160
Rev: src/alloca.c:1.3
Rev: src/block_alloc.h:1.5
Rev: src/block_alloc_h.h:1.1
Rev: src/builtin_functions.c:1.146
Rev: src/callback.c:1.16
Rev: src/dmalloc.h:1.9
Rev: src/docode.c:1.43
Rev: src/error.c:1.23
Rev: src/error.h:1.27
Rev: src/interpret.c:1.113
Rev: src/interpret.h:1.26
Rev: src/language.yacc:1.109
Rev: src/las.c:1.73
Rev: src/las.h:1.18
Rev: src/lex.c:1.61
Rev: src/main.c:1.62
Rev: src/modules/call_out/call_out.c:1.24
Rev: src/object.c:1.55
Rev: src/peep.in:1.24
Rev: src/pike_memory.c:1.29
Rev: src/pike_memory.h:1.8
Rev: src/program.c:1.107
Rev: src/program.h:1.48
Rev: src/testsuite.in:1.142
Rev: src/threads.h:1.61

16:   #include "backend.h"   #include "operators.h"    - RCSID("$Id: error.c,v 1.22 1998/11/22 11:02:44 hubbe Exp $"); + RCSID("$Id: error.c,v 1.23 1999/01/31 09:01:45 hubbe Exp $");      #undef ATTRIBUTE   #define ATTRIBUTE(X)
62:       while(fp != recoveries->fp)    { +  struct pike_frame *tmp=fp;   #ifdef PIKE_DEBUG    if(!fp)    fatal("Popped out of stack frames.\n");   #endif -  free_object(fp->current_object); -  free_program(fp->context.prog); -  if(fp->context.parent) -  free_object(fp->context.parent); -  -  fp = fp->parent_frame; +  fp = tmp->next; +  tmp->next=0; +  free_pike_frame(tmp);    }       pop_n_elems(sp - evaluator_stack - recoveries->sp);