Subject: CVS commit: pkgsrc/textproc/grep
From: Ryo ONODERA
Date: 2014-11-25 21:19:03
Message id: 20141125201903.967DF98@cvs.netbsd.org

Log Message:
Update to 2.21

Changelog:
* Noteworthy changes in release 2.21 (2014-11-23) [stable]

** Improvements

  Performance has been greatly improved for searching files containing
  holes, on platforms where lseek's SEEK_DATA flag works efficiently.

  Performance has improved for rejecting data that cannot match even
  the first part of a nontrivial pattern.

  Performance has improved for very long strings in patterns.

  If a file contains data improperly encoded for the current locale,
  and this is discovered before any of the file's contents are output,
  grep now treats the file as binary.

  grep -P no longer reports an error and exits when given invalid UTF-8 data.
  Instead, it considers the data to be non-matching.

** Bug fixes

  grep no longer mishandles patterns that contain \w or \W in multibyte
  locales.

  grep would fail to count newlines internally when operating in non-UTF8
  multibyte locales, leading it to print potentially many lines that did
  not match.  E.g., the command, "seq 10 | env LC_ALL=zh_CN src/grep -n .."
  would print this:
  1:1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  implying that the match, "10" was on line 1.
  [bug introduced in grep-2.19]

  grep -F -x -o no longer prints an extra newline for each match.
  [bug introduced in grep-2.19]

  grep in a non-UTF8 multibyte locale could mistakenly match in the middle
  of a multibyte character when using a '^'-anchored alternate in a pattern,
  leading it to print non-matching lines.  [bug present since "the \ 
beginning"]

  grep -F Y no longer fails to match in non-UTF8 multibyte locales like
  Shift-JIS, when the input contains a 2-byte character, XY, followed by
  the single-byte search pattern, Y.  grep would find the first, middle-
  of-multibyte matching "Y", and then mistakenly advance an internal
  pointer one byte too far, skipping over the target "Y" just after that.
  [bug introduced in grep-2.19]

  grep -E rejected unmatched ')', instead of treating it like '\)'.
  [bug present since "the beginning"]

  On NetBSD, grep -r no longer reports "Inappropriate file type or format"
  when refusing to follow a symbolic link.
  [bug introduced in grep-2.12]

** Changes in behavior

  The GREP_OPTIONS environment variable is now obsolescent, and grep
  now warns if it is used.  Please use an alias or script instead.

  In locales with multibyte character encodings other than UTF-8,
  grep -P now reports an error and exits instead of misbehaving.

  When searching binary data, grep now may treat non-text bytes as
  line terminators.  This can boost performance significantly.

  grep -z no longer automatically treats the byte '\200' as binary data.

* Noteworthy changes in release 2.20 (2014-06-03) [stable]

** Bug fixes

  grep --max-count=N FILE would no longer stop reading after the Nth match.
  I.e., while grep would still print the correct output, it would continue
  reading until end of input, and hence, potentially forever.
  [bug introduced in grep-2.19]

  A command like echo aa|grep -E 'a(b$|c$)' would mistakenly
  report the input as a matched line.
  [bug introduced in grep-2.19]

** Changes in behavior

  grep --exclude-dir='FOO/' now excludes the directory FOO.
  Previously, the trailing slash meant the option was ineffective.

Files:
RevisionActionfile
1.42modifypkgsrc/textproc/grep/Makefile
1.16modifypkgsrc/textproc/grep/distinfo