summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2025-11-17 04:31:33 +0100
committerOliver Kiddle <opk@zsh.org>2025-11-17 04:31:33 +0100
commit3fdffa7fa5f20d46f9cdd25bcd76d6cd081ccb83 (patch)
tree3d2c3c4df79b8a2a0097e34f9e5de0a1fc2e690d
parent53671: hist: untokenise input to :A and :P (diff)
downloadzsh-3fdffa7fa5f20d46f9cdd25bcd76d6cd081ccb83.tar
zsh-3fdffa7fa5f20d46f9cdd25bcd76d6cd081ccb83.tar.gz
zsh-3fdffa7fa5f20d46f9cdd25bcd76d6cd081ccb83.tar.bz2
zsh-3fdffa7fa5f20d46f9cdd25bcd76d6cd081ccb83.tar.lz
zsh-3fdffa7fa5f20d46f9cdd25bcd76d6cd081ccb83.tar.xz
zsh-3fdffa7fa5f20d46f9cdd25bcd76d6cd081ccb83.tar.zst
zsh-3fdffa7fa5f20d46f9cdd25bcd76d6cd081ccb83.zip
54034: ignore completer filenames with funny characters in them
This addresses the same issue as 52768 which was reverted.
-rw-r--r--ChangeLog5
-rw-r--r--Completion/compinit2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5913101a8..e91fa48cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2025-11-17 Oliver Kiddle <opk@zsh.org>
+
+ * 54034: Completion/compinit: ignore completer filenames with funny
+ characters in them
+
2025-11-16 dana <dana@dana.is>
* 53671: Src/hist.c, Test/D02glob.ztst: hist: untokenise input
diff --git a/Completion/compinit b/Completion/compinit
index 5cb527fac..2bfd30f2e 100644
--- a/Completion/compinit
+++ b/Completion/compinit
@@ -520,7 +520,7 @@ if [[ -z "$_i_done" ]]; then
for _i_dir in $fpath; do
[[ $_i_dir = . ]] && continue
(( $_i_wdirs[(I)$_i_dir] )) && continue
- for _i_file in $_i_dir/^([^_]*|*~|*.zwc)(N); do
+ for _i_file in $_i_dir/^([^_]*|*[\;\|\&]*|*~|*.zwc)(N); do
_i_name="${_i_file:t}"
(( $+_i_test[$_i_name] + $_i_wfiles[(I)$_i_file] )) && continue
_i_test[$_i_name]=yes