I expect to release grep-2.15 in the next few days, so any feedback on build/test results for this snapshot would be most welcome:
grep snapshot: http://meyering.net/grep/grep-ss.tar.xz 1.3 MB http://meyering.net/grep/grep-ss.tar.xz.sig http://meyering.net/grep/grep-2.14.46-f4d35.tar.xz Changes in grep since v2.14: Corinna Vinschen (1): fix Cygwin UTF-16 surrogate-pair handling with -i Eric Blake (2): build: work with new glibc when not optimizing build: default to --enable-gcc-warnings in a git tree Jaroslav Škarvada (1): doc: fix a formatting bug in grep.1 template Jim Meyering (25): maint: post-release administrivia build: update gnulib submodule to latest maint: placate gcc's -Wjump-misses-init warning maint: correct syntax-check failures; adjust NEWS maint: factor out STREQ definition build: update gnulib submodule to latest build: use AC_PROG_CC_STDC rather than AC_PROG_CC maint: update all copyright year number ranges build: update gnulib submodule to latest grep -F: avoid an infinite loop with invalid multi-byte search string maint: align backslashes consistently doc: NEWS: mention the DFA segfault fix tests: simplify and factor newest test build: update gnulib-related code dfa: appease a static analyzer, and save 95 stack bytes maint: dfa: improve comments and formatting dfa: remove dead disjunct maint: change all references: s/POSIX\.2/POSIX/ dfa: fix \s and \S to work for multibyte tests: ensure neither \s nor \S matches an invalid multibyte character tests: add a test for better coverage of some tricky code maint: fix typo in NEWS maint: update bootstrap to latest from gnulib tests: extend the multibyte-white-space test build: update gnulib submodule to latest Mike Haertel (1): dfa: fix multibyte character in brackets with repetition Paolo Bonzini (3): tests: include UTF-8 testcases for grep -P pcre: add PCRE-JIT support for grep tests: add testcase for previous change Paul Eggert (10): build: go back to AC_PROG_CC grep: diagnose read errors from -f dir, porting to Solaris grep: normalize diagnostics build: update gnulib submodule to latest grep: make dfa.h standalone build: make dfa.c closer to Gawk's doc: document EREs like a{,10} * cfg.mk (old_NEWS_hash): Update. Redo comments and white space to better approach GNU style. doc: mention how to use the latest gnulib Petr Pisar (1): pcresearch: set UTF-8 flag correctly for UTF-8 locales Stefano Lattarini (2): build: remove redundant use of $(INCLUDES) build: update gettext version to 0.18.2 Changes in gnulib since v2.14: * gnulib a451aa0...53a617f (483): > error: add the printf attribute to a static function > error: make the module depend on vfprintf-posix > fpending, obstack, strerror-override: use pure+const function attrs > extern-inline: make safe for -Wundef usage > mkfifo-tests, etc.: allow HP-UX 11.11 bug > acl: allow cross-compilation to Gentoo > mgetgroups: remove dependency on realloc-gnu > regex-tests: port to HP-UX 11.11 > verify: document some 'assume' pitfalls > strtoumax: fix another typo in previous commit > strtoumax: fix typo in previous commit. > strtoumax: port to Solaris 8 > autoupdate > strtoimax, strtoumax: port to HP-UX 11.11 > strtoimax: port to HP-UX 11.11 > New module 'count-trailing-zeros'. > count-leading-zeros: port to MSC; support types wider than 64 bits > count-one-bits: port to MSC; support types wider than 64 bits > mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS > tests: improve diagnostic when an assertion fails > verify: new macro 'assume' > autoupdate > dup2, dup3: work around another cygwin crasher > getdtablesize: work around cygwin issue > pmccabe2html: escaping of special characters > manywarnings: enable nicer gcc warning messages > timespec: use the new TIMESPEC_RESOLUTION in a few more places > warnings: port --enable-gcc-warnings to Solaris Studio 12.3 > configmake: support new --runstatedir option > ctype, string: depend on extern-inline > userspec: support optional parameters to parse_user_spec() > timespec: new function make_timespec, and new constants > stdio: OS X port of putc_unlocked + extern inline > signal: OS X port of sigaddset etc. + extern inline > extern-inline: do not always suppress extern inline on OS X > extern-inline: document fixes for ctype and wctype macros > fflush, freadahead, fseeko: Fix for Android > pmccabe2html: fix portability issues > getgroups: statement without effect > autoupdate > update from texinfo > update from texinfo > glob: fix compilation > glob: fix build for platforms without __THROW > autoupdate > regex-quote: fix buffer access out of bounds > glob: avoid -Wattribute warnings on glibc > headers: check that _GL_INLINE_HEADER_BEGIN is defined > bootstrap: remove the --version requirement from ancillary tools > gc: support HMAC-SHA256 and HMAC-SHA512. > gettext: update to version 0.18.3.1 > selinux-at: omit unnecessary include > autoupdate > d-ino: avoid false negative on symlink > update from texinfo > autoupdate > bootstrap: port to OpenBSD sed > warnings: minor optimization > warnings: check -Wfoo rather than -Wno-foo > accept doclicense option > accept doclicense option > xvasprintf-tests: port to GCC with hardening flags > fpending: port to recent Cygwin change to stdio_ext.h > no need for tendentious comment > regenerate > autoupdate > sys_time: port to OpenBSD > autoupdate > bootstrap: support checksum utils without a --status option > update from texinfo > Fix ChangeLog typo. > autoupdate > regex: port to non-glibc/lock-using systems > update from texinfo > autoupdate > localecharset: make locale_charset thread-safe on Mac OS X > gettext: update to version 0.18.3 > autoupdate > bootstrap: use correct source when copying build-aux files > tmpdir: fix bug in VMS port > tmpdir: fix typo in previous change > * lib/tmpdir.c: Simplify code to add slash; no need for a loop. > tmpdir: port to VMS, to // != /, and to long dirs > regex: port to --with-included-regex --enable-gcc-warnings non-threaded > accept4, dup3, pipe2: port to Cygwin > mountlist: add support for deallocating returned list entries > stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11 > fnmatch: don't goto over declaration > pipe2: decouple from binary-io a bit > mgetgroups: relax license to LGPLv2+ > xalloc-oversized: relax license to LGPLv2+ > nproc: relax license to LGPLv2+ > bootstrap: honor --no-git > update from texinfo > ignore-value: port to gcc -pedantic > extern-inline: port to gcc -std=c89 > doc: document extern-inline > doc: chatter less > fflush, fseeko: port to musl cross-compiles > msvc-inval: port to mingw-w64 > getcwd-lgpl: port to Tru64 > autoupdate > tests: port large-fd POSIX spawn tests to OS X > autoupdate > tests/nap.h: use an adaptive delay to avoid ctime update issues > sig2str: port to C++ > docs: mention cygwin shortcoming in <sys/un.h> > vasnprintf: silence mingw compiler warning > c-ctype, regex, verify: port to gcc -std=c90 -pedantic > regex: adapt to locking regime instead of depending on pthread > getgroups: document portability issues > test-lchown, test-chown: also skip test if lchown/chown fails with EPERM > regex: fix dfa race in multithreaded uses > malloca: port to compilers that reject size-zero arrays > parse-datetime, tests: don't use "string" + int > argmatch: port to C++ > argp: typo fix > autoupdate > manywarnings: update for GCC 4.8.0 > spawn-tests, sys_socket-tests, sys_wait-tests: port to clang > getaddrinfo-tests: port --enable-gcc-warnings to clang > thread: port --enable-gcc-warnings to clang > stdio: use __REDIRECT for fwrite, fwrite_unlocked > stdio: port --enable-gcc-warnings to clang > sig2str: port --enable-gcc-warnings to clang > obstack: port --enable-gcc-warnings to clang > memchr2: port --enable-gcc-warnings to clang > mbsstr: port --enable-gcc-warnings to clang > malloca: port --enable-gcc-warnings to clang > inttostr: port --enable-gcc-warnings to clang > warnings: port to clang > quotearg: do not read beyond end of buffer > lock: work around pthread recursive mutexes bug in Mac OS X 10.6 > mkdir-p: remove assumptions about umask and mode > maint.mk: catch more abuse of HAVE_DECL in syntax-check > deps: require Automake >= 1.9.6 in generated Makefile fragments > autoupdate > bootstrap: AC_INIT may have more than four parameters > ChangeLog: whitespace cleanup > qacl: port to MS-Windows port of GNU Emacs > acl: include quote.h > fchownat, renameat, unlinkat: update statat dependencies > Assume gnulib is checked out from Git, not CVS > utimensat-tests, etc.: try to fix some races > utimens, utimensat: work around Solaris UTIME_OMIT bug > gettext: now it's your responsibility to add -I$(top_builddir)/intl > acl: include errno.h to get errno > tests: don't assume getdtablesize () <= 10000000 > extern-inline: work around bug in Sun c99 > autoupdate > qacl: new module, broken out from the acl module > alignof, intprops, malloca: port better to IBM's C compiler > wctype-h: fix gettext link error on mingw > autoupdate > regex-tests, regex: allow glibc re_search behavior > stdalign: doc fix > stdalign: port to stricter ISO C11 > sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin > check for (erroneous) ftp-upload.gnu.org > copy-file, rpmatch: fix problems found by cppcheck > prefix-gnulib-mk: give better diagnostics > putenv: port to Solaris 10 > mktime: fix configure typo > regex-tests: skip UTF-8 test on mingw > tests: make it easier to bypass alarm time in debugger > regex: port to mingw's recent addition of undeclared alarm > putenv: avoid compilation warning on mingw > unistd: don't prevent Tru64 Unix from using gnulib strtod. > autoupdate > vasprintf-posix-tests: allow rounding 1.51 to 1. > vasprintf-posix-tests: allow rounding 1.5 to 1. > autoupdate > vasnprintf-posix-tests: allow rounding 1.5 to 1 > bootstrap: port to FreeBSD > regex: rename remaining __attribute calls to __attribute__. > execute: Revert last change, but use a different condition. > execute: drop dead code > non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop > test-getsockopt: avoid compiler warning > sys_types: Avoid autoconf warning about gl_SYS_TYPES_H. > gettext: Update to version 0.18.2. > maint: restore gendocs.sh execute bit > regex: merge patches from libc > putenv: port better to native Windows > regex: ignore old-style-definition warnings > getcwd: support coreutils better > * lib/strtod.c (HAVE_RAW_DECL_STRTOD): Remove; no longer used. > strtod: support coreutils better > mountlist: port to HP NonStop > Fix typo in stdnoreturn documentation. > extern-inline: avoid compilation error with HP-UX cc > putenv: fix heap corruption with mixed putenv/_putenv > autoupdate > autoupdate > unsetenv etc.: port to Solaris 11 + GNU Emacs > secure_getenv: fix C++ declaration typo > careadlinkat: stop exporting careadlinkatcwd > extensions: port better to HP-UX > openpty: fix bug where HAVE_OPENPTY is mistakenly 1 > maint: fix misspelling of MINIX in ChangeLog > secure_getenv: fix include typo > secure_getenv: port better to FreeBSD and Solaris > extensions: port better to MINUX 3, HP-UX, autoheader 2.62 > unistd: avoid namespace pollution on non-glibc systems > autoupdate > tmpdir: use secure_getenv > tempname: use secure_getenv > secure_getenv: new module > autoupdate > getcwd: break fdopendir + save_cwd recursive loop (Bug#13516) > regex-tests, regex: fix bug: memset undeclared > regex-tests: fix link errors on older Solaris > update from texinfo > regex-tests: new module > regex: fix off-by-one error in configure test > regex: avoid infinite configure test > openpty: fix bug where HAVE_OPENPTY wasn't defined > sys_time: port to Solaris 2.6 > regex: test for buffer overrun > regex: fix buffer overrun in regexp matcher > mountlist: don't consider "devtmpfs" as dummy > futimens-tests, utimens-tests: Depend on gettext. > test-getpeername: fix typo > bootstrap: remove the need for a sorted .gitignore > readlinkat: don't depend on gl_FUNC_OPENAT > statat: new module, split out from fstatat > autoupdate > Fix typo in previous change, by including <unistd.h>. > tests: don't assume fd 99 is closed > Fix ChangeLog typo. > stpncpy: port to OS X 10.8 > In intro, say only latest mingw is tested. > unistd: port to recent mingw > Fix typo in comment. > largefile: port better to Mac OS X 10.5 > doc: clarify -Werror > stdint: fix build with Android's Bionic fox x86 > net_if-tests: port to Solaris 7 + GCC 3.4.6 > net_if-tests: port to older Solaris > system-quote-tests: port to older Solaris > c-xvasprintf etc.: fix link errors on older Solaris > locale: port to Solaris 2.6 and 7 + GNU gettext > autoupdate > stdlib: port to Solaris 2.6 > Fix misspellings of "occurred". > autoupdate > autoupdate > doc: update main copyright year > doc: improve ISO 8601 discussion > doc: avoid small caps > regex: conform to strict C > gnulib-tool: fix incompatibility with autopoint 0.18.2 > autoupdate > fprintftime: bring back and reword fwrite comment > autoupdate > stdio: remove now-unnecessary stdio.c > unicodeio: depend on stdio, not ignore-value > fprintftime: depend on stdio, not ignore-value > stdint-tests: Fix expanded-before-required-warning. * modules/stdint-tests (Depends-on): Use AC_REQUIRE. > fwrite: silence __wur only for older glibc versions > fwrite: silence __wur without using inline > update-copyright: avoid copyright notice date corruption > regex: omit needless signed-pointer casts > regex: support Gawk, which never uses alloca > autoupdate > update from texinfo > update from texinfo > autoupdate > missing @item > autoupdate > regex: port __libc_lock_define usage to C89 > maint: update all copyright year number ranges > version-etc: bump copyright year reported in --version > sigprocmask-tests: skip test if pid is unexpectedly large > git-version-gen: avoid test -z portability glitch > git-version-gen: add --fallback option to use if git is not present > maint.mk: handle missing git with more grace > dup2: work around cygwin bug > regex: remove unnecessary dependency on localcharset.h > regex: revert single-byte change > regex: simplify based on Gawk version > autoupdate > regex: check that pattern char is single-byte > regex: implement rational ranges > regex: avoid redefining __wctype > regex: port to hosts where malloc (0) == NULL > regex: port to C89 > regex: merge glibc changes > * users.txt: Add Emacs. > doc: omit mention of version when not needed > * doc/intprops.texi (Integer Properties): Fix Texinfo typo. > autoupdate > autoupdate > bootstrap: pass --force to autoreconf. > argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10 > * doc/gnulib-readme.texi: Minor fixups. > * doc/gnulib-readme.texi (Portability guidelines): ctype.h, not ctime.h. > Hyphen and dash fixes. > Correct name of POSIX.1-2001. > doc: move README into manual > c-xvasprintf: Fix "implicit declaration of function" GCC warning. > c-vasprintf: Fix "empty declaration" warning reported by GCC. > gettext: avoid obsolete macro AM_PROG_MKDIR_P > autoupdate > argp: port new 'inline' approach to Sun C 5.12 + Solaris 10 > Fix ChangeLog typo. > AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf > AC_PROG_MKDIR_P: don't workaround if not buggy > New 'c-*printf' modules for formatted output in C locale. > argp: better 'inline' > filemode, sys_stat: Handle MPX files a la AIX. > x-to-1: honor $PERL > gnu-web-doc-update: add all the new files, even in new directories > gnu-web-doc-update: improve --help > mountlist: recognize more "dummy" file systems > extern-inline: avoid incompatibility with Darwin Libc > gnupload: Work with GnuPG using gpg-agent (for smartcards). > canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes > maint.mk: typofix in comments > maint.mk: avoid extra forks > vasnprintf: fix ASCII_ONLY typo > autoupdate > list, oset, xlist, xoset: fix extern inline issue with C99 > autoupdate > sys_stat: no 'static inline' > extern-inline: no 'static inline' > snippet/warn-on-use: no 'static inline' > rbtree-list, rbtreehash-list: no 'static inline' > regex: no 'static inline' > xvasprintf: no 'static inline' > parse-datetime, parse-duration: no 'static inline' > getaddrinfo: no 'static inline' > ftruncate, fts, lstat, openat, raise: no 'static inline' > fflush, stat: no 'static inline' > error, filevercmp: no 'static inline' > dup, execute, fatal-signal, etc.: no 'static inline' > c-strtod, memcoll, readutmp: no 'static inline' > arctwo, md4, md5, sha1, sha256, sha512: no 'static inline' > cond, lock, thread: better 'inline' > chdir-long, cycle-check, savewd: better 'inline' > base32, base64: no need for 'inline' > array-oset, linkedhash-list, rbtree-oset: no need for 'inline' > list, oset, xlist, xoset, xsublist: simplify via extern inline > xalloc: better 'inline' > gethrxtime: better 'inline' > wctype-h: better 'inline' > unistd: better 'inline' > sys_socket: better 'inline' > stdio: better 'inline' > sigaction: better 'inline' > selinux-h: better 'inline' > pthread: better 'inline' > math: better 'inline' > count-one-bits: better 'inline' > count-leading-zeros: better 'inline' > bitrotate: better 'inline' > autoupdate > autoupdate > maint.mk: avoid gratuitous failure > canonicalize, canonicalize-lgpl: support MS-Windows file names > fts: introduce FTS_VERBATIM > autoupdate > autoupdate > getlogin_r-tests: allow errno == ENXIO or ENOENT > getlogin-tests: allow errno == ENOENT > tests/nap.h: avoid warning about unused variable > prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition > update from texinfo > fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY > test-utimens: speed up by taking shorter naps > mountlist.c: fix a compilation failure > errno: port to LynxOS 178 2.2.2 > fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available > mountlist: do not classify a bind-mounted dir entry as "dummy" > quote: provide a means to escape strings with nul characters > test-raise: don't assume 199 is an invalid signal > sh-quote-tests: port to Solaris 9 > maint.mk: rename a new configurable variable > autoupdate > maint.mk: let packages tweak sc_po_check pattern > autoupdate > euidaccess: speed up 'configure' on GNU hosts > * lib/regexec.c (re_search_internal): Fix grammar in comment. > fchmodat, fchownat, fstatat: port to non-inlining compilers > fchmodat.c, fchownat.c: fix compile-impeding typos > fcntl-h: support GNU flags like O_IGNORE_CTTY > faccessat, etc.: support AT_FDCWD-only use > faccessat: speed up 'configure' on mainstream hosts > faccessat: port to Solaris 10 > canonicalize: fix C89 compilation > autoupdate > group-member: omit unnecessary dependencies > gethrxtime: port to C++ > ptsname: fix macro-name typo > inttostr: Relax license. > ptsname_r: support ptys returned by FreeBSD posix_openpt > pselect: reject invalid file descriptors > select: reject invalid file descriptors > select: enhance test > ptsname: reject invalid file descriptors > hash-pjw-bare: new module > manywarnings: cater to more gcc infelicities > select, poll tests: Make setsockopt invocation effective. > sockets, sys_stat: restore AC_C_INLINE > localeconv tests: Avoid test failure on OpenIndiana. > havelib: Follow libtool developments. > ChangeLog: mention who reported the problem. > fstatat.c: fix a compile-impeding typo > extern-inline: provide a -Wundef safe config.h > hash-pjw: relax license to LGPLv2+ > autoupdate > maint.mk: fix strict vs. lazy variable issues with RELEASE > maint.mk: formatting changes > maint.mk: provide "make upload" to ease uploading > maint.mk: factor the validation of RELEASE_TYPE > maint.mk: silent rules > localename: port gl_locale_name_thread_unsafe to FreeBSD > binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline' > pipe-filter-gi, pipe-filter-ii: better use of 'inline' > fdutimensat: omit unnecessary AC_C_INLINE > fchmodat, fchownat, fstatat: use extern-inline > acl, mbchar, priv-set: use extern-inline > sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases > tls-tests: omit unnecessary 'inline' > utimens-tests: avoid unnecessary 'inline' > misc: don't limit commentary to inline functions > non-recursive-gnulib-prefix-hack: new module > ChangeLog: fix indentation > maint.mk: generalize _gl_tight_scope for non-recursive make > maint.mk: exempt trailing blanks found in "binary" files > maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX > maint.mk: teach sc_prohibit_magic_number_exit to accept 77 > maint.mk: relax sc_prohibit_strcmp, to avoid a false positive > localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX > doc: document sticky-EOF issue > poll: fix poll(0, NULL, msec) > poll: fix for systems that can't recv() on a non-socket > poll/select: document portability problems not fixed by Gnulib. > update from texinfo > Fix typo in previous patch: 1 -> 4. > fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT > net_if: give more details about the bug being fixed > net_if: new module > readutmp: fix non-portable UT_PID use > update from texinfo > fts: reduce two or more trailing slashes to just one, usually > fts: when there is no risk of overlap, use memcpy, not memmove > autoupdate > autoupdate > manywarnings: update the list of "all" warnings > * lib/stdbool.in.h (_Bool) [__cplusplus]: bool, not _Bool. > stdbool: be more compatible with mixed C/C++ compiles > revert last change: it was not needed > tests: test-vc-list-files-git.sh: skip if git is not available > gnulib-tool: Remove no-op option --no-changelog. > autoupdate > doc: remove fdl-1.2.texi > execinfo: port to FreeBSD > xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning > doc: do not use @acronym > stdnoreturn: port to newer GCCs > pipe-filter: fix comment typo > execinfo: new module > extern-inline: support old GCC 'inline' > maint.mk: avoid redundant file name in message > timer-time: fix link order when static linking on glibc > timespec: omit unnecessary AC_C_INLINE > stat-time: omit unnecessary AC_C_INLINE > ignore-value: omit unnecessary AC_C_INLINE > sys_select: avoid 'static inline' > mktime: avoid 'static inline' > autoupdate > gnulib-tool: Improve coding style. > gnulib-tool: Fix indentation. > gnulib-tool: Remove old file names from .cvsignore, .gitignore. > test-parse-datetime: avoid glibc leap-second glitch > autoupdate > gnulib-tool: Fix indentation of generated gnulib-comp.m4 file. > ldexp: relax license > update from texinfo > gnulib-tool: Fix persistence of --witness-c-macro option. > count-leading-zeros: use a lookup table on non-gcc compilers > count-leading-zeros: new module
