summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2002-07-02 14:06:44 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2002-07-02 14:06:44 +0000
commitf5c8907ec58c21dcf59b01c45716ca780697861f (patch)
treeeb4d11828ece98487828b73c8933d39c1e10fb30
parent1a1b108b341885da0a70d550384c9ec32a627615 (diff)
downloadzsh-f5c8907ec58c21dcf59b01c45716ca780697861f.tar.gz
zsh-f5c8907ec58c21dcf59b01c45716ca780697861f.zip
keep globbing quiet in _path_files; check if group/user exists in _chown (17393)
-rw-r--r--ChangeLog6
-rw-r--r--Completion/Unix/Command/_chown7
-rw-r--r--Completion/Unix/Type/_path_files2
3 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index d0d1fc742..42180110b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-07-02 Sven Wischnowsky <wischnow@zsh.org>
+
+ * 17393: Completion/Unix/Command/_chown,
+ Completion/Unix/Type/_path_files: keep globbing quiet in
+ _path_files; check if group/user exists in _chown
+
2002-07-01 Clint Adams <clint@zsh.org>
* 17391: Completion/Debian/Command/_dpkg: complete files after
diff --git a/Completion/Unix/Command/_chown b/Completion/Unix/Command/_chown
index 599e09d14..e194677d2 100644
--- a/Completion/Unix/Command/_chown
+++ b/Completion/Unix/Command/_chown
@@ -1,6 +1,6 @@
#compdef chown chgrp
-local suf usr grp req expl line
+local suf usr grp req line
line=( "${(@)words[2,CURRENT-1]:#-*}" )
@@ -33,6 +33,9 @@ else
req=( ${usr:+\^u$usr} ${grp:+\^g$grp} )
(( EUID )) && req=( u$EUID$^req )
req=( -$^req )
+ req="*(${(j:,:)req})"
- _wanted files expl file _files -g "*(${(j:,:)req})" && return 0
+ ( : $~req ) 2> /dev/null || req='*'
+
+ _files -g "$req" && return 0
fi
diff --git a/Completion/Unix/Type/_path_files b/Completion/Unix/Type/_path_files
index dd1089e67..75933e623 100644
--- a/Completion/Unix/Type/_path_files
+++ b/Completion/Unix/Type/_path_files
@@ -338,7 +338,7 @@ for prepath in "$prepaths[@]"; do
else
compfiles -p$cfopt tmp1 accex "$skipped" "$_matcher $matcher[2]" '' fake "$pats[@]"
fi
- tmp1=( $~tmp1 )
+ tmp1=( $~tmp1 ) 2> /dev/null
if [[ -n "$PREFIX$SUFFIX" ]]; then
# See which of them match what's on the line.