aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKim F. Storm2002-06-13 22:07:13 +0000
committerKim F. Storm2002-06-13 22:07:13 +0000
commit9dde4e0c8f89a33195cdbe33fe18ce8b89e07a92 (patch)
treeb4883f7f77e0ceba8ffef33d88c281a45a9c3fc3 /src
parente4f10c83edb0dd081a91cceb50164188793ac7c4 (diff)
downloademacs-9dde4e0c8f89a33195cdbe33fe18ce8b89e07a92.tar.gz
emacs-9dde4e0c8f89a33195cdbe33fe18ce8b89e07a92.zip
(insert_1_both, insert_from_string_1)
(insert_from_buffer_1): Recalculate END_UNCHANGED in case the insert happened in the end_unchanged region. Otherwise, the redisplay may be confused and duplicate the last line in the buffer [seen after save-buffer when require-final-newline==t].
Diffstat (limited to 'src')
-rw-r--r--src/insdel.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/insdel.c b/src/insdel.c
index 365819b2cff..5bec29ea926 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -1031,6 +1031,10 @@ insert_1_both (string, nchars, nbytes, inherit, prepare, before_markers)
1031 if (GPT_BYTE < GPT) 1031 if (GPT_BYTE < GPT)
1032 abort (); 1032 abort ();
1033 1033
1034 /* The insert may have been in the unchanged region, so check again. */
1035 if (Z - GPT < END_UNCHANGED)
1036 END_UNCHANGED = Z - GPT;
1037
1034 adjust_overlays_for_insert (PT, nchars); 1038 adjust_overlays_for_insert (PT, nchars);
1035 adjust_markers_for_insert (PT, PT_BYTE, 1039 adjust_markers_for_insert (PT, PT_BYTE,
1036 PT + nchars, PT_BYTE + nbytes, 1040 PT + nchars, PT_BYTE + nbytes,
@@ -1154,6 +1158,10 @@ insert_from_string_1 (string, pos, pos_byte, nchars, nbytes,
1154 if (GPT_BYTE < GPT) 1158 if (GPT_BYTE < GPT)
1155 abort (); 1159 abort ();
1156 1160
1161 /* The insert may have been in the unchanged region, so check again. */
1162 if (Z - GPT < END_UNCHANGED)
1163 END_UNCHANGED = Z - GPT;
1164
1157 adjust_overlays_for_insert (PT, nchars); 1165 adjust_overlays_for_insert (PT, nchars);
1158 adjust_markers_for_insert (PT, PT_BYTE, PT + nchars, 1166 adjust_markers_for_insert (PT, PT_BYTE, PT + nchars,
1159 PT_BYTE + outgoing_nbytes, 1167 PT_BYTE + outgoing_nbytes,
@@ -1301,6 +1309,10 @@ insert_from_buffer_1 (buf, from, nchars, inherit)
1301 if (GPT_BYTE < GPT) 1309 if (GPT_BYTE < GPT)
1302 abort (); 1310 abort ();
1303 1311
1312 /* The insert may have been in the unchanged region, so check again. */
1313 if (Z - GPT < END_UNCHANGED)
1314 END_UNCHANGED = Z - GPT;
1315
1304 adjust_overlays_for_insert (PT, nchars); 1316 adjust_overlays_for_insert (PT, nchars);
1305 adjust_markers_for_insert (PT, PT_BYTE, PT + nchars, 1317 adjust_markers_for_insert (PT, PT_BYTE, PT + nchars,
1306 PT_BYTE + outgoing_nbytes, 1318 PT_BYTE + outgoing_nbytes,