aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/insdel.c27
2 files changed, 16 insertions, 17 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index c76838a2811..0b043a00112 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,11 @@
12013-08-02 Dmitry Antipov <dmantipov@yandex.ru> 12013-08-02 Dmitry Antipov <dmantipov@yandex.ru>
2 2
3 * insdel.c (adjust_after_replace, replace_range, del_range_2):
4 Do not check whether undo is enabled because record_insert and
5 record_delete does that themselves.
6
72013-08-02 Dmitry Antipov <dmantipov@yandex.ru>
8
3 * xterm.h (struct x_output) [HAVE_X_I18N]: Remove xic_base_fontname 9 * xterm.h (struct x_output) [HAVE_X_I18N]: Remove xic_base_fontname
4 member which is not really used any more. 10 member which is not really used any more.
5 (FRAME_XIC_BASE_FONTNAME): Remove. 11 (FRAME_XIC_BASE_FONTNAME): Remove.
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