diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/insdel.c | 10 |
1 files 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) | |||
| 1601 | len, len_byte, | 1601 | len, len_byte, |
| 1602 | combined_before_bytes, combined_after_bytes); | 1602 | combined_before_bytes, combined_after_bytes); |
| 1603 | if (STRINGP (prev_text)) | 1603 | if (STRINGP (prev_text)) |
| 1604 | record_delete (from, prev_text); | 1604 | record_delete (from - !!combined_before_bytes, prev_text); |
| 1605 | record_insert (from - !!combined_before_bytes, | 1605 | record_insert (from - !!combined_before_bytes, |
| 1606 | len - combined_before_bytes + !!combined_before_bytes); | 1606 | len - combined_before_bytes + !!combined_before_bytes); |
| 1607 | 1607 | ||
| @@ -1611,7 +1611,13 @@ adjust_after_replace (from, from_byte, prev_text, len, len_byte) | |||
| 1611 | adjust_overlays_for_delete (from, nchars_del - len); | 1611 | adjust_overlays_for_delete (from, nchars_del - len); |
| 1612 | #ifdef USE_TEXT_PROPERTIES | 1612 | #ifdef USE_TEXT_PROPERTIES |
| 1613 | if (BUF_INTERVALS (current_buffer) != 0) | 1613 | if (BUF_INTERVALS (current_buffer) != 0) |
| 1614 | offset_intervals (current_buffer, from, len - nchars_del); | 1614 | { |
| 1615 | offset_intervals (current_buffer, from, len - nchars_del); | ||
| 1616 | if (len - nchars_del > 0) | ||
| 1617 | Fset_text_properties (make_number (from), | ||
| 1618 | make_number (from + len - nchars_del), | ||
| 1619 | Qnil, Qnil); | ||
| 1620 | } | ||
| 1615 | #endif | 1621 | #endif |
| 1616 | 1622 | ||
| 1617 | { | 1623 | { |