summary refs log tree commit diff
diff options
context:
space:
mode:
authorWayne Davison <wayne@opencoder.net>2019-11-26 16:26:15 -0800
committerWayne Davison <wayne@opencoder.net>2019-11-26 16:27:51 -0800
commit95882efbf7b1c87eb55ccced3af615b40fa14787 (patch)
treeb8a07d1fe85d7e68e645be3f31bfd6505d9466a2
parent8aa84bd5fc4402a4118481388640fd74b0aeb321 (diff)
downloadzsh-95882efbf7b1c87eb55ccced3af615b40fa14787.tar.gz
zsh-95882efbf7b1c87eb55ccced3af615b40fa14787.tar.xz
zsh-95882efbf7b1c87eb55ccced3af615b40fa14787.zip
44912: more quoting fixes in _expand
Don't set done_quote=1 if the glob result is empty.
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Base/Completer/_expand2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 3c21c45ba..97a2ef86d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2019-11-26  Wayne Davison  <wayned@users.sourceforge.net>
+
+	* 44912: Completion/Base/Completer/_expand: Don't set done_quote=1
+	if the glob result is empty.  Fixes more cases of missing quotes.
+
 2019-11-24  Oliver Kiddle  <okiddle@yahoo.co.uk>
 
 	* 44923: Completion/Unix/Command/_git: update options for 2.24
diff --git a/Completion/Base/Completer/_expand b/Completion/Base/Completer/_expand
index f4909826a..def522a76 100644
--- a/Completion/Base/Completer/_expand
+++ b/Completion/Base/Completer/_expand
@@ -108,7 +108,7 @@ integer done_quote
 local orig_exp=$exp
 if [[ "$force" = *g* ]] || zstyle -T ":completion:${curcontext}:" glob; then
   eval 'exp=( ${~exp//(#b)\\([ 	\"'"\'"'
-])/$match[1]} ); exp=( ${(q)exp} )' 2>/dev/null && done_quote=1
+])/$match[1]} ); exp=( ${(q)exp} )' 2>/dev/null && (( $#exp )) && done_quote=1
 fi
 # If the globbing failed, or we didn't try globbing, we'll do
 # it again without the "~" so globbing is simply omitted.