summaryrefslogtreecommitdiffstats
path: root/Src
diff options
context:
space:
mode:
authorPhilippe Altherr <philippe.altherr@gmail.com>2025-10-26 17:21:15 -0700
committerBart Schaefer <schaefer@zsh.org>2025-10-26 17:21:15 -0700
commit938b3c9475a98e5e22d7d1c6acabdaf0c8baf43f (patch)
tree809ed06e14ad4b255a0be22e1cdaa5d2ffd348fe /Src
parent53797: fix creation of undeclared target variable through reference chain (diff)
downloadzsh-938b3c9475a98e5e22d7d1c6acabdaf0c8baf43f.tar
zsh-938b3c9475a98e5e22d7d1c6acabdaf0c8baf43f.tar.gz
zsh-938b3c9475a98e5e22d7d1c6acabdaf0c8baf43f.tar.bz2
zsh-938b3c9475a98e5e22d7d1c6acabdaf0c8baf43f.tar.lz
zsh-938b3c9475a98e5e22d7d1c6acabdaf0c8baf43f.tar.xz
zsh-938b3c9475a98e5e22d7d1c6acabdaf0c8baf43f.tar.zst
zsh-938b3c9475a98e5e22d7d1c6acabdaf0c8baf43f.zip
53790: corrections to reference loop detection
Diffstat (limited to 'Src')
-rw-r--r--Src/builtin.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/Src/builtin.c b/Src/builtin.c
index 5563bdba9..5dd4fee01 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -3129,16 +3129,12 @@ bin_typeset(char *name, char **argv, LinkList assigns, Options ops, int func)
if (on & PM_NAMEREF) {
if (asg->value.scalar &&
- ((pm = (Param)resolve_nameref((Param)hn, asg)) &&
+ ((pm = (Param)paramtab->getnode(paramtab, asg->value.scalar)) &&
(pm->node.flags & PM_NAMEREF))) {
if (pm->node.flags & PM_SPECIAL) {
zwarnnam(name, "%s: invalid reference", pm->node.nam);
returnval = 1;
continue;
- } else if (pm->u.str && strcmp(pm->u.str, asg->name) == 0) {
- zwarnnam(name, "%s: invalid self reference", asg->name);
- returnval = 1;
- continue;
}
}
if (hn) {