summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Type/_groups4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 9c4118171..824052c96 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2015-11-22  Barton E. Schaefer  <schaefer@zsh.org>
 
+	* Matthew Martin: 37201: Completion/Unix/Type/_groups: change
+	quoting to handle group names with spaces
+
+2015-11-22  Barton E. Schaefer  <schaefer@zsh.org>
+
 	* 37192: Functions/Prompts/prompt_adam1_setup,
 	Functions/Prompts/prompt_adam2_setup,
 	Functions/Prompts/prompt_bart_setup,
diff --git a/Completion/Unix/Type/_groups b/Completion/Unix/Type/_groups
index a5624269e..c5e5aaf83 100644
--- a/Completion/Unix/Type/_groups
+++ b/Completion/Unix/Type/_groups
@@ -13,9 +13,9 @@ if ! zstyle -a ":completion:${curcontext}:" groups groups; then
           : ${(A)_cache_groups:=${${(M)${(f)"$(_call_program groups dscacheutil -q group)"}:#name*}##*: }}
         fi
       elif (( ${+commands[getent]} )); then
-        : ${(A)_cache_groups:=${${(s: :)$(_call_program groups getent group 2>/dev/null)}%%:*}}
+        : ${(A)_cache_groups:=${${(f)"$(_call_program groups getent group 2>/dev/null)"}%%:*}}
       else
-        : ${(A)_cache_groups:=${${${(s: :)$(</etc/group)}%%:*}:#+}}
+        : ${(A)_cache_groups:=${${${(f)"$(</etc/group)"}%%:*}:#+}}
 	if (( ${+commands[ypcat]} )) &&
 	    tmp=$(_call_program groups ypcat group.byname 2>/dev/null); then
           _cache_groups+=( ${${(f)tmp}%%:*} ) # If you use YP