From 19c327a5552ccc03a50168e8f751dc98e1775e6d Mon Sep 17 00:00:00 2001 From: Martin Stjernholm <mast@lysator.liu.se> Date: Sun, 26 Mar 2000 17:11:34 +0200 Subject: [PATCH] Yet more robustness when describing backtraces. Rev: lib/master.pike.in:1.108 --- lib/master.pike.in | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/master.pike.in b/lib/master.pike.in index 49af7bbcd4..bdc6ffcafe 100644 --- a/lib/master.pike.in +++ b/lib/master.pike.in @@ -1,6 +1,6 @@ /* -*- Pike -*- * - * $Id: master.pike.in,v 1.107 2000/03/25 21:28:37 hubbe Exp $ + * $Id: master.pike.in,v 1.108 2000/03/26 15:11:34 mast Exp $ * * Master-file for Pike. * @@ -1331,9 +1331,14 @@ string stupid_describe(mixed m, int maxlen) if(string tmp=describe_program(m)) return tmp; if(object o=function_object(m)) return (describe_object(o)||"")+"->"+function_name(m); - else - return function_name(m) || "function"; - + else { + string tmp; + if (catch (tmp = function_name(m))) + // The function object has probably been destructed. + return "function"; + return tmp || "function"; + } + case "program": if(string tmp=describe_program(m)) return tmp; return typ; @@ -1585,7 +1590,7 @@ string describe_backtrace(mixed trace, void|int linewidth) } } }) { - row += sprintf("Error indexing backtrace line %d (%O)!", e, err[1]); + row += sprintf("Error indexing backtrace line %d: %s (%O)!", e, err[0], err[1]); } ret += row + "\n"; } -- GitLab