Repository navigation
Restore the missing Zinit completion link - #393
Merged
Merged
Conversation
On installs from v1.4.0 through v1.6.9, Zinit's first shell removed the dangling _zinit staging link and never recreated it, because the completions directory already existed. The v1.6.10 cleanup only relinked a _zinit that was still dangling, so most affected installs kept no Zinit completion. Remove every dangling staging link, then create _zinit when neither it nor its disabled form exists. Creating the link only in an empty slot replaces the atomic swap, so the release link helper returns to its original form.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On installs from v1.4.0 through v1.6.9, provisioning left
_zinitpointing into a deleted staging directory. Zinit's first interactive shell then removed it as stray and never recreated it, because the completions directory already existed. The v1.6.10 cleanup relinked_zinitonly while that dangling link survived, so most affected installs still had nozinitcompletion. Fresh installs since v1.6.10 are unaffected: Zinit creates the directory and_ziniton first shell.Tools synchronization now removes every dangling staging link, including
_zinit, and then creates_zinit -> zinit.git/_zinitwhen neither_zinitnor its disabled formzinitexists. The link is created only in an empty slot, so the atomic swap helper extracted in #392 is reverted. This remains temporary migration code alongside the #392 cleanup.Validation:
bash scripts/check.sh: syntax, ShellCheck, formatting, Go vet, cross-builds, and all tests pass exceptTestNeovimDAPConfiguration, which fails identically onmainlocally.zinitform, or skipping link removal each failsTestZinitCleansDanglingStagingCompletions._ziniton v1.6.10. Running the cleanup on a copy of an already repaired completions directory left it unchanged.