From c8a3c7eb277385a63813a356216d05087eb77f1c Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Thu, 18 Feb 1999 05:40:34 +0000 Subject: [PATCH] (adjust_markers_for_replace): When doing an insertion (replacing a region of zero length), handle markers at the insertion point properly. --- src/insdel.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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, { register struct Lisp_Marker *m = XMARKER (marker); - if (m->bytepos >= prev_to_byte) + if (m->bytepos >= prev_to_byte + && (old_bytes != 0 + /* If this is an insertion (replacing 0 chars), + reject the case of a marker that is at the + insertion point and should stay before the insertion. */ + || m->bytepos > from_byte || m->insertion_type)) { if (m->bytepos < prev_to_byte + combined_after_bytes) { -- 2.39.2