summaryrefslogtreecommitdiffstats
path: root/Test
diff options
context:
space:
mode:
authorPhilippe Altherr <philippe.altherr@gmail.com>2025-10-26 16:52:51 -0700
committerBart Schaefer <schaefer@zsh.org>2025-10-26 16:52:51 -0700
commite1fed5439c5fb844a028af3ac58d5032cc307df7 (patch)
tree6e11cfa88243536345729caeeb38ab4c8af78adb /Test
parent53781: fix loading of autoload variable via a reference (diff)
downloadzsh-e1fed5439c5fb844a028af3ac58d5032cc307df7.tar
zsh-e1fed5439c5fb844a028af3ac58d5032cc307df7.tar.gz
zsh-e1fed5439c5fb844a028af3ac58d5032cc307df7.tar.bz2
zsh-e1fed5439c5fb844a028af3ac58d5032cc307df7.tar.lz
zsh-e1fed5439c5fb844a028af3ac58d5032cc307df7.tar.xz
zsh-e1fed5439c5fb844a028af3ac58d5032cc307df7.tar.zst
zsh-e1fed5439c5fb844a028af3ac58d5032cc307df7.zip
53782: Src/params.c, Test/K01nameref.ztst: changes to nameref base level:
- avoid changing base on assignment; - omit base level for up-scope references - do not follow reference chains for base level of new references
Diffstat (limited to 'Test')
-rw-r--r--Test/K01nameref.ztst53
1 files changed, 44 insertions, 9 deletions
diff --git a/Test/K01nameref.ztst b/Test/K01nameref.ztst
index 52aed0af0..b03487d03 100644
--- a/Test/K01nameref.ztst
+++ b/Test/K01nameref.ztst
@@ -1100,15 +1100,15 @@ F:previously this could create an infinite recursion and crash
>h:1: rs= - ra= - rs1= - ra1=
>h:2: rs= - ra= - rs1= - ra1=
>i:1: rs= - ra= - rs1= - ra1=
->i:2: rs=g - ra=g - rs1=g - ra1=g
->j:1: rs=g - ra=g - rs1=g - ra1=g
->j:2: rs=g - ra=g - rs1=g - ra1=g
->i:3: rs=g - ra=g - rs1=g - ra1=g
->k:1: rs=g - ra=g - rs1=g - ra1=g
->k:2: rs=g - ra=g - rs1=g - ra1=g
->h:3: rs=g - ra=g - rs1=g - ra1=g
->k:1: rs=g - ra=g - rs1=g - ra1=g
->k:2: rs=g - ra=g - rs1=g - ra1=g
+>i:2: rs=f - ra=f - rs1=f - ra1=f
+>j:1: rs=f - ra=f - rs1=f - ra1=f
+>j:2: rs=f - ra=f - rs1=f - ra1=f
+>i:3: rs=f - ra=f - rs1=f - ra1=f
+>k:1: rs=f - ra=f - rs1=f - ra1=f
+>k:2: rs=f - ra=f - rs1=f - ra1=f
+>h:3: rs=f - ra=f - rs1=f - ra1=f
+>k:1: rs=f - ra=f - rs1=f - ra1=f
+>k:2: rs=f - ra=f - rs1=f - ra1=f
>g:3: rs=f - ra=f - rs1=f - ra1=f
e '' 6
@@ -1237,4 +1237,39 @@ F:previously this could create an infinite recursion and crash
?(eval):zsh/random:6: error when adding parameter `SRANDOM'
?(eval):6: autoloading module zsh/random failed to define parameter: SRANDOM
+ () {
+ typeset var1=var1
+ typeset var2=var2
+ typeset -n ref1=var1
+ echo "ref1=$ref1";
+ () {
+ typeset -n ref1=var2
+ typeset -n ref2=ref1
+ echo "ref1=$ref1";
+ echo "ref2=$ref2";
+ }
+ }
+0:regression: don't follow references when computing base scope - part 1
+>ref1=var1
+>ref1=var2
+>ref2=var2
+
+ () {
+ typeset var1=var1
+ typeset -n ref1=var1
+ echo ref1=$ref1;
+ () {
+ typeset var2=var2
+ typeset -n ref1
+ typeset -n ref2=ref1
+ ref1=var2
+ echo ref1=$ref1;
+ echo ref2=$ref2;
+ }
+ }
+0:regression: don't follow references when computing base scope - part 2
+>ref1=var1
+>ref1=var2
+>ref2=var2
+
%clean