aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman2002-09-26 22:03:41 +0000
committerRichard M. Stallman2002-09-26 22:03:41 +0000
commitcf3b32fcfbf0e6dfd3714d527a9d2ab4ae0b0dda (patch)
treec39c1c63f7528efe7ed2a6a5cf884b297cbb4892 /src
parent5eba27ea0de234d0f5c6fbae1276c25c448f99fa (diff)
downloademacs-cf3b32fcfbf0e6dfd3714d527a9d2ab4ae0b0dda.tar.gz
emacs-cf3b32fcfbf0e6dfd3714d527a9d2ab4ae0b0dda.zip
(run_pre_post_conversion_on_str): Save and restore Vdeactivate_mark.
Diffstat (limited to 'src')
-rw-r--r--src/coding.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/coding.c b/src/coding.c
index 5b7856959a6..0bb2bd3fcd8 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -5815,14 +5815,17 @@ run_pre_post_conversion_on_str (str, coding, encodep)
5815 int encodep; 5815 int encodep;
5816{ 5816{
5817 int count = SPECPDL_INDEX (); 5817 int count = SPECPDL_INDEX ();
5818 struct gcpro gcpro1; 5818 struct gcpro gcpro1, gcpro2;
5819 int multibyte = STRING_MULTIBYTE (str); 5819 int multibyte = STRING_MULTIBYTE (str);
5820 Lisp_Object buffer; 5820 Lisp_Object buffer;
5821 struct buffer *buf; 5821 struct buffer *buf;
5822 Lisp_Object old_deactivate_mark;
5822 5823
5823 record_unwind_protect (Fset_buffer, Fcurrent_buffer ()); 5824 record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
5824 record_unwind_protect (code_convert_region_unwind, Qnil); 5825 record_unwind_protect (code_convert_region_unwind, Qnil);
5825 GCPRO1 (str); 5826 /* It is not crucial to specbind this. */
5827 old_deactivate_mark = Vdeactivate_mark;
5828 GCPRO2 (str, old_deactivate_mark);
5826 5829
5827 buffer = Fget_buffer_create (build_string (" *code-converting-work*")); 5830 buffer = Fget_buffer_create (build_string (" *code-converting-work*"));
5828 buf = XBUFFER (buffer); 5831 buf = XBUFFER (buffer);
@@ -5853,6 +5856,7 @@ run_pre_post_conversion_on_str (str, coding, encodep)
5853 call1 (coding->post_read_conversion, make_number (Z - BEG)); 5856 call1 (coding->post_read_conversion, make_number (Z - BEG));
5854 } 5857 }
5855 inhibit_pre_post_conversion = 0; 5858 inhibit_pre_post_conversion = 0;
5859 Vdeactivate_mark = old_deactivate_mark;
5856 str = make_buffer_string (BEG, Z, 1); 5860 str = make_buffer_string (BEG, Z, 1);
5857 return unbind_to (count, str); 5861 return unbind_to (count, str);
5858} 5862}