This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

zsh reads `cd X Y` with two operands, and an option word it does not take (`cd -e X`, `cd -@ X`, `pushd -n X`), as the substitution form: it replaces the first word in the current directory's path with the second and enters the result, so the guard's script reader judges a script in one directory while zsh runs the one in another. Found by the Fable review of guard round 2 on 2026-10-11 (reproduced with zsh 5.9: `cd <p>/with-n/dir && pushd -n sub && pwd` prints <p>/withsub/dir); the cd forms predate that round, and round 2 made pushd -n read as staying put.

issueresolvedminoriss-2610111809142536

zsh reads cd X Y with two operands, and an option word it does not take (cd -e X, cd -@ X, pushd -n X), as the substitution form: it replaces the first word in the current directory's path with the second and enters the result, so the guard's script reader judges a script in one directory while zsh runs the one in another. Found by the Fable review of guard round 2 on 2026-10-11 (reproduced with zsh 5.9: cd <p>/with-n/dir && pushd -n sub && pwd prints <p>/withsub/dir); the cd forms predate that round, and round 2 made pushd -n read as staying put.

Frontmatter

idiss-2610111809142536
typeissue
lifecycleresolved
severityminor

mentions3