diff options
| author | Kenichi Handa | 1998-08-28 12:33:52 +0000 |
|---|---|---|
| committer | Kenichi Handa | 1998-08-28 12:33:52 +0000 |
| commit | 4a7cf15f4792060922601fe1a8f2cc1024ac2273 (patch) | |
| tree | eb6948f3bcb1941cfb616ba0657de0bca434dec2 /src | |
| parent | df2ddb2d286c264eeba546f930456412ac9526d0 (diff) | |
| download | emacs-4a7cf15f4792060922601fe1a8f2cc1024ac2273.tar.gz emacs-4a7cf15f4792060922601fe1a8f2cc1024ac2273.zip | |
(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.
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 | { |