grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data
commitae39ba431ab861548eb60b4bd2e1d8b8813db76f
authorHamza Mahfooz <someguy@effective-light.com>
Fri, 15 Oct 2021 16:13:56 +0000 (15 12:13 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 15 Oct 2021 19:45:39 +0000 (15 12:45 -0700)
treea2c09de1515827b3a657064b689a5280f8b51c8b
parent6a5c337922a5221d1f6d025d84e18b526df9944c
grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data

If we attempt to grep non-ascii log message text with an ascii pattern, we
run into the following issue:

    $ git log --color --author='.var.*Bjar' -1 origin/master | grep ^Author
    grep: (standard input): binary file matches

So, to fix this teach the grep code to use PCRE2_UTF, as long as the log
output is encoded in UTF-8.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Hamza Mahfooz <someguy@effective-light.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
grep.c
t/t7812-grep-icase-non-ascii.sh