From owner-freebsd-current@FreeBSD.ORG Tue Aug 9 11:27:41 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B3B9D1065675; Tue, 9 Aug 2011 11:27:41 +0000 (UTC) (envelope-from ttsestt@gmail.com) Received: from mail-ew0-f54.google.com (mail-ew0-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id E6E308FC1B; Tue, 9 Aug 2011 11:27:39 +0000 (UTC) Received: by ewy1 with SMTP id 1so1263412ewy.13 for ; Tue, 09 Aug 2011 04:27:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=vZKkM72PlbPw+0G+LSTdllL+TnmkIYu+k7YL1cBxyUc=; b=ah9vBqMEPQ0qCXLMj3Nb6Nev1uE74G3uLgqkfGwWeWvvzAneFpIuAVqxRCRlyD3BEg sV+pcPMTMoBHp0uUa8X8i7T0SXQaqFl3L63tM83eml2Tb9PnQbafdm/dmVx82DIJI1q7 GbbiCr4iTtS8pJtzlMIzpTU4IZ3WL1JAU3eKU= Received: by 10.213.112.202 with SMTP id x10mr1182163ebp.20.1312889258874; Tue, 09 Aug 2011 04:27:38 -0700 (PDT) Received: from localhost (chomsky.torservers.net [77.247.181.162]) by mx.google.com with ESMTPS id e9sm2981963eeb.20.2011.08.09.04.27.36 (version=SSLv3 cipher=OTHER); Tue, 09 Aug 2011 04:27:38 -0700 (PDT) From: Test Rat To: Alexander Best References: <20110809081842.GA64643@freebsd.org> <86y5z2gakw.fsf@gmail.com> <20110809103539.GA79694@freebsd.org> Date: Tue, 09 Aug 2011 15:27:30 +0400 In-Reply-To: <20110809103539.GA79694@freebsd.org> (Alexander Best's message of "Tue, 9 Aug 2011 10:35:39 +0000") Message-ID: <864o1qg6zh.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain Cc: freebsd-current@freebsd.org, Gabor Kovesdan Subject: Re: issues with bsdgrep and lang/go X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Aug 2011 11:27:41 -0000 Alexander Best writes: > On Tue Aug 9 11, Test Rat wrote: >> Alexander Best writes: >> >> [...] >> > gmake -C 6g install >> > gmake[1]: Entering directory `/usr/ports/lang/go/work/go-20110515/src/cmd/6g' >> > quietgcc -I"/usr/ports/lang/go/work/go-20110515/include" -ggdb -O2 -c "/usr/ports/lang/go/work/go-20110515/src/cmd/6g/list.c" >> > egrep: : error: .Each undeclared identifier|: error: for each function >> > it appears|is dangerous, better use|is almost always misused|: In >> > function |: At top level: |In file included from| from: No such file >> > or directory >> >> Do you use GREP_OPTIONS? > > otaku% type $GREP_OPTIONS > otaku% echo foo | env -i GREP_OPTIONS= bsdgrep foo > env: bsdgrep: No such file or directory > otaku% Actually, it's lang/go that seems to set the environment variable. $ fgrep -r GREP_OPTIONS $(make -V WRKSRC) .../src/cmd/gc/mkopnames:export GREP_OPTIONS="" .../src/Make.inc:GREP_OPTIONS:= .../src/Make.inc:export LANG LC_ALL LC_CTYPE GREP_OPTIONS GREP_COLORS .../src/Make.inc: @echo export GREP_OPTIONS="$(GREP_OPTIONS)" .../test/run:unset GREP_OPTIONS # in case user has a non-standard set .../doc/devel/weekly.html:* build: clear custom variables like GREP_OPTIONS, Try below workaround. It also makes empty GREP_COLOR behave like gnugrep(1). %% Index: usr.bin/grep/grep.c =================================================================== --- usr.bin/grep/grep.c (revision 224705) +++ usr.bin/grep/grep.c (working copy) @@ -304,7 +304,7 @@ init_color(const char *d) char *c; c = getenv("GREP_COLOR"); - return (c != NULL ? c : d); + return (c != NULL && c[0] != '\0' ? c : d); } int @@ -360,7 +360,7 @@ main(int argc, char *argv[]) /* support for extra arguments in GREP_OPTIONS */ eargc = 0; - if (eopts != NULL) { + if (eopts != NULL && eopts[0] != '\0') { char *str; /* make an estimation of how many extra arguments we have */ @@ -373,6 +373,7 @@ main(int argc, char *argv[]) eargc = 0; /* parse extra arguments */ while ((str = strsep(&eopts, " ")) != NULL) + if(*str != '\0') eargv[eargc++] = grep_strdup(str); aargv = (char **)grep_calloc(eargc + argc + 1, %%