(decode_coding_object): Inhibit gap shrinking while
authorAndreas Schwab <schwab@suse.de>
Mon, 3 Mar 2008 22:29:12 +0000 (22:29 +0000)
committerAndreas Schwab <schwab@suse.de>
Mon, 3 Mar 2008 22:29:12 +0000 (22:29 +0000)
decoding in place.

src/ChangeLog
src/coding.c

index c787461..17d98dd 100644 (file)
@@ -1,3 +1,8 @@
+2008-03-03  Andreas Schwab  <schwab@suse.de>
+
+       * coding.c (decode_coding_object): Inhibit gap shrinking while
+       decoding in place.
+
 2008-03-03  Dan Nicolaescu  <dann@ics.uci.edu>
 
        * w32term.c: Remove unused include "gnu.h".
index d021a17..e6f544c 100644 (file)
@@ -6925,6 +6925,7 @@ decode_coding_object (coding, src_object, from, from_byte, to, to_byte,
            }
          saved_pt = PT, saved_pt_byte = PT_BYTE;
          TEMP_SET_PT_BOTH (from, from_byte);
+         current_buffer->text->inhibit_shrinking = 1;
          del_range_both (from, from_byte, to, to_byte, 1);
          coding->src_pos = -chars;
          coding->src_pos_byte = -bytes;
@@ -7018,6 +7019,7 @@ decode_coding_object (coding, src_object, from, from_byte, to, to_byte,
         As we have moved PT while replacing the original buffer
         contents, we must recover it now.  */
       set_buffer_internal (XBUFFER (src_object));
+      current_buffer->text->inhibit_shrinking = 0;
       if (saved_pt < from)
        TEMP_SET_PT_BOTH (saved_pt, saved_pt_byte);
       else if (saved_pt < from + chars)