diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2025-07-27 19:01:43 +0300 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2025-07-27 19:01:43 +0300 |
commit | dfa4394c1df45755de955260b1d7412c673a7ca0 (patch) | |
tree | d340fe60b2c0c71a295235347ca3179a09a5ef5d | |
parent | e94dce1f9770abde689314fb993a23800e2bcc9f (diff) | |
download | sciteco-dfa4394c1df45755de955260b1d7412c673a7ca0.tar.gz |
fixed using the command-line replacement register (ESC) in batch mode: was causing assertions when entering interactive mode
Also added a regression test case.
-rw-r--r-- | src/main.c | 3 | ||||
-rw-r--r-- | tests/testsuite.at | 9 |
2 files changed, 10 insertions, 2 deletions
@@ -518,8 +518,7 @@ main(int argc, char **argv) * If munged file didn't quit, switch into interactive mode */ /* commandline replacement string register */ - teco_qreg_table_insert_unique(&teco_qreg_table_globals, - teco_qreg_plain_new("\e", 1)); + teco_qreg_table_replace(&teco_qreg_table_globals, teco_qreg_plain_new("\e", 1)); teco_undo_enabled = TRUE; teco_ring_set_scintilla_undo(TRUE); diff --git a/tests/testsuite.at b/tests/testsuite.at index 132684b..b8a7404 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -536,6 +536,15 @@ TE_CHECK_CMDLINE([[@^Um{:@S/XXX/} :Mm"S(0/0)' Mm"S(0/0)']], 0, ignore, stderr) AT_FAIL_IF([$GREP "^Error:" stderr]) AT_CLEANUP +AT_SETUP([Overwriting builtin registers]) +# Initializes registers in batch mode, which are later replaced during startup +# of interactive mode. +# This was causing assertion errors. +AT_DATA([test.tec], [[23U^[ !]! 23U~ +]]) +AT_CHECK([[$SCITECO --fake-cmdline '' --mung test.tec]], 0, ignore, ignore) +AT_CLEANUP + AT_BANNER([Known Bugs]) AT_SETUP([Number stack]) |