I'm ready to make a new bug-fix release of grep, so am making this test release. I plan to release grep-2.24 within the next few days, so if you can build and test, please let us know how that goes.
This release (so soon after 2.23) is prompted by the discovery of two bugs related to the --null-data (-z) option. These bugs were introduced in 2010 and 2002 respectively. Here are the tarballs: grep snapshot: http://meyering.net/grep/grep-ss.tar.xz 1.3 MB http://meyering.net/grep/grep-ss.tar.xz.sig http://meyering.net/grep/grep-2.23.7-9e28.tar.xz Here are the new NEWS entries: ======================== ** Bug fixes grep -z would match strings it should not. To trigger the bug, you'd have to use a regular expression including an anchor (^ or $) and a feature like a range or a backreference, causing grep to forego its DFA matcher and resort to using re_search. With a multibyte locale, that matcher could mistakenly match a string containing a newline. For example, this command: printf 'a\nb\0' | LC_ALL=en_US.utf-8 grep -z '^[a-b]*b' would mistakenly match and print all four input bytes. After the fix, there is no match, as expected. [bug introduced in grep-2.7] grep -Pz now diagnoses attempts to use patterns containing ^ and $, instead of mishandling these patterns. This problem seems to be inherent to the PCRE API; removing this limitation is on PCRE's maint/README wish list. Patterns can continue to match literal ^ and $ by escaping them with \ (now needed even inside [...]). [bug introduced in grep-2.5] ============================== Changes in grep since v2.23: Jim Meyering (6): maint: post-release administrivia maint: add a check-very-expensive target tests: convert "cmd && fail=1" to "returns_ 1 cmd || fail=1" grep -z: avoid erroneous match with regexp anchor and \n in text tests: test cleanup maint: add dist-check.mk Paul Eggert (1): grep: -Pz is incompatible with ^ and $