changeset 39856:3fb9aba0cbd4

(Fwith_output_to_temp_buffer): Align with internal_with_output_to_temp_buffer. (print_preprocess): Use traverse_intervals_noorder. (print_object): Update call to traverse_intervals.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 12 Oct 2001 22:06:10 +0000
parents cfc5c411cd06
children 6235c0f8e52c
files src/print.c
diffstat 1 files changed, 7 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/print.c	Fri Oct 12 22:04:42 2001 +0000
+++ b/src/print.c	Fri Oct 12 22:06:10 2001 +0000
@@ -660,15 +660,16 @@
 
   GCPRO1(args);
   name = Feval (Fcar (args));
-  UNGCPRO;
-
   CHECK_STRING (name, 0);
   temp_output_buffer_setup (XSTRING (name)->data);
   buf = Vstandard_output;
+  UNGCPRO;
 
-  val = Fprogn (Fcdr (args));
+  val = Fprogn (XCDR (args));
 
+  GCPRO1 (val);
   temp_output_buffer_show (buf);
+  UNGCPRO;
 
   return unbind_to (count, val);
 }
@@ -1247,8 +1248,8 @@
 	{
 	case Lisp_String:
 	  /* A string may have text properties, which can be circular.  */
-	  traverse_intervals (XSTRING (obj)->intervals, 0, 0,
-			      print_preprocess_string, Qnil);
+	  traverse_intervals_noorder (XSTRING (obj)->intervals,
+				      print_preprocess_string, Qnil);
 	  break;
 
 	case Lisp_Cons:
@@ -1467,7 +1468,7 @@
 	  if (!NULL_INTERVAL_P (XSTRING (obj)->intervals))
 	    {
 	      traverse_intervals (XSTRING (obj)->intervals,
-				  0, 0, print_interval, printcharfun);
+				  0, print_interval, printcharfun);
 	      PRINTCHAR (')');
 	    }