Upgraded: grep 3.8-2
Cygwin grep Co-Maintainer
Brian.Inglis@SystematicSW.ab.ca
Sun Nov 13 21:50:51 GMT 2022
The following package has been upgraded in the Cygwin distribution:
* grep 3.8-2
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/
This Cygwin release suppresses the egrep and fgrep warning messages, but
developers and maintainers should rigorously remove all such usages from
their practices and scripts, as those commands could be dropped, or any
warning messages could be treated as fatal errors, in future.
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 e.g.
grep: warning: * at start of expression
grep: warning: ? at start of expression
grep: warning: + at start of expression
grep: warning: {...} at start of expression
grep: warning: stray \ before <CHAR>
grep: warning: stray \ before unprintable character
grep: warning: stray \ before white space
Please CC any issues also to the maintainer due to ISP blocking.
This package was released as test a few weeks ago to allow any impacts
to be evaluated and mitigated.
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-announce
mailing list