about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2004-01-21 13:50:31 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2004-01-21 13:50:31 +0000
commit1b530bf152e1ca8c9c135c58a4753899d68db8e4 (patch)
treebeef3cff431cb609f2ec9e1ec8b612e6a9c7caca
parent0167f8d036eebbb262ce78f6fd594ebacea8fa6c (diff)
downloadzsh-1b530bf152e1ca8c9c135c58a4753899d68db8e4.tar.gz
zsh-1b530bf152e1ca8c9c135c58a4753899d68db8e4.tar.xz
zsh-1b530bf152e1ca8c9c135c58a4753899d68db8e4.zip
19309: add #q to the start of a glob qualifier in the -g argument
-rw-r--r--Completion/Unix/Type/_files4
1 files changed, 4 insertions, 0 deletions
diff --git a/Completion/Unix/Type/_files b/Completion/Unix/Type/_files
index d9d278fa3..a3545cb54 100644
--- a/Completion/Unix/Type/_files
+++ b/Completion/Unix/Type/_files
@@ -11,6 +11,10 @@ if (( $tmp[(I)-g*] )); then
   glob="${${${${(@M)tmp:#-g*}#-g}##[[:blank:]]#}%%[[:blank:]]#}"
   [[ "$glob" = *[^\\][[:blank:]]* ]] &&
       glob="{${glob//(#b)([^\\])[[:blank:]]##/${match[1]},}}"
+
+  # add `#q' to the beginning of any glob qualifier if not there already
+  [[ "$glob" = (#b)(*\()([^\|\~]##\)) && $match[2] != \#q* ]] &&
+      glob="${match[1]}#q${match[2]}"
 fi
 tmp=$opts[(I)-F]
 if (( tmp )); then