Skip to content

install.sh: the annex burst sources zicompinit, which aborts non-interactively on Linux #213

Description

@ss-o

Summary

ANNEX_BURST in public/sh/install.sh (added in #210) runs the just-written annex fragment with zsh -f -c 'builtin source zi.zsh && builtin source <fragment> && @zi-scheduler burst'. The -a annex fragment ends with zicompinit, and in a non-interactive shell without a terminal compinit aborts:

not interactive and can't open terminal
compinit: initialization aborted

The burst then returns non-zero after every annex was already downloaded and compiled, and the installer prints the fallback "Annexes could not be installed now; they will be installed on the next shell start." The -a zunit fragment has no zicompinit and completes cleanly.

Evidence

First real CI run of the annex profile, #212, Check (Linux) job step Check: install.sh -a annex: all four annexes download and compile, then the two lines above, then the fallback. The macOS runner did not abort on compinit. The step still passes because the fallback is non-fatal by design.

Expected

zicompinit belongs in .zshrc, not in what the burst sources. Write the recipe lines to the burst file and append zicompinit to .zshrc only, so the burst sources zi.zsh plus the zi light-mode for ... command and nothing else. Adjust the harness case that asserts what the burst sourced, regenerate public/checksum.txt after the commit hook formats the file, and confirm the Linux annex step no longer prints the fallback.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions