diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2022-06-21 03:26:52 +0200 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2022-06-21 03:27:54 +0200 |
commit | 0d3da2ce68df9f442aa0606361b64bae1dd57811 (patch) | |
tree | 451272b26e33039381433f2393b59ec928d55f2c /src/core-commands.c | |
parent | d6126b318a55b06a1fde717e92c47bb9b3696708 (diff) | |
download | sciteco-0d3da2ce68df9f442aa0606361b64bae1dd57811.tar.gz |
avoid unnecessary creation of undo tokens
Diffstat (limited to 'src/core-commands.c')
-rw-r--r-- | src/core-commands.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core-commands.c b/src/core-commands.c index 1c52e5a..2a49d0d 100644 --- a/src/core-commands.c +++ b/src/core-commands.c @@ -777,9 +777,10 @@ teco_delete_words(teco_int_t n) } g_assert(size != teco_interface_ssm(SCI_GETLENGTH, 0, 0)); - undo__teco_interface_ssm(SCI_SETEMPTYSELECTION, pos, 0); - if (teco_current_doc_must_undo()) + if (teco_current_doc_must_undo()) { + undo__teco_interface_ssm(SCI_SETEMPTYSELECTION, pos, 0); undo__teco_interface_ssm(SCI_UNDO, 0, 0); + } teco_ring_dirtify(); return TECO_SUCCESS; @@ -2249,8 +2250,9 @@ teco_state_ecommand_eol(teco_machine_main_t *ctx, GError **error) } } - undo__teco_interface_ssm(SCI_SETEOLMODE, - teco_interface_ssm(SCI_GETEOLMODE, 0, 0), 0); + if (teco_current_doc_must_undo()) + undo__teco_interface_ssm(SCI_SETEOLMODE, + teco_interface_ssm(SCI_GETEOLMODE, 0, 0), 0); teco_interface_ssm(SCI_SETEOLMODE, eol_mode, 0); } else if (teco_machine_main_eval_colon(ctx)) { const gchar *eol_seq = teco_eol_get_seq(teco_interface_ssm(SCI_GETEOLMODE, 0, 0)); |