1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-15 09:47:20 +00:00

(Finsert_file_contents): Give up match-end only if

coding requires conversion.  Adjust end of non-matching text area
to multibyte character boundary if enable_multibyte_character is non-nil.
This commit is contained in:
Richard M. Stallman 1997-07-08 11:37:32 +00:00
parent e2d8d746de
commit 71312b68cf

View File

@ -3291,7 +3291,8 @@ This does code conversion according to the value of\n\
we cannot use this method; giveup and try the other. */
if (same_at_end > same_at_start
&& FETCH_BYTE (same_at_end - 1) >= 0200
&& ! NILP (current_buffer->enable_multibyte_characters))
&& ! NILP (current_buffer->enable_multibyte_characters)
&& CODING_REQUIRE_CONVERSION (&coding))
giveup_match_end = 1;
break;
}
@ -3302,6 +3303,12 @@ This does code conversion according to the value of\n\
{
/* We win! We can handle REPLACE the optimized way. */
/* Extends the end of non-matching text area to multibyte
character boundary. */
if (! NILP (current_buffer->enable_multibyte_characters))
while (same_at_end < ZV && ! CHAR_HEAD_P (POS_ADDR (same_at_end)))
same_at_end++;
/* Don't try to reuse the same piece of text twice. */
overlap = same_at_start - BEGV - (same_at_end + st.st_size - ZV);
if (overlap > 0)