From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29330 invoked by alias); 27 Jan 2015 10:07:00 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 34412 Received: (qmail 8671 invoked from network); 27 Jan 2015 10:06:59 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= daniel.shahaf.name; h=x-sasl-enc:date:from:to:subject:message-id :mime-version:content-type; s=mesmtp; bh=5dUZMOI/uOZBcPkfw80kpu7 nDl4=; b=0jsx/cxslvUIMqKIoj6zqzc34Y37cNmrCEWYKnV8TszJjJc84jKAbho ZeAQvJO9ZwtOPweRP+BX2wzBEg0wfMpsDKFKprOY9qDKCLimekp6jPXRx7O9Txwb VJKRtKzEHRZyUYEnToGrBybsy+CD4UeK/0LMPLXkdGm/XeNb4VjA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=x-sasl-enc:date:from:to:subject :message-id:mime-version:content-type; s=smtpout; bh=5dUZMOI/uOZ BcPkfw80kpu7nDl4=; b=unyjBn8gn+ulblDpbG6meFxUvwiFgtTbHV4k12KKhZb jz5hOjpSuosdFngkmMEN7Ed8YKzVkZ68DouitMYAU6JgVJxNjne4ioSvVNGKJwME SMgeHrStNp3PwlJZvktvr67B+Ax6kzZoP4o1rEt2n7JV2wB0O79Oo5F/0jn79E7A = X-Sasl-enc: aBWyjJ5XHaoI8sgF9122nEWt09jY7LAEcQklqRDUuvVQ 1422353217 Date: Tue, 27 Jan 2015 10:06:55 +0000 From: Daniel Shahaf To: zsh-workers@zsh.org Subject: 'sudo chmod' completion of group names Message-ID: <20150127100655.GD1966@tarsus.local2> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) 'sudo chown root:' completes only unix groups I'm in, rather than all groups in the system. I'd like it to complete all unix groups in the system. Would the following make sense? --- diff --git a/Completion/Unix/Command/_chown b/Completion/Unix/Command/_chown index 7a7e591..1faedc3 100644 --- a/Completion/Unix/Command/_chown +++ b/Completion/Unix/Command/_chown @@ -32,7 +32,7 @@ _arguments -C -s "$args[@]" '*:files:->files' && ret=0 case $state in owner) if [[ $service = chgrp ]] || compset -P '*[:.]'; then - if (( EGID && $+commands[groups] )); then # except for root + if (( EGID && $+commands[groups] && ! $+funcstack[(r)_sudo] )); then # except for root _wanted groups expl 'group' compadd $(groups) && return 0 fi _groups && ret=0