diff options
| author | Philippe Altherr <philippe.altherr@gmail.com> | 2026-08-22 16:44:43 -0700 |
|---|---|---|
| committer | Bart Schaefer <schaefer@zsh.org> | 2026-08-22 16:44:43 -0700 |
| commit | a3a6ca51571e88d8089ffe2ee382d5baabae6951 (patch) | |
| tree | 9da4bbf5f7d827307b1b1732a8063f577823cb55 /Test | |
| parent | 55022: descriptive names for parameter declaration CPP macros (diff) | |
| download | zsh-a3a6ca51571e88d8089ffe2ee382d5baabae6951.tar zsh-a3a6ca51571e88d8089ffe2ee382d5baabae6951.tar.gz zsh-a3a6ca51571e88d8089ffe2ee382d5baabae6951.tar.bz2 zsh-a3a6ca51571e88d8089ffe2ee382d5baabae6951.tar.lz zsh-a3a6ca51571e88d8089ffe2ee382d5baabae6951.tar.xz zsh-a3a6ca51571e88d8089ffe2ee382d5baabae6951.tar.zst zsh-a3a6ca51571e88d8089ffe2ee382d5baabae6951.zip | |
55026: Fix ${(!)ref::=var} substitutions for symmetry with other flags
Diffstat (limited to 'Test')
| -rw-r--r-- | Test/K01nameref.ztst | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Test/K01nameref.ztst b/Test/K01nameref.ztst index 0e1cc9e4e..22aacc8e9 100644 --- a/Test/K01nameref.ztst +++ b/Test/K01nameref.ztst @@ -2349,6 +2349,50 @@ F:converting from association/array to string should work here too >B:16#FF >C:16#FF + show() { printf "%-13s: %-3s - %-3s - %-3s\n" "$@" } + typeset var=aaa + typeset -n refU refN="" refS=var + show '${refX}' ${(q!)refU} ${(q!)refN} ${(q!)refS} + show '${+refX}' ${(q!)+refU} ${(q!)+refN} ${(q!)+refS} + show '${refX+1}' ${(q!)refU+1} ${(q!)refN+1} ${(q!)refS+1} + show '${refX:+1}' ${(q!)refU:+1} ${(q!)refN:+1} ${(q!)refS:+1} + echo + show '${refX-bbb}' ${(q!)refU-bbb} ${(q!)refN-bbb} ${(q!)refS-bbb} + show '${refX=bbb}' ${(q!)refU=bbb} ${(q!)refN=bbb} ${(q!)refS=bbb} + show '${refX}' ${(q!)refU} ${(q!)refN} ${(q!)refS} + show '${var}' ${var} + echo + typeset -n refU refN="" refS=var + show '${refX:-ccc}' ${(q!)refU:-ccc} ${(q!)refN:-ccc} ${(q!)refS:-ccc} + show '${refX:=ccc}' ${(q!)refU:=ccc} ${(q!)refN:=ccc} ${(q!)refS:=ccc} + show '${refX}' ${(q!)refU} ${(q!)refN} ${(q!)refS} + show '${var}' ${var} + echo + typeset -n refU refN="" refS=var + show '${refX::=ddd}' ${(q!)refU::=ddd} ${(q!)refN::=ddd} ${(q!)refS::=ddd} + show '${refX}' ${(q!)refU} ${(q!)refN} ${(q!)refS} + show '${var}' ${var} + unfunction show +0:reference itself is examined in substitutions with the ! flag +>${refX} : '' - '' - var +>${+refX} : 0 - 1 - 1 +>${refX+1} : '' - 1 - 1 +>${refX:+1} : '' - '' - 1 +> +>${refX-bbb} : bbb - '' - var +>${refX=bbb} : bbb - '' - var +>${refX} : bbb - '' - var +>${var} : aaa - - +> +>${refX:-ccc} : ccc - ccc - var +>${refX:=ccc} : ccc - ccc - var +>${refX} : ccc - ccc - var +>${var} : aaa - - +> +>${refX::=ddd}: ddd - ddd - ddd +>${refX} : ddd - ddd - ddd +>${var} : aaa - - + typeset -n ref1 setopt allexport ref1=var |
