changeset 15270:22867e90511f

(Fprin1_to_string): Preserve Vdeactivate_mark.
author Karl Heuer <kwzh@gnu.org>
date Tue, 21 May 1996 17:24:24 +0000
parents b6381b3a6c99
children 92e5bb38381e
files src/print.c
diffstat 1 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/print.c	Tue May 21 17:21:25 1996 +0000
+++ b/src/print.c	Tue May 21 17:24:24 1996 +0000
@@ -527,7 +527,14 @@
   int old_point = -1;
   int start_point;
   Lisp_Object original, printcharfun;
-  struct gcpro gcpro1;
+  struct gcpro gcpro1, gcpro2;
+  Lisp_Object tem;
+
+  /* Save and restore this--we are altering a buffer
+     but we don't want to deactivate the mark just for that.
+     No need for specbind, since errors deactivate the mark.  */
+  tem = Vdeactivate_mark;
+  GCPRO2 (object, tem);
 
   printcharfun = Vprin1_to_string_buffer;
   PRINTPREPARE;
@@ -538,9 +545,10 @@
   set_buffer_internal (XBUFFER (Vprin1_to_string_buffer));
   object = Fbuffer_string ();
 
-  GCPRO1 (object);
   Ferase_buffer ();
   set_buffer_internal (old);
+
+  Vdeactivate_mark = tem;
   UNGCPRO;
 
   return object;