Subject: bug#22899: new snapshot available: grep-2.23.7-9e28

From: Jim Meyering <[email-masked]>
Date: Thu, 3 Mar 2016 17:57:05 -0800

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 $