grep - News
grep-2.11 released [stable]
Item posted by Jim Meyering <meyering> on Fri 02 Mar 2012 09:19:06 AM UTC.
This is to announce grep-2.11, a bug-fix release.
http://www.gnu.org/s/grep/
grep searches files for lines containing a match to a specified pattern
In just 2.5 months, we've seen more changes than in the five months
leading up to 2.10, addressing a surprising number of old bugs.
Special thanks to Paulo Bonzini and Paul Eggert for many fine patches.
See the NEWS below, or for a more complete summary of changes and
contributors, see:
http://git.sv.gnu.org/gitweb/?p=grep.git;a=shortlog;h=v2.11
or run this command from a git-cloned grep directory:
git shortlog v2.10..v2.11
As usual, we inherit many portability and robustness improvements
by using gnulib. To summarize its 340+ changes, run these commands
from a git-cloned grep directory:
git checkout v2.10
git submodule summary v2.11
Here are the compressed sources and a GPG detached signature[*]:
http://ftp.gnu.org/gnu/grep/grep-2.11.tar.xz
http://ftp.gnu.org/gnu/grep/grep-2.11.tar.xz.sig
Use a mirror for higher download bandwidth:
http://ftpmirror.gnu.org/grep/grep-2.11.tar.xz
http://ftpmirror.gnu.org/grep/grep-2.11.tar.xz.sig
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify grep-2.11.tar.xz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys 7FD9FCCB000BEEEE
and rerun the 'gpg --verify' command.
This release was bootstrapped with the following tools:
Autoconf 2.68b.1-36a2
Automake 1.11a
Gnulib v0.0-6972-g9a25aef
NEWS
* Noteworthy changes in release 2.11 (2012-03-02) [stable]
** New features
If no file operand is given, and a command-line -r or equivalent
option is given, grep now searches the working directory. Formerly
grep ignored the -r and searched standard input nonrecursively.
An -r found in GREP_OPTIONS does not have this new effect.
grep now supports color highlighting of matches on MS-Windows.
** Bug fixes
grep no longer dumps core on lines whose lengths do not fit in 'int'.
(e.g., lines longer than 2 GiB on a typical 64-bit host).
Instead, grep either works as expected, or reports an error.
An error can occur if not enough main memory is available, or if the
GNU C library's regular expression functions cannot handle such long lines.
[bug present since "the beginning"]
The -m, -A, -B, and -C options no longer mishandle context line
counts that do not fit in 'int'. Also, grep -c's counts are now
limited by the type 'intmax_t' (typically less than 2**63) rather
than 'int' (typically less than 2**31).
grep no longer silently suppresses errors when reading a directory
as if it were a text file. For example, "grep x ." now reports a
read error on most systems; formerly, it ignored the error.
[bug introduced in grep-2.5]
grep now exits with status 2 if a directory loop is found,
instead of possibly exiting with status 0 or 1.
[bug introduced in grep-2.3]
The -s option now suppresses certain input error diagnostics that it
formerly failed to suppress. These include errors when closing the
input, when lseeking the input, and when the input is also the output.
[bug introduced in grep-2.4]
On POSIX systems, commands like "grep PAT < FILE >> FILE"
now report an error instead of looping.
[bug present since "the beginning"]
The --include, --exclude, and --exclude-dir options now handle
command-line arguments more consistently. --include and --exclude
apply only to non-directories and --exclude-dir applies only to
directories. "-" (standard input) is never excluded, since it is
not a file name.
[bug introduced in grep-2.5]
grep no longer rejects "grep -qr . > out", i.e., when run with -q
and an input file is the same as the output file, since with -q
grep generates no output, so there is no risk of infinite loop or
of an output-affecting race condition. Thus, the use of the following
options also disables the input-equals-output failure:
--max-count=N (-m) (for N >= 2)
--files-with-matches (-l)
--files-without-match (-L)
[bug introduced in grep-2.10]
grep no longer emits an error message and quits on MS-Windows when
invoked with the -r option.
grep no longer misinterprets some alternations involving anchors
(^, $, \< \> \B, \b). For example, grep -E "(^|\B)a" no
longer reports a match for the string "x a".
[bug present since "the beginning"]
** Changes in behavior
Use of the --mmap option now elicits a warning. It has been a no-op
since March of 2010.
grep no longer diagnoses write errors repeatedly; it exits after
diagnosing the first write error. This is better behavior when
writing to a dangling pipe.
Syntax errors in GREP_COLORS are now ignored, instead of sometimes
eliciting warnings. This is more consistent with programs that
(e.g.) ignore errors in termcap entries.
Powered by Savane 3.14-79a4.
Corresponding source code