Nested <use-package> inside a user package no longer cascades (regression between LiiiSTEM 2026_2.6 and 2026_3.2)
Summary
A user package (unicode-core.ts) that itself calls <use-package|...> to pull in two further sub-packages (unicode-figures.ts, unicode-environments.ts) loads correctly in GNU TeXmacs 2.1.5 and in LiiiSTEM 2026_2.6, but fails to cascade-load its dependencies in LiiiSTEM 2026_3.2. Manually adding all three packages to the document's own style/package list works fine in both versions — only the nested use-package call (a package loading further packages on its own) is affected.
Environment
- App: LiiiSTEM (Mogan/MoganLab build)
- Working version: 2026_2.6 (clean install, works as expected)
- Broken version: 2026_3.2 (same document, same packages, fails)
- OS: macOS 14.8.9 (Apple Silicon, M3)
- TEXMACS_HOME_PATH equivalent:
~/Library/Application Support/liiilabs/
- Reference (unaffected): GNU TeXmacs 2.1.5, works correctly
Package layout
~/Library/Application Support/liiilabs/packages/
└── TST-core/
└── unicode/
├── unicode-figures.ts
└── unicode-environments.ts
└── unicode-core.ts
unicode-core.ts contains:
<use-package|TST-core/unicode/unicode-figures>
<use-package|TST-core/unicode/unicode-environments>
Steps to reproduce
- Install the three attached style/package files into the layout shown above (adjust the path if
TEXMACS_HOME_PATH differs on your system).
- Create a new document.
- Add only
unicode-core to the document's package list (via Focus toolbar or document preamble) — do not add unicode-figures or unicode-environments directly.
- Insert the macro
<unicode-core-marker> (or any macro defined in unicode-figures.ts / unicode-environments.ts, e.g. <big-unicode-table|...>, <unicode-example|...>).
Expected behavior
unicode-core.ts's own <use-package> calls should transitively load unicode-figures.ts and unicode-environments.ts, so macros defined in either sub-package render normally — as they do in GNU TeXmacs 2.1.5 and in LiiiSTEM 2026_2.6.
Actual behavior (2026_3.2 only)
Macros from the two sub-packages are treated as undefined and render as raw unexpanded markup (e.g. ⟨big-unicode-table|...⟩, ⟨unicode-example|...⟩) instead of the intended typeset output. The problem disappears the moment unicode-figures and unicode-environments are added directly to the document's package list alongside unicode-core — so the packages themselves are found and load correctly; only the automatic cascade triggered from inside another package's body fails.
What we've ruled out
- Missing
.ts extension in use-package: not the cause — use-package resolves the extension automatically in both editors, same as in stock TeXmacs.
- Wrong directory / nesting: not the cause — the
TST-core/unicode/... path referenced by use-package matches the actual on-disk layout exactly.
- File permissions: one file briefly had
600 instead of 644 permissions during debugging; this was corrected and made no difference. Both sub-packages fail to auto-load together, and both load fine manually, which is inconsistent with a permissions-only explanation.
Suspected cause
LiiiSTEM/Mogan bumped its underlying Goldfish Scheme engine one or more times between the 2026_2.6 and 2026_3.2 builds (e.g. the v17.11.21 → v17.11.32 upgrades visible in the MoganLab/mogan commit history). Engine bumps in this range have already been shown to cause regressions in previously-working features (e.g. the gnuplot fix that immediately followed the v17.11.32 bump), so a change in how nested/recursive use-package resolution is handled by the new engine seems like a plausible cause, though this is not confirmed.
Attachments
unicode-core.ts
unicode-figures.ts
unicode-environments.ts
(minimal reproduction — please let us know if a smaller repro would help)
unicode-core.ts
unicode-figures.ts
unicode-environments.ts
Nested
<use-package>inside a user package no longer cascades (regression between LiiiSTEM 2026_2.6 and 2026_3.2)Summary
A user package (
unicode-core.ts) that itself calls<use-package|...>to pull in two further sub-packages (unicode-figures.ts,unicode-environments.ts) loads correctly in GNU TeXmacs 2.1.5 and in LiiiSTEM 2026_2.6, but fails to cascade-load its dependencies in LiiiSTEM 2026_3.2. Manually adding all three packages to the document's own style/package list works fine in both versions — only the nesteduse-packagecall (a package loading further packages on its own) is affected.Environment
~/Library/Application Support/liiilabs/Package layout
unicode-core.tscontains:Steps to reproduce
TEXMACS_HOME_PATHdiffers on your system).unicode-coreto the document's package list (via Focus toolbar or document preamble) — do not addunicode-figuresorunicode-environmentsdirectly.<unicode-core-marker>(or any macro defined inunicode-figures.ts/unicode-environments.ts, e.g.<big-unicode-table|...>,<unicode-example|...>).Expected behavior
unicode-core.ts's own<use-package>calls should transitively loadunicode-figures.tsandunicode-environments.ts, so macros defined in either sub-package render normally — as they do in GNU TeXmacs 2.1.5 and in LiiiSTEM 2026_2.6.Actual behavior (2026_3.2 only)
Macros from the two sub-packages are treated as undefined and render as raw unexpanded markup (e.g.
⟨big-unicode-table|...⟩,⟨unicode-example|...⟩) instead of the intended typeset output. The problem disappears the momentunicode-figuresandunicode-environmentsare added directly to the document's package list alongsideunicode-core— so the packages themselves are found and load correctly; only the automatic cascade triggered from inside another package's body fails.What we've ruled out
.tsextension inuse-package: not the cause —use-packageresolves the extension automatically in both editors, same as in stock TeXmacs.TST-core/unicode/...path referenced byuse-packagematches the actual on-disk layout exactly.600instead of644permissions during debugging; this was corrected and made no difference. Both sub-packages fail to auto-load together, and both load fine manually, which is inconsistent with a permissions-only explanation.Suspected cause
LiiiSTEM/Mogan bumped its underlying Goldfish Scheme engine one or more times between the 2026_2.6 and 2026_3.2 builds (e.g. the
v17.11.21→v17.11.32upgrades visible in the MoganLab/mogan commit history). Engine bumps in this range have already been shown to cause regressions in previously-working features (e.g. the gnuplot fix that immediately followed thev17.11.32bump), so a change in how nested/recursiveuse-packageresolution is handled by the new engine seems like a plausible cause, though this is not confirmed.Attachments
unicode-core.tsunicode-figures.tsunicode-environments.ts(minimal reproduction — please let us know if a smaller repro would help)
unicode-core.ts
unicode-figures.ts
unicode-environments.ts