aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core-commands.c
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2022-06-21 03:26:52 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2022-06-21 03:27:54 +0200
commit0d3da2ce68df9f442aa0606361b64bae1dd57811 (patch)
tree451272b26e33039381433f2393b59ec928d55f2c /src/core-commands.c
parentd6126b318a55b06a1fde717e92c47bb9b3696708 (diff)
downloadsciteco-0d3da2ce68df9f442aa0606361b64bae1dd57811.tar.gz
avoid unnecessary creation of undo tokens
Diffstat (limited to 'src/core-commands.c')
-rw-r--r--src/core-commands.c10
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));