# HG changeset patch # User Karl Heuer # Date 832699464 0 # Node ID 22867e90511fd74020fc113ee325caf5ff7db7fa # Parent b6381b3a6c99be8a76e0df1229585f827b2cac17 (Fprin1_to_string): Preserve Vdeactivate_mark. diff -r b6381b3a6c99 -r 22867e90511f src/print.c --- 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;