pike.git / lib / master.pike.in

version» Context lines:

pike.git/lib/master.pike.in:1: - /* $Id: master.pike.in,v 1.75 1999/11/29 18:40:18 neotron Exp $ + /* -*- Pike -*-    * -  +  * $Id: master.pike.in,v 1.76 1999/12/01 09:14:04 mast Exp $ +  *    * Master-file for Pike.    *    * Based on master.pike 1.67.    */      // Some configurable parameters useful for debugging      #define PIKE_AUTORELOAD      // Used by describe_backtrace() et al.
pike.git/lib/master.pike.in:539:    {    dirname=name;       if(module=findmodule(dirname+"/module"))    if(mixed tmp=module->_module_value)    module=tmp;    }       object|program ind(string index)    { -  if(module) if(object o=module[index]) return o; +  if(module) { +  object o; +  if(!zero_type(o=module[index])) return o; +  }       index = dirname+"/"+index;    if(object o=findmodule(index))    {    if(mixed tmp=o->_module_value) o=tmp;    return o;    }    return cast_to_program(index,0);    }       object|program `[](string index)    {    mixed ret;    if(!zero_type(ret=cache[index]))    { -  if(ret) return ret; +  if(ret!=0) return ret;    return UNDEFINED;    }    return cache[index]=ind(index);    }       int _cache_full;    void fill_cache()    {   #ifdef RESOLV_DEBUG    werror(describe_backtrace(({ sprintf("Filling cache in dirnode %O\n",
pike.git/lib/master.pike.in:598:    !zero_type(`[](fname[..sizeof(fname)-4]))) {    continue;    }    };    }    _cache_full = 1;    }    array(string) _indices()    {    fill_cache(); -  return indices(filter(cache, lambda(mixed x){ return x; })); +  return indices(filter(cache, lambda(mixed x){ return x!=0; }));    }    array(mixed) _values()    {    fill_cache();    return values(cache)-({0});    }   };      class joinnode   {