summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordana <dana@dana.is>2025-05-23 04:20:06 -0500
committerdana <dana@dana.is>2025-11-16 12:57:27 -0600
commitf90dbf36749af04aa8f946d5922feacd47cb0fa5 (patch)
tree9c61f72bb9c0b16f37c53a9b954f56a373db1f6c
parent53578 (tweaked): silence gcc warnings (diff)
downloadzsh-f90dbf36749af04aa8f946d5922feacd47cb0fa5.tar
zsh-f90dbf36749af04aa8f946d5922feacd47cb0fa5.tar.gz
zsh-f90dbf36749af04aa8f946d5922feacd47cb0fa5.tar.bz2
zsh-f90dbf36749af04aa8f946d5922feacd47cb0fa5.tar.lz
zsh-f90dbf36749af04aa8f946d5922feacd47cb0fa5.tar.xz
zsh-f90dbf36749af04aa8f946d5922feacd47cb0fa5.tar.zst
zsh-f90dbf36749af04aa8f946d5922feacd47cb0fa5.zip
53671: hist: untokenise input to :A and :P
-rw-r--r--ChangeLog3
-rw-r--r--Src/hist.c1
-rw-r--r--Test/D02glob.ztst4
3 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 9fcd6432e..5913101a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2025-11-16 dana <dana@dana.is>
+ * 53671: Src/hist.c, Test/D02glob.ztst: hist: untokenise input
+ to :A and :P
+
* 53578 (tweaked): Src/Zle/computil.c, Src/builtin.c,
Src/exec.c: silence gcc warnings
diff --git a/Src/hist.c b/Src/hist.c
index 8334b1ae5..ce5f7c20e 100644
--- a/Src/hist.c
+++ b/Src/hist.c
@@ -1999,6 +1999,7 @@ chrealpath(char **junkptr, char mode, int use_heap)
if (**junkptr != '/')
return 0;
+ untokenize(*junkptr);
unmetafy(*junkptr, NULL);
lastpos = strend(*junkptr);
diff --git a/Test/D02glob.ztst b/Test/D02glob.ztst
index 24494d274..1526b6191 100644
--- a/Test/D02glob.ztst
+++ b/Test/D02glob.ztst
@@ -707,6 +707,10 @@
0:modifier ':P' with path too long
>16001
+ print -r ${${:-/a-b=c}:P}
+0:modifier ':P' with tokenised input
+>/a-b=c
+
foo=a
value="ac"
print ${value//[${foo}b-z]/x}