pike.git / lib / master.pike.in

version» Context lines:

pike.git/lib/master.pike.in:1:   // -*- Pike -*-   //   // Master Control Program for Pike.   //   // This file is part of Pike. For copyright information see COPYRIGHT.   // Pike is distributed under GPL, LGPL and MPL. See the file COPYING   // for more information.   // - // $Id: master.pike.in,v 1.238 2002/12/09 22:19:13 mast Exp $ + // $Id: master.pike.in,v 1.239 2003/01/09 16:50:19 grubba Exp $      #pike __REAL_VERSION__      // Some programs destroys character pairs beginning with the currency   // symbol when running in chinese locale.   #if "ยค/" != "\244/"   #error "master.pike.in is corrupted."   #endif      // --- Some configurable parameters
pike.git/lib/master.pike.in:328:   #endif // FILE_STAT_CACHE      mapping (string:array(string)) environment=([]);         //! @decl string getenv(string varname)   //! @decl mapping(string:string) getenv()   //! @appears getenv   //!   //! When called with no arguments, a mapping with all current environment - //! variables will be returned. + //! variables will be returned. Destructive opreations on the mapping + //! will not affect the internal environment representation.   //!   //! If the @[varname] argument has been given, the value of the environment   //! variable with the name @[varname] will be returned. If no such   //! environment variable exists, @tt{0@} (zero) will be returned.   //!   //! On NT the environment variable name is case insensitive.   //!   string|mapping(string:string) getenv(string|void s)   {    if(!s) return [mapping(string:string)]aggregate_mapping( @(values(environment)*({}) ) );
pike.git/lib/master.pike.in:1353:    predefines[name] = value;    }       //! Remove a define from the set that are implicitly defined in    //! @[cpp] calls.    void remove_predefine (string name)    {    m_delete (predefines, name);    }    -  //! +  //! Returns a mapping with the current predefines.    mapping get_predefines()    {    return predefines;    }       //!    mapping get_default_module()    {    /* This is an ugly kluge to avoid an infinite recursion.    * The infinite recursion occurs because this function is
pike.git/lib/master.pike.in:1688:    case "zlib":    no_resolv[ "Gz" ] = 1;    break;    case "unisys":    no_resolv[ "_Image_GIF" ] = 1;    no_resolv[ "_Image_TIFF" ] = 1;    break;    case "threads":    // not really 100% correct, but good enough for most things.    no_resolv[ "Thread" ] = 1; -  add_constant( "thread_create", UNDEFINED ); +  add_constant( "thread_create" );    break;    default:    no_resolv[ feature ] = 1;    break;    }    }    break;       case "debug":    debug+=(int)q[i][1];
pike.git/lib/master.pike.in:2406:    };    }    if (!object_program(parent_fun)) {    // We might be a top-level entity.    string path = get_clean_program_path(parent_fun, "", ".", "()->");    if(path) return path;    }    // Begin by describing our parent.    array(object) parent_obj = ({ 0 });    string res = describe_module(function_object(parent_fun)|| +  function_program(parent_fun)||    object_program(parent_fun),    parent_obj);    // werror("So far: %O parent_obj:%O\n", res, parent_obj);    object|program parent =    objectp (parent_obj[0]) ? parent_obj[0] : object_program(parent_fun);    if (mod && (objectp (parent) || parent)) {    // Object identified.    catch {    // Check if we're an object in parent.    int i = search(values(parent), mod);
pike.git/lib/master.pike.in:2457:   //!   string describe_object(object|program o)   {    string s;    if(!o) return 0;       function parent_fun = object_program(o);       /* Constant object? */    catch { -  object|program parent_obj = function_object(parent_fun); +  object|program parent_obj = +  (function_object(parent_fun) || function_program(parent_fun));       if (objectp (parent_obj) || parent_obj) {    /* Check if we have a constant object. */    object tmp = objects[parent_obj];    if (objectp (tmp)) parent_obj = tmp;       /* Try finding ourselves in parent_obj. */    int i;    if (objectp(o)) {    i = search(values(parent_obj), o);
pike.git/lib/master.pike.in:2500:      //!   string describe_program(program p)   {    string s;    if(!p) return 0;       if(s=get_clean_program_path(p, "object_program(", ")", ""))    return s;    -  if(mixed tmp=function_object(p)) +  if(mixed tmp=(function_object(p) || function_program(p)))    if(s = function_name(p))    {    return describe_module(tmp) + s;    }       if(s=_static_modules.Builtin()->program_defined(p))    return EXPLODE_PATH(s)[-1];       return 0;   }