From e82dc6639e829490cb11267fa4a49ef97c6459ae Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Sat, 30 Aug 2025 20:38:57 +0300 Subject: the computed go-to command (O) is now 0-indexed and all invalid indexes and empty labels are ignored * This has long been a TECO-11 incompatibility. * The first label in a list has index 0, i.e. `1Ofoo,bar$` jumps to label `!bar!`. Consequently 0 is also implied, so `Olabel$` continues to do what you expect. * `0Ofoo$` was previously also jumping to `!foo!` which was inconsistent: All invalid indexes should do nothing, i.e. execution continues after the go-to command. * Fixed handling of empty labels as in `1Ofoo,,bar$` - execution should also continue after the command. This eases writing "default" clauses immediately after the go-to. * The ED hook values now also begin at 0, so most existing ED hook macros should continue to work. * Similarily, the mouse events returned by -EJ also begin at 0 now, so fnkeys.tes continues to work as expected. * It's still very possible of course that this breaks existing code. --- src/qreg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/qreg.h') diff --git a/src/qreg.h b/src/qreg.h index 2b970aa..6daaff3 100644 --- a/src/qreg.h +++ b/src/qreg.h @@ -239,7 +239,7 @@ gboolean teco_qreg_stack_pop(teco_qreg_t *qreg, GError **error); void teco_qreg_stack_clear(void); typedef enum { - TECO_ED_HOOK_ADD = 1, + TECO_ED_HOOK_ADD = 0, TECO_ED_HOOK_EDIT, TECO_ED_HOOK_CLOSE, TECO_ED_HOOK_QUIT -- cgit v1.2.3