diff options
| author | Philippe Altherr <philippe.altherr@gmail.com> | 2026-06-08 15:01:06 -0700 |
|---|---|---|
| committer | Bart Schaefer <schaefer@zsh.org> | 2026-06-08 15:01:06 -0700 |
| commit | b2629b4cf81f63471e6c52df407d8aca669da6ea (patch) | |
| tree | 65b9ff4695d6b147f637d9c71cd30ae43a1e4fc3 /Test | |
| parent | 54277: reference loops are detected at create time, remove loop tagging (diff) | |
| download | zsh-b2629b4cf81f63471e6c52df407d8aca669da6ea.tar zsh-b2629b4cf81f63471e6c52df407d8aca669da6ea.tar.gz zsh-b2629b4cf81f63471e6c52df407d8aca669da6ea.tar.bz2 zsh-b2629b4cf81f63471e6c52df407d8aca669da6ea.tar.lz zsh-b2629b4cf81f63471e6c52df407d8aca669da6ea.tar.xz zsh-b2629b4cf81f63471e6c52df407d8aca669da6ea.tar.zst zsh-b2629b4cf81f63471e6c52df407d8aca669da6ea.zip | |
54278: Detect invalid variable names in reference initializers
Diffstat (limited to 'Test')
| -rw-r--r-- | Test/K01nameref.ztst | 43 |
1 files changed, 28 insertions, 15 deletions
diff --git a/Test/K01nameref.ztst b/Test/K01nameref.ztst index 0b4475827..77a01ea48 100644 --- a/Test/K01nameref.ztst +++ b/Test/K01nameref.ztst @@ -603,7 +603,7 @@ F:ksh93 does not implement this either unset -n ptr1 typeset -n ptr1='not[2]good' 1:invalid nameref -*?*invalid name reference: not\[2\]good +*?*invalid variable name: not\[2\]good unset -n ptr1 unset hash @@ -1053,6 +1053,19 @@ F:Checking for a bug in zmodload that affects later tests > *?*reference ref*to local variable one + typeset -n ref=var + { + for ref in valid1 inv@lid valid2; do typeset -p ref; done + } always { TRY_BLOCK_ERROR=0 } + typeset -nr ref=var + { + for ref in valid3 valid4; do typeset -p ref; done + } always { TRY_BLOCK_ERROR=0 } +1:for-loop variable is a reference, part 5, errors +>typeset -n ref=valid1 +*?*invalid variable name: inv@lid +*?*read-only reference: ref + unset -n ref typeset -n ref () { @@ -1391,20 +1404,20 @@ F:Subscripting on 1 01 ! ? - should print first character but do not >x >typeset -un x=_ >x -?edgeupper: invalid name reference: argv -?edgeupper: invalid name reference: ARGC -?edgelocal: invalid name reference: @ -?edgelocal: invalid name reference: @[1] -?edgeupper: invalid name reference: @ -?edgelocal: invalid name reference: * -?edgelocal: invalid name reference: *[1] -?edgeupper: invalid name reference: * -?edgelocal: invalid name reference: # -?edgelocal: invalid name reference: #[1] -?edgeupper: invalid name reference: # -?edgeupper: invalid name reference: 0 -?edgeupper: invalid name reference: 1 -?edgeupper: invalid name reference: 01 +?edgeupper: invalid variable name: argv +?edgeupper: invalid variable name: ARGC +?edgelocal: invalid variable name: @ +?edgelocal: invalid variable name: @[1] +?edgeupper: invalid variable name: @ +?edgelocal: invalid variable name: * +?edgelocal: invalid variable name: *[1] +?edgeupper: invalid variable name: * +?edgelocal: invalid variable name: # +?edgelocal: invalid variable name: #[1] +?edgeupper: invalid variable name: # +?edgeupper: invalid variable name: 0 +?edgeupper: invalid variable name: 1 +?edgeupper: invalid variable name: 01 edgelocal \$ edgelocal '$[1]' |
