diff src/print.c @ 217:d44af0c54775 r20-4b7

Import from CVS: tag r20-4b7
author cvs
date Mon, 13 Aug 2007 10:08:34 +0200
parents 78478c60bfcd
children 262b8bb4a523
line wrap: on
line diff
--- a/src/print.c	Mon Aug 13 10:07:42 2007 +0200
+++ b/src/print.c	Mon Aug 13 10:08:34 2007 +0200
@@ -533,15 +533,13 @@
        (object, noescape))
 {
   /* This function can GC */
-  Lisp_Object old = Fcurrent_buffer ();
   struct buffer *out = XBUFFER (Vprin1_to_string_buffer);
   Lisp_Object stream = Qnil;
-  struct gcpro gcpro1, gcpro2, gcpro3;
+  struct gcpro gcpro1, gcpro2;
 
-  GCPRO3 (object, old, stream);
+  GCPRO2 (object, stream);
   stream = print_prepare (Vprin1_to_string_buffer);
-  set_buffer_internal (out);
-  Ferase_buffer (Fcurrent_buffer ());
+  Ferase_buffer (Vprin1_to_string_buffer);
   print_depth = 0;
   print_internal (object, stream, NILP (noescape));
   print_finish (stream);
@@ -549,8 +547,7 @@
   object = make_string_from_buffer (out,
 				    BUF_BEG (out),
 				    BUF_Z (out) - 1);
-  Ferase_buffer (Fcurrent_buffer ());
-  Fset_buffer (old);
+  Ferase_buffer (Vprin1_to_string_buffer);
   UNGCPRO;
   return object;
 }