diff options
| author | Dmitry Antipov | 2013-08-02 11:07:08 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2013-08-02 11:07:08 +0400 |
| commit | af1f7e0682d9182be94de6d4ba30e76e1f4a75be (patch) | |
| tree | 934137fcca01f9faa78636a65654ce0bb2ed5c82 /src/insdel.c | |
| parent | e5bbaf419fd4109c1b9585ef693c9a07961eea59 (diff) | |
| download | emacs-af1f7e0682d9182be94de6d4ba30e76e1f4a75be.tar.gz emacs-af1f7e0682d9182be94de6d4ba30e76e1f4a75be.zip | |
* insdel.c (adjust_after_replace, replace_range, del_range_2):
Do not check whether undo is enabled because record_insert and
record_delete does that themselves.
Diffstat (limited to 'src/insdel.c')
| -rw-r--r-- | src/insdel.c | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/src/insdel.c b/src/insdel.c index 15d585568a0..6b0aa9db3e3 100644 --- a/src/insdel.c +++ b/src/insdel.c | |||
| @@ -1211,12 +1211,9 @@ adjust_after_replace (ptrdiff_t from, ptrdiff_t from_byte, | |||
| 1211 | adjust_markers_for_insert (from, from_byte, | 1211 | adjust_markers_for_insert (from, from_byte, |
| 1212 | from + len, from_byte + len_byte, 0); | 1212 | from + len, from_byte + len_byte, 0); |
| 1213 | 1213 | ||
| 1214 | if (! EQ (BVAR (current_buffer, undo_list), Qt)) | 1214 | if (nchars_del > 0) |
| 1215 | { | 1215 | record_delete (from, prev_text); |
| 1216 | if (nchars_del > 0) | 1216 | record_insert (from, len); |
| 1217 | record_delete (from, prev_text); | ||
| 1218 | record_insert (from, len); | ||
| 1219 | } | ||
| 1220 | 1217 | ||
| 1221 | if (len > nchars_del) | 1218 | if (len > nchars_del) |
| 1222 | adjust_overlays_for_insert (from, len - nchars_del); | 1219 | adjust_overlays_for_insert (from, len - nchars_del); |
| @@ -1373,15 +1370,12 @@ replace_range (ptrdiff_t from, ptrdiff_t to, Lisp_Object new, | |||
| 1373 | emacs_abort (); | 1370 | emacs_abort (); |
| 1374 | #endif | 1371 | #endif |
| 1375 | 1372 | ||
| 1376 | if (! EQ (BVAR (current_buffer, undo_list), Qt)) | 1373 | /* Record the insertion first, so that when we undo, |
| 1377 | { | 1374 | the deletion will be undone first. Thus, undo |
| 1378 | /* Record the insertion first, so that when we undo, | 1375 | will insert before deleting, and thus will keep |
| 1379 | the deletion will be undone first. Thus, undo | 1376 | the markers before and after this text separate. */ |
| 1380 | will insert before deleting, and thus will keep | 1377 | record_insert (from + SCHARS (deletion), inschars); |
| 1381 | the markers before and after this text separate. */ | 1378 | record_delete (from, deletion); |
| 1382 | record_insert (from + SCHARS (deletion), inschars); | ||
| 1383 | record_delete (from, deletion); | ||
| 1384 | } | ||
| 1385 | 1379 | ||
| 1386 | GAP_SIZE -= outgoing_insbytes; | 1380 | GAP_SIZE -= outgoing_insbytes; |
| 1387 | GPT += inschars; | 1381 | GPT += inschars; |
| @@ -1718,8 +1712,7 @@ del_range_2 (ptrdiff_t from, ptrdiff_t from_byte, | |||
| 1718 | so that undo handles this after reinserting the text. */ | 1712 | so that undo handles this after reinserting the text. */ |
| 1719 | adjust_markers_for_delete (from, from_byte, to, to_byte); | 1713 | adjust_markers_for_delete (from, from_byte, to, to_byte); |
| 1720 | 1714 | ||
| 1721 | if (! EQ (BVAR (current_buffer, undo_list), Qt)) | 1715 | record_delete (from, deletion); |
| 1722 | record_delete (from, deletion); | ||
| 1723 | MODIFF++; | 1716 | MODIFF++; |
| 1724 | CHARS_MODIFF = MODIFF; | 1717 | CHARS_MODIFF = MODIFF; |
| 1725 | 1718 | ||