version-etc: bump copyright year reported in --version
[gnulib.git] / ChangeLog
index a742d0a..70c8269 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,813 @@
+2013-01-01  Eric Blake  <eblake@redhat.com>
+
+       version-etc: bump copyright year reported in --version
+       * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
+
+2012-12-31  Eric Blake  <eblake@redhat.com>
+
+       sigprocmask-tests: skip test if pid is unexpectedly large
+       * tests/test-sigprocmask.c (main): Add range check.
+
+       git-version-gen: avoid test -z portability glitch
+       * build-aux/git-version-gen: Prefer portable test spelling, since
+       git-version-gen is run on more than just developer machines.
+
+2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
+
+       git-version-gen: add --fallback option to use if git is not present
+       * build-aux/git-version-gen: Add support for the new option --fallback,
+       which comes into play when there is no $tarball_version_file and
+       git is not working.
+       (scriptversion): Update.
+
+       maint.mk: handle missing git with more grace
+       * top/maint.mk (no-submodule-changes, public-submodule-commit):
+       Quietly proceed if git is not present.
+
+2012-12-31  Eric Blake  <eblake@redhat.com>
+
+       dup2: work around cygwin bug
+       * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
+       * lib/dup2.c (rpl_dup2): Work around it.
+       * doc/posix-functions/dup2.texi (dup2): Document it.
+
+2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex: remove unnecessary dependency on localcharset.h
+       * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
+       hasn't been needed for years.
+       * modules/regex (Depends-on): Remove localcharset.
+
+       regex: revert single-byte change
+       * lib/regexec.c (check_node_accept_bytes): Revert previous change
+       to this function.  This was alredy fixed in a different way, at
+       bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
+       <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
+       <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
+
+       regex: simplify based on Gawk version
+       * lib/regex_internal.c (re_dfa_add_node): Simplify.
+       Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+
+2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex: check that pattern char is single-byte
+       Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+       * lib/regexec.c (check_node_accept_bytes):
+       Return 0 if the pattern string has a multibyte character here.
+
+       regex: implement rational ranges
+       Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+       * lib/regcomp.c (build_range_exp) [!_LIBC]:
+       * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
+       Implement rational ranges.
+
+       regex: avoid redefining __wctype
+       Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+       * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
+       #undef before defining.
+
+       regex: port to hosts where malloc (0) == NULL
+       Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+       * lib/regex_internal.c (re_node_set_alloc):
+       Don't assume that malloc (0) yields nonnull.
+       * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
+       * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
+       * modules/regex (Files): Add m4/eealloc.m4.
+
+       regex: port to C89
+       Reported by Aharon Robbins in
+       <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+       * lib/regcomp.c (init_word_char): Declaration before statement.
+
+       regex: merge glibc changes
+       Also, copy the license wording from glibc.  This simplifies
+       merging changes.  gnulib-tool will change the wording to GPL as
+       appropriate, when importing it to other packages.  The only
+       glibc change made since the last merge, which needs merging, is:
+       2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
+       * lib/regex_internal.h (gettext): Remove use of INTUSE.
+
+       * users.txt: Add Emacs.
+
+       doc: omit mention of version when not needed
+       * doc/gnulib-intro.texi (Portability and Application Code):
+       * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
+       Don't mention particular dates or versions when not necessary, so
+       that the documentation won't go out of date so quickly.
+
+       * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
+
+2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
+
+       bootstrap: pass --force to autoreconf.
+       * build-aux/bootstrap (AUTORECONFFLAGS): New.
+       Add "--force" so that Automake's ylwrap and other such tools
+       be updated at each bootstrap invocation.
+       Use it.
+
+2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
+       The earlier patch forgot to update one of the #if conditions, causing
+       a problem on Debian testing i386 reported by Mats Erik Andersson
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
+       * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
+       (__argp_fmtstream_puts, argp_fmtstream_puts)
+       (__argp_fmtstream_write, argp_fmtstream_write)
+       [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
+
+       * doc/gnulib-readme.texi: Minor fixups.
+       (Portability guidelines): Modernize URLs.  Remove some repetition.
+       (Indent with spaces not TABs): Reword to avoid too-long lines.
+       Remove some '@ifset standalone' stuff that isn't used.
+
+       * doc/gnulib-readme.texi (Portability guidelines):
+       ctype.h, not ctime.h.
+
+       Correct name of POSIX.1-2001.
+       * doc/posix-functions/fgetc.texi (fgetc):
+       * doc/posix-functions/fgets.texi (fgets):
+       * doc/posix-functions/fread.texi (fread):
+       * doc/posix-functions/fscanf.texi (fscanf):
+       * doc/posix-functions/getc.texi (getc):
+       * doc/posix-functions/getchar.texi (getchar):
+       * doc/posix-functions/scanf.texi (scanf):
+       POSIX.1-2001, not POSIX-2001.
+
+       doc: move README into manual
+       * README: Move contents to new file doc/gnulib-readme.texi.
+       Replace with a one-line summary.
+       * doc/gnulib.texi (Brief Overview): New section,
+       with old intro preface.  Include gnulib-readme.texi for contents.
+       (Philosophy): Rename from "Introduction", since this
+       section no longer introduces the rest.  Write a new preface.
+       * doc/gnulib-readme.texi: New file, with the old contents of
+       README texinfo-ized.  This way, the README info appears
+       in the online and printed manual.
+
+2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
+
+       c-xvasprintf: Fix "implicit declaration of function" GCC warning.
+       * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
+       c_vasprintf() prototype.
+
+2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
+
+       c-vasprintf: Fix "empty declaration" warning reported by GCC.
+       * lib/c-vasprintf.h: Remove stray semicolon.
+
+2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       gettext: avoid obsolete macro AM_PROG_MKDIR_P
+       It is obsolete and is planned to be removed from Automake 1.14; see
+       <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
+       * build-aux/po/Makefile.in.in (install-data, install-data-yes)
+       (installdirs-data, installdirs-data-yes):
+       Use $(MKDIR_P), not $(mkdir_p).
+       * m4/intl.m4 (AM_INTL_SUBDIR):
+       * m4/po.m4 (AM_PO_SUBDIRS):
+       Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
+
+2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
+       On this platform, we are not optimizing but we are using
+       the substitute for extern inlines, so compile as if
+       C99-style extern inline, or a substitute, is available.
+       * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
+       (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
+       (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
+       (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
+       (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
+       Declare as ARGP_FS_EI, not as extern.
+       * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
+       (__option_is_short, _option_is_end, __option_is_end)
+       [!_LIBC && __USE_EXTERN_INLINES]:
+       Declare as ARGP_EI, not as extern.
+
+2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
+       * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
+       Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
+       m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
+       ...), as the latter is fatal with older Autoconfs.
+       Problem reported and fix suggested by Eric Blake in thread starting at
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
+
+2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       AC_PROG_MKDIR_P: don't workaround if not buggy
+       * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
+       Define only for Autoconf versions before 2.62.
+       (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
+       undocumented m4_PACKAGE_VERSION, for consistency with the
+       abovementioned change to AC_PROG_MKDIR_P.  This should suffice
+       since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
+       was introduced in 2.62.
+
+2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
+
+       New 'c-*printf' modules for formatted output in C locale.
+
+       New module 'c-vasnprintf'.
+       * modules/c-vasnprintf: New file.
+       * lib/c-vasnprintf.c: New file.
+       * lib/c-vasnprintf.h: New file.
+
+       New module 'c-snprintf'.
+        * modules/c-snprintf: New file.
+        * modules/c-snprintf-tests: New file.
+        * lib/c-snprintf.c: New file.
+        * lib/c-snprintf.h: New file.
+        * tests/test-c-snprintf.c: New file.
+        * tests/test-c-snprintf.sh: New file.
+
+       New module 'c-vsnprintf'.
+        * modules/c-vsnprintf: New file.
+        * modules/c-vsnprintf-tests: New file.
+        * lib/c-vsnprintf.c: New file.
+        * lib/c-vsnprintf.h: New file.
+        * tests/test-c-vsnprintf.c: New file.
+        * tests/test-c-vsnprintf.sh: New file.
+
+       New module 'c-vasprintf'.
+        * modules/c-vasprintf: New file.
+        * modules/c-vasprintf-tests: New file.
+        * lib/c-asprintf.c: New file.
+        * lib/c-vasprintf.c: New file.
+        * lib/c-vasprintf.h: New file.
+        * tests/test-c-vasprintf.c  +: New file.
+        * tests/test-c-vasprintf.sh: New file.
+
+       New module 'c-xvasprintf'.
+        * modules/c-xvasprintf: New file.
+        * modules/c-xvasprintf-tests: New file.
+        * lib/c-xasprintf.c: New file.
+        * lib/c-xvasprintf.c: New file.
+        * lib/c-xvasprintf.h: New file.
+        * tests/test-c-xvasprintf.c: New file.
+        * tests/test-c-xvasprintf.sh: New file.
+
+2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       argp: better 'inline'
+       Use extern-inline module to declare extern inline functions.
+       This avoids some bogus warning diagnostics.  Problem discovered
+       when modifying GNU tar to use the manywarnings module.
+       * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
+       * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
+       Define based on extern-inline.
+       * modules/argp (Depends-on): Add extern-inline.
+
+2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       filemode, sys_stat: Handle MPX files a la AIX.
+       * lib/filemode.c (ftypelet): Report 'm' for MPX files.
+       * lib/sys_stat.in.h (S_ISMPX): New macro.
+       * tests/test-sys_stat.c: Add tests for MPX files.
+
+2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
+
+       x-to-1: honor $PERL
+       * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
+       a chance to use his preferred version of Perl.  This is typically
+       required by Darwin users whose default /usr/bin/perl does not have all
+       the libraries required by help2man, and who need to use their MacPorts
+       installation of Perl instead.
+
+2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
+
+       gnu-web-doc-update: add all the new files, even in new directories
+       See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
+       * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
+       Use it.
+       (main): Don't use cvsutils to get the list of unknown files,
+       just add all the existing files and directories.
+
+2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
+
+       gnu-web-doc-update: improve --help
+       * build-aux/gnu-web-doc-update: Move comments into --help.
+
+2012-12-07  Eric Wong  <normalperson@yhbt.net>
+
+       mountlist: recognize more "dummy" file systems
+       * lib/mountlist.c (ME_DUMMY_0):
+       Add these dummy FS names to the list:
+       - "debugfs" virtual filesystem for kernel debugging
+       - "devpts" PTY slave filesystem
+       - "devtmpfs" device filesystem on top of tmpfs/ramfs
+       - "fusectl" control filesystem for FUSE
+       - "mqueue" enumerates POSIX message queues
+       - "rpc_pipefs" kernel <-> userspace bridge for NFS
+       - "sysfs" is for exporting kernel objects
+       - "devfs" device filesystem for Linux 2.4 and FreeBSD
+
+2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       extern-inline: avoid incompatibility with Darwin Libc
+       * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
+       extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
+       Problem reported by Akim Demaille in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+
+2012-12-11  Simon Josefsson  <simon@josefsson.org>
+
+       gnupload: Work with GnuPG using gpg-agent (for smartcards).
+       * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
+       let it handle password prompting.
+
+2012-12-10  Eli Zaretskii  <eliz@gnu.org>
+
+       canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
+       * lib/canonicalize.c (canonicalize_filename_mode):
+       * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
+       fetching the current directory.  Don't overrun the beginning of
+       rpath if there's no slashes after the MS-Windows drive letter.
+
+2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       maint.mk: avoid extra forks
+       * top/maint.mk (_cfg_mk): The GNU make manual documents that
+       "$(wildcard FILE)" expands to empty if FILE doesn't exist.
+       So use that instead of "$(shell test -f FILE && echo FILE)".
+
+2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       vasnprintf: fix ASCII_ONLY typo
+       * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
+       * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
+       * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
+       New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
+
+2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       list, oset, xlist, xoset: fix extern inline issue with C99
+       This was introduced by my recent changes for 'inline'.
+       Problem reported for gettext by Daiki Ueno in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
+       * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
+       (gl_list_nx_create, gl_list_size, gl_list_node_value)
+       (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
+       (gl_list_previous_node, gl_list_get_at)
+       (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
+       (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
+       (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
+       (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
+       (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
+       (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
+       (gl_list_iterator_free, gl_sortedlist_search)
+       (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
+       (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
+       (gl_sortedlist_remove):
+       * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
+       (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
+       (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
+       * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
+       (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
+       (gl_list_add_last, gl_list_add_before, gl_list_add_after)
+       (gl_list_add_at, gl_sortedlist_add):
+       * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
+       Wrap these extern decls inside "#if 0", because they are implemented
+       as inline functions, and extern inline is not what's wanted here.
+       It would simplify these .h files to remove the extern decls entirely,
+       although a downside would be less-clear separation between
+       specification and implementation.
+
+2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       sys_stat: no 'static inline'
+       * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
+       * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
+
+       extern-inline: no 'static inline'
+       * m4/extern-inline.m4 (gl_EXTERN_INLINE):
+       Do not require AC_C_INLINE.
+       (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
+       'static inline', for older compilers.
+
+       snippet/warn-on-use: no 'static inline'
+       * build-aux/snippet/warn-on-use.h:
+       Remove unnecessary 'inline' in comment.
+
+       rbtree-list, rbtreehash-list: no 'static inline'
+       * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
+       * lib/gl_anytree_list2.h (node_at):
+       * lib/gl_anytreehash_list1.h (hash_resize_after_add)
+       (gl_oset_first, add_nodes_to_buckets):
+       Now static, not static inline.
+
+       regex: no 'static inline'
+       * lib/regex_internal.c (calc_state_hash):
+       * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
+       (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
+       (bitset_mask, re_string_char_size_at, re_string_wchar_at):
+       Now static, not static inline.
+       (inline) [__GNUC__ < 3 && _LIBC]:
+       Remove macro; no longer needed.
+
+       xvasprintf: no 'static inline'
+       * lib/xvasprintf.c (xstrcat):
+       Now static, not static inline.
+       * m4/xvasprintf.m4 (gl_XVASPRINTF):
+       Do not require AC_C_INLINE.
+
+       parse-datetime, parse-duration: no 'static inline'
+       * lib/parse-datetime.y (to_uchar):
+       * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
+       (scale_n_add):
+       Now static, not static inline.
+       * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
+       * modules/parse-duration (configure.ac):
+       Do not require AC_C_INLINE.
+
+       getaddrinfo: no 'static inline'
+       * lib/getaddrinfo.c (validate_family):
+       Now static, not static inline.
+       * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
+       Do not require AC_C_INLINE.
+
+       ftruncate, fts, lstat, openat, raise: no 'static inline'
+       * lib/ftruncate.c (chsize_nothrow):
+       * lib/fts.c (opendirat, diropen):
+       * lib/lstat.c (orig_lstat):
+       * lib/openat.c (orig_openat):
+       * lib/raise.c (raise_nothrow):
+       Now static, not static inline.
+       * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
+       * m4/fts.m4 (gl_FUNC_FTS_CORE):
+       * m4/lstat.m4 (gl_PREREQ_LSTAT):
+       * m4/openat.m4 (gl_PREREQ_OPENAT):
+       * m4/raise.m4 (gl_PREREQ_RAISE):
+       Do not require AC_C_INLINE.
+
+       fflush, stat: no 'static inline'
+       * lib/fflush.c (clear_ungetc_buffer_preserving_position)
+       (clear_ungetc_buffer, disable_seek_optimization)
+       (restore_seek_optimization, update_fpos_cache):
+       * lib/stat.c (orig_stat):
+       Now static, not static inline.
+       * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
+       (update_fpos_cache):
+       Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
+       * m4/fflush.m4 (gl_PREREQ_FFLUSH):
+       * m4/stat.m4 (gl_PREREQ_STAT):
+       Do not require AC_C_INLINE.
+
+       error, filevercmp: no 'static inline'
+       * lib/error.c (is_open, flush_stdout):
+       * lib/filevercmp.c (order):
+       Now static, not static inline.
+       * m4/error.m4 (gl_PREREQ_ERROR):
+       * modules/filevercmp (configure.ac):
+       Do not require AC_C_INLINE.
+
+       dup, execute, fatal-signal, etc.: no 'static inline'
+       * lib/dup.c (dup_nothrow):
+       * lib/execute.c (nonintr_close, nonintr_open):
+       * lib/fatal-signal.c (uninstall_handlers, install_handlers):
+       * lib/fopen.c (orig_fopen):
+       * lib/freadseek.c (freadptrinc):
+       * lib/freopen.c (orig_freopen):
+       * lib/fstat.c (orig_fstat, fstat_nothrow):
+       * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
+       (get_rusage_as_via_iterator):
+       * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
+       * lib/getdtablesize.c (_setmaxstdio_nothrow):
+       * lib/isatty.c (_isatty_nothrow):
+       * lib/open.c (orig_open):
+       * lib/read.c (read_nothrow):
+       * lib/sigprocmask.c (signal_nothrow):
+       * lib/spawn-pipe.c (nonintr_close, nonintr_open):
+       * lib/vasnprintf.c (MAX_ROOM_NEEDED):
+       * lib/wait-process.c (unregister_slave_subprocess):
+       * lib/write.c (write_nothrow):
+       Now static, not static inline.
+       * lib/spawn-pipe.c (nonintr_open): Define only if
+       (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
+       * m4/dup.m4 (gl_PREREQ_DUP):
+       * m4/execute.m4 (gl_EXECUTE):
+       * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
+       * m4/fopen.m4 (gl_PREREQ_FOPEN):
+       * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
+       * m4/freopen.m4 (gl_PREREQ_FREOPEN):
+       * m4/fstat.m4 (gl_PREREQ_FSTAT):
+       * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
+       * m4/isatty.m4 (gl_PREREQ_ISATTY):
+       * m4/open.m4 (gl_PREREQ_OPEN):
+       * m4/read.m4 (gl_PREREQ_READ):
+       * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
+       * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
+       * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
+       * m4/wait-process.m4 (gl_WAIT_PROCESS):
+       * m4/write.m4 (gl_PREREQ_WRITE):
+       * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
+       Do not require AC_C_INLINE.
+
+       c-strtod, memcoll, readutmp: no 'static inline'
+       * lib/c-strtod.c (c_locale):
+       * lib/memcoll.c (strcoll_loop):
+       * lib/readutmp.c (desirable_utmp_entry):
+       Now static, not static inline.
+       * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
+       * m4/memcoll.m4 (gl_MEMCOLL):
+       * m4/readutmp.m4 (gl_READUTMP):
+       Do not require AC_C_INLINE.
+
+       arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
+       * lib/arctwo.c (to_uchar):
+       * lib/md4.c (set_uint32):
+       * lib/md5.c (set_uint32):
+       * lib/sha1.c (set_uint32):
+       * lib/sha256.c (set_uint32):
+       * lib/sha512.c (set_uint64):
+       Now static, not static inline.  This is a bit simpler, and doesn't
+       affect performance with GCC and default optimization.
+       * m4/arctwo.m4 (gl_ARCTWO):
+       * m4/md4.m4 (gl_MD4):
+       * m4/md5.m4 (gl_MD5):
+       * m4/sha1.m4 (gl_SHA1):
+       * m4/sha256.m4 (gl_SHA256):
+       * m4/sha512.m4 (gl_SHA512):
+       Do not require AC_C_INLINE.
+
+       cond, lock, thread: better 'inline'
+       * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
+       * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
+       New macros.  Use them instead of static inline, for header functions.
+       * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
+       (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
+       * lib/glthread/lock.c (gl_waitqueue_init)
+       (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
+       * lib/glthread/thread.c (get_current_thread_handle):
+       Change 'static inline' to 'inline'.
+       * lib/glthread/cond.h, lib/glthread/thread.h:
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/cond.m4 (gl_COND):
+       * m4/lock.m4 (gl_PREREQ_LOCK):
+       * m4/thread.m4 (gl_THREAD):
+       Do not require AC_C_INLINE.
+       * modules/cond, modules/thread (Depends-on): Add extern-inline.
+
+       chdir-long, cycle-check, savewd: better 'inline'
+       * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
+       (find_non_slash):
+       * lib/cycle-check.c (is_zero_or_power_of_two):
+       * lib/savewd.c (savewd_delegating):
+       Change 'static inline' to 'inline'.
+       * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
+       Replace all remaining uses of 'static inline' with it.
+       * lib/savewd.h:
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
+       * m4/cycle-check.m4 (gl_CYCLE_CHECK):
+       * m4/savewd.m4 (gl_SAVEWD):
+       Do not require AC_C_INLINE.
+       * modules/savewd (Depends-on): Add extern-inline.
+
+       base32, base64: no need for 'inline'
+       * lib/base32.c (to_uchar, get_8, decode_8):
+       * lib/base64.c (to_uchar, get_4, decode_4):
+       Change 'static inline' to 'inline'.
+       * m4/base32.m4 (gl_PREREQ_BASE32):
+       * m4/base64.m4 (gl_PREREQ_BASE64):
+       Do not require AC_C_INLINE.
+
+       array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
+       * lib/gl_array_oset.c (gl_array_nx_add_at):
+       (gl_array_remove_at):
+       * lib/gl_linkedhash_list.c (hash_resize_after_add)
+       (add_to_bucket, remove_from_bucket):
+       * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
+       Change 'static inline' to 'static', as it's simpler to omit
+       'inline' unless there's a significant performance advantage.
+
+       list, oset, xlist, xoset, xsublist: simplify via extern inline
+       * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
+       * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
+       * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
+       * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
+       * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
+       New macro.  Replace all uses of 'static inline' with it.
+       [HAVE_INLINE]: Implement functions as *_INLINE functions,
+       instead of as macros FOO that are defined to static inline
+       functions FOO_inline.
+       * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
+       * lib/gl_xsublist.c:
+       Reimplement from scratch, by defining the corresponding *_INLINE
+       macro and including the corresponding .h file.  This is simpler.
+       * modules/list, modules/oset, modules/xlist, modules/xoset:
+       (Files): Remove m4/gl_list.m4.
+       (configure.ac): Remove gl_LIST.
+       * m4/gl_list.m4: Remove.
+       * modules/list, modules/oset, modules/xlist, modules/xoset:
+       * modules/xsublist:
+       (Depends-on): Depend on extern-inline, not inline.
+
+       xalloc: better 'inline'
+       * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
+       New macro.  Replace all uses of 'static inline' with it.
+       (static_inline): Remove.
+       * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
+       Let 'extern inline' do the work automatically, instead of doing
+       it by hand.
+       * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
+       Remove.  All uses removed.
+       * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
+
+       gethrxtime: better 'inline'
+       * lib/xtime.c: New file.
+       * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
+       * lib/xtime.h (XTIME_INCLUDE):
+       New macros.  Replace all uses of 'static inline' with them.
+       * lib/gethrxtime.c (gethrxtime): Define only if
+       ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
+       this source file is now always compiled, because of the extern inline.
+       * lib/gethrxtime.h, lib/xtime.h:
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
+       if gethrtime works, as they're not needed in that case.
+       (gl_XTIME): Do not require AC_C_INLINE.
+       (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
+       compiled now.  Move the check into gl_GETHRXTIME.
+       * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
+       (Depends-on): Add extern-inline.
+       (configure.ac): gethrxtime is always compiled now.
+       (lib_SOURCES): Add gethrxtime.c.
+
+       wctype-h: better 'inline'
+       * lib/wctype-h.c: New file.
+       * lib/wctype.in.h (_GL_WCTYPE_INLINE):
+       New macro.  Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
+       * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
+       (Depends-on): Add extern-inline.
+
+       unistd: better 'inline'
+       * lib/unistd.c: New file.
+       * lib/unistd.in.h (_GL_UNISTD_INLINE):
+       New macro.  Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
+       * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
+       (Depends-on): Add extern-inline.
+
+       sys_socket: better 'inline'
+       * lib/sys_socket.c: New file.
+       * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
+       New macro.  Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
+       * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
+       (Depends-on): Add extern-inline.
+
+       stdio: better 'inline'
+       * lib/stdio.c: New file.
+       * lib/stdio.in.h (_GL_STDIO_INLINE):
+       New macro.  Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
+       * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
+       (Depends-on): Add extern-inline.
+
+       sigaction: better 'inline'
+       * lib/sig-handler.c: New file.
+       * lib/sig-handler.h (SIG_HANDLER_INLINE):
+       New macro.  Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
+       * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
+       (Depends-on): Add extern-inline.
+
+       selinux-h: better 'inline'
+       * lib/se-context.c, lib/se-selinux.c: New files.
+       * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
+       * lib/se-context.in.h (SE_CONTEXT_INLINE):
+       New macro.  Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * lib/se-selinux.in.h (SE_SELINUX_INLINE):
+       New macro.  Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * modules/selinux-h (Files, lib_SOURCES):
+       Add lib/se-context.c, lib/se-selinux.c.
+       (Depends-on): Add extern-inline.
+       (configure.ac): Do not require AC_C_INLINE.
+
+       pthread: better 'inline'
+       * lib/pthread.c: New file.
+       * lib/pthread.in.h (_GL_PTHREAD_INLINE):
+       New macro.  Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/pthread.m4 (gl_PTHREAD_CHECK):
+       Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
+       * modules/pthread (Files): Add lib/pthread.c.
+       (Depends-on): Add extern-inline.
+
+       math: better 'inline'
+       * lib/math.c: New file.
+       * lib/math.in.h (_GL_MATH_INLINE):
+       New macro.  Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/math_h.m4 (gl_MATH_H):
+       Do not require AC_C_INLINE.
+       * modules/math (Files, lib_SOURCES):
+       Add lib/math.c.
+       (Depends-on): Add extern-inline.
+
+       count-one-bits: better 'inline'
+       * lib/count-one-bits.c: New file.
+       * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
+       New macro.  Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
+       Do not require AC_C_INLINE.
+       * modules/count-one-bits (Files, lib_SOURCES):
+       Add lib/count-one-bits.c.
+       (Depends-on): Add extern-inline.
+
+       count-leading-zeros: better 'inline'
+       * lib/count-leading-zeros.c: New file.
+       * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
+       New macro.  Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
+       Do not require AC_C_INLINE.
+       * modules/count-leading-zeros (Files, lib_SOURCES):
+       Add lib/count-leading-zeros.c.
+       (Depends-on): Add extern-inline.
+
+       bitrotate: better 'inline'
+       * lib/bitrotate.c: New file.
+       * lib/bitrotate.h (BITROTATE_INLINE):
+       New macros.
+       Replace all uses of 'static inline' with them.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
+       (Depends-on): Add extern-inline.
+       (configure.ac): Do not require AC_C_INLINE.
+
+2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
+
+       maint.mk: avoid gratuitous failure
+       Reported by Stefano Lattarini in
+       <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
+       * top/maint.mk (public-submodule-commit): Quote more safely.
+
+2012-11-20  Eli Zaretskii  <eliz@gnu.org>
+
+       canonicalize, canonicalize-lgpl: support MS-Windows file names
+       See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
+       for test cases, which it'd be nice to add at some point.
+       * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
+       * lib/canonicalize.c (canonicalize_filename_mode):
+       * lib/canonicalize-lgpl.c (__realpath):
+       Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
+       slash is at the beginning of the file name.  Use ISSLASH, instead
+       of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
+       the first character with '/'.  Test for
+       DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
+       with a drive letter.
+       * lib/canonicalize.c (SLASHES): New macro.
+       (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
+
+2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
+
+       fts: introduce FTS_VERBATIM
+       * lib/fts_.h (FTS_VERBATIM): New bit flag.
+       (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
+       * lib/fts.c (fts_open): Honor it.
+
+2012-11-09  Pádraig Brady  <P@draigBrady.com>
+
+       getlogin-tests: allow errno == ENXIO
+       * tests/test-getlogin.c (main): Skip tests if getlogin fails
+       with errno == ENXIO (No controlling tty).
+       getlogin_r-tests: Likewise. Also allow errno == ENOENT
+       * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
+       with errno == ENOENT.  This was reported to happen in various
+       situations on GNU/Linux.
+
+2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       getlogin-tests: allow errno == ENOENT
+       * tests/test-getlogin.c (main): Skip tests if getlogin fails
+       with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
+       when running a test in an Emacs shell buffer.
+
 2012-11-08  Jim Meyering  <jim@meyering.net>
 
+       tests/nap.h: avoid warning about unused variable
+       * tests/nap.h (nap_works): Remove now-unused declaration of "result".
+
        prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
        * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
        white space before each of the special-cased file names, to avoid
 
        assume <ctype.h>, ..., <time.h> exist
        For years gnulib has been assuming the existence of the headers
-       <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
+       <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
        <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
        them, since they don't appear to be needed.
        * README (Portability guidelines): Document this.
 
        * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
        declaration for wcwidth.
-       * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
+       * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
 
 2006-06-28  Bruno Haible  <bruno@clisp.org>
 
        coding: utf-8
        End:
 
-       Copyright (C) 1997-2012 Free Software Foundation, Inc.
+       Copyright (C) 1997-2013 Free Software Foundation, Inc.
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice