X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=cab9521474d95de5acbfaca7a42e2c857aabb9df;hb=95928d3b1ce10d1e85b5be735071c8f64bdad3b7;hp=9817769fc8d3980f6b76239ff9241ae8bd849b80;hpb=a0169ab699a208ae0ef2e54f68438226f3d714a1;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 9817769fc..cab952147 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,831 @@ +2013-01-01 Paul Eggert + + regex: port __libc_lock_define usage to C89 + * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove. + (struct re_dfa_t): Use #ifdef instead. '__libc_lock_define (, lock)' + does not conform to C89, as it has an empty macro argument. + Reported by Aharon Robbins in + . + +2013-01-01 Eric Blake + + maint: update all copyright year number ranges + Run "make update-copyright". + + version-etc: bump copyright year reported in --version + * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013. + +2012-12-31 Eric Blake + + 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 (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 + + 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 + + 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 + and + . + + regex: simplify based on Gawk version + * lib/regex_internal.c (re_dfa_add_node): Simplify. + Reported by Aharon Robbins in + . + +2012-12-29 Paul Eggert + + regex: check that pattern char is single-byte + Reported by Aharon Robbins in + . + * 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 + . + * 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 + . + * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]: + #undef before defining. + + regex: port to hosts where malloc (0) == NULL + Reported by Aharon Robbins in + . + * 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 + . + * 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 + * 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 + + 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 + + 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 + . + * 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 + + 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 + + c-vasprintf: Fix "empty declaration" warning reported by GCC. + * lib/c-vasprintf.h: Remove stray semicolon. + +2012-12-23 Paul Eggert + + gettext: avoid obsolete macro AM_PROG_MKDIR_P + It is obsolete and is planned to be removed from Automake 1.14; see + . + * 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 + + 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 + + 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 + . + +2012-12-20 Paul Eggert + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + gnu-web-doc-update: improve --help + * build-aux/gnu-web-doc-update: Move comments into --help. + +2012-12-07 Eric Wong + + 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 + + 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 + . + +2012-12-11 Simon Josefsson + + 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 + + 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 + + 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 + + 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 + . + +2012-12-05 Paul Eggert + + 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 + . + * 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 + + 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 + + maint.mk: avoid gratuitous failure + Reported by Stefano Lattarini in + + * top/maint.mk (public-submodule-commit): Quote more safely. + +2012-11-20 Eli Zaretskii + + canonicalize, canonicalize-lgpl: support MS-Windows file names + See + 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 + + 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 + + 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 + + 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 + + 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 + adding "lib/" after $(libdir)/. Reported by Matias A. fonzo + in http://bugs.gnu.org/12830. + 2012-11-08 Paul Eggert fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY @@ -23461,7 +24289,7 @@ assume , ..., exist For years gnulib has been assuming the existence of the headers - , , , , , + , , , , , , , , and . Omit checks for them, since they don't appear to be needed. * README (Portability guidelines): Document this. @@ -79445,7 +80273,7 @@ * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback declaration for wcwidth. - * lib/mbswidth.c: Restore the includes of and . + * lib/mbswidth.c: Restore the includes of and . 2006-06-28 Bruno Haible @@ -98035,7 +98863,7 @@ 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