From f417ddbfc9751842ca01af960ee92da8093ff9ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Fri, 19 Mar 1999 03:15:17 -0800
Subject: [PATCH] support for object errors

Rev: lib/master.pike.in:1.43
Rev: lib/modules/Tools.pmod/Hilfe.pmod:1.6
---
 lib/master.pike.in                | 5 +++--
 lib/modules/Tools.pmod/Hilfe.pmod | 5 +++++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/lib/master.pike.in b/lib/master.pike.in
index 9c46d015e7..fd636add8b 100644
--- a/lib/master.pike.in
+++ b/lib/master.pike.in
@@ -1,4 +1,4 @@
-/* $Id: master.pike.in,v 1.42 1999/03/17 21:44:52 hubbe Exp $
+/* $Id: master.pike.in,v 1.43 1999/03/19 11:14:27 hubbe Exp $
  * 
  * Master-file for Pike.
  *
@@ -1095,7 +1095,8 @@ string describe_backtrace(mixed *trace)
   int e;
   string ret;
 
-  if(arrayp(trace) && sizeof(trace)==2 && stringp(trace[0]))
+  if((arrayp(trace) && sizeof(trace)==2 && stringp(trace[0])) ||
+     (objectp(trace) && trace->is_generic_error))
   {
     ret=trace[0];
     trace=trace[1];
diff --git a/lib/modules/Tools.pmod/Hilfe.pmod b/lib/modules/Tools.pmod/Hilfe.pmod
index a050751038..6338c38b4c 100644
--- a/lib/modules/Tools.pmod/Hilfe.pmod
+++ b/lib/modules/Tools.pmod/Hilfe.pmod
@@ -83,6 +83,11 @@ import Getopt;
 	{
 	  c[1]=c[1][sizeof(backtrace())..];
 	  write(describe_backtrace(c));
+	}
+	else if(objectp(c) && c->is_generic_error)
+	{
+	  c->__backtrace=c->__backtrace[sizeof(backtrace())..];
+	  write(describe_backtrace(c));
 	}else{
 	  write(sprintf("Error in evalutation: %O\n",c));
 	}
-- 
GitLab