Mercurial > emacs
changeset 47632:551472d77d2a
(run_pre_post_conversion_on_str): Save and restore Vdeactivate_mark.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 26 Sep 2002 22:03:41 +0000 |
parents | 433ae412d00f |
children | f184a4c74ad0 |
files | src/coding.c |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/coding.c Thu Sep 26 22:02:23 2002 +0000 +++ b/src/coding.c Thu Sep 26 22:03:41 2002 +0000 @@ -5815,14 +5815,17 @@ int encodep; { int count = SPECPDL_INDEX (); - struct gcpro gcpro1; + struct gcpro gcpro1, gcpro2; int multibyte = STRING_MULTIBYTE (str); Lisp_Object buffer; struct buffer *buf; + Lisp_Object old_deactivate_mark; record_unwind_protect (Fset_buffer, Fcurrent_buffer ()); record_unwind_protect (code_convert_region_unwind, Qnil); - GCPRO1 (str); + /* It is not crucial to specbind this. */ + old_deactivate_mark = Vdeactivate_mark; + GCPRO2 (str, old_deactivate_mark); buffer = Fget_buffer_create (build_string (" *code-converting-work*")); buf = XBUFFER (buffer); @@ -5853,6 +5856,7 @@ call1 (coding->post_read_conversion, make_number (Z - BEG)); } inhibit_pre_post_conversion = 0; + Vdeactivate_mark = old_deactivate_mark; str = make_buffer_string (BEG, Z, 1); return unbind_to (count, str); }