summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordana <dana@dana.is>2026-05-02 14:24:11 -0500
committerdana <dana@dana.is>2026-05-02 14:38:54 -0500
commit9d9b6ba3229b6f7e625b7de23810fdff7dc7ee88 (patch)
tree5cd0d8f9dab82d76d274435992b54e1cedcb7753
parent54424: ZSH_EXEPATH: improve documentation, add test (diff)
downloadzsh-9d9b6ba3229b6f7e625b7de23810fdff7dc7ee88.tar
zsh-9d9b6ba3229b6f7e625b7de23810fdff7dc7ee88.tar.gz
zsh-9d9b6ba3229b6f7e625b7de23810fdff7dc7ee88.tar.bz2
zsh-9d9b6ba3229b6f7e625b7de23810fdff7dc7ee88.tar.lz
zsh-9d9b6ba3229b6f7e625b7de23810fdff7dc7ee88.tar.xz
zsh-9d9b6ba3229b6f7e625b7de23810fdff7dc7ee88.tar.zst
zsh-9d9b6ba3229b6f7e625b7de23810fdff7dc7ee88.zip
54437 (tweaked): lex: fix <-> in parameter flags
tweaked white space
-rw-r--r--ChangeLog3
-rw-r--r--Src/lex.c2
-rw-r--r--Test/D04parameter.ztst17
3 files changed, 21 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 09bca486d..bfa4f25b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2026-05-02 dana <dana@dana.is>
+ * 54437 (tweaked): Src/lex.c, Test/D04parameter.ztst: lex: fix
+ <-> in parameter flags
+
* 54424: Doc/Zsh/params.yo, NEWS, Test/D04parameter.ztst:
ZSH_EXEPATH: improve documentation, add test
diff --git a/Src/lex.c b/Src/lex.c
index efbb62b66..35f1e8dc2 100644
--- a/Src/lex.c
+++ b/Src/lex.c
@@ -1198,7 +1198,7 @@ gettokstr(int c, int sub)
break;
}
hungetc(e);
- if(isnumglob()) {
+ if (!in_brace_param && isnumglob()) {
add(Inang);
while ((c = hgetc()) != '>')
add(c);
diff --git a/Test/D04parameter.ztst b/Test/D04parameter.ztst
index 0399faa8e..e192d480d 100644
--- a/Test/D04parameter.ztst
+++ b/Test/D04parameter.ztst
@@ -788,6 +788,23 @@
0:${(r...)...}
>why?! in?!! goodn name? am?!! I?!!! doing this?
+ print -r - ${(l<3><->):-}
+ print -r - ${(l<3><1->):-}
+ # these cases weren't affected by the fix for this, but just in case
+ str=abc123xyz
+ print -r - ${str//<->/.}
+ print -r - ${str//<1->/.}
+ arr=( abc 123 xyz )
+ print -r - ${arr[(r)<->]}
+ print -r - ${arr[(r)<1->]}
+0:regression test for <-> in flags
+>---
+>-1-
+>abc.xyz
+>abc.xyz
+>123
+>123
+
array=(I\'m simply putting a brave face on)
print ${(j:--:)array}
0:${(j)...}