changeset 5796:acf1c26e3019

Bind print-circle when printing backtraces. See <CAHCOHQkhpgXZFH5pWAEzdkzVsbAeQqCpNAKsFte1pX8Fv5FjNA@mail.gmail.com> in xemacs-patches.
author Jerry James <james@xemacs.org>
date Thu, 15 May 2014 12:25:25 -0600
parents d2c0ff38ad5c
children a1808d52a34a
files src/ChangeLog src/print.c
diffstat 2 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Wed May 14 14:16:24 2014 -0600
+++ b/src/ChangeLog	Thu May 15 12:25:25 2014 -0600
@@ -1,3 +1,9 @@
+2014-05-08  Jerry James  <james@xemacs.org>
+
+	* print.c (struct debug_bindings): Add print_circle field.
+	(debug_print_exit): Restore print_circle.
+	(debug_print_enter): Save print_circle binding and set it.
+
 2014-05-06  Jerry James  <james@xemacs.org>
 
 	* file-coding.c (encode_decode_coding_region): Signal an error if
--- a/src/print.c	Wed May 14 14:16:24 2014 -0600
+++ b/src/print.c	Thu May 15 12:25:25 2014 -0600
@@ -164,6 +164,7 @@
   int print_depth;
   int print_readably;
   int print_unbuffered;
+  int print_circle;
   int in_debug_print;
   int gc_currently_forbidden;
   Lisp_Object Vprint_length;
@@ -2847,6 +2848,7 @@
   print_depth = bindings->print_depth;
   print_readably = bindings->print_readably;
   print_unbuffered = bindings->print_unbuffered;
+  print_circle = bindings->print_circle;
   in_debug_print = bindings->in_debug_print;
   gc_currently_forbidden = bindings->gc_currently_forbidden;
   Vprint_length = bindings->Vprint_length;
@@ -2873,6 +2875,7 @@
   bindings->print_depth = print_depth;
   bindings->print_readably = print_readably;
   bindings->print_unbuffered = print_unbuffered;
+  bindings->print_circle = print_circle;
   bindings->in_debug_print = in_debug_print;
   bindings->gc_currently_forbidden = gc_currently_forbidden;
   bindings->Vprint_length = Vprint_length;
@@ -2885,6 +2888,7 @@
   print_depth = 0;
   print_readably = debug_print_readably != -1 ? debug_print_readably : 0;
   print_unbuffered++;
+  print_circle = 1;
   in_debug_print = 1;
   gc_currently_forbidden = 1;
   if (debug_print_length > 0)