From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11656 invoked by alias); 18 Oct 2013 15:33:25 -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: 31840 Received: (qmail 26675 invoked from network); 18 Oct 2013 15:33:09 -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=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 From: Bart Schaefer Message-id: <131018083242.ZM8579@torch.brasslantern.com> Date: Fri, 18 Oct 2013 08:32:42 -0700 In-reply-to: <20131018144022.GA61854@mbp.Speedport_W_700V> Comments: In reply to luc "Bug in completion for make" (Oct 18, 4:40pm) References: <20131018144022.GA61854@mbp.Speedport_W_700V> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: luc , zsh-workers@zsh.org Subject: Re: Bug in completion for make MIME-version: 1.0 Content-type: text/plain; charset=us-ascii On Oct 18, 4:40pm, luc wrote: } } The pattern used in _make-parseMakefile (in case ... } esac) is ([[:alnum:]][^$TAB:=]#:[^=]*) . I do not understand why this } matches a line starting with a TAB-character. It's not the pattern that's the problem, it's the use of the "read" builtin, which is stripping off the leading tab because a tab is in the default value of $IFS. We've had this come up elsewhere in completion functions. diff --git a/Completion/Unix/Command/_make b/Completion/Unix/Command/_make index 7b4c224..e5a513f 100644 --- a/Completion/Unix/Command/_make +++ b/Completion/Unix/Command/_make @@ -59,7 +59,7 @@ _make-expandVars() { } _make-parseMakefile () { - local input var val target dep TAB=$'\t' dir=$1 tmp + local input var val target dep TAB=$'\t' dir=$1 tmp IFS= while read input do