Skip to content

Nested <use-package> inside a user package no longer cascades (regression between LiiiSTEM 2026_2.6 and 2026_3.2) #4453

Description

@Matthias-A-Steiner

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

  1. Install the three attached style/package files into the layout shown above (adjust the path if TEXMACS_HOME_PATH differs on your system).
  2. Create a new document.
  3. 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.
  4. 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.21v17.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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions