[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[platform-testers] new snapshot available: grep-2.26.37-03b4

From: Jim Meyering
Subject: [platform-testers] new snapshot available: grep-2.26.37-03b4
Date: Mon, 28 Nov 2016 10:38:12 -0800

There have been important fixes since 2.26, so I'd like to release
2.27 pretty soon. Please give this a workout and report any problems.

grep snapshot:      1.3 MB

Here's the NEWS-to-be:

** 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'.

Changes in grep since v2.26:

Jim Meyering (8):
      maint: post-release administrivia
      maint: die.h: add the "#define ..." part of double inclusion guard
      build: distribute new file, die.h, so "make distcheck" passes
      gnulib: update to latest, for getprogname HPUX port
      doc: grep builds on HP-UX once again
      tests: use "returns_" rather than explicit comparison with "$?"
      doc: fix a doubled "the"
      grep: avoid false matches in non-UTF8 multibyte locales

Mark Veltzer (2):
      ignore ar-lib in build-aux
      ignore coverage generated files

Paul Eggert (26):
      grep: die more systematically
      grep: don't assume stdbool.h before die call
      build: update gnulib submodule to latest
      grep: -Pz no longer rejects ^, $
      grep: avoid unnecessary isatty calls
      grep: improve diagnostic on lseek failure
      grep: scale back /dev/null speedup
      grep: drain the input pipe faster
      grep: avoid unnecessary gettext call
      grep: avoid O(N**2) buffer reallocation
      grep: treat -f /dev/null like -m0
      grep: tune -f /dev/null
      grep -f /dev/null -L PAT FILE outputs FILE
      tests: use "returns_" rather than "$?"
      grep: fix performance typo with -P
      grep: document -oz better
      grep: -T no longer outputs BS
      grep: -T now adjusts number widths for worst case
      grep: simplify by using PRIuMAX
      grep: fix -zxP bug
      grep: -P no longer uses PCRE_MULTILINE
      grep: further -P performance fix
      build: update gnulib submodule to latest
      tests: check for unibyte French range bug
      build: update gnulib submodule to latest
      tests: revert check for unibyte French range bug

Zev Weiss (1):
      grep: use 'j' intmax_t printf length modifier if supported

Changes in gnulib since v2.26:

* gnulib 65e6915...9cba42f (97):
  > dfa: do not match middle of multibyte character
  > dfa: avoid false match in non-UTF8 multibyte locales
  > ptsname_r: leverage AC_HEADER_MAJOR
  > md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
  > maint: use a more standard return from mbrtowc test
  > freopen: fix typo in previous commit
  > freopen: work around glibc bug with closed fd
  > fnmatch: fix typo introduced on 2016-08-17
  > maint: fix ChangeLog typo
  > dfa: simplify with new function fillset
  > dfa: fix glitches with on-demand states
  > dfa: addition of new state on demand
  > srclist: sync with released gettext
  > srclist: add "release" option
  > snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
  > dfa: fix logic typo
  > fix test driver leaks: exclude, malloc, realloc
  > Fix gnulib C++ namespace support and std::frexp
  > GNULIB_NAMESPACE::func need not pull in rpl_func
  > libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
  > Relicense some modules under LGPLv2+.
  > Relicense some modules under LGPLv2+.
  > autoupdate
  > Enable Unicode decoder safety unconditionally.
  > Correct indentation.
  > relocatable-prog-wrapper: Fix breakage on Cygwin.
  > strerror: Make it compile in C++ mode.
  > sys_time: add gnulib::timeval for C++
  > snippet/c++defs: fix real-floating arg functions in C++ mode
  > strftime: don't use __THROW
  > obstack: port to gcc -fcheck-pointer-bounds
  > strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw
  > strptime: fix compile error in recent change
  > gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
  > strftime: tune %q
  > Merge strftime.c changes from glibc
  > strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
  > Fix gnulib C++ namespace support and std::frexp
  > GNULIB_NAMESPACE::func need not pull in rpl_func
  > manywarnings: fix -Wno-missing-field-initializers detection
  > non-recursive-gnulib-prefix-hack: revert use of parameterized 'lib' dir
  > strftime,strptime: support %q to represent the quarter
  > autoupdate
  > bootstrap: Fix get_version() for AIX 5.3
  > intprops: port to older XL C
  > autoupdate
  > backupfile: initialize default suffix within the implementation
  > futimens: remove FIXME for old Linux kernels
  > utimensat: remove FIXME for old Linux kernels
  > maint: update how to make web pages
  > qsort_r: Fix macrology for platforms that lack the function.
  > sys_types: fix Texinfo typos
  > getprogname: port to HP-UX
  > Update doc about target platforms.
  > opendir, readdir, closedir: Relicense under LGPLv2+.
  > Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
  > Make the 'argp' module work without the 'error' module.
  > diffseq: restore TOO_EXPENSIVE heuristic
  > non-recursive-gnulib-prefix-hack: Don't make assumptions about
gnulib-tool's --source-base option value.
  > iconv: Avoid compilation error when bootstrapping GNU libiconv.
  > Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
  > system-quote tests: Avoid compiler warning on AIX.
  > Fix some "gcc -Wall" warnings.
  > gnulib-tool: Make --create-testdir on all modules work again.
  > libunistring: change the maintainer to 'all'
  > Simplify "configure: checking ..." messages.
  > Simplify "configure: checking ..." messages.
  > quotearg-tests: pacify gcc -Wall
  > canonicalize-lgpl: fix for missing SIZE_MAX on older systems
  > printf.m4: fix a bug in detecting printf %j support
  > sched: substitute HAVE_SYS_CDEFS_H too
  > quotearg: never write beyond the returned length
  > getprogname tests: Avoid failure in packages that use libtool.
  > getprogname: Fix test failure on Cygwin. Comments.
  > Make sure the libunistring detection rejects older versions with a
known bug.
  > sh-quote, system-quote: revert regression of unit test.
  > quotearg: fix stale tests
  > non-recursive-gnulib-prefix-hack: fix inconsequential typo
  > Fix a test crash.
  > test-limits-h: suppress -Woverlength-strings
  > gettime, timespec, utimens: Relicense under LGPL.
  > canonicalize-lgpl: Support the case path_max > INT_MAX.
  > getprogname: IBM z/OS: avoid NULL-dereference
  > test-stdint: use _GL_VERIFY rather than "verify" for some tests
  > Add missing ChangeLog entry
  > stdint: port SIZE_MAX to glibc s390
  > getprogname: port to IBM z/OS
  > maint: remove stray space after "." in AC_DEFINE comment.
  > long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
  > utimecmp: avoid new GCC 7 warning from -Wbool-operation
  > dfa: save memory for states
  > wchar, wctype-h: fix for MinGW 3.22.2
  > long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
  > utimecmp: avoid new GCC 7 warning from -Wbool-operation
  > autoupdate
  > quotearg: minimize shell quoting using double quotes
  > vasnprintf.c: avoid spurious warning from GCC 7

reply via email to

[Prev in Thread] Current Thread [Next in Thread]