From: "Daniel Shahaf" <d.s@daniel.shahaf.name>
To: zsh-workers@zsh.org
Subject: Re: Bug + patch: `zstyle ':completion:*' menu select=long-list` fails to start menu selection
Date: Fri, 12 Mar 2021 14:14:12 +0000 [thread overview]
Message-ID: <d6ecf4ca-d4e4-41e3-a57f-00b5b1f15ff5@www.fastmail.com> (raw)
In-Reply-To: <1084110603.423549.1615556176994@mail2.virginmedia.com>
Peter Stephenson wrote on Fri, 12 Mar 2021 13:36 +00:00:
>
> > On 12 March 2021 at 13:11 Marlon Richert <marlon.richert@gmail.com> wrote:
> >
> >
> > I found the culprit: I had
> >
> > export GREP_OPTIONS='--color=always'
> >
> > in my `.zshrc` file and that mangled the .mdd file names.
>
> It's probably worth having the following. It doesn't cover all the
> possible cases where you can get into trouble, but it's a useful
> blanket for the standard case where everything is done immediately
> from configure.
>
I'm not sure I agree.
- This seems to be a cases of "hard cases make bad law". Setting
--color=always in the environment will break any script that expects
grep(1)'s standard semantics, not just configure. The patch just
papers over the problem.
- We shouldn't second-guess the user. If the user has GREP_OPTIONS set
in the environment, that might actually be needed in order to have
grep(1) behave correctly. What if some system uses GREP_OPTIONS to
make its grep(1) tool behave POSIX compatibly?
- If this fix is needed, we should send it to autoconf upstream to be
incorporated into AC_PROG_GREP.
Instead, I propose:
- Audit configure.ac and make sure we use $GREP rather than grep.
Perhaps push this into the makefiles and build scripts too.
- Consider issueing a notice if GREP_OPTIONS is set, or proposing to
upstream to have AC_PROG_GREP do so.
- Sending a documentation patch to grep(1)'s man page to point out that
using --color=always globally or on the left hand side of a pipe is
inadvisable.
Makes sense?
Cheers,
Daniel
> diff --git a/configure.ac b/configure.ac
> index 16dafac05..41006d67d 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -30,6 +30,9 @@ AC_CONFIG_SRCDIR([Src/zsh.h])
> AC_PREREQ([2.69])
> AC_CONFIG_HEADER(config.h)
>
> +dnl Configure uses grep widely, make sure output is uncorrupted.
> +unset GREP_OPTIONS
> +
> dnl What version of zsh are we building ?
> . ${srcdir}/Config/version.mk
> echo "configuring for zsh $VERSION"
>
>
next prev parent reply other threads:[~2021-03-12 14:15 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-04 8:56 Marlon Richert
2021-03-04 20:17 ` Daniel Shahaf
2021-03-04 22:26 ` Marlon Richert
2021-03-07 17:22 ` Daniel Shahaf
2021-03-09 17:01 ` Marlon Richert
2021-03-09 21:19 ` Daniel Shahaf
2021-03-09 21:48 ` Bart Schaefer
2021-03-10 7:21 ` Marlon Richert
2021-03-10 18:50 ` Bart Schaefer
2021-03-11 2:17 ` Bart Schaefer
2021-03-11 7:33 ` Marlon Richert
2021-03-11 18:22 ` Bart Schaefer
2021-03-12 13:11 ` Marlon Richert
2021-03-12 13:36 ` Peter Stephenson
2021-03-12 14:14 ` Daniel Shahaf [this message]
2021-03-12 20:53 ` Mikael Magnusson
[not found] ` <884654866.425858.1615560127191@mail2.virginmedia.com>
2021-03-13 13:40 ` Daniel Shahaf
2021-03-13 17:38 ` Peter Stephenson
2021-03-13 18:08 ` Bart Schaefer
2021-03-14 7:39 ` dana
2021-03-14 9:30 ` Marlon Richert
2021-03-17 18:01 ` dana
2021-03-25 0:46 ` Daniel Shahaf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d6ecf4ca-d4e4-41e3-a57f-00b5b1f15ff5@www.fastmail.com \
--to=d.s@daniel.shahaf.name \
--cc=zsh-workers@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).