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.380 2005/11/14 19:56:18 nilsson Exp $ + // $Id: master.pike.in,v 1.381 2005/11/20 23:18:41 nilsson Exp $      #pike __REAL_VERSION__   //#pragma strict_types      // Some programs destroys character pairs beginning with the currency   // symbol when running in chinese locale.   #if "ยค/" != "\244/"   #error "master.pike.in is corrupted."   #endif   
pike.git/lib/master.pike.in:2320:   //! This method is only available if thread_create is present.   object backend_thread()   {    return _backend_thread;   }   #endif         mapping(string:string) initial_predefines = ([]);    + static mixed main_resolv(string sym, CompatResolver|void resolver) { +  mixed v = (resolver||this)->resolv(sym); +  if(!v) +  error("Could not resolv %s. " +  "(Perhaps the installed pike tree has been moved.)\n", sym); +  return v; + }; +    //! This function is called when all the driver is done with all setup   //! of modules, efuns, tables etc. etc. and is ready to start executing   //! _real_ programs. It receives the arguments not meant for the driver   //! and an array containing the environment variables on the same form as   //! a C program receives them.   void _main(array(string) orig_argv, array(string) env)   {    array(string) argv=copy_value(orig_argv);    int debug,trace,run_tool;    object tmp;
pike.git/lib/master.pike.in:2379:    string format_paths() {    return ("master.pike...: " + (_master_file_name || __FILE__) + "\n"    "Module path...: " + pike_module_path*"\n"    " " + "\n"    "Include path..: " + pike_include_path*"\n"    " " + "\n"    "Program path..: " + pike_program_path*"\n"    " " + "\n");    };    -  mixed main_resolv(string sym, CompatResolver|void resolver) { -  mixed v = (resolver||this)->resolv(sym); -  if(!v) -  error("Could not resolv %s. " -  "(Perhaps the installed pike tree has been moved.)\n", sym); -  return v; -  }; -  +     if(sizeof(argv)>1 && sizeof(argv[1]) && argv[1][0]=='-')    {    array q;    tmp = main_resolv( "Getopt" );       int NO_ARG = tmp->NO_ARG;    int MAY_HAVE_ARG = tmp->MAY_HAVE_ARG;    int HAS_ARG = tmp->HAS_ARG;       q=tmp->find_all_options(argv,({
pike.git/lib/master.pike.in:3501:    Describer desc = Describer();    array trace = [array]trace;       int end = 0;    if( (sizeof(trace)>1) &&    arrayp(trace[0]) &&    (sizeof([array]trace[0]) > 2) &&    (([array]trace[0])[2] == _main))    end = 1;    +  if( end==1 && (sizeof(trace)>2) && +  arrayp(trace[1]) && (sizeof([array]trace[1])>2) && +  (([array]trace[1])[2] == main_resolv) && +  arrayp(trace[-1]) && (sizeof([array]trace[-1])>2) && +  (([array]trace[-1]))[2] == compile_string ) +  end = sizeof(trace); +     mapping(string:int) prev_pos = ([]);    array(string) frames = ({});    int loop_start = 0, loop_next, loops;       for(e = sizeof(trace)-1; e>=end; e--)    {    mixed tmp;    string row;    if (array err=[array]catch {    tmp = trace[e];