From 4a7cf15f4792060922601fe1a8f2cc1024ac2273 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Fri, 28 Aug 1998 12:33:52 +0000 Subject: [PATCH] (adjust_after_replace): Fix the code to recode undo information for the case that `before combining' happens. Remove text properties which are added to the new text by offset_intervals. --- src/insdel.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/insdel.c b/src/insdel.c index dc8cd66ee06..2faa53ee174 100644 --- a/src/insdel.c +++ b/src/insdel.c @@ -1601,7 +1601,7 @@ adjust_after_replace (from, from_byte, prev_text, len, len_byte) len, len_byte, combined_before_bytes, combined_after_bytes); if (STRINGP (prev_text)) - record_delete (from, prev_text); + record_delete (from - !!combined_before_bytes, prev_text); record_insert (from - !!combined_before_bytes, len - combined_before_bytes + !!combined_before_bytes); @@ -1611,7 +1611,13 @@ adjust_after_replace (from, from_byte, prev_text, len, len_byte) adjust_overlays_for_delete (from, nchars_del - len); #ifdef USE_TEXT_PROPERTIES if (BUF_INTERVALS (current_buffer) != 0) - offset_intervals (current_buffer, from, len - nchars_del); + { + offset_intervals (current_buffer, from, len - nchars_del); + if (len - nchars_del > 0) + Fset_text_properties (make_number (from), + make_number (from + len - nchars_del), + Qnil, Qnil); + } #endif { -- 2.39.2