about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Completion/Base/Utility/_shadow4
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 0b9ecfce3..72922feb4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2023-09-09  Bart Schaefer  <schaefer@zsh.org>
+
+	* unposted: Completion/Base/Utility/_shadow: quoting for safety
+
 2023-09-07  Jun-ichi Takimoto  <takimoto-j@kba.biglobe.ne.jp>
 
 	* 52114: Completion/Unix/Command/_nice: improve _nice (support
diff --git a/Completion/Base/Utility/_shadow b/Completion/Base/Utility/_shadow
index b5a8acb24..9e78af38f 100644
--- a/Completion/Base/Utility/_shadow
+++ b/Completion/Base/Utility/_shadow
@@ -55,10 +55,10 @@ _shadow() {
       fnames+=(f@$fname)
     elif (( ${+builtins[$fname]} ))
     then
-      eval "function -- $shadowname { builtin $fname \"\$@\" }"
+      eval "function -- ${(q-)shadowname} { builtin ${(q-)fname} \"\$@\" }"
       fnames+=(b@$fname)
     else
-      eval "function -- $shadowname { command $fname \"\$@\" }"
+      eval "function -- ${(q-)shadowname} { command ${(q-)fname} \"\$@\" }"
       fnames+=(c@$fname)
     fi
   done