Branch: Tag:

2005-11-20

2005-11-20 23:18:41 by Martin Nilsson <mani@lysator.liu.se>

If the backtrace covers {_main, main_resolv, ..., compile_string} it's uninteresting to print.

Rev: lib/master.pike.in:1.381

6:   // 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
2327:      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
2386:    " " + "\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;
3508:    (([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;