aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/glob.c
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2021-10-11 08:51:02 +0300
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2021-10-11 08:51:02 +0300
commit8ef010da59743fcc4927c790f585ba414ec7b129 (patch)
tree88b31b9017abc34d0f94209a997413a22788ef95 /src/glob.c
parent8baa1b3ebe163de3a55696e50d49f160529473b3 (diff)
downloadsciteco-8ef010da59743fcc4927c790f585ba414ec7b129.tar.gz
optimized caret scrolling: this is a costly operation and is now done only once per keypress
* Esp. costly since Scintilla 5. * We now avoid any Scintilla message that automatically scrolls the caret (makes the caret visible) and instead call SCI_SCROLLCARET only once after every keypress in the interface implementation. * From nowon, use * SCI_SETEMPTYSELECTION instead of SCI_GOTOPOS * SCI_SETEMPTYSELECTION(SCI_POSITIONFROMLINE(...)) instead of SCI_GOTOLINE * SCI_SETSELECTIONSTART and SCI_SETSELECTIONEND instead of SCI_SETSEL * With these optimizations we are significantly faster than before the Scintilla upgrade (6e67f5a682ff46d69888fec61b94bf45cec46721). It is now even safe to execute the Gtk test suite during CI.
Diffstat (limited to 'src/glob.c')
-rw-r--r--src/glob.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/src/glob.c b/src/glob.c
index f6810c2..2f99a99 100644
--- a/src/glob.c
+++ b/src/glob.c
@@ -509,7 +509,6 @@ teco_state_glob_filename_done(teco_machine_main_t *ctx, const teco_string_t *str
teco_interface_ssm(SCI_ADDTEXT, strlen(filename),
(sptr_t)filename);
teco_interface_ssm(SCI_ADDTEXT, 1, (sptr_t)"\n");
- teco_interface_ssm(SCI_SCROLLCARET, 0, 0);
teco_interface_ssm(SCI_ENDUNDOACTION, 0, 0);
}
@@ -550,7 +549,6 @@ teco_state_glob_filename_done(teco_machine_main_t *ctx, const teco_string_t *str
matching = TRUE;
}
- teco_interface_ssm(SCI_SCROLLCARET, 0, 0);
teco_interface_ssm(SCI_ENDUNDOACTION, 0, 0);
}