grep(1): Upgrade version 2.20 => 2.22
authorJohn Marino <draco@marino.st>
Wed, 4 Nov 2015 11:55:13 +0000 (12:55 +0100)
committerJohn Marino <draco@marino.st>
Wed, 4 Nov 2015 12:38:30 +0000 (13:38 +0100)
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.

release 2.22 (2015-11-01) [stable]
** Improvements
  Performance has improved for patterns containing very long strings,
    reducing preprocessing time for an N-byte regexp from O(N^2) to
    only slightly superlinear for most patterns.  Before, a command like
    the following would take over a minute, but now, it takes less than
    a second:
    : | grep -f <(seq -s '' 99999)
  When building grep, 'configure' now uses PCRE's pkg-config module for
    configuration information, rather than attempting to guess it by hand.
** Bug fixes
  A DFA matcher bug made this command mistakenly print its input line:
      echo axb | grep -E '^x|x$'
    Likewise for this equivalent command:
      echo axb | grep -e '^x' -e 'x$'
    [bug introduced in grep-2.19 ]
  grep no longer reads from uninitialized memory or from beyond the end
    of the heap-allocated input buffer.  This fix addressed CVE-2015-1345.
    [bug introduced in grep-2.19 ]
  With -z, '.' and '[^x]' in a pattern now consistently match newline.
    Previously, they sometimes matched newline, and sometimes did not.
    [bug introduced in grep-2.4]
  When the JIT stack is exhausted, grep -P now grows the stack rather
    than reporting an internal PCRE error.
  'grep -D skip PATTERN FILE' no longer hangs if FILE is a fifo.
    [bug introduced in grep-2.12]
  --exclude and related options are now matched against entire
    command-line arguments, not against command-line components.
    [bug introduced in grep-2.6]
  Fix performance degradation of grep -Fw in unibyte locales.
    [bug introduced in grep-2.19]

25 files changed:
contrib/grep/README.DELETED
contrib/grep/README.DRAGONFLY
gnu/usr.bin/grep/Makefile.inc
gnu/usr.bin/grep/grep/grep.1
gnu/usr.bin/grep/libgreputils/Makefile
gnu/usr.bin/grep/libgreputils/alloca.h
gnu/usr.bin/grep/libgreputils/config.h
gnu/usr.bin/grep/libgreputils/configmake.h
gnu/usr.bin/grep/libgreputils/ctype.h
gnu/usr.bin/grep/libgreputils/dirent.h
gnu/usr.bin/grep/libgreputils/fcntl.h
gnu/usr.bin/grep/libgreputils/getopt.h
gnu/usr.bin/grep/libgreputils/iconv.h
gnu/usr.bin/grep/libgreputils/inttypes.h
gnu/usr.bin/grep/libgreputils/langinfo.h
gnu/usr.bin/grep/libgreputils/locale.h
gnu/usr.bin/grep/libgreputils/stdio.h
gnu/usr.bin/grep/libgreputils/stdlib.h
gnu/usr.bin/grep/libgreputils/string.h
gnu/usr.bin/grep/libgreputils/unistd.h
gnu/usr.bin/grep/libgreputils/unistr.h
gnu/usr.bin/grep/libgreputils/unitypes.h
gnu/usr.bin/grep/libgreputils/uniwidth.h
gnu/usr.bin/grep/libgreputils/wchar.h
gnu/usr.bin/grep/libgreputils/wctype.h

index 7cbe9ea..ac305bc 100644 (file)
@@ -1,3 +1,4 @@
+.mailmap
 .tarball-version
 ABOUT-NLS
 AUTHORS
@@ -11,6 +12,7 @@ NEWS
 README-alpha
 README-release
 THANKS
+THANKS.in
 TODO
 aclocal.m4
 build-aux/
@@ -65,9 +67,9 @@ lib/sys_time.in.h
 lib/sys_types.in.h
 lib/time.in.h
 lib/unistd.in.h
+lib/unistr.in.h
 lib/unitypes.in.h
 lib/uniwidth.in.h
-lib/unistr.in.h
 lib/wchar.in.h
 lib/wctype.in.h
 m4/
@@ -76,3 +78,4 @@ po/
 src/Makefile.am
 src/Makefile.in
 tests/
+thanks-gen
index e0de0aa..2e40469 100644 (file)
@@ -4,10 +4,10 @@ GNU GREP
 Original source can be downloaded from:
 http://ftp.gnu.org/gnu/grep
 
-file = grep-2.20.tar.xz
-date = 03 June 2014
-size = 1237196
-sha1 = 55aac6158b51baa505669cf8f86440bcc106ec65
+file = grep-2.22.tar.xz
+date = 02 November 2015
+size = 1297864
+sha1 = 561ba83226872b1c45205bdd583106ee8df0fe79
 
 A list of files and directories removed is in README.DELETED
 
index 33acb9f..255b62d 100644 (file)
@@ -3,3 +3,5 @@ BASEDIR=        ${.CURDIR}/${RELATIVE}../../../../contrib/grep
 .if defined(BOOTSTRAPPING)
 CFLAGS+=       -DBOOTSTRAPPING
 .endif
+
+CSTD=  c11
index 8964364..eda1bd1 100644 (file)
@@ -9,19 +9,18 @@
 .              if \w'\(rq' .ds rq "\(rq
 .      \}
 .\}
-.ie t .ds Tx \s-1T\v'.4n'\h'-.1667'E\v'-.4n'\h'-.125'X\s0
-. el  .ds Tx TeX
-.de Id
-. ds Yr \\$4
-. substring Yr 0 3
-. ds Mn \\$4
-. substring Mn 5 6
-. ds Dy \\$4
-. substring Dy 8 9
-. \" ISO 8601 date, complete format, extended representation
-. ds Dt \\*(Yr-\\*(Mn-\\*(Dy
+.
+.ie \n[.g] .mso www.tmac
+.el \{\
+. de MTO
+\\$2 \(laemail: \\$1 \(ra\\$3
+..
+. de URL
+\\$2 \(laURL: \\$1 \(ra\\$3
 ..
-.TH GREP 1 \*(Dt "GNU grep 2.20" "User Commands"
+.\}
+.
+.TH GREP 1 \*(Dt "GNU grep 2.22" "User Commands"
 .hy 0
 .
 .SH NAME
@@ -46,64 +45,50 @@ grep, egrep, fgrep \- print lines matching a pattern
 .B grep
 searches the named input
 .IR FILE s
-(or standard input if no files are named,
-or if a single hyphen-minus
-.RB ( \- )
-is given as file name)
 for lines containing a match to the given
 .IR PATTERN .
+If no files are specified, or if the file
+.RB "\*(lq" \- "\*(rq"
+is given,
+.B grep
+searches standard input.
 By default,
 .B grep
 prints the matching lines.
 .PP
-In addition, two variant programs
+In addition, the variant programs
 .B egrep
 and
 .B fgrep
-are available.
-.B egrep
-is the same as
-.BR "grep\ \-E" .
-.B fgrep
-is the same as
-.BR "grep\ \-F" .
-Direct invocation as either
-.B egrep
-or
-.B fgrep
-is deprecated,
-but is provided to allow historical applications
-that rely on them to run unmodified.
+are the same as
+.B "grep\ \-E"
+and
+.BR "grep\ \-F" ,
+respectively.
+These variants are deprecated, but are provided for backward compatibility.
 .
 .SH OPTIONS
 .SS "Generic Program Information"
 .TP
 .B \-\^\-help
-Print a usage message briefly summarizing these command-line options
-and the bug-reporting address, then exit.
+Output a usage message and exit.
 .TP
 .BR \-V ", " \-\^\-version
-Print the version number of
+Output the version number of
 .B grep
-to the standard output stream.
-This version number should
-be included in all bug reports (see below).
+and exit.
 .SS "Matcher Selection"
 .TP
 .BR \-E ", " \-\^\-extended\-regexp
 Interpret
 .I PATTERN
 as an extended regular expression (ERE, see below).
-.RB ( \-E
-is specified by \s-1POSIX\s0.)
 .TP
 .BR \-F ", " \-\^\-fixed\-strings
 Interpret
 .I PATTERN
 as a list of fixed strings, separated by newlines,
 any of which is to be matched.
-.RB ( \-F
-is specified by \s-1POSIX\s0.)
 .TP
 .BR \-G ", " \-\^\-basic\-regexp
 Interpret
@@ -127,28 +112,20 @@ as the pattern.
 This can be used to specify multiple search patterns,
 or to protect a pattern beginning with a hyphen
 .RB ( \- ).
-.RB ( \-e
-is specified by \s-1POSIX\s0.)
 .TP
 .BI \-f " FILE" "\fR,\fP \-\^\-file=" FILE
 Obtain patterns from
 .IR FILE ,
 one per line.
 The empty file contains zero patterns, and therefore matches nothing.
-.RB ( \-f
-is specified by \s-1POSIX\s0.)
 .TP
 .BR \-i ", " \-\^\-ignore\-case
 Ignore case distinctions in both the
 .I PATTERN
 and the input files.
-.RB ( \-i
-is specified by \s-1POSIX\s0.)
 .TP
 .BR \-v ", " \-\^\-invert\-match
 Invert the sense of matching, to select non-matching lines.
-.RB ( \-v
-is specified by \s-1POSIX\s0.)
 .TP
 .BR \-w ", " \-\^\-word\-regexp
 Select only those lines containing matches that form whole words.
@@ -161,8 +138,6 @@ Word-constituent characters are letters, digits, and the underscore.
 .TP
 .BR \-x ", " \-\^\-line\-regexp
 Select only those matches that exactly match the whole line.
-.RB ( \-x
-is specified by \s-1POSIX\s0.)
 .TP
 .B \-y
 Obsolete synonym for
@@ -175,8 +150,6 @@ matching lines for each input file.
 With the
 .BR \-v ", " \-\^\-invert\-match
 option (see below), count non-matching lines.
-.RB ( \-c
-is specified by \s-1POSIX\s0.)
 .TP
 .BR \-\^\-color [ =\fIWHEN\fP "], " \-\^\-colour [ =\fIWHEN\fP ]
 Surround the matched (non-empty) strings, matching lines, context lines,
@@ -203,8 +176,6 @@ Suppress normal output; instead print
 the name of each input file from which output
 would normally have been printed.
 The scanning will stop on the first match.
-.RB ( \-l
-is specified by \s-1POSIX\s0.)
 .TP
 .BI \-m " NUM" "\fR,\fP \-\^\-max\-count=" NUM
 Stop reading a file after
@@ -255,41 +226,9 @@ Also see the
 or
 .B \-\^\-no\-messages
 option.
-.RB ( \-q
-is specified by \s-1POSIX\s0.)
 .TP
 .BR \-s ", " \-\^\-no\-messages
 Suppress error messages about nonexistent or unreadable files.
-Portability note: unlike \s-1GNU\s0
-.BR grep ,
-7th Edition Unix
-.B grep
-did not conform to \s-1POSIX\s0, because it lacked
-.B \-q
-and its
-.B \-s
-option behaved like \s-1GNU\s0
-.BR grep 's
-.B \-q
-option.
-\s-1USG\s0-style
-.B grep
-also lacked
-.B \-q
-but its
-.B \-s
-option behaved like \s-1GNU\s0
-.BR grep .
-Portable shell scripts
-should avoid both
-.B \-q
-and
-.B \-s
-and should redirect standard and error output to
-.B /dev/null
-instead.
-.RB ( \-s
-is specified by \s-1POSIX\s0.)
 .SS "Output Line Prefix Control"
 .TP
 .BR \-b ", " \-\^\-byte\-offset
@@ -324,8 +263,6 @@ option.
 .BR \-n ", " \-\^\-line\-number
 Prefix each line of output with the 1-based line number
 within its input file.
-.RB ( \-n
-is specified by \s-1POSIX\s0.)
 .TP
 .BR \-T ", " \-\^\-initial\-tab
 Make sure that the first character of actual line content lies on a
@@ -446,6 +383,12 @@ is
 processes a binary file as if it were text; this is equivalent to the
 .B \-a
 option.
+When processing binary data,
+.B grep
+may treat non-text bytes as line terminators; for example, the pattern
+.RB ' . '\&
+(period) might not match a null byte, as the null byte might be
+treated as a line terminator.
 .I Warning:
 .B "grep \-\^\-binary\-files=text"
 might output binary garbage,
@@ -530,6 +473,7 @@ Search only files whose base name matches
 .BR \-r ", " \-\^\-recursive
 Read all files under each directory, recursively,
 following symbolic links only if they are on the command line.
+Note that if no file operand is given, grep searches the working directory.
 This is equivalent to the
 .B "\-d recurse"
 option.
@@ -789,37 +733,6 @@ versions
 .BR \e( ,
 and
 .BR \e) .
-.PP
-Traditional
-.B egrep
-did not support the
-.B {
-meta-character, and some
-.B egrep
-implementations support
-.B \e{
-instead, so portable scripts should avoid
-.B {
-in
-.B "grep\ \-E"
-patterns and should use
-.B [{]
-to match a literal
-.BR { .
-.PP
-\s-1GNU\s0
-.B "grep\ \-E"
-attempts to support traditional usage by assuming that
-.B {
-is not special if it would be the start of an invalid interval
-specification.
-For example, the command
-.B "grep\ \-E\ '{1'"
-searches for the two-character string
-.B {1
-instead of reporting a syntax error in the regular expression.
-\s-1POSIX\s0 allows this behavior as an extension, but portable scripts
-should avoid it.
 .
 .SH "ENVIRONMENT VARIABLES"
 The behavior of
@@ -851,19 +764,13 @@ was not compiled with national language support (\s-1NLS\s0).
 .B GREP_OPTIONS
 This variable specifies default options
 to be placed in front of any explicit options.
-For example, if
-.B GREP_OPTIONS
-is
-.BR "'\-\^\-binary-files=without-match \-\^\-directories=skip'" ,
-.B grep
-behaves as if the two options
-.B \-\^\-binary\-files=without-match
+As this causes problems when writing portable scripts,
+this feature will be removed in a future release of
+.BR grep ,
 and
-.B \-\^\-directories=skip
-had been specified before any explicit options.
-Option specifications are separated by whitespace.
-A backslash escapes the next character,
-so it can be used to specify an option containing whitespace or a backslash.
+.B grep
+warns if it is used.
+Please use an alias or script instead.
 .TP
 .B GREP_COLOR
 This variable specifies the color used to highlight matched (non-empty) text.
@@ -1149,26 +1056,18 @@ when
 is not set.
 .
 .SH "EXIT STATUS"
-Normally, the exit status is 0 if selected lines are found and 1 otherwise.
-But the exit status is 2 if an error occurred, unless the
+Normally the exit status is 0 if a line is selected, 1 if no lines
+were selected, and 2 if an error occurred.  However, if the
 .B \-q
 or
 .B \-\^\-quiet
 or
 .B \-\^\-silent
-option is used and a selected line is found.
-Note, however, that \s-1POSIX\s0 only mandates, for programs such as
-.BR grep ,
-.BR cmp ,
-and
-.BR diff ,
-that the exit status in case of error be greater than 1;
-it is therefore advisable, for the sake of portability,
-to use logic that tests for this general condition
-instead of strict equality with\ 2.
+is used and a line is selected, the exit status is 0 even if an error
+occurred.
 .
 .SH COPYRIGHT
-Copyright 1998-2000, 2002, 2005-2014 Free Software Foundation, Inc.
+Copyright 1998-2000, 2002, 2005-2015 Free Software Foundation, Inc.
 .PP
 This is free software;
 see the source for copying conditions.
@@ -1178,12 +1077,12 @@ not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 .SH BUGS
 .SS "Reporting Bugs"
 Email bug reports to
-.RB < bug\-grep@gnu.org >,
-a mailing list whose web page is
-.RB < http://lists.gnu.org/mailman/listinfo/bug\-grep >.
-.BR grep 's
-Savannah bug tracker is located at
-.RB < http://savannah.gnu.org/bugs/?group=grep >.
+.MTO bug-grep@gnu.org "the bug-reporting address" .
+An
+.URL http://lists.gnu.org/mailman/listinfo/bug-grep "email archive"
+and a
+.URL http://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep "bug tracker"
+are available.
 .SS "Known Bugs"
 Large repetition counts in the
 .BI { n , m }
@@ -1208,11 +1107,10 @@ terminfo(5),
 glob(7), regex(7).
 .SS "\s-1POSIX\s0 Programmer's Manual Page"
 grep(1p).
-.SS "\*(Txinfo Documentation"
-The full documentation for
-.B grep
-is maintained as a \*(Txinfo manual,
-which you can read at http://www.gnu.org/software/grep/manual/.
+.SS "Full Documentation"
+A
+.URL http://www.gnu.org/software/grep/manual/ "complete manual"
+is available.
 If the
 .B info
 and
@@ -1226,8 +1124,5 @@ should give you access to the complete manual.
 .SH NOTES
 This man page is maintained only fitfully;
 the full documentation is often more up-to-date.
-.PP
-\s-1GNU\s0's not Unix, but Unix is a beast;
-its plural form is Unixen.
 .\" Work around problems with some troff -man implementations.
 .br
index 8b99884..be7ae41 100644 (file)
@@ -28,6 +28,7 @@ SRCS=         argmatch.c \
                exitfail.c \
                creat-safer.c \
                open-safer.c \
+               fcntl.c \
                fd-hook.c \
                filenamecat-lgpl.c \
                hash.c \
@@ -55,6 +56,7 @@ SRCS=         argmatch.c \
                trim.c \
                unistd.c \
                dup-safer.c \
+               dup2.c \
                fd-safer.c \
                pipe-safer.c \
                u8-mbtoucr.c \
@@ -79,8 +81,8 @@ SRCS=         argmatch.c \
                obstack.c \
                openat-proc.c \
                regex.c \
+               strstr.c \
                strerror.c \
-               strerror-override.c \
-               wcwidth.c
+               strerror-override.c
 
 .include <bsd.lib.mk>
index 45a8174..d7488e3 100644 (file)
@@ -1,7 +1,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Memory allocation on the stack.
 
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2014 Free Software Foundation,
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2015 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
index 08bfb60..43dcdea 100644 (file)
 /* #undef ENABLE_NLS */
 
 /* Define this to 1 if F_DUPFD behavior does not match POSIX */
-/* #undef FCNTL_DUPFD_BUGGY */
+#define FCNTL_DUPFD_BUGGY 1
 
-/* Enable compile-time and run-time bounds-checking, and some warnings,
-      without upsetting glibc 2.15+. */
-   #if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__
-   # define _FORTIFY_SOURCE 2
-   #endif
-  
+/* Define to nothing if C supports flexible array members, and to 1 if it does
+   not. That way, with a declaration like 'struct s { int n; double
+   d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
+   compilers. When computing the size of such an object, don't use 'sizeof
+   (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)'
+   instead. Don't use 'offsetof (struct s, d[0])', as this doesn't work with
+   MSVC and with C++ compilers. */
+#define FLEXIBLE_ARRAY_MEMBER /**/
 
 /* Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string. */
 #define FUNC_NL_LANGINFO_YESEXPR_WORKS 1
 /* enable some gnulib portability checks */
 /* #undef GNULIB_PORTCHECK */
 
+/* Enable compile-time and run-time bounds-checking, and some warnings,
+      without upsetting glibc 2.15+. */
+   #if (defined GNULIB_PORTCHECK && !defined _FORTIFY_SOURCE \
+        && defined __OPTIMIZE__ && __OPTIMIZE__)
+   # define _FORTIFY_SOURCE 2
+   #endif
+
+/* Define to 1 if printf and friends should be labeled with attribute
+   "__gnu_printf__" instead of "__printf__" */
+/* #undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU */
+
 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
    whether the gnulib module realloc-gnu shall be considered present. */
 #define GNULIB_REALLOC_GNU 1
 /* Define to 1 when the gnulib module strnlen should be tested. */
 #define GNULIB_TEST_STRNLEN 1
 
+/* Define to 1 when the gnulib module strstr should be tested. */
+#define GNULIB_TEST_STRSTR 1
+
 /* Define to 1 when the gnulib module strtoll should be tested. */
 #define GNULIB_TEST_STRTOLL 1
 
    don't. */
 #define HAVE_DECL_GETC_UNLOCKED 1
 
+/* Define to 1 if you have the declaration of `getdtablesize', and to 0 if you
+   don't. */
+#define HAVE_DECL_GETDTABLESIZE 1
+
 /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
    */
 #define HAVE_DECL_GETENV 1
 #define HAVE_DIRENT_H 1
 
 /* Define to 1 if you have the `dirfd' function. */
-/* #undef HAVE_DIRFD */
+#define HAVE_DIRFD 1
 
 /* Define to 1 if you have the 'dup2' function. */
 #define HAVE_DUP2 1
 /* Define to 1 if you have the 'getdtablesize' function. */
 #define HAVE_GETDTABLESIZE 1
 
+/* Define to 1 if you have the `getlocalename_l' function. */
+/* #undef HAVE_GETLOCALENAME_L */
+
 /* Define to 1 if you have the <getopt.h> header file. */
 #define HAVE_GETOPT_H 1
 
 #define HAVE_LC_MESSAGES 1
 
 /* Define to 1 if you have the <libintl.h> header file. */
-#define HAVE_LIBINTL_H 1
+/* #undef HAVE_LIBINTL_H */
 
 /* Define to 1 if you have the Perl Compatible Regular Expressions library
    (-lpcre). */
 /* Define to 1 if you have the 'nl_langinfo' function. */
 #define HAVE_NL_LANGINFO 1
 
-/* Define to 1 if libc includes obstacks. */
+/* Define to 1 if the system has obstacks that work with any size object. */
 /* #undef HAVE_OBSTACK */
 
 /* Define to 1 if you have the 'openat' function. */
 /* Define to 1 if you have the <OS.h> header file. */
 /* #undef HAVE_OS_H */
 
-/* Define to 1 if you have the `pcre_compile' function. */
-/* #undef HAVE_PCRE_COMPILE */
-
-/* Define to 1 if you have the <pcre.h> header file. */
-/* #undef HAVE_PCRE_H */
-
-/* Define to 1 if you have the <pcre/pcre.h> header file. */
-/* #undef HAVE_PCRE_PCRE_H */
-
 /* Define to 1 if you have the 'pipe' function. */
 #define HAVE_PIPE 1
 
 #define HAVE_RAW_DECL_CLOSEDIR 1
 
 /* Define to 1 if dirfd is declared even after undefining macros. */
-/* #undef HAVE_RAW_DECL_DIRFD */
+#define HAVE_RAW_DECL_DIRFD 1
 
 /* Define to 1 if dprintf is declared even after undefining macros. */
 #define HAVE_RAW_DECL_DPRINTF 1
 #define HAVE_RAW_DECL_FTRUNCATE 1
 
 /* Define to 1 if futimens is declared even after undefining macros. */
-/* #undef HAVE_RAW_DECL_FUTIMENS */
+#define HAVE_RAW_DECL_FUTIMENS 1
 
 /* Define to 1 if getcwd is declared even after undefining macros. */
 #define HAVE_RAW_DECL_GETCWD 1
 #define HAVE_RAW_DECL_PIPE 1
 
 /* Define to 1 if pipe2 is declared even after undefining macros. */
-/* #undef HAVE_RAW_DECL_PIPE2 */
+#define HAVE_RAW_DECL_PIPE2 1
 
 /* Define to 1 if popen is declared even after undefining macros. */
 #define HAVE_RAW_DECL_POPEN 1
 /* #undef HAVE_RAW_DECL_RANDOM_R */
 
 /* Define to 1 if rawmemchr is declared even after undefining macros. */
-#define HAVE_RAW_DECL_RAWMEMCHR 1
+/* #undef HAVE_RAW_DECL_RAWMEMCHR */
 
 /* Define to 1 if readdir is declared even after undefining macros. */
 #define HAVE_RAW_DECL_READDIR 1
 #define HAVE_RAW_DECL_USLEEP 1
 
 /* Define to 1 if utimensat is declared even after undefining macros. */
-/* #undef HAVE_RAW_DECL_UTIMENSAT */
+#define HAVE_RAW_DECL_UTIMENSAT 1
 
 /* Define to 1 if vdprintf is declared even after undefining macros. */
 #define HAVE_RAW_DECL_VDPRINTF 1
 #define MALLOC_0_IS_NONNULL 1
 
 /* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */
-#define MAP_ANONYMOUS MAP_ANON
+/* #undef MAP_ANONYMOUS */
 
 /* Define if the mbrtowc function does not return (size_t) -2 for empty input.
    */
 /* #undef PACKAGE_PACKAGER_VERSION */
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GNU grep 2.20"
+#define PACKAGE_STRING "GNU grep 2.22"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "grep"
 #define PACKAGE_URL "http://www.gnu.org/software/grep/"
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.20"
+#define PACKAGE_VERSION "2.22"
 
 /* the number of pending output bytes on stream 'fp' */
 /* #undef PENDING_OUTPUT_N_BYTES */
 #ifndef _GNU_SOURCE
 # define _GNU_SOURCE 1
 #endif
+/* Use GNU style printf and scanf.  */
+#ifndef __USE_MINGW_ANSI_STDIO
+# define __USE_MINGW_ANSI_STDIO 1
+#endif
 /* Enable threading extensions on Solaris.  */
 #ifndef _POSIX_PTHREAD_SEMANTICS
 # define _POSIX_PTHREAD_SEMANTICS 1
 /* #undef USE_WINDOWS_THREADS */
 
 /* Version number of package */
-#define VERSION "2.20"
+#define VERSION "2.22"
 
 /* Define to 1 if unsetenv returns void instead of int. */
 /* #undef VOID_UNSETENV */
    'reference to static identifier "f" in extern inline function'.
    This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
 
-   Suppress the use of extern inline on problematic Apple configurations.
-   OS X 10.8 and earlier mishandle it; see, e.g.,
-   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
+   on configurations that mistakenly use 'static inline' to implement
+   functions or macros in standard C headers like <ctype.h>.  For example,
+   if isdigit is mistakenly implemented via a static inline function,
+   a program containing an extern inline function that calls isdigit
+   may not work since the C standard prohibits extern inline functions
+   from calling static functions.  This bug is known to occur on:
+
+     OS X 10.8 and earlier; see:
+     http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html
+
+     DragonFly; see
+     http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log
+
+     FreeBSD; see:
+     http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html
+
    OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
    for clang but remains for g++; see <http://trac.macports.org/ticket/41033>.
-   Perhaps Apple will fix this some day.  */
-#if (defined __APPLE__ \
+   Assume DragonFly and FreeBSD will be similar.  */
+#if (((defined __APPLE__ && defined __MACH__) \
+      || defined __DragonFly__ || defined __FreeBSD__) \
      && (defined __header_inline \
          ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
             && ! defined __clang__) \
              && (defined __GNUC__ || defined __cplusplus)) \
             || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
                 && defined __GNUC__ && ! defined __cplusplus))))
-# define _GL_EXTERN_INLINE_APPLE_BUG
+# define _GL_EXTERN_INLINE_STDHEADER_BUG
 #endif
 #if ((__GNUC__ \
       ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
       : (199901L <= __STDC_VERSION__ \
          && !defined __HP_cc \
          && !(defined __SUNPRO_C && __STDC__))) \
-     && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # define _GL_INLINE inline
 # define _GL_EXTERN_INLINE extern inline
 # define _GL_EXTERN_INLINE_IN_USE
 #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
-       && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
    /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
 #  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
 # define _GL_EXTERN_INLINE static _GL_UNUSED
 #endif
 
-#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
+/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
+   suppress bogus "no previous prototype for 'FOO'"
+   and "no previous declaration for 'FOO'" diagnostics,
+   when FOO is an inline function in the header; see
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
+#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
 # if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
 #  define _GL_INLINE_HEADER_CONST_PRAGMA
 # else
 #  define _GL_INLINE_HEADER_CONST_PRAGMA \
      _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
 # endif
-  /* Suppress GCC's bogus "no previous prototype for 'FOO'"
-     and "no previous declaration for 'FOO'"  diagnostics,
-     when FOO is an inline function in the header; see
-     <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>.  */
 # define _GL_INLINE_HEADER_BEGIN \
     _Pragma ("GCC diagnostic push") \
     _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
    is a misnomer outside of parameter lists.  */
 #define _UNUSED_PARAMETER_ _GL_UNUSED
 
+/* gcc supports the "unused" attribute on possibly unused labels, and
+   g++ has since version 4.5.  Note to support C++ as well as C,
+   _GL_UNUSED_LABEL should be used with a trailing ;  */
+#if !defined __cplusplus || __GNUC__ > 4 \
+    || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+# define _GL_UNUSED_LABEL _GL_UNUSED
+#else
+# define _GL_UNUSED_LABEL
+#endif
+
 /* The __pure__ attribute was added in gcc 2.96.  */
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
index 3763c06..ed15301 100644 (file)
@@ -20,7 +20,7 @@
 #define PSDIR "/usr/share/doc/grep"
 #define LIBDIR "/usr/lib"
 #define LISPDIR "/usr/share/emacs/site-lisp"
-#define LOCALEDIR "/usr/sharee"
+#define LOCALEDIR "/usr/share/locale"
 #define MANDIR "/usr/share/man"
 #define PKGDATADIR "/usr/share/grep"
 #define PKGINCLUDEDIR "/usr/include/grep"
index 1f6128d..d0ef764 100644 (file)
@@ -1,7 +1,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute for ISO C99 <ctype.h>, for platforms on which it is incomplete.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index bf99ebb..324aedf 100644 (file)
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A GNU-like <dirent.h>.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -389,6 +389,7 @@ _GL_WARN_EXTERN_C int _gl_warn_on_use
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef opendir
 #   define opendir rpl_opendir
+#   define GNULIB_defined_opendir 1
 #  endif
 _GL_FUNCDECL_RPL (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (opendir, DIR *, (const char *dir_name));
@@ -440,6 +441,7 @@ _GL_WARN_ON_USE (rewinddir, "rewinddir is not portable - "
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef closedir
 #   define closedir rpl_closedir
+#   define GNULIB_defined_closedir 1
 #  endif
 _GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (closedir, int, (DIR *dirp));
index a2154bc..465efe6 100644 (file)
@@ -1,7 +1,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Like <fcntl.h>, but with non-working flags defined to 0.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -35,7 +35,7 @@
    extern "C" { ... } block, which leads to errors in C++ mode with the
    overridden <sys/stat.h> from gnulib.  These errors are known to be gone
    with g++ version >= 4.3.  */
-#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
+#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && (defined __ICC || !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))))
 # include <sys/stat.h>
 #endif
 #include_next <fcntl.h>
@@ -54,7 +54,7 @@
    extern "C" { ... } block, which leads to errors in C++ mode with the
    overridden <sys/stat.h> from gnulib.  These errors are known to be gone
    with g++ version >= 4.3.  */
-#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
+#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && (defined __ICC || !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))))
 # include <sys/stat.h>
 #endif
 /* The include_next requires a split double-inclusion guard.  */
@@ -395,7 +395,7 @@ _GL_WARN_EXTERN_C int _gl_warn_on_use
 /* Declare overridden functions.  */
 
 #if 1
-# if 0
+# if 1
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef fcntl
 #   define fcntl rpl_fcntl
@@ -498,6 +498,22 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 
 /* Fix up the O_* macros.  */
 
+/* AIX 7.1 with XL C 12.1 defines O_CLOEXEC, O_NOFOLLOW, and O_TTY_INIT
+   to values outside 'int' range, so omit these misdefinitions.
+   But avoid namespace pollution on non-AIX systems.  */
+#ifdef _AIX
+# include <limits.h>
+# if defined O_CLOEXEC && ! (INT_MIN <= O_CLOEXEC && O_CLOEXEC <= INT_MAX)
+#  undef O_CLOEXEC
+# endif
+# if defined O_NOFOLLOW && ! (INT_MIN <= O_NOFOLLOW && O_NOFOLLOW <= INT_MAX)
+#  undef O_NOFOLLOW
+# endif
+# if defined O_TTY_INIT && ! (INT_MIN <= O_TTY_INIT && O_TTY_INIT <= INT_MAX)
+#  undef O_TTY_INIT
+# endif
+#endif
+
 #if !defined O_DIRECT && defined O_DIRECTIO
 /* Tru64 spells it 'O_DIRECTIO'.  */
 # define O_DIRECT O_DIRECTIO
index c0071e0..36930d5 100644 (file)
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Declarations for getopt.
-   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2014 Free Software
+   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2015 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
index 947a1e7..77b7109 100644 (file)
@@ -1,7 +1,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A GNU-like <iconv.h>.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -386,21 +386,21 @@ _GL_CXXALIASWARN (iconv_open);
 #  endif
 _GL_FUNCDECL_RPL (iconv, size_t,
                   (iconv_t cd,
-                   const char **inbuf, size_t *inbytesleft,
+                    char **inbuf, size_t *inbytesleft,
                    char **outbuf, size_t *outbytesleft));
 _GL_CXXALIAS_RPL (iconv, size_t,
                   (iconv_t cd,
-                   const char **inbuf, size_t *inbytesleft,
+                    char **inbuf, size_t *inbytesleft,
                    char **outbuf, size_t *outbytesleft));
 # else
 _GL_CXXALIAS_SYS (iconv, size_t,
                   (iconv_t cd,
-                   const char **inbuf, size_t *inbytesleft,
+                    char **inbuf, size_t *inbytesleft,
                    char **outbuf, size_t *outbytesleft));
 # endif
 _GL_CXXALIASWARN (iconv);
 # ifndef ICONV_CONST
-#  define ICONV_CONST
+#  define ICONV_CONST 
 # endif
 #endif
 
index f0b7821..c264246 100644 (file)
@@ -1,5 +1,5 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Derek Price.
    This file is part of gnulib.
 
 #endif
 /* Get CHAR_BIT.  */
 #include <limits.h>
+/* On mingw, __USE_MINGW_ANSI_STDIO only works if <stdio.h> is also included */
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# include <stdio.h>
+#endif
 
 #if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX)
 # error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>."
index ef05c71..6191957 100644 (file)
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Substitute for and wrapper around <langinfo.h>.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -50,7 +50,10 @@ typedef int nl_item;
 # define CODESET     10000
 /* nl_langinfo items of the LC_NUMERIC category */
 # define RADIXCHAR   10001
+# define DECIMAL_POINT RADIXCHAR
 # define THOUSEP     10002
+# define THOUSANDS_SEP THOUSEP
+# define GROUPING    10114
 /* nl_langinfo items of the LC_TIME category */
 # define D_T_FMT     10003
 # define D_FMT       10004
@@ -103,6 +106,21 @@ typedef int nl_item;
 # define ALT_DIGITS  10051
 /* nl_langinfo items of the LC_MONETARY category */
 # define CRNCYSTR    10052
+# define CURRENCY_SYMBOL   CRNCYSTR
+# define INT_CURR_SYMBOL   10100
+# define MON_DECIMAL_POINT 10101
+# define MON_THOUSANDS_SEP 10102
+# define MON_GROUPING      10103
+# define POSITIVE_SIGN     10104
+# define NEGATIVE_SIGN     10105
+# define FRAC_DIGITS       10106
+# define INT_FRAC_DIGITS   10107
+# define P_CS_PRECEDES     10108
+# define N_CS_PRECEDES     10109
+# define P_SEP_BY_SPACE    10110
+# define N_SEP_BY_SPACE    10111
+# define P_SIGN_POSN       10112
+# define N_SIGN_POSN       10113
 /* nl_langinfo items of the LC_MESSAGES category */
 # define YESEXPR     10053
 # define NOEXPR      10054
index cebe026..f41d6e0 100644 (file)
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A POSIX <locale.h>.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a0ea54f..53c5d22 100644 (file)
@@ -1,7 +1,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A GNU-like <stdio.h>.
 
-   Copyright (C) 2004, 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    except that it indicates to GCC that the supported format string directives
    are the ones of the system printf(), rather than the ones standardized by
    ISO C99 and POSIX.  */
-#define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
+#if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
+  _GL_ATTRIBUTE_FORMAT_PRINTF (formatstring_parameter, first_argument)
+#else
+# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
   _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
+#endif
 
 /* _GL_ATTRIBUTE_FORMAT_SCANF
    indicates to GCC that the function takes a format string and arguments,
@@ -1030,11 +1035,10 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
    so any use of gets warrants an unconditional warning; besides, C11
    removed it.  */
 #undef gets
-#if HAVE_RAW_DECL_GETS
+#if HAVE_RAW_DECL_GETS && !defined __cplusplus
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
 #endif
 
-
 #if 0 || 0
 struct obstack;
 /* Grow an obstack with formatted output.  Return the number of
index 7ec4419..c3df12b 100644 (file)
@@ -1,7 +1,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A GNU-like <stdlib.h>.
 
-   Copyright (C) 1995, 2001-2004, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2004, 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -842,6 +842,29 @@ _GL_CXXALIAS_SYS (putenv, int, (char *string));
 _GL_CXXALIASWARN (putenv);
 #endif
 
+#if 0
+# if 0
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef qsort_r
+#   define qsort_r rpl_qsort_r
+#  endif
+_GL_FUNCDECL_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  int (*compare) (void const *, void const *,
+                                                  void *),
+                                  void *arg) _GL_ARG_NONNULL ((1, 4)));
+_GL_CXXALIAS_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  int (*compare) (void const *, void const *,
+                                                  void *),
+                                  void *arg));
+# else
+_GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  int (*compare) (void const *, void const *,
+                                                  void *),
+                                  void *arg));
+# endif
+_GL_CXXALIASWARN (qsort_r);
+#endif
+
 
 #if 0
 # if !1
@@ -1231,7 +1254,7 @@ _GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
 
 #if IN_GREP_GNULIB_TESTS
 /* Remove the variable NAME from the environment.  */
-# if 1
+# if 0
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef unsetenv
 #   define unsetenv rpl_unsetenv
@@ -1244,7 +1267,7 @@ _GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
 #  endif
 _GL_CXXALIAS_SYS (unsetenv, int, (const char *name));
 # endif
-# if !(1 && !1)
+# if !(0 && !1)
 _GL_CXXALIASWARN (unsetenv);
 # endif
 #elif defined GNULIB_POSIXCHECK
index cb3712f..1cb3dee 100644 (file)
@@ -1,7 +1,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A GNU-like <string.h>.
 
-   Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    You should have received a copy of the GNU General Public License
    along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef _GL_STRING_H
-
 #if __GNUC__ >= 3
 #pragma GCC system_header
 #endif
 
 
+#if defined _GL_ALREADY_INCLUDING_STRING_H
+/* Special invocation convention:
+   - On OS X/NetBSD we have a sequence of nested includes
+       <string.h> -> <strings.h> -> "string.h"
+     In this situation system _chk variants due to -D_FORTIFY_SOURCE
+     might be used after any replacements defined here.  */
+
+#include_next <string.h>
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _GL_STRING_H
+
+#define _GL_ALREADY_INCLUDING_STRING_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #include_next <string.h>
 
+#undef _GL_ALREADY_INCLUDING_STRING_H
+
 #ifndef _GL_STRING_H
 #define _GL_STRING_H
 
@@ -871,8 +887,8 @@ _GL_WARN_ON_USE (strsep, "strsep is unportable - "
 # endif
 #endif
 
-#if 0
-# if 0
+#if 1
+# if 1
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define strstr rpl_strstr
 #  endif
@@ -1339,3 +1355,4 @@ _GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - "
 
 #endif /* _GL_STRING_H */
 #endif /* _GL_STRING_H */
+#endif
index 7e293d6..4fa3c54 100644 (file)
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -657,7 +657,7 @@ _GL_WARN_ON_USE (dup, "dup is unportable - "
    Return newfd if successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
    <http://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>.  */
-# if 0
+# if 1
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define dup2 rpl_dup2
 #  endif
@@ -713,6 +713,12 @@ _GL_WARN_ON_USE (dup3, "dup3 is unportable - "
 /* Set of environment variables and values.  An array of strings of the form
    "VARIABLE=VALUE", terminated with a NULL.  */
 #  if defined __APPLE__ && defined __MACH__
+#   include <TargetConditionals.h>
+#   if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
+#    define _GL_USE_CRT_EXTERNS
+#   endif
+#  endif
+#  ifdef _GL_USE_CRT_EXTERNS
 #   include <crt_externs.h>
 #   define environ (*_NSGetEnviron ())
 #  else
@@ -1599,13 +1605,24 @@ _GL_WARN_ON_USE (readlink, "readlink is unportable - "
 
 
 #if 0
-# if !1
+# if 0
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define readlinkat rpl_readlinkat
+#  endif
+_GL_FUNCDECL_RPL (readlinkat, ssize_t,
+                  (int fd, char const *file, char *buf, size_t len)
+                  _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_RPL (readlinkat, ssize_t,
+                  (int fd, char const *file, char *buf, size_t len));
+# else
+#  if !1
 _GL_FUNCDECL_SYS (readlinkat, ssize_t,
                   (int fd, char const *file, char *buf, size_t len)
                   _GL_ARG_NONNULL ((2, 3)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (readlinkat, ssize_t,
                   (int fd, char const *file, char *buf, size_t len));
+# endif
 _GL_CXXALIASWARN (readlinkat);
 #elif defined GNULIB_POSIXCHECK
 # undef readlinkat
@@ -1719,13 +1736,25 @@ _GL_WARN_ON_USE (symlink, "symlink is not portable - "
 
 
 #if 0
-# if !1
+# if 0
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef symlinkat
+#   define symlinkat rpl_symlinkat
+#  endif
+_GL_FUNCDECL_RPL (symlinkat, int,
+                  (char const *contents, int fd, char const *file)
+                  _GL_ARG_NONNULL ((1, 3)));
+_GL_CXXALIAS_RPL (symlinkat, int,
+                  (char const *contents, int fd, char const *file));
+# else
+#  if !1
 _GL_FUNCDECL_SYS (symlinkat, int,
                   (char const *contents, int fd, char const *file)
                   _GL_ARG_NONNULL ((1, 3)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (symlinkat, int,
                   (char const *contents, int fd, char const *file));
+# endif
 _GL_CXXALIASWARN (symlinkat);
 #elif defined GNULIB_POSIXCHECK
 # undef symlinkat
index 10871b0..7ee530c 100644 (file)
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Elementary Unicode string functions.
-   Copyright (C) 2001-2002, 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2005-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index d6377d1..bf85c8c 100644 (file)
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Elementary types and macros for the GNU UniString library.
-   Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index be11847..0a1bf32 100644 (file)
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Display width functions.
-   Copyright (C) 2001-2002, 2005, 2007, 2009-2014 Free Software Foundation,
+   Copyright (C) 2001-2002, 2005, 2007, 2009-2015 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify it
index ac1417c..f51499f 100644 (file)
@@ -1,7 +1,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #endif
 
 
-#if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
+#if (((defined __need_mbstate_t || defined __need_wint_t)               \
+      && !defined __MINGW32__)                                          \
+     || (defined __hpux                                                 \
+         && ((defined _INTTYPES_INCLUDED && !defined strtoimax)         \
+             || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H))               \
+     || defined _GL_ALREADY_INCLUDING_WCHAR_H)
 /* Special invocation convention:
-   - Inside glibc and uClibc header files.
+   - Inside glibc and uClibc header files, but not MinGW.
    - On HP-UX 11.00 we have a sequence of nested includes
      <wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
      once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
@@ -741,7 +746,7 @@ _GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - "
 
 /* Return the number of screen columns needed for WC.  */
 #if 1
-# if 1
+# if 0
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef wcwidth
 #   define wcwidth rpl_wcwidth
index 153bb91..64b8305 100644 (file)
@@ -1,7 +1,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute for ISO C99 <wctype.h>, for platforms that lack it.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by