From eff72334e1896062de24a4eb60c2d5899bba11cd Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Mon, 11 Nov 2024 18:33:07 +0300 Subject: session.tes: store the current tab style (width and hard-tabs); fixed for filenames containing ASCII 27 * You can now set a per-file tab style, that differs from the defaults established in the ED hook. This is important especially since we do not yet support per-project .teco_ini scripts where you could establish differing policies depending on the VCS repository. (The latter would be easy to implement, but we cannot currently easily extend the existing ED hooks.) * It's unlikely that files contain an ASCII 27, but not impossible. Therefore we now use ASCII 0 (^@) as a terminator. This indeed be safe under UNIX. Even better would be a string building construct for escaping ASCII 27 ($), though, as that would work with arbitrary bytes. --- TODO | 5 +++++ lib/session.tes | Bin 2481 -> 2624 bytes 2 files changed, 5 insertions(+) diff --git a/TODO b/TODO index c0ff79a..2e3e8a8 100644 --- a/TODO +++ b/TODO @@ -566,8 +566,13 @@ Features: with --valgrind during CI (Ubuntu). This did not work out of the box. * session.tes: Perhaps persist the search-replace registers "-" and "_". + Unfortunately, there is currently no way to reliably escape their + contents in the generated .teco_session. Ideally we would also persist any manually configured lexer, but we cannot easily store the current buffer's lexer. + * session.tes: Could mung a .teco_ini in the VCS directory as well. + This is only really useful once we can elegantly append to various + ED hooks. * grosciteco: Does not currently support diacritics. This is because Groff decomposes characters in intermediate output. Either we have to consult devutf8/R or use wrap g_unichar_compose(). diff --git a/lib/session.tes b/lib/session.tes index 598dbca..56634a5 100644 Binary files a/lib/session.tes and b/lib/session.tes differ -- cgit v1.2.3