From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22264 invoked from network); 10 Nov 2004 17:28:45 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 10 Nov 2004 17:28:45 -0000 Received: (qmail 90340 invoked from network); 10 Nov 2004 17:28:39 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 10 Nov 2004 17:28:39 -0000 Received: (qmail 10721 invoked by alias); 10 Nov 2004 17:28:24 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 20551 Received: (qmail 10705 invoked from network); 10 Nov 2004 17:28:21 -0000 Received: from unknown (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 10 Nov 2004 17:28:21 -0000 Received: (qmail 89714 invoked from network); 10 Nov 2004 17:27:22 -0000 Received: from dsl3-63-249-88-2.cruzio.com (HELO binome.blorf.net) (63.249.88.2) by a.mx.sunsite.dk with SMTP; 10 Nov 2004 17:27:20 -0000 Received: by binome.blorf.net (Postfix, from userid 1000) id A26376BD3; Wed, 10 Nov 2004 09:27:18 -0800 (PST) Date: Wed, 10 Nov 2004 09:27:18 -0800 From: Wayne Davison To: Clint Adams Cc: zsh-workers@sunsite.dk Subject: Re: [lunz@falooley.org: Bug#279417: zsh: "make" completion issues "bad option" warnings for some Makefiles] Message-ID: <20041110172718.GA31676@blorf.net> References: <20041102231304.GA15509@scowler.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20041102231304.GA15509@scowler.net> User-Agent: Mutt/1.5.6+20040907i X-Spam-Checker-Version: SpamAssassin 2.63 on a.mx.sunsite.dk X-Spam-Level: X-Spam-Status: No, hits=-0.0 required=6.0 tests=BAYES_44 autolearn=no version=2.63 X-Spam-Hits: -0.0 On Tue, Nov 02, 2004 at 06:13:04PM -0500, Clint Adams wrote: > This prevents the warnings, though I don't know if there's a deeper > problem occurring here. Your fix looks right to me for the root of the problem. One other potential parsing problem that occurred to me while looking at this was that "$$" wasn't being interpreted properly. The following patch should make it better (though not 100% foolproof, it should hopefully be adequate for our purposes). --- Completion/Unix/Command/_make 2 Nov 2004 23:26:42 -0000 1.12 +++ Completion/Unix/Command/_make 10 Nov 2004 17:18:53 -0000 @@ -22,6 +22,10 @@ expandVars() { close='' var=${(s::)var[1]} ;; + (\$*) + # avoid parsing second $ in $$ + tmp=${tmp#\$} + continue (*) continue ;; @@ -38,7 +42,7 @@ expandVars() { ;; esac else - print -- $ret + print -- ${ret//\$\$/\$} return fi done ..wayne..