From: Richard M. Stallman Date: Thu, 18 Feb 1999 05:40:34 +0000 (+0000) Subject: (adjust_markers_for_replace): When doing an insertion X-Git-Tag: emacs-20.4~607 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c8a3c7eb277385a63813a356216d05087eb77f1c;p=emacs.git (adjust_markers_for_replace): When doing an insertion (replacing a region of zero length), handle markers at the insertion point properly. --- 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) {