[ANNOUNCEMENT] Test: grep 3.8 (TEST)

Cygwin grep Co-Maintainer Brian.Inglis@SystematicSW.ab.ca
Sun Sep 4 20:08:03 GMT 2022


The following package has been uploaded for testing to the Cygwin distribution:

* grep	3.8

GNU grep searches one or more input files for lines containing a match
to a specified pattern. By default, grep outputs the matching lines. The
GNU implementation includes several useful extensions over POSIX.

For more information see the project home pages:

	https://www.gnu.org/software/grep/
	https://sv.gnu.org/projects/grep/

For changes since the previous Cygwin release please see below or read
/usr/share/doc/grep/NEWS after installation; for complete details see:

	/usr/share/doc/grep/ChangeLog
	https://git.sv.gnu.org/gitweb/?p=grep.git;a=log;h=refs/tags/v3.8

The change note below states that egrep and fgrep are deprecated
obsolescent commands, will be dropped in future, and from this release
until then, every use will show a stderr warning message, reminding you
how to change your commands and scripts:

	$ egrep ...
	egrep: warning: egrep is obsolescent; using grep -E
	...
	$ fgrep ...
	fgrep: warning: fgrep is obsolescent; using grep -F
	...

Other usages documented below also now generate stderr warning or
error messages.

This is a test release due to those breaking interface changes, and
will not be released as current stable for a few weeks, once we
understand any impact on current packages and systems.

All users worried about breakage should install this package in a test
environment and validate whether it breaks their current systems.

Package maintainers should check that their installed packages and
scripts do not generate, issue, or use the deprecated obsolescent
commands or features, and any impacts on their future builds.
Many configure, ltmain.sh, and test scripts contain egrep tests
that may produce stderr warning messages.
So far, I have only seen egrep warning messages from *cygport*.
Please let me know directly if any of your packages are impacted,
and you can not mitigate any impacts in a few weeks, and how long
until you expect to be able to mitigate any impacts.
Please also CC cygwin-apps for others, as my ISP has blocked it!


Noteworthy changes in release 3.8 (2022-09-02) [stable]

Changes in behavior

* The -P option is now based on PCRE2 instead of the older PCRE,
  thanks to code contributed by Carlo Arenas.

* The egrep and fgrep commands, which have been deprecated since
  release 2.5.3 (2007), now warn that they are obsolescent and should
  be replaced by grep -E and grep -F.

* The confusing GREP_COLOR environment variable is now obsolescent.
  Instead of GREP_COLOR='xxx', use GREP_COLORS='mt=xxx'. grep now
  warns if GREP_COLOR is used and is not overridden by GREP_COLORS.
  Also, grep now treats GREP_COLOR like GREP_COLORS by silently
  ignoring it if it attempts to inject ANSI terminal escapes.

* Regular expressions with stray backslashes now cause warnings, as
  their unspecified behavior can lead to unexpected results.
  For example, '\a' and 'a' are not always equivalent.
  Similarly, regular expressions or subexpressions that start with a
  repetition operator now also cause warnings due to their unspecified
  behavior; for example, *a(+b|{1}c) now has three reasons to warn.
  The warnings are intended as a transition aid; they are likely to be
  errors in future releases.

* Regular expressions like [:space:] are now errors even if
  POSIXLY_CORRECT is set, since POSIX now allows the GNU behavior.

Bug fixes

* In locales using UTF-8 encoding, the regular expression '.' no
  longer sometimes fails to match Unicode characters U+D400 through
  U+D7FF (some Hangul Syllables, and Hangul Jamo Extended-B) and
  Unicode characters U+108000 through U+10FFFF (half of Supplemental
  Private Use Area plane B).
  [bug introduced in grep 3.4]

* The -s option no longer suppresses "binary file matches" messages.
  [Bug#51860 introduced in grep 3.5]

Documentation improvements

* The manual now covers unspecified behavior in patterns like \x, (+),
  and range expressions outside the POSIX locale.



More information about the Cygwin mailing list