8ff8cbe986
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". |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |