Sigil 0.22.14
A bug-fix release. syntax-rules now handles nested ellipses, sigil build --watch works again, and Sigil behaves better in scripts: no color codes in piped output, and clean version info.
Nested ellipses in syntax-rules
Patterns such as (_ (name value ...) ...) never matched, so macros in the R7RS style that repeat inside a repetition couldn't be written. They now match and expand, including empty inner lists, and a template that uses a pattern variable at the wrong depth gets a clear error.
Fixes
sigil build --watchstopped right after the first build with "unbound variable 'build-watch-loop'". Watch mode works again.- Sigil no longer writes color codes when its output goes to a file or a pipe, so scripts can read
sigil --versioncleanly. It also honorsNO_COLOR. - A CLI or native app built with gcc could show garbage in
--versionand its app metadata. - Builds failed with "cdr: expected pair" when a
musl-gccwrapper was onPATH. - Dev builds made with the managed Zig toolchain compiled Sigil's runtime in debug mode with undefined-behavior checks, which made them slower than they needed to be. The runtime is now built with optimization in dev builds too (debug info is kept); your own code still follows the config's
optimizesetting. If you want the undefined-behavior checks back, put them in your config'sc-flags(for example-O0 -fsanitize=undefined); Sigil passes them through unchanged.