Branch: Tag:

2001-10-05

2001-10-05 01:30:14 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

much improved handling of cross-dependencies

Rev: lib/master.pike.in:1.170
Rev: src/builtin_functions.c:1.408
Rev: src/compilation.h:1.25
Rev: src/encode.c:1.130
Rev: src/global.h:1.65
Rev: src/interpret.c:1.250
Rev: src/interpret_functions.h:1.97
Rev: src/las.c:1.271
Rev: src/object.c:1.186
Rev: src/pike_types.c:1.182
Rev: src/program.c:1.381
Rev: src/program.h:1.145
Rev: src/threads.c:1.169

5:   \*/   /**/   #include "global.h" - RCSID("$Id: builtin_functions.c,v 1.407 2001/09/27 20:28:28 hubbe Exp $"); + RCSID("$Id: builtin_functions.c,v 1.408 2001/10/05 01:30:11 hubbe Exp $");   #include "interpret.h"   #include "svalue.h"   #include "pike_macros.h"
1060:    if(args < 1)    SIMPLE_TOO_FEW_ARGS_ERROR("zero_type",1);    -  if(Pike_sp[-args].type != T_INT) +  if((Pike_sp[-args].type==T_OBJECT || Pike_sp[-args].type==T_FUNCTION) +  && !Pike_sp[-args].u.object->prog)    {    pop_n_elems(args); -  push_int(0); +  push_int(NUMBER_DESTRUCTED);    } -  else if((Pike_sp[-args].type==T_OBJECT || Pike_sp[-args].type==T_FUNCTION) -  && !Pike_sp[-args].u.object->prog) +  else if(Pike_sp[-args].type != T_INT)    {    pop_n_elems(args); -  push_int(NUMBER_DESTRUCTED); +  push_int(0);    } -  +  else    {    pop_n_elems(args-1);    Pike_sp[-1].u.integer=Pike_sp[-1].subtype;
3140:       p = compile(Pike_sp[-args].u.string, o, major, minor, p, placeholder);    - #ifdef PIKE_DEBUG -  if(!(p->flags & PROGRAM_FINISHED)) -  fatal("Got unfinished program from internal compile().\n"); - #endif +     pop_n_elems(args);    push_program(p);   }