aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/insdel.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/insdel.c b/src/insdel.c
index 87f0a7898dc..f2aaa84a8b9 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -578,7 +578,12 @@ adjust_markers_for_replace (from, from_byte, old_chars, old_bytes,
578 { 578 {
579 register struct Lisp_Marker *m = XMARKER (marker); 579 register struct Lisp_Marker *m = XMARKER (marker);
580 580
581 if (m->bytepos >= prev_to_byte) 581 if (m->bytepos >= prev_to_byte
582 && (old_bytes != 0
583 /* If this is an insertion (replacing 0 chars),
584 reject the case of a marker that is at the
585 insertion point and should stay before the insertion. */
586 || m->bytepos > from_byte || m->insertion_type))
582 { 587 {
583 if (m->bytepos < prev_to_byte + combined_after_bytes) 588 if (m->bytepos < prev_to_byte + combined_after_bytes)
584 { 589 {