newsgrep - 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.


Back to the top

Powered by Savane 3.14-79a4.
Corresponding source code