diff options
| author | Philippe Altherr <philippe.altherr@gmail.com> | 2026-07-19 14:13:59 -0700 |
|---|---|---|
| committer | Bart Schaefer <schaefer@zsh.org> | 2026-07-19 14:13:59 -0700 |
| commit | 1caf52e3aedb46ea6a3d8a8f62da7aa29893a56b (patch) | |
| tree | 5473d577aa8eae7b6c4acb405636bf49dde9c943 | |
| parent | 54809: ZLE specials are always in realparamtab and can't be namerefs (diff) | |
| download | zsh-1caf52e3aedb46ea6a3d8a8f62da7aa29893a56b.tar zsh-1caf52e3aedb46ea6a3d8a8f62da7aa29893a56b.tar.gz zsh-1caf52e3aedb46ea6a3d8a8f62da7aa29893a56b.tar.bz2 zsh-1caf52e3aedb46ea6a3d8a8f62da7aa29893a56b.tar.lz zsh-1caf52e3aedb46ea6a3d8a8f62da7aa29893a56b.tar.xz zsh-1caf52e3aedb46ea6a3d8a8f62da7aa29893a56b.tar.zst zsh-1caf52e3aedb46ea6a3d8a8f62da7aa29893a56b.zip | |
54943: Do not export named references even when ALLEXPORT is enabled
| -rw-r--r-- | Src/params.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Src/params.c b/Src/params.c index e111b28c7..7409ff530 100644 --- a/Src/params.c +++ b/Src/params.c @@ -1167,7 +1167,7 @@ createparam(char *name, int flags) paramtab->addnode(paramtab, ztrdup(name), pm); } - if (isset(ALLEXPORT) && !(flags & PM_HASHELEM)) + if (isset(ALLEXPORT) && !(flags & (PM_NAMEREF | PM_HASHELEM))) flags |= PM_EXPORTED; } else { pm = (Param) hcalloc(sizeof *pm); @@ -2835,7 +2835,8 @@ assignstrvalue(Value v, char *val, int flags) setscope(v->pm); if (errflag || ((!v->pm->env && !(v->pm->node.flags & PM_EXPORTED) && - !(isset(ALLEXPORT) && !(v->pm->node.flags & PM_HASHELEM))) || + !(isset(ALLEXPORT) && + !(v->pm->node.flags & (PM_NAMEREF | PM_HASHELEM)))) || (v->pm->node.flags & PM_ARRAY) || v->pm->ename)) return; export_param(v->pm); |
