Path to this page:
Subject: CVS commit: pkgsrc/textproc/grep
From: Wen Heping
Date: 2017-01-30 05:46:13
Message id: 20170130044613.4717BFBA6@cvs.NetBSD.org
Log Message:
Update to 2.27
Upstream changes:
* Noteworthy changes in release 2.27 (2016-12-06) [stable]
** Bug fixes
grep no longer reports a false match in a multibyte, non-UTF8 locale
like zh_CN.gb18030, with a regular expression like ".*7" that just
happens to match the 4-byte representation of gb18030's \uC9, the
final byte of which is the digit "7".
[bug introduced in grep-2.19]
grep by default now reads all of standard input if it is a pipe,
even if this cannot affect grep's output or exit status. This works
better with nonportable scripts that run "PROGRAM | grep PATTERN
>/dev/null" where PROGRAM dies when writing into a broken pipe.
[bug introduced in grep-2.26]
grep no longer mishandles ranges in nontrivial unibyte locales.
[bug introduced in grep-2.26]
grep -P no longer attempts multiline matches. This works more
intuitively with unusual patterns, and means that grep -Pz no longer
rejects patterns containing ^ and $ and works when combined with -x.
[bugs introduced in grep-2.23] A downside is that grep -P is now
significantly slower, albeit typically still faster than pcregrep.
grep -m0 -L PAT FILE now outputs "FILE". [bug introduced in grep-2.5]
To output ':' and tab-align the following character C, grep -T no
longer outputs tab-backspace-':'-C, an approach that has problems if
run inside an Emacs shell window. [bug introduced in grep-2.5.2]
grep -T now uses worst-case widths of line numbers and byte offsets
instead of guessing widths that might not work with larger files.
[bug introduced in grep-2.5.2]
grep's use of getprogname no longer causes a build failure on HP-UX.
** Improvements
grep no longer reads the input in a few more cases when it is easy
to see that matching cannot succeed, e.g., 'grep -f /dev/null'.
* Noteworthy changes in release 2.26 (2016-10-02) [stable]
** Bug fixes
Grep no longer omits output merely because it follows an output line
suppressed due to encoding errors. [bug introduced in grep-2.21]
In the Shift_JIS locale, grep no longer mistakenly matches in the
middle of a multibyte character. [bug present since "the beginning"]
** Improvements
grep can be much faster now when standard output is /dev/null.
grep -F is now typically much faster when many patterns are given,
as it now uses the Aho-Corasick algorithm instead of the
Commentz-Walter algorithm in that case.
grep -iF is typically much faster in a multibyte locale, if the
pattern and its case counterparts contain only single byte characters.
grep with complicated expressions (e.g., back-references) and without
-i now uses the regex fastmap for better performance.
In multibyte locales, grep now handles leading "." in patterns more
efficiently.
grep now prints a "FILENAME:LINENO: " prefix when diagnosing an
invalid regular expression that was read from an '-f'-specified file.
* Noteworthy changes in release 2.25 (2016-04-21) [stable]
** Bug fixes
In the C or POSIX locale, grep now treats all bytes as valid
characters even if the C runtime library says otherwise. The
revised behavior is more compatible with the original intent of
POSIX, and the next release of POSIX will likely make this official.
[bug introduced in grep-2.23]
grep -Pz no longer mistakenly diagnoses patterns like [^a] that use
negated character classes. [bug introduced in grep-2.24]
grep -oz now uses null bytes, not newlines, to terminate output lines.
[bug introduced in grep-2.5]
** Improvements
grep now outputs details more consistently when reporting a write error.
E.g., "grep: write error: No space left on device" rather than just
"grep: write error".
Files: