From: Junio C Hamano <gitster@pobox•com>
To: Johannes Schindelin <Johannes.Schindelin@gmx•de>
Cc: Jonathan Nieder <jrnieder@gmail•com>,
Stepan Kasal <kasal@ucw•cz>,
GIT Mailing-list <git@vger•kernel.org>,
msysGit <msysgit@googlegroups•com>
Subject: Re: [PATCH] git grep -O -i: if the pager is 'less', pass the '-i' option
Date: Thu, 15 May 2014 12:48:48 -0700 [thread overview]
Message-ID: <xmqqha4qesbj.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <alpine.DEB.1.00.1405151943310.14982@s15462909.onlinehome-server.info> (Johannes Schindelin's message of "Thu, 15 May 2014 19:44:08 +0200 (CEST)")
Johannes Schindelin <Johannes.Schindelin@gmx•de> writes:
>> Jonathan Nieder <jrnieder@gmail•com> writes:
>>
>> >>> + if (opt.ignore_case && !strcmp("less", pager))
>> >>> + string_list_append(&path_list, "-i");
>> >>
>> >> I have a feeling that this goes against the recent trend of not
>> >> mucking with the expectation of the users on their pagers, if I
>> >> recall correctly the arguments for dropping S from the default given
>> >> to an unconfigured LESS environment variable.
>> >
>> > It's just missing an explanation.
>> > ...
>> > (That's -I, not -i, because it ought to work even when the pattern
>> > contains capital letters.)
>>
>> Spot on. The change, especially with "-I", makes sense.
>
> Except that it was not tested with -I. If you change it that way and it
> stops working on Windows, it's useless to me.
That is all true, and I didn't test on Windows, but it seems that
the feature is very old in the upstream that we can rely on, so
let's take Jonathan's explanation and queue somethink like this.
-- >8 --
From: Johannes Schindelin <johannes.schindelin@gmx•de>
Date: Tue, 8 Feb 2011 00:17:24 -0600
Subject: [PATCH] git grep -O -i: if the pager is 'less', pass the '-I' option
When <command> happens to be the magic string "less", today
git grep -O<command> -e<pattern>
helpfully passes +/<pattern> to less so you can navigate through
the results within a file using the n and shift+n keystrokes.
Alas, that doesn't do the right thing for a case-insensitive match,
i.e.
git grep -i -O<command> -e<pattern>
For that case we should pass --IGNORE-CASE to "less" so that n and
shift+n can move between results ignoring case in the pattern.
The original patch came from msysgit and used "-i", but that was not
due to lack of support for "-I" but it merely overlooked that it
ought to work even when the pattern contains capital letters.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx•de>
Signed-off-by: Stepan Kasal <kasal@ucw•cz>
Helped-by: Jonathan Nieder <jrnieder@gmail•com>
Signed-off-by: Junio C Hamano <gitster@pobox•com>
---
builtin/grep.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/builtin/grep.c b/builtin/grep.c
index 63f8603..c0573d0 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -876,6 +876,9 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
if (len > 4 && is_dir_sep(pager[len - 5]))
pager += len - 4;
+ if (opt.ignore_case && !strcmp("less", pager))
+ string_list_append(&path_list, "-I");
+
if (!strcmp("less", pager) || !strcmp("vi", pager)) {
struct strbuf buf = STRBUF_INIT;
strbuf_addf(&buf, "+/%s%s",
--
2.0.0-rc3-419-gdb851f2
--
--
*** Please reply-to-all at all times ***
*** (do not pretend to know who is subscribed and who is not) ***
*** Please avoid top-posting. ***
The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.
You received this message because you are subscribed to the Google
Groups "msysGit" group.
To post to this group, send email to msysgit@googlegroups•com
To unsubscribe from this group, send email to
msysgit+unsubscribe@googlegroups•com
For more options, and view previous threads, visit this group at
http://groups.google.com/group/msysgit?hl=en_US?hl=en
---
You received this message because you are subscribed to the Google Groups "msysGit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups•com.
For more options, visit https://groups.google.com/d/optout.
next prev parent reply other threads:[~2014-05-15 19:56 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-14 15:50 [PATCH] git grep -O -i: if the pager is 'less', pass the '-i' option Stepan Kasal
2014-05-14 17:57 ` Junio C Hamano
2014-05-14 18:15 ` Matthieu Moy
2014-05-14 18:26 ` Jonathan Nieder
2014-05-14 18:33 ` Junio C Hamano
2014-05-15 17:44 ` Johannes Schindelin
2014-05-15 17:53 ` Jonathan Nieder
2014-05-15 19:01 ` Johannes Schindelin
2014-05-15 19:48 ` Junio C Hamano [this message]
2014-05-14 18:35 ` Stepan Kasal
2014-05-14 19:07 ` Jeff King
2014-05-15 17:46 ` Johannes Schindelin
2014-05-15 17:56 ` Jonathan Nieder
2014-05-15 19:18 ` Jeff King
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=xmqqha4qesbj.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox$(echo .)com \
--cc=Johannes.Schindelin@gmx$(echo .)de \
--cc=git@vger$(echo .)kernel.org \
--cc=jrnieder@gmail$(echo .)com \
--cc=kasal@ucw$(echo .)cz \
--cc=msysgit@googlegroups$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox