From: Kenichi Handa Date: Fri, 28 Aug 1998 12:33:52 +0000 (+0000) Subject: (adjust_after_replace): Fix the code to recode undo X-Git-Tag: emacs-20.4~1812 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4a7cf15f4792060922601fe1a8f2cc1024ac2273;p=emacs.git (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. --- 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 {