Skip to content

refactor(zsh): normalize option spellings - #455

Merged
ss-o merged 2 commits into
nextfrom
bug-449
Aug 29, 2026
Merged

refactor(zsh): normalize option spellings#455
ss-o merged 2 commits into
nextfrom
bug-449

Conversation

@ss-o

@ss-o ss-o commented Aug 29, 2026

Copy link
Copy Markdown
Member

Description

Normalize Zi's separator-free multiword Zsh option spellings to canonical underscore-separated names:

  • update 428 occurrences across source, scripts, tests, and nearby comments;
  • cover 31 equivalent option pairs, including local_options, no_auto_pushd, extended_glob, warn_create_global, ksh_arrays, err_exit, no_unset, and pipe_fail;
  • update static setopt, unsetopt, emulate -o, [[ -o ... ]], $options[...], and generated option arguments; and
  • preserve option names originating dynamically from captured runtime state or user input.

Future authoring guidance is owned by z-shell/.github#566. This PR intentionally adds no narrow repository CI guard.

Related issues

Part of #449.
Part of z-shell/.github#565.

Type of change

  • fix - bug fix (non-breaking)
  • feat - new feature (non-breaking)
  • feat! / fix! - breaking change
  • perf - performance improvement
  • refactor - code change with no functional impact
  • docs - documentation only
  • test - test addition or correction
  • build - build system or dependency change
  • ci - CI/workflow change
  • style - formatting with no behavior change
  • chore - maintenance / dependency bump
  • revert - revert of an earlier change

Checklist

  • Ordinary work targets next; only same-repository hotfixes target main
  • This is not a next to main promotion
  • Commit messages follow Conventional Commits format
  • No Co-authored-by trailer credits a bot, AI agent, or automation
  • I have read the contribution guidelines
  • Existing tests pass
  • Canonical organization guidance is provided by docs(zsh): require canonical option spellings .github#566

Verification

  • All 31 old/new spelling pairs resolved to the same Zsh option state.
  • A scan against 197 canonical names from the official Zsh Options manual found no remaining compact multiword spellings.
  • Native syntax and isolated zcompile -U: all 31 Zsh files passed. The pre-existing lib/zsh/rpm2cpio.zsh:54 warning remains.
  • Existing Zi integration suites: 61 scenarios passed.
  • git diff --check: passed.
  • Local commit hook: passed.

Migration plan

Not required. Zsh accepts both spellings; this is a readability-only normalization with semantic equivalence verified.

Agent handoff

@ss-o
ss-o merged commit 548fbe5 into next Aug 29, 2026
57 checks passed
@ss-o
ss-o deleted the bug-449 branch August 29, 2026 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant