Development record
An FPATH already exported in the hook's environment and then changed on the line by a plain assignment (no export) is not handed to a child zsh, so the guard's autoload reader, which now tracks FPATH set on the line, can judge the function file from the line's value while the child shell searches the inherited one. Left open by lane G on 2026-10-11 while fixing the FPATH and autoload gap (iss-2610111600022820).
issueresolvedminoriss-2610111730574385
An FPATH already exported in the hook's environment and then changed on the line by a plain assignment (no export) is not handed to a child zsh, so the guard's autoload reader, which now tracks FPATH set on the line, can judge the function file from the line's value while the child shell searches the inherited one. Left open by lane G on 2026-10-11 while fixing the FPATH and autoload gap (iss-2610111600022820).
Frontmatter
| id | iss-2610111730574385 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2610111730574385-guard-fpath-plain-assignment-inheritance.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2610111600022820The guard allows a zsh line that loads a function file through `FPATH` or `fpath` and `autoload`: zsh reads the file and runs its body when the function is called, and the guard never opens it, so a bundled blocker in that file runs as the operator with exit 0.