From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27431 invoked by alias); 1 Nov 2017 21:11:51 -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: List-Unsubscribe: X-Seq: 41971 Received: (qmail 18009 invoked by uid 1010); 1 Nov 2017 21:11:51 -0000 X-Qmail-Scanner-Diagnostics: from park01.gkg.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(205.235.26.22):SA:0(-1.2/5.0):. Processed in 1.157794 secs); 01 Nov 2017 21:11:51 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_SORBS_SPAM,RP_MATCHES_RCVD,SPF_PASS,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.1 X-Envelope-From: SRS0=Krkr=B7=yahoo.co.uk=okiddle@bounces.park01.gkg.net X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | X-Virus-Scanned: by amavisd-new at gkg.net Authentication-Results: amavisd4.gkg.net (amavisd-new); dkim=pass (2048-bit key) header.d=yahoo.co.uk X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1509570680; bh=4Zm9Xpn1SJyOAVb5YdIG87sf667dDTyqkbHP+9royTs=; h=From:To:Subject:Date:From:Subject; b=BSGqVDLzEl08oCvLtKoHcn0w2rO+75sOMyMtFOsmSvteBNhUlCdbFg68m6OPunUKoWRa4nB3J+AnXw0DSlaXKjT7tCYGl6PuR2ZaiCQ+U+NTgAokR7OQ3IGmF8Drqz8dW1gDTu5niTXPBNqbQEDXZCrOp6nW6sRPmCA4RrdcFXh3wn4J1ImB4zaRBnoKQH35sWizSsrciqwFs7bN2YNUDFMj0/U6XMlJdru9sJRPv1CCCvzKNe3RlzPo9dgSa8N0nVLsHtk8yNGfQSyqSBdTsu9cqohooFE25TUSxlwLLfVGRO3rLk+fBG5TuGEIL7dEfqLwRlhdjL9yarbIMwlP6g== X-YMail-OSG: jOfpNkgVM1kwuwgtJ3BzUa8savT4jgQ4rvGq0GAB02I7LQHuWH4U.7yjPx7fjJL 8ec9KxlKqN0rA91Gc0KSBm8YMFCButRILe_4WJudhJgicQVNfnpkAF25Y4KPSIfI1reRilGBRCxW VO8JptRebm7VD8QVjkrqMPobhaJBUJVE7mGcjEsdTS2klhqqKgt9ewDF1DG_Bzf15yGj2bOFLu0l ZTE.0SzVtmtt9JVlfpD7uBTByacDAClOULmnm6fTqeOQBJfuaC7ITs6kY8o0CNEWe5Q59VWNQOUD Tbh9QV1SfwSq4aN5RVjcwkqzFYa0feyA_MO82nNsxgGTds8C7B7r5Za4LddCJBQxJ949wtEN4dcO 5e9PQBF5v3bBuHrKGm3g1BboD76dn_cOA5zrW7Pn7klZaGrWVm9TRdovMgt96pxm16vlgsZVtDS4 S7Xn77sucxFusmbRd1hD.d5NFdM.n0sU466SjbuG6XWqzOYIqRb1FBZn71yigtq4GtP7XWuaL0_r 0eftLp2W4VLY2qnfPi.myd.Oumcbrrjjsw.3U X-Yahoo-Newman-Id: 914254.87600.bm@smtp138.mail.ir2.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: jOfpNkgVM1kwuwgtJ3BzUa8savT4jgQ4rvGq0GAB02I7LQH uWH4U.7yjPx7fjJL8ec9KxlKqN0rA91Gc0KSBm8YMFCButRILe_4WJudhJgi cQVNfnpkAF25Y4KPSIfI1reRilGBRCxWVO8JptRebm7VD8QVjkrqMPobhaJB UJVE7mGcjEsdTS2klhqqKgt9ewDF1DG_Bzf15yGj2bOFLu0lZTE.0SzVtmtt 9JVlfpD7uBTByacDAClOULmnm6fTqeOQBJfuaC7ITs6kY8o0CNEWe5Q59VWN QOUDTbh9QV1SfwSq4aN5RVjcwkqzFYa0feyA_MO82nNsxgGTds8C7B7r5Za4 LddCJBQxJ949wtEN4dcO5e9PQBF5v3bBuHrKGm3g1BboD76dn_cOA5zrW7Pn 7klZaGrWVm9TRdovMgt96pxm16vlgsZVtDS4S7Xn77sucxFusmbRd1hD.d5N FdM.n0sU466SjbuG6XWqzOYIqRb1FBZn71yigtq4GtP7XWuaL0_r0eftLp2W 4VLY2qnfPi.myd.Oumcbrrjjsw.3U X-Yahoo-SMTP: opAkk_CswBAce_kJ3nIPlH80cJI- From: Oliver Kiddle To: Zsh workers Subject: PATCH: correctly breaking out of tag loops MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <13361.1509570073.1@thecus.kiddle.eu> Date: Wed, 01 Nov 2017 22:01:13 +0100 Message-ID: <13362.1509570073@thecus.kiddle.eu> The tag-order style is not working for make completion to separate targets from variables (with call-command set). It turns out that it is not following the correct form for tag loops. The patch switches it to using _alternative. _make also uses compadd -Q for targets which I can't quite believe is correct but I'm not going to touch that. I also searched for other instances of this and found a couple: in _modutils and _zmodload. Oliver diff --git a/Completion/Linux/Command/_modutils b/Completion/Linux/Command/_modutils index 5aa4c9cc7..9a37fcae1 100644 --- a/Completion/Linux/Command/_modutils +++ b/Completion/Linux/Command/_modutils @@ -119,6 +119,7 @@ _modutils() { while _tags; do _requested files expl "module file" _files -g '*.ko(-.)' && ret=0 _requested modules expl module compadd -a modules && ret=0 + (( ret )) || break done ;; diff --git a/Completion/Unix/Command/_make b/Completion/Unix/Command/_make index a2ee9ecac..890ad1c83 100644 --- a/Completion/Unix/Command/_make +++ b/Completion/Unix/Command/_make @@ -287,14 +287,9 @@ _make() { compset -P 1 '*=' _value "$@" && ret=0 else - _tags targets variables - while _tags - do - _requested targets expl 'make targets' \ - compadd -Q -- $TARGETS && ret=0 - _requested variables expl 'make variables' \ - compadd -S '=' -F keys -- ${(k)VARIABLES} && ret=0 - done + _alternative \ + 'targets:make target:compadd -Q -a TARGETS' \ + 'variables:make variable:compadd -S = -F keys -k VARIABLES' && ret=0 fi esac diff --git a/Completion/Zsh/Command/_zmodload b/Completion/Zsh/Command/_zmodload index 31163eb72..3416d50c6 100644 --- a/Completion/Zsh/Command/_zmodload +++ b/Completion/Zsh/Command/_zmodload @@ -72,6 +72,7 @@ else _files -W module_path -g '*.(dll|s[ol]|bundle)(:r)' && ret=0 _requested aliases expl 'module alias' \ compadd "$suf[@]" -k 'modules[(R)alias*]' && ret=0 + (( ret )) || return 0 done return ret fi