From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29741 invoked by alias); 20 Feb 2017 11:39:39 -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: 40597 Received: (qmail 12195 invoked from network); 20 Feb 2017 11:39:39 -0000 X-Qmail-Scanner-Diagnostics: from nm31-vm5.bullet.mail.ir2.yahoo.com 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(212.82.97.92):SA:0(-3.3/5.0):. Processed in 0.751758 secs); 20 Feb 2017 11:39:39 -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=-3.3 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_PASS,T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: okiddle@yahoo.co.uk X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.mail.yahoo.com designates 212.82.97.92 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1487590380; bh=LaMtglg/ZeW1G0v5IlXkJ2735S03yLR/Wr3+g0t3/vU=; h=In-reply-to:From:References:To:Subject:Date:From:Subject; b=W2EEzPJ249LBCpdAfg0MI/WAisZWjntev/t4fdbg+1iSDoG7vKTj8evkzUViJ3Uf+m1NktlXIN+A7sJ/yFWatwDncW731+DzJf9DfJsE3atO5JRxMNxAHfkhSzpPWq0bSVTeoROO1/bGwPhSZgUzowQwCfVi5zdXKA26gWpoRXs4x8DeQXqOjti2BGk/qpxfkHU5j3vm6gnVNgwn51tfODL7EX7hT0gVn5+FZWo+rJXI5VDBi3uOwFjxT2LodXwP8l667NvScZwaKfnKT/hUXtekurmYq9Yo6xsxz5kNhi8A5XZXbCE6sz/ERNTzHmSaOgtAhwJW5K62KgqKKgQ9Pw== X-Yahoo-Newman-Id: 560015.93929.bm@smtp107.mail.ir2.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: BynFy.gVM1mmoQuah00n345wxxB8vmTnOpWCnsNm0pPS5It oLDSMdlvhU0ycubFthujeqqXTnqKk5SpVtJHqoeskTMqxbZAkh6XChyzc7g. RsxsLoE2tHSOn54OODFDS7ssi2HkXNRmS5Qk0FhX5rxlvheyOFcpXIaJiQ7y 9CYPff5cRces4LrKWl62.thn.euVQUs_2rRyMD9DLY6pwu8rAhf8OMQMtnyl jtKa8WnOw18UeJdCkjyztpX3OAA74I4sGVoGCismCKEhrnYaklmtncC9756o Spu7MglTi_lixau_iaspfe9YgIuU5YcqdP8vrcnppwDHDTPDDl1qQvanb4Vo nOGyY.1bCk_P5C5gXe0toDyk_WjbbIPyg2s_g5Tm9jpkk4PiY7a_rRt329cj HbHjRhiVL_nvRhbEiLg9lipuMqGIad0iWMMYcRSiDQQ1jIxo0CBhB5nmtZw4 2w7ETN04hruZi7tR5coeJURSao_KgHE0J8941hSmg02FppZz1Wozs8.aC_Wf EtPmX6uKK1zcs7Dmt2q4uWZJkKLPlXh93HMCjPK36 X-Yahoo-SMTP: opAkk_CswBAce_kJ3nIPlH80cJI- In-reply-to: <84fc5ed6-c65f-9164-6f02-ce18f769b0bb@gmx.com> From: Oliver Kiddle References: <84fc5ed6-c65f-9164-6f02-ce18f769b0bb@gmx.com> To: zsh-workers@zsh.org Subject: Re: problem with _sysrc in zsh 5.3 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <22059.1487590379.1@thecus.kiddle.eu> Date: Mon, 20 Feb 2017 12:32:59 +0100 Message-ID: <22060.1487590379@thecus.kiddle.eu> Eric Cook wrote: > > # sysrc > _describe:21: bad option: -C > (eval):1: bad substitution > (eval):1: not an identifier: [_-]=* r:|=*[@] > > This wasn't an problem with 5.2 from what i remember and when i move _value's > -w option to appear after -C, the error doesn't appear. > > I also have a few personal completers that also calls _values -w -C ... > but luckly nothing else in Completion/* does it. > > What change caused this? 38641. It didn't allow for _values options coming before -C or -O. Sorry about that. The use of -C in _sysrc seems fairly pointless given that it isn't used with any states. It probably could attempt to complete some values. Maybe just YES/NO for any configuration variable that ends in _enable. Oliver diff --git a/Completion/BSD/Command/_sysrc b/Completion/BSD/Command/_sysrc index 651c18b89..246d73bd3 100644 --- a/Completion/BSD/Command/_sysrc +++ b/Completion/BSD/Command/_sysrc @@ -76,9 +76,9 @@ _sysrc() { if (( $#rc_conf_vars )); then if [[ $opt == N ]]; then - _values -w -C variable ${^rc_conf_vars%%\[*}'::value' && ret=0 + _values -w variable ${^rc_conf_vars%%\[*}'::value' && ret=0 else - _values -w -C variable ${^rc_conf_vars}'::value' && ret=0 + _values -w variable ${^rc_conf_vars}'::value' && ret=0 fi fi fi diff --git a/Completion/Base/Utility/_values b/Completion/Base/Utility/_values index c510b4cc0..6e38e00f4 100644 --- a/Completion/Base/Utility/_values +++ b/Completion/Base/Utility/_values @@ -1,13 +1,14 @@ #autoload -local subopts opt usecc garbage +local subopts opt usecc garbage keep subopts=() -zparseopts -D -a garbage C=usecc O:=subopts M: J: V: 1 2 n F: X: +zparseopts -D -a garbage s+:=keep S+:=keep w+=keep C=usecc O:=subopts \ + M: J: V: 1 2 n F: X: (( $#subopts )) && subopts=( "${(@P)subopts[2]}" ) -if compvalues -i "$@"; then +if compvalues -i "$keep[@]" "$@"; then local noargs args opts descr action expl sep argsep subc test='*' local oldcontext="$curcontext"