X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ChangeLog;h=ebf9a35d3c4805485407243f4a4835621a7f38c6;hb=HEAD;hp=f0685aa21aff1308643b347793ef7448f899c6a6;hpb=d7479c8a52b5ae8ce721333305ba1b9c27face27;p=platform%2Fupstream%2Faugeas.git diff --git a/ChangeLog b/ChangeLog index f0685aa..ebf9a35 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10485 +1,107745 @@ -2014-10-31 Chris Hollowell +2016-10-05 Jim Meyering + + long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough + * lib/long-options.c (parse_long_options): Add a break statement + to avoid this new warning/failure: + $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \ + --create-testdir --dir=/t/x --with-tests --test long-options + ../../gllib/long-options.c: In function ‘parse_long_options’: + ../../gllib/long-options.c:66:12: error: this statement may \ + fall through [-Werror=implicit-fallthrough] + (*usage_func) (EXIT_SUCCESS); + ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ + + utimecmp: avoid new GCC 7 warning from -Wbool-operation + Testing this module would fail when using GCC 7 like this: + $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \ + --dir=/tmp/x --with-tests --test utimecmp + ../../gllib/utimecmp.c: In function ‘utimecmp’: + ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \ + [-Werror=bool-operation] + time_t s = src_s & ~ (res == 2 * BILLION); + ^ + ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \ + [-Werror=bool-operation] + src_s &= ~ (res == 2 * BILLION); + ^ + * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean. + Instead, make it explicit that we intend to apply it to 0 or 1. + +2016-10-03 Pádraig Brady + + quotearg: minimize shell quoting using double quotes + * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single + quote in encountered then use double quotes (c style quoting) + when possible, as it simplifies the quoting. + * tests/test-quotearg-simple.c: Add test cases. + * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account + for the fact we now may write beyond the returned length. + +2016-10-02 Jim Meyering + + vasnprintf.c: avoid spurious warning from GCC 7 + The presence of cpp directives renders this "FALLTHROUGH" comment + ineffective, so does not suppress the -Wimplicit-fallthrough warning + from GCC 7 built from git on 2016-10-02. + * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp + directives, so that it takes effect once again. This is clearly + not a proper change, and I will revert it once this bug is fixed: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817 + +2016-10-01 Jim Meyering + + getprogname: correct the test for a __progname variable + * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK + and AC_LINK_IFELSE to check for a global __progname. If found, + define HAVE_VAR___PROGNAME. + * lib/getprogname.c (getprogname): Reflect the new name of the + feature- checked preprocessor symbol: + s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/ + +2016-09-28 Jim Meyering + + u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough + * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of + fall-through case with a /* fallthrough */ comment. + + dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough + * lib/dfa.c (dfassbuild): Mark the end of this case with a + /* fallthrough */ comment. + + getprogname: avoid __progname vs program_invocation_short_name pitfall + I.e., don't let the OpenBSD 5.1 fix induce failure when using newer + glibc. Would have caused failure with Fedora 25's glibc-2.24-3, but + not with Fedora 24's glibc-2.23.1-10. + * lib/getprogname.c (__progname): Move this declaration down... + (getprogname): ... into the #elif block where used, and make it + explicitly "extern". + + getprogname: port to OpenBSD 5.1 + * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare. + (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?". + * modules/getprogname (configure.ac): Move most of this code... + * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function, + increment serial number, and add a test for __progname. + https://bugs.gnu.org/24562 + Reported by Nelson H. F. Beebe. + +2016-09-24 Paul Eggert + + sched: port to GCC 6.2.1 on macOS Sierra + Problem reported by Denis Davydov in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00056.html + * lib/sched.in.h [HAVE_SYS_CDEFS_H]: + Include before . + * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h, + so that we needn’t worry about the sched.h include bug here. + * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h, + and include it before if it exists, when + checking for . + + tests/init.sh: port Alpine fix to AIX 7.1 + * tests/init.sh (compare_): When attempting to use diff -U3, + prefer diff -u to -U3 to -c to plain diff. Do not insist on + diff -u not outputting a space after leading '+', as the users + of 'compare' should not be that picky about its output format. + In the AIX 7.1 case, return with diff exit status (or with 2 if + trouble), instead of some random nonzero exit status. + * tests/test-init.sh (test_compare): Remove space after leading + '+', so that AIX 7.1 'diff' passes the test. + +2016-09-22 Paul Eggert + + nl_langinfo: pacify GCC + * lib/nl_langinfo.c (ctype_codeset): Remove unused local. + (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC. + + stdint: also set GL_GENERATE_LIMITS_H + Problem reported by Jim Meyering in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00052.html + * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL. + + limits-h, stdint: Don't assume extensions, fix typo + * m4/limits-h.m4 (gl_LIMITS_H): + * m4/stdint.m4 (gl_STDINT_H): + Don't assume AC_USE_SYSTEM_EXTENSIONS. + * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H, + reported by Jim Meyering in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00050.html + +2016-09-21 Jim Meyering + + getprogname: port to AIX + * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64 + and strdup to obtain a short program name string. Using code from + Bruno Haible and an idea from Bastien ROUCARIÈS, in + https://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00249.html + Assaf Gordon reported that this new file would fail to compile on + AIX-7.1 32bit. + +2016-09-16 Paul Eggert + + extensions: fix typo in comment + * m4/extensions.m4: Sync from Autoconf master. + + stdint: support new _WIDTH macros + * doc/posix-headers/stdint.texi: Document this. + * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc. + * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H. Check for + support for INTMAX_WIDTH, etc. as well as for support for just C99. + * modules/stdint (Depends-on): Add limits-h. + (Makefile.am): Substitute HAVE_C99_STDINT_H. + * modules/stdint-tests (Depends-on): Add extensions, so that + INTMAX_MAX etc. are defined. + * tests/test-stdint.c: Verify the new macros. + + limits-h: new module + This adds ISO/IEC TS 18661-1:2014 support to limits.h. + * MODULES.html.sh: Add limits-h,and move size_max to stdint section. + * doc/posix-headers/limits.texi: Document new module. + * lib/limits.in.h, m4/limits-h.m4, modules/limits-h: + * modules/limit-h-tests, tests/test-limits-h.c: New files. + + stdio: don't redefine __USE_MINGW_ANSI_STDIO + * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO + if it is already defined. Apparently GNU Emacs relies on this. See: + http://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00416.html + +2016-09-15 Eric Blake + + sys_types: avoid glibc 2.25 warnings about major() + * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in + older autoconf. + * doc/posix-headers/sys_types.texi (sys/types.h): Document fix. + * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise. + * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise. + * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise. + + mountlist: include sysmacros.h for glibc + * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include + AC_HEADER_MAJOR. + * lib/mountlist.c (includes): Use correct headers. + +2016-09-15 Paul Eggert + + extensions: port to more ISO C TSes + * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf + master, to add support for more recent ISO C TRs and TSes. + +2016-09-13 Paul Eggert + + intprops: new macro TYPE_WIDTH + * lib/intprops.h (TYPE_WIDTH): New macro. + (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND): + * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND): + * lib/parse-datetime.y (parse_datetime2): + Use it. + + extensions: port to recent ISO C TRs + * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): + Sync from Autoconf master, to add support for recent ISO C TRs. + * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here, + since AC_USE_SYSTEM_EXTENSIONS no longer does that as + the MinGW option is not an extension. + +2016-09-11 Paul Eggert + + dfa: port to Solaris 9 + Problems reported by Tom G. Christensen in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00031.html + * modules/dfa (Depends-on): Add isblank. + * modules/dfa-tests (dfa_match_aux_LDADD): + Rename from test_stat_LDADD, to fix typo. + * tests/dfa-match.sh: Don't require 'timeout'; use it if available. + +2016-09-10 Jim Meyering + + strverscmp: avoid link failure on OS X + * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp. + Reported by Assaf Gordon in https://bugs.gnu.org/24256#26 + +2016-08-16 Jim Meyering + + dfa: new module, importing grep's DFA matcher + Since grep's DFA matcher is now being used by two gnulib-enabled + projects, grep and sed, it makes sense to version-control its + sources and unit tests in one place: here. + * modules/dfa: New module. + * modules/dfa-tests: New file. + * lib/dfa.c: New file, from grep. + * lib/dfa.h: Likewise. + * lib/localeinfo.c: Likewise. + * lib/localeinfo.h: Likewise. + * tests/dfa-match-aux.c: Likewise. + * tests/dfa-invalid-char-class.sh: Likewise. + * tests/dfa-match.sh: Likewise, with minor changes. + * MODULES.html.sh (Misc): Add "dfa" to this list. + +2016-09-09 Jim Meyering + + getprogname-tests: don't depend on assert-h + * modules/getprogname-tests (Depends-on): Remove assert-h. + It was not needed, and in fact would cause build failure for + coreutils on some systems. Reported by Assaf Gordon in https: + //lists.gnu.org/archive/html/coreutils/2016-09/msg00016.html + +2016-09-07 Jim Meyering + + getprogname-tests: work also when EXEEXT is nonempty + * modules/getprogname-tests (Makefile.am): Define EXEEXT. + * tests/test-getprogname.c (main): Use it. + Suggested by Gisle Vanem. + +2016-09-07 Gisle Vanem + + getprogname: fix errors in previous change + * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]: + s/program_invocation_name/base/ + [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0]. + +2016-09-08 Pádraig Brady + + parse-datetime: restrict debug output to input string + * lib/parse-datetime.y (parse_datetime2): If we parse + all of the input but determine it's invalid, ensure + we don't output the now invalid input pointer. + This issue was seen with `date -d 'now +1'`. + +2016-09-07 Paul Eggert + + flexmember: new macro FLEXALIGNOF + * lib/flexmember.h: Include , for offsetof. + (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use + this macro. Update comments. + +2016-09-07 Jim Meyering + + getprogname: port to systems with __argv (mingw, msvc) + * lib/getprogname.c (getprogname): Include "dirname.h" and use + last_component: more general than open coding it with hard-coded "/". + * lib/getprogname.h (getprogname): Prefer "char const *" consistently. + * modules/getprogname (Depends-on): Add dirname-lgpl. + (configure.ac): Check for __argv in . + * modules/getprogname-tests: New file. + * tests/test-getprogname.c: New file. + Suggested by Gisle Vanem in + https://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00014.html + +2016-09-07 Paul Eggert + + flexmember: port better to GCC + valgrind + With a char[] flexible array member in a struct with nontrivial + alignment, GCC-generated code can access past the end of the + array, because GCC assumes there are padding bytes to get the + struct aligned. So the common idiom of malloc (offsetof (struct + s, m), n) does not properly allocate an n-byte trailing member, as + malloc’s argument should be the next multiple of alignof (struct s). + See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661 + Although C11 apparently permits this GCC optimization (i.e., there + was a bug in Gnulib not in GCC), possibly this is a defect in C11. + See the thread containing: + https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html + * lib/flexmember.h: New file. + * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c: + * lib/localename.c, lib/time_rz.c: + Include flexmember.h. + * lib/fnmatch_loop.c (struct patternlist): + * lib/localename.c (struct hash_node): + Use FLEXIBLE_ARRAY_MEMBER. + * lib/fnmatch_loop.c (EXT): + * lib/fts.c (fts_alloc): + * lib/glob.c (glob_in_dir): + * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname): + * lib/localename.c (gl_lock_define_initialized): + * lib/time_rz.c (tzalloc): + Use FLEXSIZEOF instead of offsetof. + * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): + Check that the size of the struct can be taken. + * modules/flexmember (Files): Add lib/flexmember.h. + * modules/fnmatch, modules/glob, modules/localename (Depends-on): + Add flexmember. + +2016-09-06 Paul Eggert + + getprogname: port to Solaris 10 + * lib/getprogname.c: Include stdlib.h, for getexecname decl. + (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10. + * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname. + + stdalign: correct mistake in alignof doc + Problem reported by Joseph Myers in: + https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html + * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits + alignof(S) where S is a structure containing a flexible array + member. The Gnulib substitute does not support this, but C11 does. + +2016-08-18 Pino Toscano + + main.mk: remove sc_program_name, since there is no more need to + use set_program_name in tools (getprogname is enough for most + of the cases). + * cfg.mk (local-checks-to-skip): Remove sc_program_name. + * top/maint.mk (sc_program_name): Remove. + +2016-08-18 Pino Toscano + + Port tests away from progname, since modules that need the + program name already depend on getprogname. + * modules/acl-tests (Depends-on): Remove progname. + * modules/argmatch (Depends-on): Likewise. + * modules/argmatch-tests (Depends-on): Likewise. + * modules/argp-tests (Depends-on): Likewise. + * modules/argp-version-etc-tests (Depends-on): Likewise. + * modules/array-list-tests (Depends-on): Likewise. + * modules/array-oset-tests (Depends-on): Likewise. + * modules/avltree-list-tests (Depends-on): Likewise. + * modules/avltree-oset-tests (Depends-on): Likewise. + * modules/avltreehash-list-tests (Depends-on): Likewise. + * modules/carray-list-tests (Depends-on): Likewise. + * modules/copy-file-tests (Depends-on): Likewise. + * modules/exclude-tests (Depends-on): Likewise. + * modules/fchownat-tests (Depends-on): Likewise. + * modules/fdopendir-tests (Depends-on): Likewise. + * modules/filenamecat-tests (Depends-on): Likewise. + * modules/fstatat-tests (Depends-on): Likewise. + * modules/fstrcmp-tests (Depends-on): Likewise. + * modules/linked-list-tests (Depends-on): Likewise. + * modules/linkedhash-list-tests (Depends-on): Likewise. + * modules/mkdirat-tests (Depends-on): Likewise. + * modules/nonblocking-pipe-tests (Depends-on): Likewise. + * modules/nonblocking-socket-tests (Depends-on): Likewise. + * modules/obstack-printf-tests (Depends-on): Likewise. + * modules/openat-tests (Depends-on): Likewise. + * modules/parse-datetime-tests (Depends-on): Likewise. + * modules/pipe-filter-gi-tests (Depends-on): Likewise. + * modules/pipe-filter-ii-tests (Depends-on): Likewise. + * modules/quotearg-simple-tests (Depends-on): Likewise. + * modules/quotearg-tests (Depends-on): Likewise. + * modules/rbtree-list-tests (Depends-on): Likewise. + * modules/rbtree-oset-tests (Depends-on): Likewise. + * modules/rbtreehash-list-tests (Depends-on): Likewise. + * modules/spawn-pipe-tests (Depends-on): Likewise. + * modules/system-quote-tests (Depends-on): Likewise. + * modules/uniname/uniname-tests (Depends-on): Likewise. + * modules/uninorm/nfc-tests (Depends-on): Likewise. + * modules/uninorm/nfd-tests (Depends-on): Likewise. + * modules/uninorm/nfkc-tests (Depends-on): Likewise. + * modules/uninorm/nfkd-tests (Depends-on): Likewise. + * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise. + * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise. + * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise. + * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise. + * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise. + * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise. + * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise. + * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise. + * modules/unlinkat-tests (Depends-on): Likewise. + * modules/version-etc-tests (Depends-on): Likewise. + * modules/xalloc-die-tests (Depends-on): Likewise. + * modules/xmemdup0-tests (Depends-on): Likewise. + * modules/xprintf-posix-tests (Depends-on): Likewise. + * modules/xvasprintf-tests (Depends-on): Likewise. + * tests/test-argmatch.c: Do not include progname.h. + (main) Stop calling set_program_name. + * tests/test-argp-version-etc.c: Likewise. + * tests/test-argp.c: Likewise. + * tests/test-argv-iter.c: Likewise. + * tests/test-array_list.c: Likewise. + * tests/test-array_oset.c: Likewise. + * tests/test-avltree_list.c: Likewise. + * tests/test-avltree_oset.c: Likewise. + * tests/test-avltreehash_list.c: Likewise. + * tests/test-carray_list.c: Likewise. + * tests/test-copy-acl.c: Likewise. + * tests/test-copy-file.c: Likewise. + * tests/test-exclude.c: Likewise. + * tests/test-fchownat.c: Likewise. + * tests/test-fdopendir.c: Likewise. + * tests/test-filenamecat.c: Likewise. + * tests/test-fstatat.c: Likewise. + * tests/test-fstrcmp.c: Likewise. + * tests/test-linked_list.c: Likewise. + * tests/test-linkedhash_list.c: Likewise. + * tests/test-mkdirat.c: Likewise. + * tests/test-nonblocking-pipe-main.c: Likewise. + * tests/test-nonblocking-socket-main.c: Likewise. + * tests/test-obstack-printf.c: Likewise. + * tests/test-openat.c: Likewise. + * tests/test-parse-datetime.c: Likewise. + * tests/test-pipe-filter-gi1.c: Likewise. + * tests/test-pipe-filter-gi2-main.c: Likewise. + * tests/test-pipe-filter-ii1.c: Likewise. + * tests/test-pipe-filter-ii2-main.c: Likewise. + * tests/test-quotearg-simple.c: Likewise. + * tests/test-quotearg.c: Likewise. + * tests/test-rbtree_list.c: Likewise. + * tests/test-rbtree_oset.c: Likewise. + * tests/test-rbtreehash_list.c: Likewise. + * tests/test-sameacls.c: Likewise. + * tests/test-set-mode-acl.c: Likewise. + * tests/test-spawn-pipe-main.c: Likewise. + * tests/test-system-quote-main.c: Likewise. + * tests/test-unlinkat.c: Likewise. + * tests/test-version-etc.c: Likewise. + * tests/test-xalloc-die.c: Likewise. + * tests/test-xfprintf-posix.c: Likewise. + * tests/test-xmemdup0.c: Likewise. + * tests/test-xprintf-posix.c: Likewise. + * tests/test-xvasprintf.c: Likewise. + * tests/uniname/test-uninames.c: Likewise. + * tests/uninorm/test-u32-nfc-big.c: Likewise. + * tests/uninorm/test-u32-nfd-big.c: Likewise. + * tests/uninorm/test-u32-nfkc-big.c: Likewise. + * tests/uninorm/test-u32-nfkd-big.c: Likewise. + * tests/unistdio/test-u16-vsnprintf1.c: Likewise. + * tests/unistdio/test-u16-vsprintf1.c: Likewise. + * tests/unistdio/test-u32-vsnprintf1.c: Likewise. + * tests/unistdio/test-u32-vsprintf1.c: Likewise. + * tests/unistdio/test-u8-vsnprintf1.c: Likewise. + * tests/unistdio/test-u8-vsprintf1.c: Likewise. + * tests/unistdio/test-ulc-vsnprintf1.c: Likewise. + * tests/unistdio/test-ulc-vsprintf1.c: Likewise. + * tests/test-c-stack.c: (program_name): Do not define. + (main): Do not set program_name. + * tests/test-closein.c: Likewise. + * tests/test-xstrtol.c: Likewise. + * tests/test-yesno.c: Likewise. + +2016-08-18 Pino Toscano + + Port modules to use getprogname explicitly, instead of requiring + progname to be used (or program_name to be provided). + * lib/argmatch.c: Do not include progname.h. + [TEST] (program_name): Do not define. + [TEST] (main): Call getprogname instead of using program_name. + * lib/c-stack.c: Do not include progname.h. + (program_name): Do not define. + (die): Call getprogname instead of using program_name. + * lib/chdir-long.c: Do not include progname.h. + [TEST_CHDIR] (main): Do not set program_name. + * lib/error.c [!_LIBC]: Include progname.h. + [!_LIBC] (program_name): Define using getprogname. + * lib/euidaccess.c: Do not include progname.h. + [TEST] (main): Do not set program_name. + * lib/git-merge-changelog.c: Include getprogname.h instead of + progname.h. + (usage): Call getprogname instead of using program_name. + (main): Likewise. Stop calling set_program_name. + * lib/group-member.c: Do not include progname.h. + [TEST] (main): Do not set program_name. + * modules/argmatch (Depends-on): Add getprogname. + * modules/c-stack (Depends-on): Likewise. + * modules/error (Depends-on): Likewise. + * modules/git-merge-changelog (Depends-on): Likewise. + Also remove progname. + +2016-09-05 Pino Toscano + + * NEWS: Document the deprecation of the 'progname' module. + +2016-08-18 Pino Toscano + + getprogname: new module + This provides a LGPL module for getting the name of the current + program, using the same API found on *BSD systems. + * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4: + * modules/getprogname: New files. + * MODULES.html.sh (Misc): Add getprogname. + +2016-09-02 Jim Meyering + + manywarnings: add -fno-common + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common + to the list. Quoting the manual, "Compiling with -fno-common is + useful on targets for which it provides better performance, or if + you wish to verify that the program will work on other systems that + always treat uninitialized variable declarations this way [putting + it in the data section]." If diffutils had been using this sooner, + it would have prevented this duplicate declaration issue: + http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f + +2016-08-31 Simon Josefsson + + parse-datetime: Fix typo. + * lib/parse-datetime.y (parse_datetime2): Fix typo. + +2016-08-30 Paul Eggert + + intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6 + * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like + GCC 5 and 6 that have __builtin_sub_overflow but not + __builtin_sub_overflow_p. With the recent changes, these + platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW + implementation than with INT_SUBTRACT_OVERFLOW implementation, + since the former needs just one runtime comparison whereas the + latter needs two. + + strverscmp: sync with glibc + Although this doesn't exactly synchronize with glibc + byte-for-byte, it makes the code behave the same as glibc. + * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2. + (ISDIGIT): Remove, as glibc is sticking with isdigit, and the + difference shouldn't matter in practical use. All uses changed + back to isdigit. + (__strverscmp, strverscmp): Use new glibc method for weak aliases. + (next_state): Now unsigned char array; redo elements. + (result_type): Now signed char array; redo elements. + (__strverscmp): Fix glibc bug 9913 by using new states. + * tests/test-strverscmp.c (main): Test glibc bug 9913. + +2016-08-29 Jim Meyering + + xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0 + * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too, + similarly to how it was done to intprops.h. + +2016-08-29 Paul Eggert + + intprops.h: port recent changes to GCC 6.2.0 + * lib/intprops.h (__has_builtin): Move earlier. + (_GL_HAS_BUILTIN_OVERFLOW): Rename from + _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether + the last argument can be null. All uses changed. + (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin. + (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW): + Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0 + and it's not clear which GCC versions it works for. + (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of + its definiens. + + intprops.h: use __typeof__ with GCC 7 + * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW) + (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual. + This avoids computing the expression's value (which might overflow!). + +2016-08-29 Jim Meyering + + intprops.h, xalloc-oversized.h: work with gcc 7 + In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and + __builtin_mul_overflow each accept a NULL pointer as the third + argument. However in gcc 7, that is no longer accepted. + Instead, one must use the "_p"-suffixed names, with which, the + third parameter is no longer a pointer. + * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct + the definition: not true for gcc 7 and subsequent. + (_GL_HAS_BUILTIN_OVERFLOW_P): Define. + (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW): + Provide new definitions for gcc 7 and subsequent. + * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition + that works with gcc-7. + + intprops.h: fix missing-backslash problems + * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash. + (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise. + +2016-08-24 Paul Eggert + + intprops: fix paren typo on old platforms + Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13 + * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH) + [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow) + && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS) + && !defined LLONG_MAX]: + Remove stray paren. + + intprops: port to OpenVMS + Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300 + * doc/posix-headers/limits.texi: Document the problem. + * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]: + Define if not already defined. + +2016-08-19 Assaf Gordon + + parse-datetime: improve debug implementation + Follow-up to commit 12ad79069 ("add optional debug printing"). + Improve parse-datetime's debug implementation: remove macros, + replace global debug flag variable with a function parameter, + use nstrftime for formatting. + See: https://lists.gnu.org/archive/html/bug-gnulib/2016-08/msg00021.html + * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern. + (parse_datetime2): New function, accepts 'flags' parameter, supporting + debug flag. Existing interface 'parse_datetime' left unmodified. + * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable. + (struct parser_control): add 'parse_datetime_debug' member variable. + (parse_datetime): Call new function 'parse_datetime2' without debug. + (parse_datetime2): Adapted from previous 'parse_datetime', initialize + pc.parse_datetime_debug variable as needed. + (to_year): Accept new flags parameter, instead of using global variable. + (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok): + use struct 'debug' variable instead of global variable. + (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME, + DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call + correspnding functions directly instead of using macros. + * modules/parse-datetime: Add gnulib's strftime module. + +2016-08-19 Daniel Richard G. + + c-strcase-tests: port to EBCDIC + * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls + which assume ASCII encoding semantics to run only in ASCII + mode, as they fail in EBCDIC. + + sigpipe-tests: fix typo + * tests/test-sigpipe.sh: C, not B. + +2016-08-18 Paul Eggert + + canonicalize-lgpl: fix errno after malloca fails + This fixes a typo I recently introduced. Suggested by Bruno Haible in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-08/msg00039.html + * lib/canonicalize-lgpl.c (__realpath): + Don't assume malloca sets errno on failure. + +2016-08-17 Paul Eggert + + strtod: port errno handling to z/OS + * lib/strtod.c (strtod): Save and restore errno more reliably. + +2016-08-17 Daniel Richard G. + + strtod: port to z/OS + * lib/strtod.c (strtod): Address a couple quirks in the z/OS + implementation. - Cgconfig: permit quoted spaces in parameter values - Allow quoted spaces in controller parameter value assignments, making valid - statements such as the following permissible: +2016-08-17 Paul Eggert - blkio.throttle.read_iops_device="8:0 50"; + strtod: port to z/OS + * lib/strtod.c (strtod): Address a couple quirks in the z/OS + implementation. -2014-10-30 Kenaniah Cerny + regex, string: rename to avoid '__string' + * lib/regex.h, lib/string.in.h: Do not use the identifier + '__string', as it is effectively reserved by string.h on z/OS. + + c-strcase-tests, wcwidth-tests: depend on c-ctype + * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on): + Add c-ctype. + +2016-08-17 Daniel Richard G. + + thread: port to z/OS + * lib/glthread/thread.c, lib/glthread/thread.h: + Rudimentary gl_thread support for z/OS. + + maint: port tests to z/OS errno behavior + * tests/test-nonblocking-reader.h: + * tests/test-nonblocking-writer.h: + Accommodate z/OS errno code preferences. (I believe this should + still be within spec; IBM is good at following the letter if not + the spirit of such things.) + + maint: preprocessor changes to support z/OS + * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c: + * lib/glob.c, lib/math.in.h, lib/ptsname_r.c: + * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c: + * tests/test-nonblocking-pipe.h: + + fclose, strstr-simple, wchar: port to z/OS + * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4: + Changes to the Autoconf M4 code to support z/OS. Note that + fclose() is broken in a different way on z/OS than it is on other + systems, thus the special-case in fclose.m4. + + iconv_open-utf-tests, iconv-tests: port to EBCDIC + * tests/test-iconv-utf.c, tests/test-iconv.c: + Added appropriately conditional #pragmas so that the test strings + in test-iconv-utf.c are correctly interpreted in ASCII instead of + EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be + addressed in a more portable way by simply rewriting all the ASCII + literal characters as octal escapes, but then you would lose the + partial readability that the strings have now. Also, iconv_open() + on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works. + + c-strcase-tests, wcwidth-tests: port to EBCDIC + * tests/test-c-strcasecmp.c: Include c-ctype.h. + (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII. + * tests/test-wcwidth.c: Likewise. + +2016-08-17 Paul Eggert + + stdbool: don't require _Bool for C++ + Problem reported by David Seifert in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-06/msg00005.html + * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this. + * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check + more-forgiving for C++, in that it requires only 'bool'. Be a bit + stricter about checking that bool and _Bool are compatible in C. + +2016-08-16 Paul Eggert + + getdelim: remove dependency on realloc-posix + * lib/canonicalize-lgpl.c (alloc_failed) + [!FUNC_REALPATH_WORKS || defined _LIBC]: New function, + (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it. + Use __set_errno where needed, for consistency. + * lib/getdelim.c (alloc_failed): New function. + (getdelim): Use it. + +2016-08-09 Assaf Gordon + + parse-datetime: add optional debug printing + Print parsing information, warnings, and errors to stderr. + * lib/parse-datetime.h (parse_datetimte_debug): New global variable. + * lib/parse-datetime.y: + (DEBUG_*): Macros calling debug functions if debugging is enabled. + (PROGRESS*): Same as DEBUG, for progress reporting. + (dbg_printf): Print message to stderr, with 'date' prefix. + (struct parser_control): Add 'debug_*_seen' variables. + (str_days): Converts day ordinal/number to string (e.g. 'last wed'). + (debug_print_current_time, debug_print_relateive_time): Prints the + current/relative date/time value of parser_control. + (YACC parser syntax): Print parsed parts with DEBUG_* macros. + (to_year): Warn about 2-digit year parsing. + (yylex): Warn about unrecognized words. + (get_effective_timezone): Returns current timezone in minutes. + (debug_strf{time,date,datetime}): Convert 'struct tm' to string as + clearly and unambigiously as possible. + (debug_mktime_not_ok): Print detailed information about failed + date/time values. + (parse_datetime): Add DEBUG messages for failures, warnings. Add + PROGRESS messages for status messages. + * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies. + +2016-08-06 Jim Meyering + + tests/init.sh: exclude dash with bad "local" semantics + * tests/init.sh (gl_shell_test_script_): Add a function to + eliminate a shell like "dash" (unlike bash, zsh) that has + surprising/risky "local var='...'" semantics. Inspired by + the problem and discussion in https://bugs.gnu.org/24116#11. + +2016-08-02 Ján Tomko + + maint.mk: expand the prohibit_doubled_word regex + This check has a static list of words that are checked for + repetitions. Expand it before running the perl script to + avoid using expensive captures. This decreases the cost + for libvirt from 1.66s to 0.66s. + * top/maint.mk (prohibit_doubled_word_expanded_): Define. + (sc_prohibit_doubled_word): Use it. + +2016-07-26 Ján Tomko + + useless-if-before-free: skip non-matching lines early + * build-aux/useless-if-before-free: First match each line with the + simple/quick /\bif\b/ and reject if there is no match. This often + saves the cost of the much more involved regular expression. + For libvirt, this decreases the cost from 1.44s to 1.02s. + +2016-07-26 Ján Tomko + + maint.mk: speed up sc_po_check + sc_po_check would skip files based on their names, or on the + existence of files with derived names. Rewrite it to use perl + instead of shell to make the check faster. + * top/maint.mk (perl_translatable_files_list_): Define. + (sc_po_check): Use it. + +2016-07-30 Ján Tomko + + maint.mk: speed up require_config_h_first + Instead of spawning three processes per file, + rewrite the check in perl and run it once for all the files. + * top/maint.mk (perl_config_h_first_): Define. + (sc_require_config_h_first): Use it in place of shell code. + +2016-07-26 Ján Tomko + + maint.mk: speed up sc_po_check + sc_po_check would skip files based on their names, or on the + existence of files with derived names. Rewrite it to use perl + instead of shell to make the check faster. + * top/maint.mk (perl_translatable_files_list_): Define. + (sc_po_check): Use it. + +2016-07-15 Paul Eggert + + obstack: pacify GCC 6 with -Wnull-dereference + Problem reported by Assaf Gordon in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-07/msg00028.html + * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler): + Declare with __attribute_noreturn__. + * lib/obstack.h (__attribute_noreturn__): New macro. + +2016-07-13 Eric Blake + + doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet + * doc/posix-headers/stdint.texi (stdint.h): Document the bugs. + * doc/posix-headers/limits.texi (limits.h): Document the bugs. + +2016-07-13 Paul Eggert + + doc: mention glibc SSIZE_MAX buglet + * doc/posix-headers/limits.texi (limits.h): Document the bug. + +2016-07-04 Martin Kletzander + + printf-posix: Fix mingw build + Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular + expression for detecting C symbol prefixes but forgot to qoute square + brackets in the command line arguments for grep. That way when + building with mingw the condition was false although it ought to be + true instead. In particular scenarios this led to the following + compile error: + + Cannot export rpl_printf: symbol not found + Cannot export rpl_scanf: symbol not found + collect2: error: ld returned 1 exit status + + Fix this by properly quoting square brackets. + +2016-07-03 Paul Eggert + + mktime: call tzset as per POSIX + Problem reported by Ludovic Courtès in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-06/msg00068.html + * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset. + * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset. + +2016-06-26 Pádraig Brady + + fts: handle readdir() errors + * lib/fts.c (fts_build): readdir(3) returns NULL when finished, + but also upon error when it will also set errno. Therefore + flag the error case from readdir(). We treat the case where + no items are read the same as if the dir can't be accessed, + i.e. by setting fts_errno to FTS_DNR. + +2016-06-24 Paul Eggert + + intprops: port better to GCC 7 + GCC 7 __builtin_add_overflow supports a new usage form, where the + last argument is a null pointer, and which merely returns 1 if an + overflow would occur. This is a constant expression if all + arguments are constants, and should generate faster code when code + needs to be generated. + * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro. + (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW): + Use builtin operations if available. + (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin + operations are available, as it's almost surely faster. + +2016-06-23 Paul Eggert + + intprops-test: port to GCC 6 + * tests/test-intprops.c: Ignore -Woverflow if any GCC version, + since the bug is not fixed in GCC 6.1. + +2016-06-13 Paul Eggert + + xalloc-oversized: port to GCC 7; fewer warnings + GCC 7 will have a better way to deal with integer overflow. + Plus, fix a warnings problem reported by Tim Ruehsen in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-06/msg00022.html + * lib/xalloc-oversized.h (__xalloc_oversized): New macro. + (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later. + For GCC 5, use __xalloc_oversized if both args are constants, + or if pedantic. + +2016-06-08 Paul Eggert + + regex: port to Sun C + Reported by Daiki Ueno. + * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not + __restrict, in prototype. This fixes a problem I introduced in + the 2016-02-19 merge from glibc. + +2016-05-31 Paul Eggert + + stdbool: Restore __bool_true_false_are_defined check + * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): + __bool_true_false_are_defined is still defined, even with C++11. + +2016-05-31 David Seifert (tiny change) + + stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11 + * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11. + +2016-05-30 Paul Eggert + + Use GCC_LINT, not lint + FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined. + Problem reported by Ken Brown in: http://bugs.gnu.org/23640 + * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): + Document problem with lint and _Noreturn. + * lib/diffseq.h (IF_LINT, IF_LINT2): + * lib/fts.c (sccsid): + * lib/getndelim2.c (IF_LINT): + * lib/gl_anylinked_list2.h (gl_linked_iterator) + (gl_linked_iterator_from_to): + * lib/gl_anytree_list2.h (gl_tree_iterator) + (gl_tree_iterator_from_to): + * lib/gl_anytree_oset.h (gl_tree_iterator): + * lib/gl_array_list.c (gl_array_iterator) + (gl_array_iterator_from_to): + * lib/gl_array_oset.c (gl_array_iterator): + * lib/gl_carray_list.c (gl_carray_iterator) + (gl_carray_iterator_from_to): + * lib/idcache.c: + * lib/inet_ntop.c (IF_LINT): + * lib/regcomp.c (build_charclass_op, create_tree): + * lib/regex_internal.c (re_acquire_state) + (re_acquire_state_context): + * lib/trigl.c (rcsid): + * lib/trim.c (IF_LINT): + * lib/vasnprintf.c (IF_LINT): + * lib/verify.h (assume): + Treat GCC_LINT like lint. + +2016-05-29 Bruno Haible + + secure_getenv: Port to many more platforms. + * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id + functions. + * lib/secure_getenv.c (secure_getenv): Add alternate implementations + for non-BSD Unix platforms and for native Windows. + * doc/glibc-functions/secure_getenv.texi: Remove known issue. + Prompted by a request from Nikos Mavrogiannopoulos. + +2016-05-27 Eric Blake + + canonicalize: Fix broken probe for realpath. + * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression + in logic introduced in 54615b95. + +2016-05-26 Eric Blake + + unsetenv: relax to LGPLv2+ + * modules/unsetenv (License): Match setenv license. + +2016-05-20 Ludovic Courtès + + gendocs.sh: Set default TOP_NODE_UP_URL in HTML output. + Suggested by Gavin Smith . + Reported by myglc2 in . + * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL) + (commonarg, dirargs, dirs, infoarg, generate_ascii) + (generate_html, generate_info, generate_tex, outdir) + (source_extra, split, srcfile, texarg): Move above 'version'. + (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual". + +2016-05-17 Paul Eggert + + manywarnings: update for GCC 6.1 + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): + Add GCC 6.1 options that apply to C. + * build-aux/gcc-warning.spec: Add GCC 6.1 options that + do not apply to C, are obsolescent, etc. + +2016-05-12 Paul Eggert + + glob: size_t overflow checks + * lib/glob.c (__has_builtin): New macro. + (size_add_wrapv, glob_use_alloca): New static functions. + (glob, glob_in_dir): Check for size_t overflow in several places, + and fix some size_t checks that were not quite right. + + glob: don't assume INT_MAX < SIZE_MAX + * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the + latter is not portable to (probably theoretical) hosts where + SIZE_MAX <= INT_MAX. + +2016-05-09 Bruno Haible + + Fix undefined behaviour in gettext.h. + * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a + pointer's value after the storage it points to has been freed. + Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847. + Spotted by Coverity. + +2016-05-08 Paul Eggert + + git-version-gen: avoid undefined shift + Problem reported by Mosè Giordano in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-05/msg00012.html + * build-aux/git-version-gen: Avoid undefined behavior if invoked + with --prefix or --fallback but without a later argument. While + we're at it, omit unnecessary quotes. + +2016-05-04 Paul Eggert + + glob: merge glibc changes into lib/glob.c + * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, + dated 2016-05-04 12:09:35 2016 +0200. Here are the changes: + 2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of + struct dirent [BZ #19779] + 2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC + callback gl_readdir + 2015-10-20 Convert miscellaneous function definitions to prototype style + 2015-10-20 Convert 113 more function definitions to prototype style + (files with assertions) + 2015-06-12 Fix getlogin_r namespace (bug 18527). + 2014-02-10 Use glibc_likely instead __builtin_expect. + 2013-10-20 When glob pattern contains a trailing slash match only + directories. Fixes bug 10278. + 2013-09-04 glob: silence -Wattribute warnings + 2013-06-07 Avoid use of "register" as optimization hint. + 2012-09-25 Use size_t instead of int for internal variables in glob + (bug 14621) + 2011-07-20 Check for overflows in expressions + 2011-05-28 Remove unused variable + 2011-05-22 Add a few more alloca size checks + 2010-03-27 Whitespace fixes + 2010-03-27 Fix one more issue with the glob patch + 2010-03-24 Fix glob with empty pattern + 2008-05-27 Remove useless more "if" tests before "free" + * modules/glob (Depends-on): Add stdint. + +2016-05-01 Paul Eggert + + mktime: port to stricter signed overflow checking + * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'. + (long_int): Require width for INT_MAX * 3 * (seconds per year), + instead of merely for INT_MAX * 2. In practice platforms that + do the latter also do the former. + (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove. + (shr): New static function, replacing SHR. All uses changed. + (mktime_min, mktime_max): New constants, replacing TIME_T_MIN + and TIME_T_MAX. All uses changed. + (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal): + Use long_int, not time_t. + (long_int_avg): New static function, replacing time_t_avg. + All uses changed. Round toward positive infinity, as that + generates slightly better code. + (time_t_add_ok, time_t_int_add_ok): Remove. All uses replaced + by INT_ADD_WRAPV. + (guess_time_tm): Accept time, not a pointer to it. All uses changed. + (convert_time): New static function. + (ranged_convert): Use it + (ranged_convert): Check for *T out of [mktime_min, mktime_max] range. + Use simpler test for loop exit. + (__mktime_internal): Store negative of guessed offset, to simplify + overflow checking. Remove no-longer-needed test for small time_t + overflows. + + mktime: speed up DEBUG_MKTIME benchmarks + Call tzset just once, at the start, rather than for every test + case. This lets us measure the CPU cost of mktime as opposed to + that of tzset. This is relevant when TZ is not set and glibc is + being used. This speeds up tests by a factor of 40 on my Fedora + 23 x86-64 platform. + * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start, + to call tzset and as a sanity check. Later on, use localtime_r + instead of localtime. + + mktime: resurrect DEBUG_MKTIME testing + * lib/mktime.c [DEBUG_MKTIME]: Do not include . + Include , for strcmp. + + mktime: simplify DEBUG_MKTIME + * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined. + Simplify later usage accordingly. + + Port mktime_internal offset to unsigned time_t + This avoids some assumptions about wraparound arithmetic on + signed integer overflow. + * lib/mktime-internal.h (mktime_offset_t): New type. + (mktime_internal): Use it in decl. + * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type. + + * lib/mktime.c (__mktime_internal, localtime_offset): + * lib/timegm.c (timegm): Use it. + * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro. + (gl_FUNC_MKTIME): Require it. + +2016-04-27 Paul Eggert + + xstrtol: prohibit monstrosities like "1bB" + Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388 + * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like + "B" only if the first suffix needs a base. + * tests/test-xstrtol.sh: Test this. + +2016-04-21 Pádraig Brady + + xstrtod: reinstate setting of *result upon ERANGE + * lib/xstrtod.c (XSTRTOD): The user may decide to use + the returned limits upon ERANGE, so allow and document that. + +2016-04-20 Tino Calancha (tiny change) + + xstrtod: modify *result only if no errors + * lib/xstrtod.c (XSTRTOD). + +2016-04-19 Paul Eggert + + btowc: document problems in C locale + * doc/posix-functions/btowc.texi (btowc): Mention incompatibility + with mbrtowc. See: http://bugs.gnu.org/23269#32 + +2016-04-13 Paul Eggert + + mktime: improve integer overflow checking + * lib/mktime.c: Include stdbool.h, intprops.h, verify.h. + (WRAPV): Remove; no longer needed. + (verify): Remove. Replace all uses with call to verify.h 'verify'. + (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): + Remove. Use intprops.h defns instead. + (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok): + Use bool for Boolean, for clarity. + (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to + detect integer overflow. + * modules/mktime (Depends-on): Add intprops, stdbool, verify. + + intprops: check two's complement assumption + Suggested by Eric Blake in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-04/msg00016.html + * lib/intprops.h: Include . Verify that signed char, + short, int, long, and (if available) long long are two's complement. + * modules/intprops (Depends-on): Add 'verify'. + + intprops, mktime, strtol: assume two's complement + These macros were not portable to every conforming C11 ones' + complement platform. It's not worth the hassle of porting to some + platforms that use ones' complement or signed magnitude, as such + platforms are almost purely theoretical nowadays and porting even + to some of them makes the code harder to review for little + practical benefit. Problem reported by Florian Weimer in: + https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html + * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT) + (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT): + * lib/mktime.c (TYPE_TWOS_COMPLEMENT): + * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT) + (TYPE_SIGNED_MAGNITUDE): + Remove. All uses rewritten to assume two's complement, which is + all we can reasonably test nowadays anyway. + * top/maint.mk (_intprops_names): Remove the removed macros. + +2016-04-11 Paul Eggert + + stdint: port to strict C11 left shift + * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX): + Pacify clang -Wshift-negative-value, which should be an issue only + on clang setups where stdint.h does not conform to C11 or to C++11. + Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261 + +2016-04-09 Paul Eggert + + mbrtowc: work around glibc bug#19932 + Fix mbrtowc so that it never returns -1 in the C locale, + as this conflicts with a future version of POSIX + http://austingroupbugs.net/view.php?id=663#c2738 + and causes problems with GNU grep: http://bugs.gnu.org/23234 + See glibc bug 19932: + https://sourceware.org/bugzilla/show_bug.cgi?id=19932 + * doc/posix-functions/mbrlen.texi (mbrlen): + * doc/posix-functions/mbrtowc.texi (mbrtowc): + Document the glibc bug. + * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]: + Include hard-locale.h, locale.h. + (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug, + if the bug is possible. + * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro. + (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed. + * modules/hard-locale (License): Now LGPLv2+, for mbrtowc. + * modules/mbrtowc (Depends-on): Add hard-locale. + * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh. + * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'. + * tests/test-mbrtowc5.sh: New file. + +2016-04-03 Pedro Alves + + stdint: detect good enough pre-C++11 stdint.h in C++ mode + When gnulib is configured in C++ mode for a system with a working C99 + implementation of stdint.h that predates C++11, gnulib ends up + substituting stdint.h anyway. This works on most targets, but on e.g., + 64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while + MinGW is LLP64. Instead of trying to detect the right types, detect + good-enough-pre-C++11 stdint.h and in such case define + __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h. + * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS + / __STDC_LIMIT_MACROS while checking whether the system stdint.h + conforms to C99. If it does, check whether it hides symbols + behind the __STDC_{CONSTANT|LIMIT}_MACROS macros. Then if it + does, define those macros in config.h. + +2016-04-03 Paul Eggert + + argp: merge changes from glibc + Among other things, this should fix problems found by a Coverity + scan and reported by Andrei Borzenkov: + http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00015.html + http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00016.html + * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h: + * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h: + * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c: + * lib/argp.h: + Merge changes from glibc. + * tests/test-argp-2.sh: Adjust to match new behavior. + +2016-04-01 Paul Eggert + + stddef: support configuring with g++ + Problem reported by Ángel González in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-04/msg00003.html + * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t): + Do not define if _GCC_MAX_ALIGN_T is defined. + +2016-03-25 Paul Eggert + + test-framework-sh: minor cleanups + * tests/init.sh (testdir_prefix_): Output a trailing newline, + since strictly speaking POSIX requires this. + (setup_): Do not use the variable 'fail', as that makes the + trace output harder to read ('fail' is typically used by + tests to mean the test failed). Treat // portably. + Check that new directory is not merely a sibling of the tmp dir. + Avoid unnecessary invocation of tr. + + test-framework-sh: revert port to NetBSD 7.0 + It was a false alarm; I misinterpreted Assaf Gordon's report. + * tests/init.sh (testdir_prefix_, pfx_, template_length_): + Restore. + (test_dir_): Adjust to mktempd_ change. + (mktempd_): Restore 2nd arg. Use -t again. + (base_template_, template_, nx_): Resurrect old code. + + Port better to Alpine Linux + Its diff implementation does not support -c, but does support -U3. + Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13 + * tests/init.sh (diff_opt_): New var. + (compare_): Prefer diff -U3 to diff -c to plain diff. + +2016-03-24 Paul Eggert + + test-framework-sh: port to NetBSD 7.0 + Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13 + * tests/init.sh (testdir_prefix_, pfx_, template_length_): + Remove. All uses removed. + (test_dir_): Adjust to mktempd_ change. + (mktempd_): Omit 2nd arg. Stop using -t, as it is not portable. + (base_template_, template_, nx_): Simplify by hardcoding. + +2016-03-22 Paul Eggert + + gitlog-to-changelog: suppress ignored chatter + * build-aux/gitlog-to-changelog: Do not warn about skipping + an SHA if it would have been ignored anyway. + +2016-03-22 Geert Janssens + + setlocale: add "sv" to Windows language table + * lib/setlocale.c (language_table) [W32]: Add "sv". + Reported in . + +2016-03-21 Paul Eggert + + sys_select: port to new Cygwin + Problem reported by Ken Brown in: + https://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00054.html + * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name" + diagnostics. + +2016-03-17 Jim Meyering + + test-userspec.c: do not trigger gcc's new -Wmisleading-indentation + * tests/test-userspec.c (main): Remove unnecessary braces and fix + misleading indentation. Here is the diagnostic gcc-6.0-to-be issued: + test-userspec.c:176:9: error: statement is indented as if it were \ + guarded by... [-Werror=misleading-indentation] + { + ^ + test-userspec.c:173:7: note: ...this 'if' clause, but it is not + if (!diag && !T[i].result) + ^~ + +2016-03-15 Paul Eggert + + time_rz: port to clang -Wunused-const-variable + * lib/time_rz.c (TZ): Remove. All uses removed. + + std-gnu11: improve clang support + * m4/std-gnu11.m4: Sync with autoconf, incorporating: + 2016-03-15 Also try clang + 2016-03-15 Port C11 and C++11 testing to clang + + select: port more to Intel 2016.1.150 compiler + Problem reported by Balázs Hajgató in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00036.html + * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT. + +2016-03-14 Paul Eggert + + select: try to port to 2016.1.150 compiler + Problem reported by Balázs Hajgató in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00026.html + * lib/sys_select.in.h (select): Use 'restrict' on arguments where + POSIX specifies 'restrict'. + +2016-03-13 Paul Eggert + + localename-tests: memory allocation fixes + * tests/test-localename.c (test_locale_name) + (test_locale_name_thread): Don't call freelocale on a locale + that was the base of a successful newlocale, as that + results in a double free. Problem reported by Assaf Gordon. + (test_locale_name_thread): Free saved names after use, to pacify + gcc -fsanitize=address. + +2016-03-08 Paul Eggert + + intprops: make .h file license match module + * lib/intprops.h: Change the license wording to match glibc format. + This is what is in modules/intprops anyway. See: + https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8 + +2016-03-08 Eric Blake + + acl: fix missing return on Cygwin + * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't + fall off end of function. Fixes http://bugs.gnu.org/22949 + +2016-03-05 Bruno Haible + + extern-inline: port to PGI CC + * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the + keyword 'inline'. + Reported by Adam James Stewart in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00006.html + +2016-02-20 Paul Eggert + + signbit: port back to pre-C++11 GCC + * lib/math.in.h (signbit): Do previous change only if + __cplusplus < 201103. See Jonathan Wakely in: + https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/ + +2016-02-19 Kamil Dudka + + mountlist: recognize autofs-mounted remote file systems, too + Originally reported at: https://bugzilla.redhat.com/1309247 + * lib/mountlist.c (ME_REMOTE): Return true if a file system is named + "-hosts" because it is used by autofs to mount remote file systems. + +2016-02-19 Paul Eggert + + signbit: port to C++ with GCC 6 + * lib/math.in.h (signbit) [__cplusplus]: + Do not replace with GCC builtin. Reported by Orion Poplawski in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-02/msg00005.html + + * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX. + + regex: make it closer to libc + Make Idx a signed type, rather than possibly unsigned. + The unsignedness was not really buying us anything, since the code + overflows for other reasons before getting to PTRDIFF_MAX. Making + it signed allows us to use -1 and -2 with abandon, like libc does, + thus lessening the number of differences between gnulib and libc. + Also, it should help avoid gratuitous warnings like the one + reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702 + * lib/regex.h (__re_idx_t): Remove. All uses changed to regoff_t. + + + regex: merge patches from libc + + 2015-10-21 Joseph Myers + 2015-10-20 Joseph Myers + Convert miscellaneous function definitions to prototype style. + * lib/regcomp.c (re_compile_pattern, re_set_syntax) + (re_compile_fastmap, regcomp, regerror, regfree, re_comp): + * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2) + (re_search_2_stub, re_search_stub, re_set_registers, re_exec) + (re_search_internal): + Convert to prototype-style function definition. + Use internal_function for internal functions. + +2016-02-10 Paul Eggert + + stdalign: port to older HP and IBM cc + * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM + C compilers, by checking their version numbers. These version + numbers appear in MariaDB and in Qt code that dates way back and + that conditiionally uses the 'aligned' attribute. + +2016-02-09 Paul Eggert + + stdalign: port to clang 3.7.0 + Problem reported by Herbert J. Skuhra in: + http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00476.html + * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas' + from being defined on clang 3.7.0, which has a buggy stdalign.h. See: + https://llvm.org/bugs/show_bug.cgi?id=26547 + +2016-02-08 Paul Eggert + + readdir_r: now obsolescent + * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent. + * lib/mountlist.c (read_file_system_list): Add a FIXME. + +2016-02-06 Paul Eggert + + misc: port better to gcc -fsanitize=address + Without these patches, ./configure CFLAGS='-fsanitize=address' + would compute incorrect values. This patch fixes some (but not all) + test failures with recent glibc, with this configuration. + * m4/acl.m4 (gl_ACL_GET_FILE): + * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): + * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): + * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): + * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): + * m4/getdelim.m4 (gl_FUNC_GETDELIM): + * m4/getgroups.m4 (gl_FUNC_GETGROUPS): + * m4/getline.m4 (gl_FUNC_GETLINE): + * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): + * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): + * m4/regex.m4 (gl_REGEX): + * m4/strndup.m4 (gl_FUNC_STRNDUP): + * tests/test-calloc-gnu.c (main): + * tests/test-duplocale.c (main): + * tests/test-getgroups.c (main): + * tests/test-getline.c (main): + * tests/test-inttostr.c (main): + * tests/test-localename.c (test_locale_name) + (test_locale_name_thread, test_locale_name_environ) + (test_locale_name_default): + * tests/test-regex.c (main): + * tests/test-setlocale1.c (main): + * tests/test-stat.h (test_stat_func): + Free heap-allocated storage before exiting. + * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): + Don't match *_foo symbols inserted by AddressSanitizer. + * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'. + +2016-02-02 Jim Meyering + + verify-tests: also remove stray test-verify.Tpo + * modules/verify-tests (Makefile.am): Arrange for "make clean" + to remove the test-verify.Tpo file that is left behind by + the automake-generated rule upon compilation failure. + Otherwise, that .Tpo file would cause a failed "make distcheck" + at least for grep. + +2016-02-02 Paul Eggert + + std-gnu11: new module + This makes it easier for applications to prefer C11 and C++11 + to older variants, when compiling C and C++ code. + Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies + a nontrivial chunk of GPLed Autoconf source code. + * COPYING: Mention the m4/*.m4 copyright situation. + * MODULES.html.sh (std-gnu11): New module. + * m4/std-gnu11.m4, modules/std-gnu11: New files. + +2016-01-25 Paul Eggert + + get-permissions, strftime: fix grammar in comments + * lib/get-permissions.c, lib/strftime.c: Merge into the comments + some grammar fixes Alan Mackenzie made to GNU Emacs. + +2016-01-25 Daiki Ueno + + gettext: mark as obsolete + Suggested by Paul Eggert in: + https://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00101.html + * modules/gettext (Status): Mark as obsolete. + (Notice): Suggest to use 'gettext-h' instead. + * modules/gettext-h (Description): Suggest GNU gettext, instead of + the 'gettext' module. + +2016-01-24 Paul Eggert + + gnulib-tool: don't give up on ln -s so easily + * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely + because an earlier one failed. The targets could be on different + file systems. Problem reported by KO Myung-Hun in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00081.html + + closedir: fix OS/2-related typos + Problem reported by KO Myung-Hun in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00107.html + * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos + in the last couple of changes. + +2016-01-24 KO Myung-Hun + + openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC + * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after + copying a directory. + +2016-01-24 Paul Eggert + + regex: treat [x] as x if x is a unibyte encoding error + Problem reported by Aharon Robbins in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00091.html + * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function. + (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it. + + closedir, dirfd, opendir: port to OpenSolaris 5.10 + * m4/closedir.m4 (gl_FUNC_CLOSEDIR): + * m4/dirfd.m4 (gl_FUNC_DIRFD): + * m4/opendir.m4 (gl_FUNC_OPENDIR): + Don't use ${word##pat} substitution, as it doesn't work in + OpenSolaris 5.10 /bin/sh. Problem reported by Assaf Gordon in: + http://bugs.gnu.org/22443#11 + +2016-01-23 Paul Eggert + + bootstrap: use American spelling + * build-aux/bootstrap: Honor American spelling. + +2016-01-22 Karl Berry + + * doc/posix-functions/localtime.texi, + * doc/posix-functions/localtime_r.texi: @item needed for @itemize text. + +2016-01-21 Bruno Haible + + hash-pjw-bare: fix comment + * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment. + + wcwidth: Replace also on OpenBSD 5.8 + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A). + * doc/posix-functions/wcwidth.texi: Update. + +2016-01-20 Pádraig Brady + + gnu-web-doc-update: fix addition of new files + If there were already added (emnpty) dirs, + then cvs aborts the add with the message: + cvs [add aborted]: there is a version in <./dirname> already + * build-aux/gnu-web-doc-update: Add directories separately + to the addition of files, to avoid the above issue + impacting the addition of files. + +2016-01-19 Daiki Ueno + + utimens-tests: avoid pulling gettext .m4 files + Although this is not the right fix to the original problem: + http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html + it makes it possible again for consumer projects to use arbitrary + version of gettext, through the steps described at: + http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html + See here for details: + https://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00079.html + * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of + 'gettext'. + * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of + 'gettext'. + +2016-01-18 Paul Eggert + + regex: pacify static checkers + Problem and draft fix reported by Aharon Robbins in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00082.html + * lib/regcomp.c (build_charclass_op, create_tree) [lint]: + Clear memory to pacify static checkers. + + regex: fix [ diagnostic + Problem and fix reported by Aharon Robbins in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00082.html + * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [. + + regex: fix memory leaks + Problem and draft fix reported by Aharon Robbins in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00082.html + * lib/regcomp.c (build_range_exp, build_charclass_op) + * lib/regex_internal.c (re_dfa_add_node): + Fix memory leak on failure. + +2016-01-18 Pádraig Brady + + fts: don't unconditionally use leaf optimization for NFS + NFS st_nlink are not accurate on all implementations, + leading to aborts() if that assumption is made. + See + * lib/fts.c (leaf_optimization_applies): Remove NFS from + the white list, and document the issue. + +2016-01-15 Paul Eggert + KO Myung-Hun + + gnulib-tool: don't assume ln -s works + * gnulib-tool (func_ln_s): New function. + (func_ln): Use it. + +2016-01-15 KO Myung-Hun + + utimes: detect utimes() correctly on OS/2 kLIBC + utimes() of OS/2 kLIBC has some limitations. + 1. OS/2 itself supports a file date since 1980 year in local time. + 2. OS/2 itself supports only even seconds for a file time. + 3. utimes() of OS/2 kLIBC does not work on an opened file. + * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC. + * doc/posix-functions/utimes.texi: Document the above limitations of + utimes() on OS/2 kLIBC. + +2016-01-15 Paul Eggert + KO Myung-Hun + + openat_proc_name: port to OS/2 kLIBC + OS/2 kLIBC provides a function to retrive a path from a fd. Use it + instead of /proc/self/fd. + * lib/openat-proc.c (openat_proc_name): + Don't assume file name length is less than INT_MAX. + Port to OS/2 kLIBC with __libc_Back_ioFHToPath(). + +2016-01-14 KO Myung-Hun + + stdint: check _INTPTR_T_DECLARED for intptr_t etc. + OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own + definitions of intptr_t and uintptr_t (which use int and unsigned) + to avoid clashes with declarations of system functions like sbrk. + * lib/stdint.in.h (intptr_t, uintptr_t): Check + _INTPTR_T_DECLARED before defining them. + + opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC + * lib/closedir.c (closedir): Unregister fd if closedir() succeeds. + * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd): + Declare on kLIBC. + * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of + fd associated with dirp. + (_gl_register_dirp_fd): New. Register fd associated with dirp to + dirp_fd_list. + (_gl_unregister_dirp_fd): New. Unregister fd with closing it. + (dirfd): Implemented for kLIBC. + * lib/fdopendir.c (fdopendir): Implemented for kLIBC. + * lib/opendir.c (opendir): New. Register fd and dirp pair if open() + succeeds. + * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2. + * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise. + (REPLACE_DIRFD): Define to 1 if replaced. + * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise. + * modules/closedir (Depends-on): Add dirfd. + * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno + condition. + (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well. + * modules/opendir (Depends-on): Add dirfd. + + dup, dup2, fcntl: support a directory fd on OS/2 kLIBC + On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd. + * lib/dup.c (dup_nothrow): New. + * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd. + (klibc_dup2): New. + * lib/fcntl.c (klibc_fcntl): New. + * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd. + * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd. + * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory + fd. + + pipe_filter_ii_execute: port to OS/2 kLIBC + Pipes on kLIBC do not support O_NONBLOCK like Win32. + * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle, + WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC. + Reuse Win32 code on OS/2 kLIBC. + * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC. + * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC. + + wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC + On OS/2 kLIBC, wcwidth is a macro that expands to the name of a + static inline function. The implementation of wcwidth in wcwidth.c + causes a "conflicting types" error. + * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC. + + w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC + spawn() on OS/2 kLIBC is not silly like one on Windows + * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to + empty string on OS/2 kLIBC. + + pipe-filter-aux: undefine HAVE_SELECT on KLIBC + On OS/2 kLIBC, select() works only on sockets. + * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC. + + binary-io: don't put fd in binary mode if it is a console on EMX + * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is + a console on EMX. + +2016-01-15 Pádraig Brady + + doc: mention unfixed issues with unsupported localtime() values + * doc/posix-functions/localtime.texi: Mention that FreeBSD 10 + returns nonsense for localtime(2^56). + * doc/posix-functions/localtime_r.texi: Likewise. + +2016-01-14 Pádraig Brady + + doc: mention setlocale() issues on OpenBSD + * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"") + never fails, and the need to check categories individually. + +2016-01-14 Pádraig Brady + + sig2str: list all signals on FreeBSD >= 7 + FreeBSD >= 7 is contravening POSIX by not defining NSIG + to the maximal statically defined signal value. + It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that. + * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2) + where available, even when NSIG is defined. + +2016-01-13 Paul Eggert + + acl-permissions: port to USE_ACL==0 platforms + I ran into this problem when building bleeding-edge GNU Emacs + with gcc -fsanitize=address on Fedora 23. On this platform + the ACL library does not pass the 'configure' test and Emacs + then does not build due in part to what appear to be typos in the + ACL part of Gnulib. + * lib/acl-internal.c (free_permission_context): + * lib/acl-internal.h (struct permission_context): + Test whether USE_ACL is nonzero, not whether it is defined. + +2016-01-12 Martin Sebor + + mktime: rename macro to avoid glibc clash + * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME. See: + https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html + +2016-01-12 Paul Eggert + + Port "$@" to OpenIndiana ksh93 + In http://lists.gnu.org/archive/html/bug-autoconf/2015-12/msg00000.html + Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh + (derived from ksh 93t+ 2010-03-05). ${1+"$@"} works around an ancient + bug long-dead shells, so remove the workaround. + * build-aux/announce-gen, build-aux/do-release-commit-and-tag: + * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update: + * build-aux/prefix-gnulib-mk, build-aux/update-copyright: + * build-aux/useless-if-before-free, tests/test-update-copyright.sh: + Use "$@" instead of ${1+"$@"}. + + Port Universal Time settings to strict POSIX + * build-aux/announce-gen, build-aux/bootstrap: + * build-aux/do-release-commit-and-tag, build-aux/git-version-gen: + * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update: + * build-aux/gnupload, build-aux/mkinstalldirs: + * build-aux/move-if-change, build-aux/prefix-gnulib-mk: + * build-aux/update-copyright, build-aux/useless-if-before-free: + * build-aux/vc-list-files, tests/test-strftime.c: + Use TZ="UTC0", not TZ="UTC". Either works on GNU platforms, + but POSIX says the behavior of TZ="UTC" is undefined. + +2016-01-02 Paul Eggert + + msvc-inval: fix problem with unset shell var + Problem reported by Karl Berry in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00004.html + * modules/msvc-inval (Depends-on): + AC_REQUIRE gl_MSVC_INVAL instead of merely calling it. + * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW. + +2016-01-01 Pádraig Brady + + tests: for compare_(), use cmp -s where available + * tests/init.sh (compare_): Only fall back to cmp without + the POSIX defined -s option, where this is not available. + +2016-01-01 Paul Eggert + + version-etc: new year + * build-aux/gendocs.sh (version): + * doc/gendocs_template: + * doc/gendocs_template_min: + * doc/gnulib.texi: + * lib/version-etc.c (COPYRIGHT_YEAR): + Update copyright dates by hand in templates and the like. + * all files: Run 'make update-copyright'. + +2015-12-31 Paul Eggert + + human: fix output buffer overrun by 1 + * lib/human.c (human_readable): Fix off-by-one typo in buffer + calculation that could lead to a one-byte buffer overrun. + +2015-12-28 Daiki Ueno + + maint: fix operator precedence in mbrtowc test + This is a fix for test breakage introduced by commit 45228d96; the + equality expression must be parenthesized when negated with '!', + otherwise we always get: + + test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed + + * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression. + * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise. + +2015-12-23 James Youngman + + regexprops-generic: update from regex.h + * doc/regexprops-generic.texi: update by running the regexprops binary + from findutils (the command line is 'regexprops "Regular Expressions" + generic'). The recent (ish) change (5a5a9388) to regex.h aligning + gnulib with GNU grep had made this document out-of-date. + +2015-12-23 Pádraig Brady + + strftime-tests: avoid false failure on OS X + * tests/test-strftime.c (struct localtime_rz_test): Add an + ahistorical member which is used to warn rather than fail + when tm_isdst isn't set for such entries. This is the case for + "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least. + +2015-12-20 Kamil Dudka + + fts: ensure leaf optimization is used for NFS + NFS provides usable dirent.d_type but not necessarily for all entries + of large directories. See + * lib/fts.c (leaf_optimization_applies): Append NFS on the white list. + +2015-12-20 Pádraig Brady + + fts: enable leaf optimization for XFS + XFS provides usable dirent.d_type only for DT_DIR, + but the noleaf optimization still applies. + * lib/fts.c (leaf_optimization_applies): Add XFS to the white list. + +2015-12-17 Paul Eggert + + intprops: comment fix + * lib/intprops.h: Fix comment. Reported by Pádraig Brady in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-12/msg00013.html + + intprops-test: work around GCC bug 68971 + Problem reported by Pádraig Brady in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-12/msg00011.html + * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier. + (main): Add a case that better tests 64-bit long in this area. + +2015-12-09 Pavel Raiskup + + gnulib-tool: allow multiple --local-dir usage + * gnulib-tool: Use --local-dir to construct compound + $local_gnulib_path path instead of $local_gnulib_dir. Determine + PATH_SEPARATOR early. + (local_gnulib_dir): Rename into $local_gnulib_path everywhere. + (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into + func_determine_path_separator because that needs to be detected + earlier now. + (func_determine_path_separator): New function. + (func_path_foreach, func_path_foreach_inner): New functions. + (func_path_prepend, func_path_append): Likewise. + (func_lookup_local_file, func_lookup_local_file_cb): Likewise. + (func_lookup_file, func_all_modules): Use new functions to work + with local_gnulib_path. + (func_modules_in_dir, func_exists_module): New callbacks for + func_path_foreach. + (func_exists_module, func_get_tests_module): Likewise. + (func_is_local_file, func_should_symlink): New helper methods. + (func_add_file, func_update_file): Use new func_should_symlink + instead, DRY. + (func_reconstruct_cached_local_gnulib_path): New helper. + (func_reconstruct_cached_dir): New callback. + (func_import): The cached_local_gnulib_dir renamed to + cached_local_gnulib_path similarly to local_gnulib_dir. + Use new func_reconstruct_cached_local_gnulib_path. + (func_count_relative_local_gnulib_path): New sub-method. + (func_create_testdir): Use func_should_symlink, DRY. + (func_create_megatestdir): Use new functions to work with + local_gnulib_path correctly. + (func_append_local_dir): New helper. + +2015-12-08 Pádraig Brady + + fix freadptr to work with ungetc on all uClibc configs + Reported at https://bugs.busybox.net/show_bug.cgi?id=4099 + where GNU coreutils cut(1) generates invalid output on uClibc + when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined. + * lib/freadptr.c (freadptr): Return NULL if there are + ungotten chars. In this case freadseek() will iterate + again to process the ungotten character. + +2015-11-13 Paul Eggert + + xalloc-oversized: improve performance with GCC 5 + * lib/xalloc-oversized.h (xalloc_oversized): + Improve performance with GCC 5 by using __builtin_mul_overflow. + +2015-11-10 Paul Eggert + + intprops: new public macro EXPR_SIGNED + Emacs can use this macro, so make it public. + * doc/intprops.texi (Arithmetic Type Properties): Rename from + 'Integer Type Determination', since some of these macros apply + to non-integer types. Clarify what kinds of constant expressions + these macros return. Say when the arguments can be non-integers. + Mention newly published macro EXPR_SIGNED. + * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to + make it public. All uses changed. + + intprops: fix typo in clang port + * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of + '__builtin_add_overflow' that is not caught by compiler. + +2015-11-05 Paul Eggert + + test-timespec: fix typo in previous change + * tests/test-timespec.c (main): Fix typo that reduced test quality. + + timespec-sub: fix overflow bug; add tests + * lib/timespec-add.c (timespec_add): + * lib/timespec-sub.c (timespec_sub): + Work even if time_t is narrower than int (a theoretical + possibility). Redo code for a bit more clarity. + * lib/timespec-sub.c (timespec_sub): + Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec. + * modules/timespec-tests, tests/test-timespec.c: New files. + + intprops-test: suppress -Woverlength-strings + Problem reported by Pádraig Brady in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-11/msg00008.html + It is not worth the hassle to port this test to compilers that + cannot handle long strings in diagnostics. + * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings. + +2015-11-03 Pádraig Brady + + quotearg: add quotearg_n_style_colon() + This quotes with default options of the specified style, + but with quoting enabled for instances of ':'. + * lib/quotearg.h (quotearg_n_style_colon): Description and declaration. + * lib/quotearg.c (quotearg_n_style_colon): New function implementation. + +2015-11-04 Paul Eggert + + intprops: revise _WRAPV macros, revert _OVERFLOW + The incompatible changes to the _OVERFLOW macros were too much of + a hassle in practice, so revert them. Instead, change the new + _WRAPV macros to make them closer in behavior to GCC 5's new + builtin_add_overflow etc. functions. No other software was using + these newly-added macros yet, so this should be OK. + * NEWS: Revert previous change, since the incompatible change + has been reverted, and nobody used the incompatible version. + * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow): + Document revised behavior. + (Integer Range Overflow): Adjust example to match above revisions. + * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW) + (INT_MULTIPLY_OVERFLOW): Revert previous change, so that + these can be used in integer constant expressions again. + (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW) + (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer + needed. + (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV) + (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV) + (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV): + Remove, as they did not seem that useful. + (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV) + (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH) + (_GL_INT_OP_WRAPV_VIA_UNSIGNED): + Support new semantics. + (__has_builtin): New macro, if not alreay defined. + (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros. + * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW) + (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW) + (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV) + (INT_CONST_LEFT_SHIFT_WRAPV): Remove. + (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1) + (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1): + New macros. + (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior. + +2015-11-03 Jim Meyering + + intprops: add parentheses for when OP has precedence lower than "-" + * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c", + "a OP b" must be parenthesized for when OP is like "<<", which has + lower precedence than the following "-". Reported by Pádraig Brady. + +2015-11-03 Pádraig Brady + + quotearg: constify get_quoting_style parameters + * lib/quotearg.h (get_quoting_style): Mark parameter as const. + * lib/quotearg.c (get_quoting_style): Likewise. + +2015-11-02 Pádraig Brady + + quotearg: add support for $'' shell escaping + * lib/quotearg.h: Add "shell-escape" and "shell-escape-always" + items and descriptions. + * lib/quotearg.c (quotearg_buffer_restyled): Add support for the + above types by quoting like "shell", but using $'...' syntax + for non printable characters, which should provide unambiguous + printable output for any input. + * tests/test-quotearg-simple.c: Update accordingly. + +2015-11-02 Pádraig Brady + + maint: use a more standard return from mbrtowc test + * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1 + from the test program as this is non standard and often + indicates an unhandled case in the test program. + * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise. + +2015-10-30 Paul Eggert + + intprops: add WRAPV and const flavors for GCC 5 + If available, use GCC 5's builtin functions for efficient integer + overflow checking. Also, add macros like INT_ADD_WRAPV efficently + and safely compute the low-order bits of the correct answer. + A downside of these efficient functions is that they cannot be + used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW + and INT_CONST_ADD_WRAPV that can be used even in constant expressions. + * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc. + * doc/intprops.texi (Integer Properties, Integer Type Overflow): + Document the changes. + (Wraparound Arithmetic): New section. + (Integer Range Overflow): + Put this subsection last, since it's least useful. + * lib/intprops.h (INT_CONST_ADD_OVERFLOW) + (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW): + New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have. + (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV) + (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV) + (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST) + (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV) + (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM): + New macros. + (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW): + Generate calls to GCC builtins if available, for speed. + * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW) + (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW) + (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV) + (INT_CONST_LEFT_SHIFT_WRAPV): New macros. + (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT) + (CHECK_QUOTIENT, CHECK_REMAINDER): + Test WRAPV and CONST flavors (when available) too. + +2015-10-30 Pádraig Brady + + doc: use extended timezone format in iso-8601 example + * doc/parse-datetime.texi: The standard states that extended format + is to be used consistently throughout. + Note that lib/parse-datetime.y can handle either tz format. + +2015-10-25 Paul Eggert + + stdalign: port to Sun C 5.9 + * doc/posix-headers/stdalign.texi: Document this. + * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports + __attribute__ ((__aligned__ (...))). + +2015-10-20 Paul Eggert + + time_rz: fix comment about tzalloc + * lib/time_rz.c (tzalloc): Fix comment. + +2015-10-18 Paul Eggert + + stdalign: work around pre-4.9 GCC x86 bug + * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on + x86, when -std=gnu11 is used. Problem reported by Jim Meyering in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-10/msg00038.html + +2015-10-18 Pádraig Brady + + maint.mk: sc_tight_scope: remove extraneous expressions + * top/maint.mk (tight_scope): This is not really required since + commit 3ef58f46 as sed_wrap ensures we don't get an empty expression + that matches all nm entries. But it does remove extraneous entries + that may be confusing or cause issue in future maintenance. + +2015-10-18 Paul Eggert + + time_rz: return NULL if localtime_r fails + * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails, + while still attempting to pacify bleeding-edge GCC. + + fts: port to C11 alignof + * doc/posix-headers/stdalign.texi (stdalign.h): + Document the C11 restriction. + * lib/fts.c: Include stddef.h, for max_align_t. + (fts_alloc): Align using max_align_t, not FTSENT. + * modules/fts (Depends-on): Add stddef. + +2015-10-18 Jim Meyering + + time_rz: avoid warning from bleeding-edge gcc's -Wnonnull + Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I + would see this: + + lib/time_rz.c: In function 'localtime_rz': + lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \ + [-Werror=nonnull] + if (tm && !save_abbr (tz, tm)) + ^ + + That was complaining about "tm" because it is a parameter that was + declared with the __nonnull__ attribute. + * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the + result of localtime_r. + +2015-10-17 Jim Meyering + + maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp + * top/maint.mk (_gl_TS_function_match): This heuristic extern-function- + name-extraction regexp mistakenly used \S+, and would mistakenly + extract "*F" from "extern int *F()" rather than the desired "F". + Use \w+ instead. + +2015-10-17 Jim Meyering + + maint.mk: sc_tight_scope: factor and support OS X + * top/maint.mk (_gl_tight_scope): Address three issues: + - factor out four instances of code that wraps a string in "^...$" + - allow nm-reported symbol names to have an optional leading "_" + - add "main" to the list of ignored variable names, because on os x, + "main" has nm-reported type "S" in the variable-checking section. + +2015-10-16 Dmitry Smirnov + + safe-alloc-tests: fix typo in license header + * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1 + +2015-10-15 Simon Reinhardt + + copy-file: fix mem leak in error case + * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer + upon error opening or performing I/O to the src and dest files. + +2015-10-15 Mike Frysinger + + localename: control langinfo.h inclusion + This header is only used to work around buggy behavior in old + versions of glibc, so do not include it all the time. Otherwise + we get build failures on systems that do not provide langinfo.h. + * lib/localename.c: Wrap langinfo.h include with same ifdefs used + in the source later on. + The patch was originally submitted to gettext as: + https://lists.gnu.org/archive/html/bug-gettext/2015-10/msg00011.html + +2015-10-13 Paul Eggert + + binary-io, math, pthread, sys_socket, u64, unistd: port to strict C + * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c: + * lib/u64.c, lib/unistd.c: + Append 'typedef int dummy;', to pacify compilers that are picky + about empty translation units. + +2015-10-12 Pino Toscano + + accept4-tests: fix to avoid non portable flags + * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(), + as they are the only documented ones, and passing others may trigger + EINVAL (seen on FreeBSD 10.1-RELEASE). + * doc/glibc-functions/accept4.texi: Mention that we don't provide + the SOCK_CLOEXEC or SOCK_NONBLOCK defines. + +2015-10-06 Pavel Raiskup + + gnulib-tool: fix tests of 'extensions' module + This complements f8fe25fab60e3c687a124 commit. + * gnulib-tool (func_emit_pre_early_macros): New function, it wraps + emitting of initial gl_EARLY macros. + (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB + replaced with func_emit_pre_early_macros call. + +2015-10-06 Paul Eggert + + unicase/locale-language: fix typo in utf-8 cookie + * lib/unicase/locale-languages.gperf: Fix gperf input file format. + Problem reported by Zbigniew Jędrzejewski-Szmek. + +2015-10-02 Paul Eggert + + xalloc: do not worry about GCC 5 warning on 32 bit + * lib/xalloc.h: Revert previous change. + I found a better way to fix this in coreutils. + +2015-10-02 Pádraig Brady + + xalloc: avoid GCC 5.1 warning on 32 bit + * lib/xalloc.h: Disable -Wstrict-overflow for uses of + xalloc_oversized(), which was seen to give this warning + on GCC 5.1 on 32 bit: "assuming signed overflow does not occur + when simplifying conditional". + +2015-10-02 Daiki Ueno + + uniname/uniname-tests: avoid compiler warnings + * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove + unused local variables. + (test_alias_lookup): Fix alias name display in failure cases. + +2015-09-26 Paul Eggert + + c-ctype: do not worry about EBCDIC + char signed + Drop support for EBCDIC with char being signed, as this breaks too + many programs. Problem reported by Ben Pfaff in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00053.html + * lib/c-ctype.h: Verify that we are not using EBCDIC with + char being signed. + (_C_CTYPE_LOWER_A_THRU_F_N): New macro. + (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it. + (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER): + (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper): + * tests/test-c-ctype.c (test_all): + Simplify by assuming standard char values cannot be negative. + * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed. + +2015-09-25 Paul Eggert + + c-ctype: port better to z/OS EBCDIC + Problems reported by Daniel Richard G. in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00050.html + * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of + the C standard escapes and _C_CTYPE_OTHER_CNTRL. + (_C_CTYPE_OTHER_CNTRL): New macro. + * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not + from SCHAR_MIN, as the functions are defined only from values + promoted from char or from unsigned char, not necessarily from + signed char. + +2015-09-25 Pavel Raiskup + + gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash + + The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR + and ARFLAGS variables. Doing this unconditionally could break + later Automake's AM_PROG_AR invocation (at least it's + AC_CHECK_TOOLS call to detect correct 'ar' binary). + + Original purpose of the gl_PROG_AR_RANLIB was only to handle the + Amsterdam Compiler Kit, so make the previous code to have effects + only on ACK, and rather automatically call the Automake's + AM_PROG_AR as soon as possible to decide other cases. + + References: + http://lists.gnu.org/archive/html/bug-gnulib/2015-07/msg00001.html + + * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR. + Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR. If neither + is possible, keep setting AR/ARFLAGS to reasonable defaults. + * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS + right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the + 'extensions' module is used. + * modules/extensions (configure.ac-early): Remove as this snippet + is added to gnulib-comp.m4 earlier anyway. + +2015-09-25 Paul Eggert + + sockets: MS Windows initalization fixes + Problem reported by Test User in: + http://lists.gnu.org/archive/html/help-shishi/2015-09/msg00001.html + * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1): + Correct the endianness. + * lib/sockets.c (gl_sockets_startup): Return 2 on any version + number mismatch, not just on <. Cleanup before any such failure. + +2015-09-25 Mats Erik Andersson + + gc: fix detection of installed libgcrypt version + * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions + at least as recent as 1.4.4. The previously used macro is not + available now, since modules were removed in version 1.6.0. + +2015-09-25 Paul Eggert + + c-ctype: rewrite to use inline functions + This simplifies maintenance, since it makes for just one + implementation of each function, letting the compiler have the fun + of optimization. In practice this works well nowadays with GCC. + E.g., c_isascii might need only three instructions even though the + source code lists every ASCII character individually in a large + switch statement. + Also, fix some z/OS porting bugs reported by Daniel Richard G. in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00037.html + * NEWS: Document the API change. + * lib/c-ctype.c: Drastically simplify, since this now just expands + inline functions. + * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + (C_CTYPE_INLINE): New macro. + (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE) + (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove. + Verify that either ASCII or EBCDIC is being used. + (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N) + (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N) + (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER) + (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN): + New private macros. + (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'. + (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit) + (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper) + (c_isxdigit, c_tolower, c_toupper): Now inline functions. + (c_tolower, c_toupper): When converting, return the unsigned char, + as that is what z/OS does. + * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal + of some c-ctype.h macros. + * modules/c-ctype (Depends-on): Add extern-inline; remove verify. + * tests/test-c-ctype.c (test_all): Fix test for c_toupper and + c_tolower promotion to be compatible with z/OS. + +2015-09-24 Pavel Raiskup + + gitlog-to-changelog: trim only trailing whitespaces + This is fix for --format regression introduced by commit + 2b93079a5d1baa4d; it caused that --format='%s%n%n%b%n' (see the + doubled %n string) had no effect anymore. This format + specification has been used e.g. by GNU paxuitils (commit + edfd8bcc3). + + * build-aux/gitlog-to-changelog (main): Stop squashing multiple + newlines in commmit messages. + +2015-09-23 Paul Eggert + + Test that c_iscntrl agrees with iscntrl, etc. + Suggested by Daniel Richard G. in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00034.html + * modules/c-ctype-tests (Depends-on): Add ctype. + * tests/test-c-ctype.c: Include . + (NCHARS): New constant. + (test_agree_with_C_locale): New function. + (main): Use it. + (test_all): Use named constants. + + c-ctype: improve c_isascii testing + * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC. + Add a test to count the number of ASCII characters. + +2015-09-22 Paul Eggert + + savewd: remove SAVEWD_CHDIR_READABLE + It was problematic in the light of file systems that ignore umask. + Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534 + * NEWS: Document this. + * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if + successful, -1 (setting errno) on failure, rather than something + more complicated than that. + * lib/mkdir-p.c (make_dir_parents): + Do not use SAVEWD_CHDIR_READABLE. + * lib/savewd.c (savewd_chdir): + Remove support for SAVEWD_CHDIR_READABLE. + * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove. + + c-ctype: port better to EBCDIC + Problems reported by Daniel Richard G. in + http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00020.html + * lib/c-ctype.c: Include , for CHAR_MIN and CHAR_MAX. + Include "verify.h". + (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS) + (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE): + Define as enum constants with value false, if not defined, so that + code can use 'if' instead of 'ifdef'. Using 'if' helps make the + code more portable, as both branches of the 'if' are compiled on + all platforms. + (C_CTYPE_EBCDIC): New constant. + Verify that the character set is either ASCII or EBCDIC. + (to_char): New static function. + (c_isascii, c_iscntrl): + Assume standard control-character assignments for EBCDIC. + (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint) + (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper): + Rewrite to use 'if' instead of 'ifdef'. + Use to_char if non-ASCII. Prefer <= to >=. + Prefer true and false to 1 and 0, for booleans. + (c_iscntrl): Use 'if', not 'ifdef'. + * modules/c-ctype (Depends-on): Add verify. + * tests/test-c-ctype.c: Include , for CHAR_MIN + (to_char): New function. + (test_all): Port to EBCDIC. Add some more tests, e.g., for c_ispunct. + +2015-09-21 Pádraig Brady + + nanosleep: fix return code for interrupted replacement + * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure + that we return -1 in the case the call is interrupted by a signal, + rather than the current value of 1. + Diagnosed and tested by Daniel Richard G. + +2015-09-19 Paul Eggert + + Diagnose ERE '()|\1' + Problem reported by Hanno Böck in: http://bugs.gnu.org/21513 + * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep + track of the set of previously-completed subexpressions available + before the first alternative, and restore this set just before + parsing each subsequent alternative. This lets us diagnose the + invalid back-reference in the ERE '()|\1'. + + regex: merge patches from libc + + 2015-09-08 Joseph Myers + Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912). + * lib/regex_internal.h: + Include instead of . + + 2015-06-09 Joseph Myers + Fix regcomp wcscoll, wcscmp namespace (bug 18497). + * lib/regcomp.c (build_range_exp): Call __wcscoll instead of + wcscoll. + * lib/regexec.c (check_node_accept_bytes): Likewise. + + 2015-06-05 Joseph Myers + Fix regex wcrtomb namespace (bug 18496). + * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb + instead of wcrtomb. + + 2015-06-05 Joseph Myers + Fix regex wctype namespace (bug 18495). + * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower + instead of towlower. + * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower + instead of iswlower. Call __towupper instead of towupper. + * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum + instead of iswalnum. + + 2015-01-07 Chris Metcalf + * lib/regcomp.c (parse_bracket_exp): Initialize type to + COLL_SYM in a couple of places to avoid uninitialized variable + wanings on tilegx gcc 4.8.2. + + 2014-11-24 Siddhesh Poyarekar + * lib/regex_internal.h: Remove NOT_IN_libc. + + 2014-11-17 Andreas Schwab + * lib/regex_internal.h: Don't include . + + 2014-09-11 Roland McGrath + Move findidx nested functions to top-level. + * lib/regcomp.c [_LIBC]: #include . + (build_equiv_class) [_LIBC]: Don't #include it inside the function. + Pass new arguments to findidx. + * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include . + [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]: + Don't #include it inside the function. Pass new arguments to findidx. + * lib/regex_internal.h: + [!NOT_IN_libc] [_LIBC]: #include . + (re_string_elem_size_at): Don't #include it inside the function. + Pass new arguments to findidx. + + 2014-08-01 Siddhesh Poyarekar + Check if DEBUG is defined in regex_internal.c + * lib/regex_internal.c: Check if DEBUG is defined and is set. + +2015-09-08 Assaf Gordon + + ceill: detect buggy OpenBSD implementation + * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation + which returns zero for small values. Discussed here: + http://lists.gnu.org/archive/html/bug-gnulib/2015-08/msg00010.html + +2015-09-08 Dave Chiluk + + mountlist: add me_mntroot field on Linux machines + * lib/mountlist.c (read_file_system_list): Populate me_mntroot in + mount_entry so Linux machines based on /proc/self/mountinfo can + distinguish between bind mounts and original mounts. In reality bind + mounts aren't treated differently than mountroot=/ mounts by the + kernel, but the user often wants these bind mounts distinguished. + * lib/mountlist.h (struct mount_entry): Add me_mntroot element. + More details at https://pad.lv/1432871 + +2015-09-08 Christian Egli + + doc: Describe to use multiple instances of gnulib + * doc/gnulib-tool.texi: Add a section to the manual outlining how two + instances of gnulib with different modules can be used, for example one + for a lib and another one for associated tools. + +2015-09-01 Pádraig Brady + + base32: mark function as __attribute__ const + * lib/base32.h (isbase32): Mark __attribute__ const as + suggested by GCC, and consistent with the base64 module. + +2015-08-20 Daiki Ueno + + gnulib-tool: don't transform binary files with sed + * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to + .mo and .class files. + Reported by Denis Denisov. + +2015-08-10 Daiki Ueno + + gperf: respect silent rules + * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and + V_GPERF_0 for silent rules. + * modules/iconv_open (Makefile.am): Use V_GPERF. + * modules/unicase/locale-language (Makefile.am): Likewise. + * modules/unicase/special-casing (Makefile.am): Likewise. + * modules/unictype/category-byname (Makefile.am): Likewise. + * modules/unictype/combining-class-byname (Makefile.am): Likewise. + * modules/unictype/joininggroup-byname (Makefile.am): Likewise. + * modules/unictype/joiningtype-byname (Makefile.am): Likewise. + * modules/unictype/property-byname (Makefile.am): Likewise. + * modules/unictype/scripts (Makefile.am): Likewise. + * modules/uninorm/composition (Makefile.am): Likewise. + +2015-08-03 Paul Eggert + + Improve port of stdalign to C++11 + Problem reported by Sundaram in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-08/msg00003.html + * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer. + (__alignas_is_defined): Define if C++11 or newer. + +2015-08-01 Assaf Gordon (tiny change) + + pmccabe2html: fix gawk regex escaping + * build-aux/pmccabe2html: Add one more backslash to properly + escape the gsub replacement value. Fixes this error: + gawk: ./build-aux/pmccabe2html:425: \ + warning: escape sequence `\&' treated as plain `&' + +2015-07-29 Paul Eggert + + time_rz: port to pedantic memcpy + * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations + that reject memcpy (..., NULL, 0). + +2015-07-27 Paul Eggert + + time_rz: port better to MinGW + Don't change tzname, as this makes MinGW dump core (Bug#21020). + Instead, store the tzname copy in the struct tm_zone object. + Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48 + * lib/strftime.c [!_LIBC]: + * lib/time_rz.c: Include time-internal.h. + * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone + name from *TZ rather than from TZNAME, doable because *TZ now has + a tzname_copy member. + * lib/time-internal.h: New file, with contents taken from + lib/time_rz.c. It's separate because strftime.c now accesses + struct tm_zone members. + (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]: + New member tzname_copy. + * lib/time_rz.c (struct tm_zone): Move to time-internal.h. + (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]: + Initialize tzname_copy member. + (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation + in tzname_copy member. + (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving. + (restore_tzname): Remove; no longer needed. All calls removed. + * modules/time_rz (Files): Add lib/time-internal.h. + + time: port __need_time_t to MinGW + * lib/time.in.h (__need_time_t): Do not treat specially on MinGW. + Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36 + +2015-07-25 Paul Eggert + + strftime: fix newly-introduced bug on Solaris + * lib/strftime.c (strftime_case_): Set the local variable 'zone' + consistently at the start, rather than doing some of the setup at + the start and some in the %Z format spec. This is cleaner, and + works better with time_rz on platforms like Solaris where struct + tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to + mktime_z and localtime_rz can mess up the tzname cache. + + test-strftime: test for Solaris bug + * modules/strftime-tests (Depends-on): Add strerror. + * tests/test-strftime.c: Include . + (posixtm_test): New function, containing the old 'main'. + (struct tzalloc_test, struct localtime_rz_test): New types. + (TZ, LT): New static vars. + (tzalloc_test): New function. + (main): Rewrite in terms of posixtm_test and tzalloc_test. + + time_rz: port to Solaris etc. + Works around a tzname problem on platforms like Solaris that have + tzname but not tm_zone, by setting tzname at the appropriate time + and restoring it later. + * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]: + New static vars. + (save_abbr) [HAVE_TZNAME]: Set them. + (revert_tz) [HAVE_TZNAME]: Clear or use them. + (restore_tzname): New function. + (localtime_rz, mktime_z): Use it. + + time_rz: now LGPL + * modules/time_rz (License): Now LGPL, because strftime depends on it. + + time_rz: make a constant 'const' + * lib/time_rz.c (local_tz): Now const. + + time_rz: fix off-by-one typo + * lib/time_rz.c (extend_abbrs): Fix off-by-one typo. + +2015-07-23 Paul Eggert + + fprintftime, strftime: use timezone_t args + * NEWS: Document the change. + * lib/fprintftime.h (fprintftime): + * lib/strftime.c (extra_args) [my_strftime]: + * lib/strftime.h (nstrftime): + Time zone arg is now of type timezone_t, not int. + * lib/strftime.c (mktime_z) [_LIBC]: New macro. + (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used. + (my_strftime) [emacs && !my_strftime]: + (emacs_strftimeu) [emacs && !FPRINTFTIME]: + Remove; Emacs doesn't need this any more. + (HAVE_TZSET) [my_strftime]: Unset, since we no longer want + fprintftime and nstrftime to call tzset. + (ut) [!my_strftime]: Remove, replacing with ... + (tz) [!my_stftime]: ... this new macro. All uses changed. + (strftime_case_): Use localtime_rz and mktime_z instead + of localtime_r and mktime. + * modules/fprintftime (Depends-on): Add time_rz. + * modules/strftime (Depends-on): Add time_rz. Remove time_r. + * tests/test-strftime.c (main): Adjust to new nstrftime API. + + time_rz: new module + * MODULES.html.sh: Add time_rz. + * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files. + * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z): + New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@. + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): + New var HAVE_TIMEZONE_T (default 0). + * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): + New var GNULIB_TIME_RZ (default 0). + * modules/time (time.h): Substitute the new vars. + + flexmember: license is now unlimited + * modules/flexmember (License): Change to unlimited, + since its only source file gives an unlimited license. + +2015-07-15 Eric Blake + + maint: update copyright paper procedures + * config/srclist.txt: Drop outdated files. + * doc/Copyright/conditions.txt: Update to latest. + * doc/Copyright/assign.changes.manual: Delete. + * doc/Copyright/assign.future.manual: Likewise. + * doc/Copyright/assign.manual: Likewise. + * doc/Copyright/assign.translation.manual: Likewise. + * doc/Copyright/disclaim.changes.manual: Likewise. + * doc/Copyright/disclaim.manual: Likewise. + * doc/Copyright/disclaim.program: Likewise. + +2015-07-07 Daiki Ueno + + localename: fix link error on Illumos + Illumos defines __sun, but does not have getlocalename_l nor the + equivalent. This partially reverts commit 387c214. + * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is + available, as well as uselocale. + * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to + use getlocalename_l if it is not available. + +2015-07-07 Daiki Ueno + + unistr/uN-strtok-tests: avoid a trivial leak + * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify. Free + input and delim after the multibyte delimiter tests. + +2015-07-04 Paul Eggert + + file-has-acl, acl-permissions: fix HP-UX typos + Problem reported by John David Anglin in: http://bugs.gnu.org/20979 + * lib/file-has-acl.c (file_has_acl): + * lib/set-permissions.c (context_acl_from_mode) + (context_aclv_from_mode, set_acls): + Fix some obvious typos when HAVE_GETCL /* HP-UX */. + They were introduced by the recent ACL changes. + + regex: match current GNU grep behavior + These symbols have not matched GNU grep behavior for quite some time. + Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974 + * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP): + Change to match current GNU behavior. + Simplify by expressing it as differences from POSIX BREs and EREs. + (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior. + +2015-07-03 Jim Meyering + + set-permissions.c: adjust acl_from_mode's cpp guard + * lib/set-permissions.c (acl_from_mode): Guard with #ifdef + directives identical to those guarding the sole use. + Otherwise, on some systems, we'd get a warning about + the function being defined but not used. + Also, filter through cppi to correct misleading indentation + of cpp directives. + +2015-07-03 Pádraig Brady + + tests: restrict shells to those that support 'local' + The local keyword is very widely supported and used + in tests in coreutils and grep at least. Therefore + restrict to testing with shells that support it. + This mainly excludes /bin/sh on Solaris. + * tests/init.sh (gl_shell_test_script_): Add a test for 'local'. + +2015-07-03 Seiya Kawashima (tiny change) + and Daiki Ueno + + unistr/uN-strtok: handle multibyte delimiters + Previously, uN_strtok moved PTR to the next unit to the token end. + When DELIM contained a multibyte character, the new position could + be a middle of a multibyte character. + * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character + after the token. + * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro. + * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro. + * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro. + * modules/unistr/u8-strtok (Depends-on): Depend on + unistr/u8-strmblen. + * modules/unistr/u16-strtok (Depends-on): Depend on + unistr/u16-strmblen. + * modules/unistr/u32-strtok (Depends-on): Depend on + unistr/u32-strmblen. + * tests/unistr/test-u-strtok.h: New file. + * tests/unistr/test-u8-strtok.c: New file. + * tests/unistr/test-u16-strtok.c: New file. + * tests/unistr/test-u32-strtok.c: New file. + * modules/unistr/u8-strtok-tests: New file. + * modules/unistr/u32-strtok-tests: New file. + * modules/unistr/u16-strtok-tests: New file. + +2015-07-02 Friedrich Haubensak + + update-copyright: fix test failure with perl >= 5.22 (trivial) + * build-aux/update-copyright: Escape a literal left curly bracket, + required with perl >= 5.22 + +2015-07-02 Daiki Ueno + + u{16,32}-strstr-tests: relax timeout condition + On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr + tests can take longer than 5 seconds to complete. + Reported by Dagobert Michelsen in: + https://lists.gnu.org/archive/html/bug-libunistring/2015-06/msg00006.html + * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5 + seconds to 10 seconds. + * tests/unistr/test-u32-strstr.c (main): Likewise. + +2015-07-01 Pavel Raiskup + + gnulib-common.m4: change the ARFLAGS default to 'cr' + In some GNU/Linux distributions people started to compile 'ar' + binary with --enable-deterministic-archives (binutils project). + That, however, in combination with previous autotools long time + working default AR{_,}FLAGS=cru causes warnings on such + installations: + ar: `u' modifier ignored since `D' is the default (see `U') + * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not + set already. + +2015-07-01 Pavel Raiskup + + selinux-h: avoid double free after *getfilecon() + Originally reported by Ben Shelton on bug-tar: + http://lists.gnu.org/archive/html/bug-tar/2015-04/msg00009.html + * lib/getfilecon.c (map_to_failure): Set the already freed '*con' + pointer to NULL. Man getfilecon(3) says that any non-NULL '*con' + param should be freed by freecon(3) (regardless the return value). + +2015-07-01 Pavel Fedin + + fix pty related tests issues on Windows (trivial) + * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows, + however it's still present in tests/ subdirectory of the final project. + Therefore avoid it to pass `make check`. + * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty() + will just return -ENOSYS, so avoid this non applicable test allowing + the build to proceed. + +2015-07-01 Pádraig Brady + + acl: fix definition of acl_from_mode on FreeBSD + This was causing basic coreutils copy operations to fail + with ENOTSUP or ENOENT error messages. + * lib/acl-internal.h (acl_from_mode): Only define when + ! defined HAVE_ACL_FROM_TEXT. That allows the version + of acl_from_mode() defined in lib/set-permissions.c to + be used on FreeBSD at least. + * lib/set-permissions.c: Fix up comment spelling, + and a redundant variable assignment; noticed in passing. + +2015-06-30 Pádraig Brady + + readutmp: port to FreeBSD >= 9 + * lib/readutmp.h: Map utmpxname() to setutxdb(). + With that coreutils who(1) and pinky(1) tests pass. + +2015-06-30 Paul Eggert + + mgetgroups: port to strict OS X + The previous fix wasn't working, so use a bigger hammer (Bug#20923). + * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics. + (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove. All uses removed. + * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes. + +2015-06-29 Paul Eggert + + mgetgroups: port to strict OS X + * doc/glibc-functions/getgrouplist.texi (getgrouplist): + Document the getgrouplist problem. + * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]: + New macro. + (mgetgroups): Use it. + * m4/mgetgroups.m4 (gl_MGETGROUPS): + Check for OS X signature for getgrouplist. + +2015-06-29 Jim Meyering + + linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X + It started like this when building coreutils' latest on OS X, + invoking ./configure with a nonempty --cache=.cache: + + lib/linkat.c:46:42: error: operator '||' has no right operand + lib/linkat.c: In function 'rpl_linkat': + lib/linkat.c:330:27: error: #if with no expression + + Here's linkat.c's line 46: + + #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP + + Here's some context: + + $ grep linkat_nofoll .cache + gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no} + $ grep LINKAT_SYM lib/config.h + #define LINKAT_SYMLINK_NOTSUP + + The problem is that m4/linkat.m4's gl_FUNC_LINKAT + uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP, + but that violates a tenet of AC_CACHE_CHECK: it must + have no side effect other than setting its cache variable. + + What happens is that when the cache is set, we'd skip the + code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP + defined to whatever value it happened to have in configure's + environment. In my case, it was not defined, so this later code: + + AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP], + [Define to 1 if linkat can create hardlinks to symlinks]) + + would emit code with an empty RHS. + + * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of + $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block. + +2015-06-28 Jim Meyering + + mountlist: avoid an unused-label warning on OS X + * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]: + Building on OS X, I saw a warning about the "free_then_fail" label + being unused. Give it the _GL_UNUSED_LABEL attribute. + + error.c: correct printf-style format: %d -> %u + * lib/error.c (error_at_line): Correct __fxprintf format to use %u, + rather than %d, to match the type of "line_number", unsigned int. + +2015-06-25 Pádraig Brady + + fts: avoid reading beyond the heap allocation + GCC 5.1.1 with -O2 and -fsanitize=address reports + a read of size 4 from a heap object of size 3 is indeed invalid, + though this may be due to incorrect padding assumptions by GCC, see: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661 + * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT). + * modules/fts: Depend on stdalign. + +2015-06-24 Pádraig Brady + + savedir: avoid undefined behavior in qsort call + GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning: + "runtime error: null pointer passed as argument 1, + which is declared to never be null" + * lib/savedir.c (streamsavedir): Avoid the call with no entries. + +2015-06-24 Pádraig Brady + + userspec: avoid undefined behavior in gettext call + GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning: + "runtime error: null pointer passed as argument 2, + which is declared to never be null" + * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext() + +2015-06-20 Glenn Morris + + gitlog-to-changelog: improve gitmerge.el commits + Let the Emacs ChangeLog generation process exclude "skipped" + messages from merge commits (Bug#20717). + * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits. + +2015-06-20 Paul Eggert + + wchar: fix MinGW compilation warnings + This lets Texinfo compile cleanly. See Eli Zaretskii in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-06/msg00050.html + * lib/wchar.in.h: Do not use special invocation convention on MinGW. + +2015-06-20 Daiki Ueno + + uniname/uniname-tests: use pristine data files + For copyright and maintenance reasons, use the data files from UCD + without modification. + * tests/uniname/test-uninames.c (FIELDLEN): Remove. + (getfield): Remove. + (aliases_count): New global variable. + (fill_names): Skip comments and empty lines in the input. Don't + use getfield. + (fill_aliases): Likewise. + (main): Change the expected command line arguments to: + NAMES... ["--" ALIASES...]. + * tests/uniname/test-uninames.sh: Adjust to the change in + test-uninames.c. + * tests/uniname/UnicodeDataNames.txt: Remove. + * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0. + * tests/uniname/NameAliases.txt: Use the pristine copy of the data + file from Unicode 8.0.0. + +2015-06-19 Pádraig Brady + + linked-list, linkedhash-list: avoid compiler warnings + * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid + -Werror=suggest-attribute=pure (from GCC 5.1.1). + +2015-06-19 Daiki Ueno + + libunistring: bump minimum version to 0.9.6 + * all modules depending on updated Unicode data: Regenerate. + The modules are listed by a script that does: + - for each file listed by: git show --oneline --name-only 705f4efc + - deduce the containing modules, based on "Files:" + - deduce the modules which depend on the containing modules, based + on "Depends-on:" + +2015-06-18 Daiki Ueno + + uniname/uniname: update to Unicode 8.0.0 + * lib/uniname/uninames.h: Regenerate. + * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0. + * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0. + +2015-06-18 Daiki Ueno + + libunistring: update to Unicode 8.0.0 + * lib/gen-uni-tables.c (SIZEOF): New macro. + (output_numeric): Increase the maximum number of fractions from + 128 to 160. Increase the level3 value width from 7 bits to 8 + bits. Use SIZEOF instead of a hard-coded integer. + (output_blocks): Decrease the cut-off threshold from 0x30000 to + 0x28000. + (fill_blocks): Increase the maximum number of blocks from 256 to + 384. Use SIZEOF instead of a hard-coded integer. + (get_lbp): Adjust to new characters added in Unicode 8.0.0. + * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3 + value width. + * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and + a new case added to LBP22. + * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3, + U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300, + U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725, + U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75, + U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF. + * tests/uniwidth/test-uc_width2.sh: Same updates as in + lib/uniwidth/width.c. + * all generated files under lib/uni* and tests/uni*: Regenerate. + +2015-06-16 Pádraig Brady + + gnu-web-doc-update: add --mirror to remove stale files + * build-aux/gnu-web-doc-update: Add a --mirror option to remove + out of date files from the CVS server. Since this is usually + appropriate, a prompt is given when the option is not specified, + along with the `cvs remove` command that would be run. + +2015-06-06 Paul Eggert + + acl-permissions: pacify -Wsuggest-attribute=const + Problem reported by Masanari Iida in: http://bugs.gnu.org/20753 + * lib/acl-internal.h (free_permission_context): + Declare with attribute const if ! (defined USE_ACL && + (HAVE_ACL_GET_FILE || defined GETACL)). + + fsync: document AIX misbehavior + * doc/posix-functions/fsync.texi (fsync): + Document failure on AIX with read-only file descriptor. + +2015-06-05 Jonathan Perkin (tiny change) + + stdio: Don't redefine gets when using C++ + * lib/stdio.in.h (gets): Disable warning on C++. + +2015-06-05 Paul Eggert + + acl-permissions: port to AIX, C89 HP-UX + Problems reported by Michael Felt. + * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]: + * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]: + * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: + * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]: + Add cast for AIX, whose system calls are declared to accept + char * even though the arguments are really char const *. + * lib/get-permissions.c (get_permissions): + If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99. + If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl + that broke a build. + * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]: + Rework types to pacify xlc. + +2015-06-03 Pádraig Brady + + vasprintf-posix: avoid compiling vasnprintf where possible + * modules/vasprintf-posix: Avoid compiling the large vasnprintf + module where not required. For example on a GNU/Linux system + when gnulib-tool is run with the --conditional-dependencies option. + +2015-06-02 Pádraig Brady + + file-has-acl: fix build on Mac OS X 10 + This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4 + which has an incompatible 6 parameter getxattr() call. + * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr() + call on Mac OS X >= 10.4. + * doc/glibc-functions/fgetxattr.texi: Likewise. + * lib/file-has-acl.c: Revert to more complete combined check. + * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise. + Reported by Jack Howarth. + +2015-06-02 Pádraig Brady + + prefix-gnulib-mk: remove no longer needed special case + * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c, + continued lib_SOURCES lines are no longer present, + so special case handling of such entries is not required. + +2015-06-01 Pádraig Brady + + acl: don't depend on the deprecated qacl module + * modules/acl (Depends-on): Use q{copy,set}-acl instead. + +2015-06-01 Pádraig Brady + + gnulib-tool: concatenate lib_SOURCES to a single line + * gnulib-tool: Refactor the line merging sed logic, + and use that to output a single lib_SOURCES line for each module. + gnulib using projects often postprocess this output to prepend + subdir paths to each item, and having a single line simplifies this + processing allowing better decoupling from the gnulib-tool output. + +2015-06-01 Pavel Fedin + + pthread_sigmask: discount system version if a simple macro (trivial) + MinGW64 has: #define pthread_sigmask(H, S1, S2) 0 + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the + function to ensure it's available. + +2015-05-31 Pádraig Brady + + readlinkat: avoid OS X 10.10 trailing slash bug + * doc/posix-functions/readlink.texi: Mention that OS X 10.10 + has this bug. + * doc/posix-functions/readlinkat.texi: Likewise. Also mention + that OS X 10.10 has this function. + * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug, + as done for readlink(). + * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink() + trailing slash bug, and assume readlinkat() has the same issue. + Also fix a typo where $gl_cv_decl_readlink_works was tested, + rather than the correct $gl_cv_decl_readlinkat_works. + +2015-05-29 Andreas Gruenbacher + + acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681) + * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl + module rewrite. + + acl-permissions: Fix build on Solaris and Cygwin + Reported by Tom G. Christensen : + * lib/set-permissions.c (set_acls): The count, entries, ace_count, and + ace_entries variables have moved into struct permission_context but + they were still accessed as local variables here. + +2015-05-29 Pádraig Brady + + linkat: avoid OS X 10.10 trailing slash with symlink bug + On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",) + causes the symlink to be dereferenced, and if it points + to a non existent file, that file will be created as + a hard link to "path1". + This fixes a test failure in test-linkat.c. + * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with + this case. The existing workaround in linkat.c for + trailing slash issues, suffices for this case. + * doc/posix-functions/linkat.texi: Add OS X 10.10 to + the list of platforms with trailing slash issues. + +2015-05-28 Pádraig Brady + + unlinkat: handle ignoring of ".." on Darwin 14 + * lib/unlinkat.c: unlinkat() has the same bug as unlink() + on Mac OS X 10.10, where it ignores paths with a trailing "..", + so handle in the same manner. + * m4/unlinkat.m4: Comment on this Darwin issue. + * doc/posix-functions/unlink.texi: Update the latest version + where the issue was seen. + * doc/posix-functions/unlinkat.texi: Mention this issue. + Fixes a test failure in test-unlinkat.c. + +2015-05-27 Paul Eggert + + qacl: split into qcopy-acl and qset-acl + Emacs needs the former, but not the latter. + * modules/acl-permissions: New file, containing most of the old qacl. + * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl. + * modules/qacl: Now merely depends on qcopy-acl and qset-acl. + * modules/qcopy-acl, modules/qset-acl: New files. + * MODULES.html.sh (File system functions): + Mention the new modules, and mention qacl while we're at it. + +2015-05-27 Glenn Morris + + gitlog-to-changelog: new option --ignore-line + (This patch is imported from the GNU Emacs master.) + This option ignores individual commit lines matching a pattern. + * build-aux/gitlog-to-changelog: Add --ignore-line option. + +2015-05-27 Andreas Gruenbacher + + qacl: Reimplement qset_acl and qcopy_acl (Bug#20666) + Implement get_permissions and set_permissions primitives for getting all + the permissions of a file, storing them, and later setting them. (In the + minimal case, the permissions consist only of a file mode.) Reimplement + qset_acl and qcopy_acl based on these new primitives: this avoids code + duplication and makes error handling more consistent. + The Solaris and Cygwin code still uses duplicate code paths for setting + a file mode while making sure that no acls exist and setting an explicit + acl; this is no worse than before, but could be cleaned up. The AIX + code still doesn't read ACLs, it only makes sure that acls don't get in + the way when setting a file mode. + * lib/acl-internal.h (struct permission_context): New data structure. + (get_permissions, set_permissions, free_permission_context): Declare. + * lib/acl-internal.c (free_permission_context): New helper function. + * lib/get-permissions.c (get_permissions): New helper function split off + from qcopy_acl. + * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and + AIX, set a file's permissions based only on a file mode. + (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All + other platforms construct a temporary acl from the file mode and set + that acl in the same way as setting an acl read from the source file. + This should help avoid code duplication and inconsistent / buggy + behavior. + (set_acls): New helper function Split off from qcopy_acl. + (chmod_or_fchmod): Moved here from qset-acl.c. + (set_permissions): New helper function. + * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and + set_permissions. + * lib/qset-acl.c (qset_acl): Rewrite using set_permissions. + * modules/qacl: Add get-permissions.c and set-permissions.c. + + file-has-acl: Split feature tests again (Bug#20667) + * lib/file-has-acl.c: Instead of testing for + XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT, + define them when needed. + * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's + GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore. + +2015-05-27 Pádraig Brady + + string: fix build failure on BSD/OSX with FORTIFY_SOURCE + This avoids a conflict with "FORTIFY_SOURCE" variants + of the string functions when they're replaced on NetBSD-6.0.1 + and Darwin-14.3.0 at least. + * lib/string.in.h: Avoid including our "lib/string.h" while + including the system . + +2015-05-26 Eric Blake + + stdio: limit __gnu_printf__ witness to gcc 4.4+ + * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe... + * m4/stdio_h.m4 (gl_STDIO_H): ...here. + + error: use correct printf attributes on mingw + * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define. + + inttypes: force correct mingw PRIdMAX even without + * modules/inttypes (Depends-on): Require extensions, so that mingw + always uses GNU style inttypes. + * lib/inttypes.in.h: On mingw, include . + + stdio: fix probe on mingw under gcc 5.1 + * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work + around new gcc preprocessor rules. + +2015-05-07 Glenn Morris + + gitlog-to-changelog: parse "Tiny-change" + * build-aux/gitlog-to-changelog: Treat "Tiny-change" like + "Copyright-paperwork-exempt". (Bug#20324) + +2015-05-06 Pádraig Brady + + doc: document glibc posix_fallocate() issues + * doc/posix-functions/posix_fallocate.texi: Mention the + glibc efficiency problems and issues with NFS. + +2015-05-05 Karl Berry + + * build-aux/gendocs.sh (usage): document new css default + for HTML (--htmlarg). + +2015-04-29 Paul Eggert + + extern-inline: no need for workaround in GCC 5.1 + * doc/extern-inline.texi (extern inline): + * m4/extern-inline.m4 (gl_EXTERN_INLINE): + GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work + around these bugs in GCC 5.1 and later. Maybe in a decade or + two we can remove these workarounds. + +2015-04-28 Pádraig Brady + + eealloc, pagealign_alloc, xalloc: avoid clang warnings + Avoid [-Wunknown-attributes] warnings like: + warning: unknown attribute '__alloc_size__' ignored + * lib/xalloc.h: Don't use the __alloc_size__ attribute + with clang, as support has been fully removed as of clang 3.5: + https://github.com/llvm-mirror/clang/commit/c047507a + * lib/eealloc.h: Likewise. + * lib/pagealign_alloc.h: Likewise. + +2015-04-27 Paul Eggert + + tests: pacify GCC 5.1's stricter printf checking + * tests/test-dirname.c (main): + * tests/test-getaddrinfo.c (simple): + * tests/test-getlogin.c (main): + * tests/test-getndelim2.c (main): + * tests/test-inttostr.c (CK): + * tests/test-md5.c (main): + * tests/test-read-file.c (main): + * tests/test-sha1.c (main): + Fix mismatches between printf format and value signedness. + * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max): + Remove, as CAST_VAL always returned a value of type uintmax_t. + + fts: port to GCC 5.1 with --enable-gcc-warnings + Without this fix, GCC 5.1 (correctly) warns about a subscript + error on the fts_name component of FTSENT. It's actually a + flexible member, so define it that way on C99 or later hosts. + * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a + structure that now has a flexible array member. + * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro. + (FTSENT): fts_name is now flexible on C99-or-later platforms. + * modules/fts (Depends-on): Add flexmember. + +2015-04-26 Paul Eggert + + file-has-acl: port to CentOS 6 + Problem reported by Tom G. Christensen in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-04/msg00074.html + * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a + combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and + HAVE_GETXATTR. + * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of + linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS, + and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what what + file-has-acl.c actually needs. + +2015-04-26 Pádraig Brady + + file-has-acl: always return false when ACLs aren't supported + * lib/file-has-acl.c (file_has_acl): Consistent with other paths, + change the GNU/Linux getxattr path, to transform "not supported" + errors to a false return rather than an error. This is handled + within file_has_acl() due to the platform specific tests to + determine if ACLs are not supported. + +2015-04-25 Paul Eggert + + gettext: propagate po/Makefile.in.in too + * build-aux/po/Makefile.in.in: Copy from latest gettext. + * config/srclist.txt: In build-aux/po, copy Makefile.in.in and + remove-potcdate.sin from $GETTEXT. This fixes a version mismatch + between Makefile.in.in and the gettext-runtime m4 files. + +2015-04-24 Paul Eggert + + file-has-acl: new module, split from acl + And add a new module file-has-acl-tests to match. + I ran into a problem with the recent changes to the acl module, + as they introduced a typo 'test use_xattrs = 0' into 'configure'. + When using the fixed version with Emacs, I discovered that + file-has-acl wasn't separated out well enough for Emacs (e.g., it + had multiple libraries, but needed only one), so I fixed that too. + * NEWS: Document this incompatible change. + * modules/file-has-acl, modules/file-has-acl-tests: New files. + * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL. + Initialize gl_need_lib_has_acl. + (gl_FUNC_ACL): Require it. + Simplify use of 'test'. Set LIB_HAS_ACL if gl_need_lib_has_acl. + Move the file-has-acl.c-relevant stuff to ... + (gl_FILE_HAS_ACL): ... this new macro. Rewrite to fix 'test + use_xattrs = 0' typo, and omit some needless work. Set + gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set + when gl_FUNC_ACL is called. + * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c. + (Link): Remove $(LIB_HAS_ACL). + * modules/acl-tests (Files, Depends-on, configure.ac, TESTS) + (check_PROGRAMS): Move stuff relevant to file-has-acl to + modules/file-has-acl-tests. + (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests. + + manywarnings: add GCC 5.1 warnings + * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds, + -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat, + -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation, + -Wsuggest-override, -Wuse-without-only. Change + -Wnormalized=... operands to match 5.1. + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare, + -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers, + -Wdiscarded-qualifiers, -Wformat-signedness, + -Wincompatible-pointer-types, -Wint-conversion, + -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr, + -Wshift-count-negative, -Wshift-count-overflow, + -Wsizeof-array-argument, -Wsuggest-final-methods, + -Wsuggest-final-types, -Wswitch-bool. Remove -Warray-bounds, + and add -Warray-bounds=2 as a special case. + +2015-04-21 Simon Josefsson + + doc: update FDL template to match FDL examples. + * doc/alloca-opt.texi: + * doc/alloca.texi: + * doc/c-ctype.texi: + * doc/c-strcase.texi: + * doc/c-strcaseeq.texi: + * doc/c-strcasestr.texi: + * doc/c-strstr.texi: + * doc/c-strtod.texi: + * doc/c-strtold.texi: + * doc/ctime.texi: + * doc/error.texi: + * doc/gcd.texi: + * doc/gnulib-tool.texi: + * doc/inet_ntoa.texi: + * doc/intprops.texi: + * doc/lib-symbol-visibility.texi: + * doc/maintain.texi: + * doc/parse-datetime.texi: + * doc/quote.texi: + * doc/regexprops-generic.texi: + * doc/standards.texi: Remove spurious 'with' in FDL license + template. + +2015-04-21 Paul Eggert + + lstat: fix cross-compilation 'ln -s' problem + * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): + Have the test program call 'symlink' rather than a separate + script run 'ln -s'; this is more likely to work in + cross-compilation environments. Reported by Pavel Fedin in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-04/msg00060.html + +2015-04-16 Ludovic Courtès + + gendocs.sh: default to a common CSS style sheet for HTML output + * build-aux/gendocs.sh (htmlarg): Change default value. + +2015-04-15 Mats Erik Andersson + + gnulib-tool: output bold attribute more portably + * gnulib-tool (func_show_module_list): Change hexadecimal + numbers to octal in BOLD_ON and BOLD_OFF. The use of hex + encoded numbers as arguments to `printf' is not portable, + and is not claimed by POSIX. This is the case with FreeBSD. + +2015-04-15 Andreas Gruenbacher + + qacl: Simplify HP-UX acl_nontrivial check + * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of + acl_nontrivial. Check if the acl has at most three entries instead (it must + have exactly three entries according to the HP-UX documentation). Ignore + uids and gids as long as an entry is either for a user (i.e., the owner), + a group (i.e., the owning group), or others. + * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype. + * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file. + +2015-04-15 Andreas Gruenbacher + + acl: On Linux, check for acls without libacl + On Linux, use the getxattr syscall instead of the acl_extended_file libacl + library function to check for the presence of acls, avoiding a library. + * lib/file-has-acl.c: Include xattr headers if we have them. + (file_has_acl): On Linux, use getxattr(). + * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for + file_has_acl(). Check for xattr headers and getxattr(). + +2015-04-14 Ángel González + + tempname: avoid unused parameter warnings (trivial) + * lib/tempname.c (try_dir): Tag with __GL_UNUSED. + (try_nocreate): Likewise. + +2015-04-14 HIRAMATSU Yoshifumi + + fseeko: fix build failure on NetBSD >= 6 (trivial) + * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset + from 'fpos_t struct' to __off_t, which is a typedef of __int64_t. + +2015-04-09 Paul Eggert + + gitlog-to-changelog: port to MS-Windows + * build-aux/gitlog-to-changelog (git_dir_option): + Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in + MS-Windows Perl. Reported by Eli Zaretskii in: + http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html + +2015-04-07 Karl Berry + + gendocs: new option --tex for passing args to texi2dvi. + * build-aux/gendocs.sh: new option --tex, default -t @finalout. + (TEXI2DVI): cut to just command name. + (usage): mention new option, and update copyright. + : use it. + +2015-04-07 Karl Berry + + * config/srclistvars.sh (GETTEXT): new definition. + * config/srclist.txt: use it for gettext .m4 files. + Thread starting at http://lists.gnu.org/archive/html/bug-gnulib/201 + and confirmed at http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00146.html + and continuing into April. + +2015-04-07 Daiki Ueno + + uniname/uniname-tests: fix failure due to alias + Reported by Jack Howarth in: + . + * tests/uniname/test-uninames.c (name_has_alias): New function. + (test_inverse_lookup): Exclude character name with valid alias, + from randomly generated character names. + (main): Fill unicode_aliases before calling test functions. + +2015-04-03 Giuseppe Scrivano + + hash: remove deprecated hash_insert0 function + * lib/hash.h (hash_insert0): Remove deprecated function. + * lib/hash.c (hash_insert0): Likewise. + +2015-04-02 Pádraig Brady + + mountlist: remove dependency on libmount + * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo + directly, rather than depending on libmount, which has many + dependencies due to its dependence on libselinux, as detailed at: + http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00063.html + Note we restrict this to __linux__ as that's probably where this + interface will remain. If ever porting, it would be best + to first pull the makedev() wrapper from coreutils to a gnulib module. + Note also we don't add a getline dependency to the mountlist module, + as all Linux versions are sufficient. - Added config.d files to the filter - Used by systems running Red Hat or a variant +2015-04-02 Paul Eggert + + stddef: port to pre-C11 GCC on x86 + On this platform, max_align_t should have an alignment of 8 even + though the storage alignments of double, long, etc. max out at 4. + Inspired by a comment of Andreas Schwab's here: + https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html + * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro. + (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it. + * tests/test-stddef.c: Test __alignof__ too, if available. + +2015-03-24 Pádraig Brady + + quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency + * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4 + +2015-03-24 Tobias Stoeckmann + + yesno: make EOL optional in ENABLE_NLS case also (trival) + * lib/yesno.c (yesno): Check for EOL before replacing. + * tests/test-yesno.sh: Add a test case (test along with gettext). + +2015-03-22 Paul Eggert -2014-10-28 Raphaël Pinson + fdopendir-tests: test it does not close its arg + * tests/test-fdopendir.c (main): Test that fdopendir does not + close its argument. From a suggestion by David Grayson in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-03/msg00039.html + +2015-03-20 Paul Eggert + + gitlog-to-changelog: trim trailing white space + * build-aux/gitlog-to-changelog (main): + Trim trailing white space from commit message lines. + This is helpful for processing the GNU Emacs repository, + which dates back to 1985 and contains a lot of such lines. + + gitlog-to-changelog: new option --ignore-matching + * build-aux/gitlog-to-changelog (usage, git_dir_option, main): + Support new option --ignore-matching=PAT, which ignores all + commit messages whose first line matches PAT. + +2015-03-19 Paul Eggert + + fdopendir: port better to MinGW + * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]: + Use 'dup' if dirfd fails. Suggested by Eli Zaretskii in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-03/msg00033.html + * modules/fdopendir (Depends-on): Add dirfd. + +2015-03-18 Paul Eggert + + fdopendir: fix typo in comment + * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled. + +2015-03-09 Eric Blake + + error: document all entry points provided + * doc/glibc-functions/error_print_progname.texi + (error_print_progname): Mention the error module. + * doc/glibc-functions/error_at_line.texi (error_at_line): + Likewise. + * doc/glibc-functions/error_message_count.texi + (error_message_count): Likewise. + * doc/glibc-functions/error_one_per_line.texi + (error_one_per_line): Likewise. + +2015-03-03 Paul Eggert + + vasnprintf: pacify clang 3.5.0 + Problem reported by Werner Lemberg in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-03/msg00000.html + * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to. + The casts aren't needed, since the characters in question are ASCII. + +2015-02-24 Paul Eggert + + glob, etc.: port to MSVC v18 on MS-Windows 8.1 + * lib/dirent--.h (GNULIB_defined_opendir): + * lib/dirent.in.h (GNULIB_defined_opendir) + (GNULIB_defined_closedir): + * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir): + #undef only if Gnulib defined it. + + poll: port to MSVC v18 on MS-Windows 8.1 + Problem reported by Gisle Vanem in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00139.html + * lib/poll.c: Always include and . + * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]: + Add sys_socket. + +2015-02-24 Pádraig Brady + + tests: support stderr verification with returns_() + * tests/init.sh (returns_): Disable tracing for this wrapper + function, so that stderr of the wrapped command is unchanged, + allowing for verification of the contents. + +2015-02-24 Pavel Hrdina + + passfd: avoid valgrind uninitalised data warning + * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr, + to include just the fd we've initialized, rather than including + the extra space used for alignment. + +2015-02-23 Paul Eggert + + uniwbrk/u32-wordbreaks-tests: fix copyright + * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date. + + dup2: doc and test for Android bug + Reported by Kevin Cernekee in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00125.html + * doc/posix-functions/dup2.texi (dup2): Document the bug. + * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug. + +2015-02-23 Kevin Cernekee + + Replace dup2() on Android + * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3(). + Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2 + fails. Using rpl_dup2() fixes this because it has an explicit test + for this condition. + +2015-02-22 Paul Eggert + + Android doesn't define RLIM_SAVED_* + Portability problem reported by Kevin Cernekee in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00122.html + * doc/posix-headers/sys_resource.texi (sys/resource.h): + Mention the portability problem. + * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX): + Define if not defined. + * m4/dup2.m4 (gl_FUNC_DUP2): + * m4/fcntl.m4 (gl_FUNC_FCNTL): + Likewise. + +2015-02-21 Paul Eggert + + vasnprintf-posix-tests: use consistent test + * tests/test-vasnprintf-posix.c (test_function): + Use "<" in assert instead of "<=", for consistency with other tests. + +2015-02-20 Paul Eggert + + printf, isinf, etc.: noncanonical != NaN + Do not require that isinf, printf, etc. treat noncanonical + values as NaNs. Instead, require only that they do not crash. + Problem reported by Joseph Myers in: + https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html + * doc/posix-functions/dprintf.texi (dprintf): + * doc/posix-functions/fprintf.texi (fprintf): + * doc/posix-functions/isfinite.texi (isfinite): + * doc/posix-functions/isinf.texi (isinf): + * doc/posix-functions/isnan.texi (isnan): + * doc/posix-functions/printf.texi (printf): + * doc/posix-functions/snprintf.texi (snprintf): + * doc/posix-functions/sprintf.texi (sprintf): + * doc/posix-functions/vdprintf.texi (vdprintf): + * doc/posix-functions/vfprintf.texi (vfprintf): + * doc/posix-functions/vprintf.texi (vprintf): + * doc/posix-functions/vsnprintf.texi (vsnprintf): + * doc/posix-functions/vsprintf.texi (vsprintf): + Document this. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): + * m4/isinf.m4 (gl_ISINFL_WORKS): + * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): + * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): + * tests/test-isfinite.c (test_isfinitel): + * tests/test-isinf.c (test_isinfl): + * tests/test-isnan.c (test_long_double): + * tests/test-isnanl.h (main): + * tests/test-snprintf-posix.h (test_function): + * tests/test-sprintf-posix.h (test_function): + * tests/test-vasnprintf-posix.c (test_function): + * tests/test-vasprintf-posix.c (test_function): +o Test only that noncanonical values do not cause crashes, not that + they are treated as NaNs. In some cases this means a larger + output buffer is needed. + +2015-02-20 Jaroslav Skarvada + + fts: remove redundant close() (trivial) + * lib/fts.c (fts_read): Remove redundant call to close(). + Spotted by coverity. + +2015-02-20 Paul Eggert + + getdtablesize: port better for Android + Problem reported by Kevin Cernekee in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00112.html + * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug. + * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX. + Instead, just use getrlimit, taking care to avoid Cygwin bug. + + poll: fixes for large fds + * lib/poll.c (poll): Don't check directly for NFD too large. + Don't rely on undefined behavior in FD_SET when an arg exceeds + FD_SETSIZE. Always set revents afterwards, even if to zero. + * tests/test-poll.c (poll1): Set revents to -1 instead of 0, + as that makes the test a bit stricter. + +2015-02-19 Kevin Cernekee + + fcntl: Fix cross compiling + * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the + correct variable name (gl_cv_func_fcntl_f_dupfd_works). + +2015-02-18 Paul Eggert + + dup2, fcntl: cross-compile better for Android + Problem reported by Kevin Cernekee in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00109.html + * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling + for a Linux kernel. That kernel bug was fixed on 2009-05-11, and + there's little need to cross-compile for older kernels nowadays. + * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only + for systems where the bug is known to occur (AIX, Cygwin, Haiku). + +2015-02-18 Pádraig Brady + + getopt: don't crash on memory exhaustion + * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on + memory exhaustion. In the _LIBC case we use alloca() as is + already done in glibc, so we don't need to consider the separate + error path in that awkward case. Also fix a memory leak when + ambiguous options are present. + Reported by Tobias Stoeckmann + +2015-02-17 Mike Miller + + tempname: allow compilation with C++ (trivial) + * lib/tempname.h [C++]: Specify extern "C" linkage. + * lib/tempname.h (try_tempname): + * lib/tempname.c (__try_tempname, __gen_tempname): + Rename 'try' to 'tryfunc'. + +2015-02-17 Paul Eggert + + dup2, fcntl: port to AIX + * m4/dup2.m4 (gl_FUNC_DUP2): + * m4/fcntl.m4 (gl_FUNC_FCNTL): + Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX). + The former works on AIX 7.1 but the latter does not. + Also, this may work better with Android; see: + http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00100.html + +2015-02-16 Paul Eggert + + getdtablesize, dup2, fcntl: port to Android + Problem reported by Kevin Cernekee in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00092.html + * doc/glibc-functions/getdtablesize.texi (getdtablesize): + Mention that getdtablesize doesn't work on Android. + * lib/getdtablesize.c: Use getrlimit substitute only if + getdtablesize is declared. This should suffice for Cygwin + while not breaking Android. + * m4/dup2.m4 (gl_FUNC_DUP2): + * m4/fcntl.m4 (gl_FUNC_FCNTL): + Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is + standardized but the latter is not, and sysconf works on Android. + * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): + Also check that getdtablesize is declared. + This removes the need for a special case for Android. + +2015-02-16 Kevin Cernekee + + localename: Implement gl_locale_name_thread_unsafe for Android + * lib/localename.c: Android API level >= 21 supports two hardcoded + locales: C (POSIX) and C.UTF-8. Distinguish them by checking + the internal __locale_t struct. + +2015-02-16 Kamil Dudka + + fts: avoid crash when a cycle is added while traversing + This could be triggered by auto-mounting a recursive bind mount. + Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498 + * lib/fts.c (fts_read): Avoid removing the original hash table item + when leaving a directory that caused a cycle, and preserve the FTS_DC + flag. + +2015-02-16 Daiki Ueno + + uniname/uniname: support character alias + * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE. + Generate one-way mapping from aliases to codepoints in the + generated tables. Special case variation selectors to reduce + table size. + * lib/uniname/uniname.c (unicode_character_name): Special case + variation selectors. + (unicode_name_character): Special case variation selectors and + their aliases. + * lib/uniname/uninames.h: Regenerate. + * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0. + * modules/uniname/uniname-tests (Files): Add + tests/uniname/NameAliases.txt. + * tests/uniname/test-uninames.c: Mark as static. + (ALIASLEN): Define. + (struct unicode_alias): New struct. + (unicode_aliases): New variable. + (fill_aliases): New function. + (test_alias_lookup): New test function. + (main): Run the 'test_alias_lookup' test if the second argument is + given. + * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the + second argument. + +2015-02-11 Kevin Cernekee + + Fix FILE struct compatibility with Android API level >= 21 + * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of + __sferror. Recent versions of Bionic's stdio.h no longer define + __sferror. + * lib/fbufmode.c: Likewise. + * lib/fflush.c: Likewise. + * lib/fpurge.c: Likewise. + * lib/freadable.c: Likewise. + * lib/freadahead.c: Likewise. + * lib/freading.c: Likewise. + * lib/freadptr.c: Likewise. + * lib/freadseek.c: Likewise. + * lib/fseeko.c: Likewise. + * lib/fseterr.c: Likewise. + * lib/fwritable.c: Likewise. + + Assume unbroken ungetc() on Android + * m4/ungetc.m4: Add Android case to host OS check. The ungetc() + test case passed when running on an Android host, and the code + hasn't really changed since 2009. + + getdtablesize: Fix Android build + * m4/getdtablesize.m4: Add Android case to host OS check. Recent NDK + versions have this symbol in the .so library (at least 32-bit + platforms) but are missing the declaration in the header file, + causing the m4 logic to guess incorrectly. + + localename: Fix Android build + * modules/localename (Depends-on): Add langinfo. + + getugroups: Fix Android build + * lib/getugroups.c: Don't reference unsupported {get,set,end}grent + functions. + + euidaccess: Fix Android build + * modules/euidaccess (Depends-on): Add fcntl-h to ensure that + AT_EACCESS gets declared. + + linkat_nofollow: Add fallback case for cross compiling + * m4/linkat.m4: Guess no for Darwin, yes otherwise. + + net_if: Handle content-free system headers + * m4/net_if_h.m4: Check to make sure actually defines + struct if_nameindex. If not, enable the replacement header. + + signal_h: Fix Android build + * lib/signal.in.h: Add Android to the list of platforms that declare + pthread_sigmask() in instead of . + + duplocale: Fix Android build of duplocale-tests + * modules/duplocale-tests (Depends-on): Add langinfo, as the header + is included by test-duplocale.c (but not by duplocale.c). + * modules/duplocale-tests (configure.ac): Check for monetary.h. + * tests/test-duplocale.c: Skip test if monetary.h is absent. + * doc/posix-headers/monetary.texi: Add Android to the list of + platforms missing monetary.h. + +2015-02-11 Pádraig Brady + + tests: avoid recent -Werror=unused-variable regression in test-locale + * tests/test-locale.c (main): Reference the variable to avoid the + "unused variable" warning. + +2015-02-11 Pádraig Brady + + maint: various whitespace cleanups in tempname + * lib/tempname.c: Normalize spacing and line length. + * lib/tempname.h: Likewise. + * modules/tempname: Likewise. + +2015-02-11 Pádraig Brady + + tests: provide returns_() to simplify exit status checking + * tests/init.sh (returns_): A new function for use in tests, + to allow for easier checking of return values, where you expect + a command to exit with failure status. By checking for a particular + exit code, you don't hide any crashes for example. + +2015-02-11 Pádraig Brady + + mountlist: only use libmount when specified + There are currently many shared libs dependencies introduced by + libmount with associated runtime and virt mem overhead. + Therefore don't enable by default. + * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time. + +2015-02-08 Daiki Ueno + + uniname/unimame-tests: don't link with -lunistring + * modules/uniname/uniname-tests (Makefile.am): Don't link against + $(LIBUNISTRING). Document the rationale why we need to + conditionalize the test. + +2015-02-07 Paul Eggert + + fstrcmp: don't assume strlen < INT_MAX + * lib/fstrcmp.c: Include stddef.h and stdint.h. + (uintptr_t): Remove, as we're now assuming stdint. + (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded): + Prefer ptrdiff_t to int when the value could exceed INT_MAX + if the input string is long. + (fstrcmp_bounded): Check for size-calculation overflow. Prefer + uintptr_t to size_t when the underlying value is a pointer casted + to an unsigned integer. Avoid unnecessary 'buffer != NULL' test. + * modules/fstrcmp (Depends-on): Add stdint. + + diffseq: prefer ptrdiff_t to ssize_t + * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t. + ptrdiff_t is the natural type for signed indexes. + On a few older platforms, ssize_t is narrower than size_t. + + xalloc: fix typo that suppressed warnings + * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END. + This typo, introduced a couple of years ago, mistakenly suppressed + some -Wsuggest-attribute=const, -Wmissing-prototypes, and + -Wmissing-declarations warnings. + + full-read: fix license notice typo + * lib/full-read.h: Remove a stray line in the license notice. + Reported by Sam Ellis in: http://bugs.gnu.org/19808 + + crypto/gc: fix a -Wswitch warning + Reported by Bruce Korb in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00046.html + * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero. + +2015-02-03 Pádraig Brady + + gnulib-tool: fix handling of patch(1) diagnostics + * gnulib-tool: Send diagnostics from patch(1) to stderr, + as otherwise gnulib-tool will reparse that output and attempt + to lookup modules. + +2015-02-03 Pádraig Brady + + bootstrap: exit immediately upon gnulib-tool failure + * build-aux/bootstrap: Exit immediately if gnulib-tool fails. + This was noticed when gnulib-tool exited early due to failure + to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233, + but various confusing errors were then given as the build proceeded. + +2015-02-02 Andreas Gruenbacher + + symlinkat: include all required header files + * lib/symlinkat.c (HAVE_SYMLINK_AT): Add for fstatat(), + and string.h for strlen(), required at least on OS X 10.10 (Yosemite). + Reported at https://savannah.gnu.org/bugs/index.php?44151 + and by Jack Howarth. + +2015-01-29 Pádraig Brady + + localename: support Solaris 12 and illumos + * lib/localename.c (gl_locale_name_thread_unsafe): call + getlocalename_l() on newer __sun platforms. + Reported by Alexander Pyhalov. + Fix suggested by Rich Burridge. + +2015-01-29 Alexander Pyhalov + + locale: fix tests on illumos (trivial) + * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos, + so move from global scope to main(). + +2015-01-24 Daiki Ueno + + unictype: avoid undefined left-shift behavior + * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with + gcc's -fsanitize=shift and running its tests triggered: + unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \ + places cannot be represented in type 'int' + Cast LHS to 'unsigned int' after integer promotion. + * lib/unictype/categ_of.c (lookup_withtable): Likewise. + * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise. + +2015-01-20 Daiki Ueno + + libunistring: bump version of unitypes dependants + Due to the header file search order, all the headers which depend + on unitypes.h need to be generated, when the preinstalled + libunistring is older. + * modules/unicase/base (configure.ac): Bump minimum version to + 0.9.4. + * modules/uniconv/base (configure.ac): Likewise. + * modules/unilbrk/base (configure.ac): Likewise. + * modules/uninorm/base (configure.ac): Likewise. + * modules/unistdio/base (configure.ac): Likewise. + * modules/unistr/base (configure.ac): Likewise. + * modules/uniwbrk/base (configure.ac): Likewise. + * modules/uniwidth/base (configure.ac): Likewise. + +2015-01-20 Daiki Ueno + + unictype/category-none: fix link with libunistring + Since _UC_CATEGORY_NONE is not a public symbol, it will be + prefixed with "libstring_" when compiled as part of libunistring. + To avoid undefined symbol at link time, increase the minimum + version when the dependant modules are updated. + * modules/unictype/category-none (configure.ac): Bump minimum + version to 0.9.5. + +2015-01-20 Daiki Ueno + + unitypes: fix build with installed libunistring + The minimum version has not bumped after _UC_ATTRIBUTE_CONST and + _UC_ATTRIBUTE_PURE were added to unitypes.in.h. + * modules/unitypes (configure.ac): Bump minimum version to 0.9.4. + +2015-01-15 Paul Eggert + + time: port to MinGW32 3.21 + Problem reported by Eli Zaretskii in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00042.html + * lib/time.in.h: + * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): + * modules/time (Depends-on): + Fall back on unistd.h if the other include files don't define + struct timespec. + + update-copyright: apply to self + * build-aux/update-copyright: Fix copyright date. How ironic! + +2015-01-15 Daiki Ueno + + libunistring: update to Unicode 7.0.0 + * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and + Manichaean names. + * lib/unictype/joininggroup_name.h: Likewise. + * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW) + (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values. + * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW) + (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values. + (fill_arabicshaping, joining_group_as_c_identifier): Support those + enum values. + (is_property_alphabetic): Accept newly added characters to + cuneiform numeric signs. + (is_property_default_ignorable_code_point): Reject U+0605. + (FIELDLEN): Increase from 120 to 160. + * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605, + U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD, + U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D, + U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173, + U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF, + U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C, + U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0, + U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0, + U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4, + U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and + U+1E8D0..U+1E8D6. + (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248. + * tests/uniwidth/test-uc_width2.sh: Same updates as in + lib/uniwidth/width.c. + * all generated files under lib/uni* and tests/uni*: Regenerate. + +2015-01-14 Daiki Ueno + + libunistring: update to Unicode 6.3.0 + * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values. + * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c. + Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b. + * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size. + * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a. + Update WB5, WB9, WB10, WB13a, and WB13b. + * tests/uniwbrk/test-uc-wordbreaks.c + (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL. + * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI) + (UC_BIDI_PDI): New enumeration values. + (bidi_category_byname): Support those enum values. + (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a + dedicated property assigned. + (is_property_case_ignorable): Check 0x0027. + (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values. + (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp) + (output_wbp): Support those enum values. + * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI) + (UC_BIDI_PDI): New enumeration values. + * lib/unictype/bidi_byname.gperf: Add those property names. + * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C, + U+180E, U+1A1B, and U+2066..U+2069. + * tests/uniwidth/test-uc_width2.sh: Same updates as in + lib/uniwidth/width.c. + * all generated files under lib/uni* and tests/uni*: Regenerate. + +2015-01-14 Daiki Ueno + + libunistring: update to Unicode 6.2.0 + * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value. + (unilbrk_table): Adjust table size. + * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column + for LBP_RI. + * lib/uniwbrk.in.h (WBP_RI): New enumeration value. + * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c. + Normalize table index skipping ignored properties. + * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI. Remove + WBP_EXTEND and WBP_FORMAT, which are now computed without using + the table. + * lib/uniwbrk/wbrktable.h: Adjust table size. + * lib/unigbrk.in.h (GBP_RI): New enumeration value. + * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK): + Support rule GB8a. + (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI. + * tests/unigbrk/test-uc-is-grapheme-break.c + (graphemebreakproperty_to_string): Support GBP_RI. + * tests/uniwbrk/test-uc-wordbreaks.c + (wordbreakproperty_to_string): Support WBP_RI. + * lib/gen-uni-tables.c (LBP_RI): New enumeration value. + (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp) + (output_lbp): Support LBP_RI. Adjust some characters changed from + LBP_AL to LBP_ID. + (output_lbp): Support LBP_RI. + (WBP_RI): New enumeration value. + (debug_output_wbp, fill_org_wbp, debug_output_org_wbp) + (output_wbp): Support WBP_RI. + (GBP_RI): New enumeration value. + (output_gbp_test, fill_org_gbp): Support GBP_RI. + * all generated files under lib/uni* and tests/uni*: Regenerate. + +2015-01-14 Daiki Ueno + + libunistring: update to Unicode 6.1.0 + * lib/gen-uni-tables.c (output_joining_group): Switch to + 3-level table to accommodate joining groups defined with higher + codepoint value. Since there are only 88 groups defined in + Unicode 7.0.0, use 7-bit packed format for level3 entries. + (get_lbp): Update for Unicode 6.1.0. + * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use + 3-level table. + * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh + joining group name. + * lib/unictype/joininggroup_name.h: Likewise. + * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value. + (unilbrk_table): Adjust table size. + * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column + for LBP_HL. + * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604, + U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F, + U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B, + U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB, + U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92. Remove + U+302E..U+302F. + * tests/uniwidth/test-uc_width2.sh: Same updates as in + lib/uniwidth/width.c. + * all generated files under lib/uni* and tests/uni*: Regenerate. + * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5. + +2015-01-15 Daiki Ueno + + uniwbrk/u32-wordbreaks-tests: add conformance test + * modules/uniwbrk/u32-wordbreaks-tests (Files): Add + tests/uniwbrk/test-uc-wordbreaks.c, + tests/uniwbrk/test-uc-wordbreaks.sh, and + tests/uniwbrk/WordBreakTest.txt. + (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add + test-uc-wordbreaks to $(check_PROGRAMS), and define + test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD. + * tests/uniwbrk/test-uc-wordbreaks.sh: New file. + * tests/uniwbrk/test-uc-wordbreaks.c: New file. + +2015-01-15 Daiki Ueno + + uniwbrk: ignore Extended/Format characters at BOL not BOS + * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format + characters if the previous character property is one of + WBP_NEWLINE, WBP_CR, and WBP_LF. + +2015-01-11 Jim Meyering + + test-strstr.c: avoid a trivial leak + * tests/test-strstr.c (main): Free haystack. + + update-copyright: recognize groff's \(co marker + * build-aux/update-copyright (circle_c_re): Also accept + uses of \(co, as found in gzip.1. + +2015-01-08 Pádraig Brady + + maint.mk: fix compatibility with OS X nm + * top/maint.mk (_gl_tight_scope): Use the -g option to + show exported items rather than the -e option which is + ignored on all platforms except OS X where it gives an error. + Reported by Assaf Gordon. + +2015-01-07 KO Myung-Hun + + localcharset: improve charset detection on OS/2 + Use system codepage when appropriate. Map OS/2 codepages to + GNU canonical charset names if possible. + * lib/config.charset: Don't output aliases if "$os" is os2*. + * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the + result for OS/2. + (locale_charset) [OS2]: Use system codepage if codeset is omitted + from the locale name which is neither "C" nor "POSIX". + +2015-01-06 Paul Eggert + + count-leading-zeros: use 64-bit intrinsics on 32-bit Windows + This reverts the last patch but one, as it shouldn't be needed now + that the typo is fixed. + * lib/count-leading-zeros.h (count_leading_zeros_ll): + * lib/count-trailing-zeros.h: + * lib/count-one-bits.h: + Go back to using 64-bit intrinsics. + + count-leading-zeros: fix pragma typos + * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64): + Fix typos in declaration of intrinsics when _MSC_VER. + +2015-01-06 Pádraig Brady + + count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows + * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit + intrinsics in this case. + * lib/count-trailing-zeros.h: Likewise. + * lib/count-one-bits.h: Likewise. + +2015-01-06 Daiki Ueno + + uniname/uniname: update to Unicode 7.0.0 + To accommodate new characters added since Unicode 5.1.0, this + changes the internal representation of codepoint ranges. + Previously, we grouped codepoint ranges by manually assigned 4-bit + tag, which only allowed 16 groups. This removes the limitation by + switching to binary search on a table. For the detail rationale + and the benchmark results, see: + https://lists.gnu.org/archive/html/bug-libunistring/2014-06/msg00001.html + * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member + to INDEX, as it no longer represents a codepoint. + (range): New struct. + (main): Switch to intervals list from a bit-pattern based + classification. + * lib/uniname/uninames.h: Regenerate. + * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0. + * modules/uniname/base (configure.ac): Bump minimum version to + 0.9.5. + * modules/uniname/uniname (configure.ac): Bump minimum version to + 0.9.5. + +2015-01-05 Eric Blake + + doc: update INSTALL from autoconf + * doc/install.texi: Resync from autoconf. + * doc/INSTALL: Reflect recent autoconf update. + * doc/INSTALL.ISO: Likewise. + * doc/INSTALL.UTF-8: Likewise. + + stdio: fix use of PRIdMAX on modern mingw + * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes. + * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result + to work with modern mingw. + +2015-01-05 Daniel P. Berrange (tiny change) + + pthread: detect git mingw builds with only partial pollution + * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional + pollution, as seen temporarily in Fedora 21. + +2015-01-04 Paul Eggert + + lib-symbol-versions: cache script check + * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): + Cache the check for linker version scripts. + From a suggestion by Christophe Curis in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00011.html + +2015-01-04 Benno Schulenberg + + maint: fix grammar nits in propername (trivial change) + * lib/propername.h: Remove a mistaken comma and a duplicate "from", + and use an adequate verb and tense. + +2015-01-02 Ludovic Courtès + + Suggested by Paul Eggert . + * module/gendocs: Add 'doc/gendocs_template_min'. + + * build-aux/gendocs.sh: Change email addresses and upstream URLs + from to Gnulib's. + (scripturl, templateurl): Adjust accordingly. + +2015-01-01 Paul Eggert + + gendocs: copyright date and version fix + Reported by Karl Berry in: + http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00002.html + * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min: + Fix copyright date. + * build-aux/gendocs.sh (scriptversion): Update. + +2015-01-01 Karl Berry + + * doc/install.texi, + * build-aux/mdate-sh, + * build-aux/depcomp, + * build-aux/config.guess, + * build-aux/config.sub, + * build-aux/ar-lib, + * build-aux/compile: revert copyright updates (some from last + year) in slaved files. + +2015-01-01 Paul Eggert + + version-etc: new year + * doc/gnulib.texi: + * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date. + * all files: Run 'make update-copyright'. + +2014-12-30 Pádraig Brady + + xstrtol: ensure errno is reset + Since commit 3bf75404, on 26-09-1998, errno may not have been reset. + Noticed with a spurious coreutils test failure on Darwin 14.0.0. + + * lib/xstrtol.c (__xstrtol): Always reset errno before returning. + +2014-12-28 Paul Eggert + + utimens: fix dependency typo + * modules/utimens (Depends-on): Remove 'assure'. + This bug was introduced in the recent 'assure' patch. + +2014-12-22 Eric Blake + + docs: mention why libgen.h is bad + * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module. + +2014-12-20 Paul Eggert + + assure: new module + This works better than 'assert' when compiling with -DNDEBUG, + as it avoids some compiler diagnostics in that case. + Reported by Norihiro Tanaka in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-12/msg00215.html + * MODULES.html.sh (func_all_modules): Add 'assure'. + * lib/assure.h, modules/assure: New files. + * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c: + * lib/poll.c, lib/savewd.c, lib/xstrtol.c: + Prefer 'assure' to 'assert'. + * lib/utimens.c: Stop using 'assert'; it wasn't helpful. + * modules/chdir-long, modules/cycle-check, modules/fchdir: + * modules/poll, modules/savewd, modules/utimens, modules/xstrtol: + Depend on 'assure'. + +2014-12-16 Paul Eggert + + stdalign: port better to HP compilers + * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or + __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch. + + stdalign: work around Apple GCC 4.0 bug + Reported by David Fang in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-12/msg00194.html + * lib/stdalign.in.h (_Alignas): + * m4/stdalign.m4 (gl_STDALIGN_H): + Do not use aligned attribute with GCC 4.0 on Apple. + +2014-12-16 Pádraig Brady + + getcwd: fix test failure on OS X 10.9 + * m4/getcwd-path-max.m4: Avoid the replacement if it + won't be effective due to the PATH_MAX limitation of lstat(). + (gl_cv_func_getcwd_path_max): Adjust to indicate this case. + * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER + for this case for use in tests, and also exclude this + case when setting REPLACE_GETCWD. + * tests/test-getcwd.c (test_long_name): Restrict the + tested path length so that lstat() will not be passed + a path greater than PATH_MAX. + Also key a test condition on HAVE_OPENAT_SUPPORT rather + than AT_FDCWD, since the latter is set unconditionally + since Sep 2009 in commit 52c658e9. + +2014-12-14 Tim Rühsen + + parse-datetime: avoid a compiler warning with byacc (trivial) + * lib/parse-datetime.y (yylex): Use the same prototype in the + function definition as the declaration, to avoid a -Wstrict-prototypes + warning seen when using byacc. + +2014-12-12 Daiki Ueno + + unicase/locale-language-tests: fix LOCALE_FR test + * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for + a French locale with traditional encoding. + Reported by umerqayam in: + http://lists.gnu.org/archive/html/bug-libunistring/2014-12/msg00000.html + +2014-12-12 Paul Eggert + + stddef: support C11's max_align_t + * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t. + * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]: + Do not undef, as that might cause max_align_t to be defined twice. + Instead, change use to check for _GL_STDDEF_WINT_T too. + (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl. + * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS): + Check for max_align_t. + * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T. + * modules/stddef-tests (Depends-on): Add stdalign. + * tests/test-stddef.c: Test max_align_t. + +2014-12-11 Daiki Ueno + + unistd: fix iOS check conditional + On Mac OS X 10.8, the TARGET_* macros are unconditonally defined + as 0 or 1 in , and the previous check always + yielded true on non-iOS environment. + * lib/unistd.in.h (environ) [__APPLE__]: Check the values of + TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether + they are defined. + +2014-12-09 Paul Eggert + + posixtm: avoid compiler warning in a better way + * lib/posixtm.c (IF_LINT): Remove. + (year, posix_time_parse): + Return true (not 0) if successful. All callers changed. + (posix_time_parse): Simplify to pacify GCC without need for IF_LINT. + +2014-12-08 KO Myung-Hun + + * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is + started with '/' on EMX. + +2014-12-08 KO Myung-Hun + + freopen: workaround freopen() on OS/2 kLIBC + * lib/freopen.c (rpl_freopen): Workaround. + * m4/freopen.m4: Add os2* case. + + get_shared_library_fullname: port to EMX + * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp + on EMX, respectively. + (_DLL_InitTerm): New on EMX. + (get_shared_library_fullname): Implement on EMX. + + find_executable: port to EMX + * lib/progreloc.c (find_executable): Implement on EMX. + + sched: check struct sched_param in spawn.h as well + * lib/sched.in.h: Include spawn.h on kLIBC. + * lib/sched_h.m4: Check struct sched_param in spawn.h as well. + +2014-12-08 Martin Kletzander (tiny change) + + bootstrap: Allow perl modules in $buildreq + * build-aux/bootstrap: Add case for perl modules. + +2014-12-08 Pádraig Brady + + apply _GL_ATTRIBUTE_PURE to some inline functions + clang 3.4.2 flagged these inline functions as pure + * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE. + * lib/sig-handler.h (get_handler): Likewise. + * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise. + * lib/timespec.h (timespec_cmp, timespec_sign): Likewise. + +2014-12-06 Pádraig Brady + + vasnprintf: fix potential use after free + * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read, + flagged by clang-analyzer 3.4.2. + +2014-12-05 Pádraig Brady + + filevercmp, posixtm: avoid compiler warnings with -O3 + * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE + * lib/posixtm.c: (IF_LINT): Define. + (posix_time_parse): Use it to void a "may be used uninitialized" + warning, seen only with -O3. + +2014-12-05 Bruno Haible + + Fix LDBL80_WORDS macro on big endian platforms. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in + LDBL80_WORDS macro. + * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise. + * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise. + * tests/test-isfinite.c (test_isfinitel): Likewise. + * tests/test-isinf.c (test_isinfl): Likewise. + * tests/test-isnan.c (test_long_double): Likewise. + * tests/test-isnanl.h (main): Likewise. + * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis. + * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise. + * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise. + * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise. + Reported by Pádraig Brady. + +2014-12-02 KO Myung-Hun + + git-version-gen: do not print new line characters + * build-aux/git-version-gen: Use printf instead of echo and tr. - Build: remove unused indent definition + gnulib-tool: recognize x:* as an absolute path + * gnulib-tool (func_gnulib_dir): Add ?:* case. + (func_relconcat): Likewise. -2014-10-22 Raphaël Pinson +2014-12-02 Andrei Borzenkov - Update NEWS + argp: avoid extraneous translation and mem leak with empty pre doc + * lib/argp-help.c (argp_doc): Never translate the empty string, + when "\v" is the first or last character of the string, as that + has a reserved meaning to return the header info from a po file. + This also fixes a small memory leak in the !post case. + The issue can be seen with this command for example: + LC_MESSAGES=en_US grub2-mknetdir --help - Httpd: Allow comparison operators in tags (GH #154) +2014-11-27 Daiki Ueno -2014-10-17 Tomáš Chvátal + uniname/uniname-tests: skip if system's libunistring is used + * modules/uniname/uniname-tests (Makefile.am): Skip test if + uniname/uniname module is not compiled. - Add more possible SUSE extensions to read from multipath config. +2014-11-27 Pádraig Brady -2014-10-17 Alastair Lynn + printf: fix configure check on big endian systems + * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket. - Inifile: allow single-character keys +2014-11-22 Daiki Ueno + + pipe-filter-gi, pipe-filter-ii: port to AIX + On AIX 7.1, 'select' is defined as static and cannot be referred + to from inline function. + * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand + the definition... + * lib/pipe-filter-gi.c (filter_loop): ...here, and... + * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here. + +2014-11-20 Paul Eggert + + gitlog-to-changelog: add --until + * build-aux/gitlog-to-changelog: Support new --until option. + Need described by Eli Zaretskii in: http://bugs.gnu.org/19113 + +2014-11-14 Paul Eggert + + extern-inline: update commentary about GCC bugs + * m4/extern-inline.m4: Add another GCC bug number to comments. + +2014-11-13 Daiki Ueno + + gen-uni-tables: untabify + * lib/gen-uni-tables.c: Untabify. + +2014-11-13 Daiki Ueno + + gen-uni-tables: check out-of-range values added to 3-level tables + * lib/gen-uni-tables.c (output_category, output_bidi_category) + (output_joining_type, output_ident_category): Check out-of-range + values added to 3-level tables. + +2014-11-13 Daiki Ueno + + gen-uni-tables: utilize 'assert' + * lib/gen-uni-tables.c: Include . + (output_category, output_combclass, output_decimal_digit_test) + (output_decimal_digit, output_digit_test, output_digit) + (output_numeric, get_mirror_value, fill_properties) + (fill_property30, is_property_alphabetic) + (is_property_default_ignorable_code_point) + (is_property_uppercase, is_property_lowercase) + (is_property_cased, is_property_case_ignorable) + (is_property_changes_when_lowercased, is_property_iso_control) + (is_property_math, fill_arabicshaping, output_joining_group) + (fill_scripts, fill_blocks, output_lbp, fill_org_wbp) + (output_wbp, fill_org_gbp, get_decomposition) + (output_decomposition, fill_composition_exclusions) + (debug_output_composition_tables, output_composition_tables) + (redistribute_casefolding_rules, output_casing_rules): Use + 'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error + reporting. + +2014-11-13 Daiki Ueno + + gen-uni-tables: cosmetic improvements + * lib/gen-uni-tables.c: Escape newlines in the Emacs file local + variables specification. + (is_outdigit): Remove unused function. + +2014-11-12 Jeroen Roovers (tiny change) + + fcntl-h-tests: port to PA-RISC GNU/Linux + * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC. + +2014-11-10 Paul Eggert + + fts: port to C89 + Problem reported for MSVC 16 by Gisle Vanem in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00027.html + * lib/fts.c (fts_build): Avoid declaration before statement. + +2014-11-06 Paul Eggert + + unistd: port to iOS + Problem reported by André Klitzing in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00013.html + * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS. + +2014-11-05 Paul Eggert + + obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun + Problem reported by Alan Modra in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00007.html + * lib/obstack.h (obstack_chunkfun, obstack_freefun): + Always cast the function arg, reverting this part of the previous + change. + +2014-11-04 Paul Eggert + + obstack: avoid potentially-nonportable function casts + * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN): + Remove, replacing with ... + (call_chunkfun, call_freefun): New static functions. + All uses changed. Avoid potentially-nonportable casts. + (chunkfun_type, freefun_type): Remove typedefs; no longer used. + (_obstack_begin_worker): Omit last two args, since they + rely on potentially-nonportable casts. All callers changed. + * lib/obstack.h (_OBSTACK_CAST): New macro. + Use it everywhere the old API used a potentially-nonportable cast. + The new API doesn't cast. + (struct obstack): Use unions rather than requiring + potentially-nonportable casts. + (obstack_chunkfun, obstack_freefun): Return void. + +2014-11-03 Alan Modra + + obstack: fix macro return values + * lib/obstack.h (obstack_next_free): Return void *. + (obstack_1grow_fast, obstack_blank_fast): Return void. + For __GNUC__ macros: + (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0. + For !__GNUC__ macros: + (obstack_make_room, obstack_grow, obstack_grow0) + (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void. + +2014-11-03 Paul Eggert + + obstack: do not assume system-supplied obstack is size_t safe + * m4/obstack.m4: New file. + * modules/obstack (Files): Add it. + + obstack: port to platforms that #define __alignof__ + * lib/obstack.c: Include if !defined __alignof__, + not if !_LIBC. We don't know of any platforms that #define + __alignof__, but it might be useful in tests. Conversely, + glibc assumes GCC. + +2014-11-03 Pádraig Brady + + linkat: don't unconditionally replace on GNU/Linux + * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW + was redundant for a few reasons. It was present to support compiling + on new systems but running on the old narrow window of Linux 2.6.1[67]. + It setup and cleaned up test files which weren't actually used. + On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is + implicit in the following check. + +2014-11-03 Pádraig Brady + + linkat: wrap to handle symlinks on OS X 10.10 + * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite + but not usable because it doesn't support creating hardlinks + to symlinks. Therefore add a generic test for this capability + and fallback to our emulation if linkat() fails with ENOTSUP. + +2014-11-02 Paul Eggert + + open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno + * doc/posix-functions/open.texi (open): + * doc/posix-functions/openat.texi (openat): + Document that these functions do not set errno to ELOOP when + a symlink is opened with O_NOFOLLOW. + +2014-10-31 Paul Eggert + + obstack: add NEWS entry for recent incompatible changes + * NEWS: Describe recent changes. + +2014-10-30 Pádraig Brady + + mountlist: don't use libmount to decide on dummy/remote + * lib/mountlist.c (read_file_system_list): Don't use the libmount + routines to determine whether a file system is dummy or remote, + as they're not currently compatible. For example the remoteness + is determined on file system type (for which the list seems incomplete), + rather than simply checking for a ':' in the device name. + Also libmount currently determines that 'tmpfs' is a dummy file system + even though it has associated storage. + +2014-10-29 Paul Eggert + + obstack: prefer __alignof__ to alignof + This is for portability to pre-4.7 GCC when compiling glibc. + See Joseph S. Myers in: + http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html + * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]: + New macro, defined by including and using . + (MAX): New macro. + (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these. + Do not use enums as they are not portable to some broken compilers. + * modules/obstack (Depends-on): Depend on alignof, not stdalign. + + obstack: prefer alignof to calculating alignments by hand + * lib/obstack.c: Include . + (struct fooalign): Remove. + (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack. + * modules/obstack (Depends-on): Add stdalign. + +2014-10-28 Paul Eggert + + obstack: use size_t alignments and check for overflow + * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1): + * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk): + * lib/obstack.h (struct obstack.alignment_mask): + Use _OBSTACK_SIZE_T, not int, for alignments. + * lib/obstack.c (_obstack_newchunk): Fail if the size calculation + overflows, e.g., when adding the alignment. + +2014-10-29 Alan Modra + + obstack: 64-bit obstack support, part 3 + This finally enables full 64-bit obstack support. The glibc + shared library specific code is removed from obstack.c too, and + the error handling code conditionally compiled under control of + another macro, _OBSTACK_NO_ERROR_HANDLER. + * lib/obstack.h: Include string.h earlier. + (_OBSTACK_INTERFACE_VERSION): Define. + (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2. + * lib/obstack.c: Don't include shlib-compat.h. + (OBSTACK_INTERFACE_VERSION): Delete. + (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE. Define when version 1 + glibc code is compatible with version 2. Don't include stdio.h for + __GNU_LIBRARY. + (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler): + Omit when _OBSTACK_NO_ERROR_HANDLER defined. Include stdio.h here. + (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete + glibc shared library specific source. + + obstack: 64-bit obstack support, part 2 + This gets us 4G obstack support, without changing ABI + compatibility, apart from possibly introducing some + signed/unsigned comparison warnings in code that uses obstack.h. + a) Replace "int" size parameters, return values, and macro local vars + with _OBSTACK_SIZE_T, an "unsigned int" for now. + b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now. + c) Make all obstack macros checking available room use obstack_room. + "next_free + desired > chunk_limit" may wrap the lhs for chunks + allocated near the top of memory. + d) Use unsigned comparisons, and macro locals to support >2G on 32-bit. + * lib/obstack.h (_OBSTACK_SIZE_T): Define. Use throughout + in place of "int" size parameters, return values and local vars. + (_CHUNK_SIZE_T): Define. + (struct obstack): Make chunk_size a _CHUNK_SIZE_T. Make temp + union use an _OBSTACK_SIZE_T integer type. + For __GNUC__ versions of the following macros... + (obstack_room): Rename local var. + (obstack_make_room): Use obstack_room. + (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow, + obstack_int_grow, obstack_blank): Likewise. + (obstack_finish): Use unsigned comparison when comparing aligned + next_free against chunk_limit. + (obstack_free): Cast OBJ to remove possible const qualifier. + For !__GNUC__ versions of the following macros... + (obstack_make_room): Use obstack_room. + (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow, + obstack_int_grow, obstack_blank): Likewise. + (obstack_finish): Use unsigned comparision when comparing aligned + next_free against chunk_limit. + (obstack_free): Use temp.p and same comparisons as __GNUC__ version. + * lib/obstack.c (_obstack_begin_worker): Make "size" parameter + _OBSTACK_SIZE_T. + (_obstack_begin, _obstack_begin_1): Likewise. + (_obstack_newchunk): Likewise for length parameter. Use size_t locals. + (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local. + + obstack: 64-bit obstack support, part 1 + a) Correct calls to alloc function, to use a size_t arg. "long" is + just wrong on targets like x86_64-mingw64 where "long" is 32 bits + and "size_t" 64 bits. + b) Consolidate _obstack_begin and _obstack_begin1 code. + * lib/obstack.h (struct obstack ): Correct prototype to + use "size_t" rather than "long". + (_obstack_begin, _obstack_begin1): Likewise. + (obstack_init, obstack_begin, obstack_specify_allocation_with_arg, + obstack_chunkfun): Update alloc function casts. + * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast. + (chunkfun_type, freefun_type): New typdefs. + (_obstack_begin_worker): Split out from .. + (_obstack_begin, _obstack_begin_1): ..here. + + obstack: tidy part 2 + a) Don't be concerned about "not polluting the namespace with stddef.h + symbols" in obstack.h, since gnulib string.h includes stddef.h + anyway, and it seems unlikely that anyone would care. + b) Don't roll our own slow memcpy in _obstack_newchunk. + c) Rename obstack_free to _obstack_free. This makes the naming + consistent with other obstack functions and obviates the need for + __obstack_free. Ancient obstack.c defined both obstack_free and + _obstack_free. We continue to do that for _LIBC via an alias. + d) Miscellaneous macro fixes. The expression used to test for gcc-2.8 + is clever, but nowadays gcc warns on undefined macros. You'll get + an undefined macro warning if simulating an old gcc with -U__GNUC__ + -U__GNUC_MINOR__ -D__GNUC__=1. + * lib/obstack.h: Include stddef.h unconditionally. Formatting fixes. + (PTR_INT_TYPE): Delete, replace with ptrdiff_t. + (__obstack_free): Delete, update refs. + (_obstack_free): Rename from obstack_free. + (__extension__): Avoid undefined macro warning for __GNUC_MINOR__. + (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions. + * lib/obstack.c: Don't include stddef.h. + (COPYING_UNIT): Delete. + (_obstack_begin): Formatting fix. + (_obstack_newchunk): Use memcpy to move existing object to new chunk. + (_obstack_free): Rename from __obstack_free, update alias. Move + undef of obstack_free to where it is needed. + + obstack: tidy part 1 + a) Rename temp fields. temp.tempint and temp.tempptr just looks ugly + to me, and result in overlong lines after later patches. + b) Move error handling code, to avoid a forward declaration and to + simplify later patches in this series. + * lib/obstack.h (struct obstack ): Rename fields of union + and update all uses. + * lib/obstack.c: Include stdlib.h earlier. + (obstack_exit_failure, obstack_alloc_failed_handler): Move later + in file. + (print_and_abort): Remove now redundant forward declaration. + +2014-10-24 Paul Eggert + + socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf. + Without this change, in bleeding-edge fileutils Autoconf complains + that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked. + * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB. + * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS. + * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET. + +2014-10-24 Daiki Ueno + + iconv: avoid false detection of non-working iconv + The INBUF arguments of iconv can be either 'const char **' + or 'char **'. If CC is g++, the difference causes a compile error + and thus leads to a false detection of non-working iconv. + Reported by Eli Zaretskii and Werner LEMBERG in: + . + * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of + iconv. Bump serial number. + +2014-10-23 Pádraig Brady + + bootstrap: print more diagnostics for missing programs + * build-aux/bootstrap: only suppress stderr when checking for + alternative program names. This supports programs issuing non + standard error messages. + +2014-10-23 Pádraig Brady + + bootstrap: only update the gnulib submodule + * build-aux/bootstrap: Restrict the "submodule update" command + to the gnulib path. + +2014-10-18 Paul Eggert + + symlinkat: port to AIX 7.1 + * doc/posix-functions/symlinkat.texi (symlinkat): + Mention AIX porting problem. + * lib/symlinkat.c: Always include errno.h. + (rpl_symlinkat) [HAVE_SYMLINKAT]: New function. + * lib/unistd.in.h (symlinkat): Add replacement machinery. + * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT. + * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT. + (configure.ac): Also compile replacement if REPLACE_SYMLINKAT. + * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT. + + readlinkat: port to AIX 7.1 + * doc/posix-functions/readlink.texi (readlink): + * doc/posix-functions/readlinkat.texi (readlinkat): + Mention AIX porting problem. + * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]: + New function. + * lib/unistd.in.h (readlinkat): Add replacement machinery. + * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT. + * modules/readlinkat (configure.ac): Also compile replacement + if REPLACE_READLINKAT. + * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT. + +2014-10-12 Karl Berry + + * doc/posix-functions/dirname.texi: remove spurious {. + +2014-09-28 Ben Pfaff + + basename, dirname: Improve documentation. + * doc/posix-functions/basename.texi: Mention dirname module and + base_name() function. + * doc/posix-functions/dirname.texi: Mention dir_name() and + mdir_name() functions. + Suggested by Werner LEMBERG . + +2014-09-24 Jim Meyering + + exclude: declare exclude_patopts static + * lib/exclude.c (exclude_patopts): Declare static, + to avoid triggering a -Wmissing-prototypes warning. + The alternative (declaring it in the .h file) would + require publicizing the private "struct patopts". + +2014-09-21 Werner Lemberg + + dirname: support compilation with C++ + * lib/dirname.h: Add necessary C linkage declarations. + +2014-09-16 Paul Eggert + + qsort_r: include + Problem reported by Tom G. Christensen in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00071.html + * lib/qsort.c [!_LIBC]: Include first. + +2014-09-16 Dylan Cali + + avltree-list: avoid compiler warnings (trivial) + * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid + -Werror=suggest-attribute=pure. + * lib/gl_array_list.c: Likewise. + * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern + declaration to avoid -Werror=missing-prototypes. This is not added + to a header as only exported for tests. Add (void) to the + check_invariants() call to indicate we're discarding the result + in this context which avoids -Werror=unused-value. Note we don't + use ignore_value here to avoid a dependency as we know we'll not + be adding __attribute__((warn_unused_result)) to check_invariants(). + Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const. + +2014-09-15 Paul Eggert + + qsort_r: new module, for GNU-style qsort_r + * m4/qsort_r.m4: New file. Forgot to add this earlier. + +2014-09-15 Werner LEMBERG + + strerror_r-posix: support compilation with C++ + * lib/strerror_r.c: Add necessary C linkage declarations. + +2014-09-11 Johannes Zarl + + fcntl-h: fix compilation with Intel C++ compiler (trivial) + * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2. + +2014-09-09 Fridolin Pokorny + + mountlist: use /proc/self/mountinfo when available + Use libmount to propagate device IDs provided by Linux in + /proc/self/mountinfo. This will give more accurate output when + using df in chroot'ed environments as the device IDs are not + determined by stat() which may be inaccurate within the chroot. + * lib/mountlist.c (read_file_system_list): Use the libmount routines + from util-linux to parse "/proc/self/mountinfo" or fall back to + standard getmntent() processing. + * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument + getmntent() is used, as is the case on GNU/Linux. + +2014-09-07 Eric Wong + + users.txt: add cmogstored + cmogstored has used gnulib since the beginning in 2012 to support + GNU/Linux, FreeBSD, and GNU/kFreeBSD. + +2014-09-05 Mathieu Anquetin + + Trivial change. + * gnulib-tool: Use same options as build-aux/bootstrap to download + PO files. + +2014-09-05 Mathieu Anquetin + + Trivial change. + * gnulib-tool: Fallback to wget when rsync of PO files fails. + +2014-09-04 Eric Blake -2014-10-17 Yanis Guenane + maintainer-makefile: add syntax check for useless ';;' + * top/maint.mk (sc_prohibit_double_semicolon): New rule. - xml.aug: Allow nmotoken rather than plain word after !DOCTYPE - Currently, the lens only accepts a word after the !DOCTYPE word. +2014-09-04 Paul Eggert - A - valid - Doctype can have the following form : - making the xml - file invalid with the current lens. This commits aims for the lens - to accept nmtoken rather than strict word after the DOCTYPE string. + pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04 + Problem reported by Assaf Gordon in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00023.html + Apparently Ubuntu is doing some fancy link-time optimization + that doesn't work with -lpthread but does work with -pthread. + Work around the bug by preferring -pthread to -lpthread. + * m4/pthread.m4 (gl_PTHREAD_CHECK): + * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): + Treat -pthread like -lpthread. + +2014-09-04 Eric Blake + + error: drop spurious semicolon + * lib/error.c (__error_at_line): Fix ';;'. + +2014-09-02 Paul Eggert + + gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++ + * m4/gnulib-common.m4 (AC_C_RESTRICT): + Override AC_C_RESTRICT unconditionally. + Update from autoconf, incorporating: + 2014-09-02 autoconf: port 'restrict' to GCC 4.2.1 + 2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++. + +2014-09-01 Paul Eggert + + manywarnings: add GCC 4.9 warnings + Also, make it easier to maintain this in the future. + * build-aux/gcc-warning.spec: Add -Wabi-tag, + -Wconditionally-supported, -Wdelete-incomplete, + -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip. + Remove duplicates. Use tabs uniformly, as that's what 'cut' wants. + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time, + -Wopenmp-simd. Use -fdiagnostics-show-option and -funit-at-a-time + only for older GCC versions that need them. Handle + -Wnormalized=nfc specially, so that the 'comm' command used + for maintenance doesn't get confused. + +2014-08-31 Paul Eggert + + vasnprintf: fix bugs in width computation + * lib/vasnprintf.c (VASNPRINTF): + Rework previous change, which introduced a bug, + to avoid the warning in a different way. + Avoid undefined behavior if the width arg is less than -INT_MAX. + Avoid unnecessary use of HAS_WIDTH local. + +2014-08-31 Thien-Thi Nguyen (tiny change) + + vasnprintf: Avoid signed/unsigned comparison warning. + * lib/vasnprintf.c (VASNPRINTF): To calculate padding, + compare end addr of generated string w/ maximum end addr. + +2013-08-30 Mats Erik Andersson (tiny change) + + parse-datetime: Avoid pointer difference. + * lib/parse-datetime.y (yylex): Compare pointer to end of buffer, + instead of calculating difference of pointers. This removes an + annoying warning, devoid of any use. + +2014-08-29 Paul Eggert + + qsort_r: new module, for GNU-style qsort_r + This works even on FreeBSD, which has an incompatible qsort_r API. + * MODULES.html.sh: Add it. + * doc/glibc-functions/qsort_r.texi: It's now supported. + * lib/qsort.c: New file, taken from glibc with minor changes + inside "#ifndef _LIBC" and with an unnecessary "#include " + removed. + * lib/qsort_r.c: New file, compiled only on FreeBSD. + * lib/stdlib.in.h (qsort_r): Declare in the usual way. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): + * modules/qsort_r, modules/qsort_r-tests: New files. + * modules/stdlib (Makefile): Set up its defaults. + * tests/test-qsort_r.c: New file. + +2014-08-08 Paul Eggert + + vla: new module + GNU RCS can use this, mostly for documentation I expect. See: + http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00025.html + * MODULES.html.sh: Add vla. + * lib/vla.h, modules/vla: New files. + +2014-08-07 Daiki Ueno + + localename: make gl_locale_name_thread really thread-safe on Windows + * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include + "glthread/lock.h". + (get_lcid_lock) [WINDOWS_NATIVE]: New variable. + (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID. + +2014-08-07 Paul Eggert + + getpass: don't assume struct termios + Problem report and trivial fix by Jonas 'Sortie' Termansen in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00015.html + * lib/getpass.c (getpass): Port to systems lacking struct termios. + + getdtablesize: fall back on sysconf (_SC_OPEN_MAX) + Problem reported by Jonas 'Sortie' Termansen in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00023.html + * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]: + Implement via sysconf for platforms that lack getdtablesize. + + vararrays: modernize AC_C_VARARRAYS for C11 + This backports a change I recently made to Autoconf. + * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if + VLAs are not supported, as this is what C11 does. The old macro + HAVE_C_VARARRAYS is still defined if they are supported, but is + now obsolescent. Also, check for VLA bug in GCC 3.4.3. + +2014-08-07 Alessandro Degano (tiny change) + + relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1 + * build-aux/install-reloc (func_create_wrapper): Also wrap + strerror-override, stat, stat. + +2014-08-05 Paul Eggert + + sys_select: fix FD_ZERO problem on Solaris 10 + * lib/sys_select.in.h: Fix Solaris 10 bug where "#include + " followed by "#include " caused FD_ZERO + to expand to an expression that invoked memset without necessarily + including . The problem was that the first include + defined _SYS_TIME_H, causing the second include to short-circuit. + Fix a similar problem with followed by . + Also, fix what appears to be a cut-and-paste typo, by replacing + _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with + _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H. + + accept: document Solaris 10 type glitch + * doc/posix-functions/accept.texi (accept): Mention that + Solaris 10 'accept' takes void * last arg, not socklen_t *. + +2014-08-04 Paul Eggert + + extern-inline: port to FreeBSD, DragonFly + * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug + is present if either __DragonFly__ or __FreeBSD__ is defined. + FreeBSD problem reported by Andrey Borzenkov in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html + Also, worry about __APPLE__ only if __MACH__ is also defined, + as this is more consistent with the rest of gnulib. + (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from + _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple. + +2014-08-01 Siddhesh Poyarekar + + regex: Make #if/#ifdef usage consistent for DEBUG + * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead + of the inconsistent usage of #if and #ifdef as that works with + both Glibc and Gnulib's style. + +2014-07-31 Eric Blake + + openat-die: use _Noreturn markup + * modules/openat-die (Depends-on): Add snippet/_Noreturn. + * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark + _Noreturn. + +2014-07-30 Eric Blake + + test-open: port to cygwin, which lacks Fortify + * tests/test-open.h (ALWAYS_INLINE): New macro. + (__always_inline): Don't abuse internal symbol on non-glibc. + +2014-07-19 Eli Zaretskii + + localename: Enforce declarations before statements. + * localename.c (gl_locale_name_thread): Declare 'lcid' before the + first statement. + +2014-07-18 Jim Meyering + + test-userspec: don't look up numeric user names + * tests/test-userspec.c: I found a system for which getpwnam("0") + returned a pointer to a non-root user's entry, and that made the + test fail. + (T): Prefix each numeric input with "+", to inhibit lookup. + +2014-07-15 Eli Zaretskii + + localcharset, localename: MS-Windows support for non-default locales + * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before + falling back on the default system codepage, try extracting + the codepage from what 'setlocale' returns. This allows to + take into account changes of the codeset due to non-default + locale set by a previous call to 'setlocale'. + * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]: + Define if not already defined. + (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions. + (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the + current locale by calling 'setlocale', then converting the + locale name into LCID by calling 'get_lcid'. This allows to + take into account changes in the current locale from the + default one, in contrast to GetThreadLocale. + +2014-07-14 Daiki Ueno + + announce-gen: avoid failure when Digest::SHA is installed + When Digest::SHA is available, Digest::SHA1 is not loaded and thus + Digest::SHA1->new in print_checksums fails. + * build-aux/announce-gen (digest_classes): New associative array + for available message digest implementations. + (print_locations): Use it. + +2014-07-13 Pádraig Brady + + gettext: revert "update macros to version 0.19" + This reverts commit 9b9370ca, as it currently requires that + developers of any project that explicitly uses the gettext module + or implicitly uses it through the utimens-tests or + futimens-tests modules, use gettext >= 0.19. + However there are some stability and availablity issues with + that version at present. We can reinstate this soon, when stability + is addressed and packages are more readily available. + +2014-07-12 Jim Meyering + + regex: don't deref NULL upon heap allocation failure + * lib/regcomp.c (parse_dup_op): Handle duplicate_tree + failure in one more place. + To trigger the segfault, configure grep -with-included-regex, + build it, and run these commands: + ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ ) + I discovered this while replying to a private report from + Jens Schleusener about excessive memory consumption by grep + when using a regular expression like the one above. + +2014-07-11 Paul Eggert + + regex: fix memory leak in compiler + Fix by Andreas Schwab in: + https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html + * lib/regcomp.c (parse_reg_exp): Deallocate partially + constructed tree before returning error. + +2014-07-10 Assaf Gordon + + announce-gen: avoid perl warnings + * build-aux/announce-gen: add two minor checks to avoid + "use of uninitialized value" warnings when command-line parameters are + missing. + +2014-07-10 Assaf Gordon + + localename: avoid -Wsuggest-attribute={const,pure} warnings + * lib/localename.c (string_has): Tag internal function as pure. + * lib/localename.h (gl_locale_name_default): Tag extern declaration + as const when appropriate. + +2014-07-10 Eli Zaretskii + + nl_langinfo: Fix last change. + * lib/nl_langinfo.c (includes): Drop redundant include. + +2014-07-10 Siddhesh Poyarekar + + error: Fix -Wundef warnings in glibc + * lib/error.c [_LIBC]: Define default macros for + glibc. + (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]: + Check _LIBC before STRERROR_R_CHAR_P. + + error: Sync from glibc master + * lib/error.c [_LIBC]: Remove INTUSE usage. + (error_tail): Remove unused macro ALLOCA_LIMIT. + Fix potential buffer overflow. Fix potential NULL dereference + in strcmp. + +2014-07-09 Pavel Hrdina (tiny change) + + nl_langinfo: fix build under mingw + * lib/nl_langinfo.c (includes): Pick up for GetACP(). + +2014-07-09 Andrew D Warshall + + mountlist: do not classify a bind-mounted dir entry as "dummy" + * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with + 1-argument getmntent() (instead of assuming absence). + +2014-07-08 Eric Blake + + maint.mk: less syntax-check noise when SIGPIPE is ignored + * top/maint.mk (_sc_header_without_use) + (sc_require_config_h_first): Parse full list. + +2014-07-07 Eli Zaretskii + Paul Eggert + + nl_langinfo: CODESET on MS-Windows and more items from localeconv + * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING) + (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT) + (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN) + (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES) + (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define. + * lib/nl_langinfo.c: Include and early. + Include if Microsoft Windows. + Include if !REPLACE_NL_LANGINFO. + (ctype_codeset): New function, taken from rpl_nl_langinfo, + and with improvements for Microsoft Windows. + (rpl_nl_langinfo): Use it. + (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise. + Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR, + INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP, + MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS, + INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE, + N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the + corresponding values returned by 'localeconv'. Compute the values + of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling + 'strftime' with a suitable struct tm value. + +2014-07-05 Paul Eggert + + Bruno Haible has stepped down as maintainer. + See Karl Berry in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00004.html + Daiki Ueno has volunteered to maintain libunistring; see: + http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00005.html + * modules/gen-uni-tables, modules/libunistring: + * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8: + * modules/unicase/base, modules/unicase/cased: + * modules/unicase/empty-prefix-context: + * modules/unicase/empty-suffix-context, modules/unicase/ignorable: + * modules/unicase/locale-language, modules/unicase/special-casing: + * modules/unicase/tocasefold, modules/unicase/tolower: + * modules/unicase/totitle, modules/unicase/toupper: + * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll: + * modules/unicase/u16-casefold, modules/unicase/u16-casemap: + * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold: + * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle: + * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased: + * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant: + * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase: + * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context: + * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower: + * modules/unicase/u16-totitle, modules/unicase/u16-toupper: + * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll: + * modules/unicase/u32-casefold, modules/unicase/u32-casemap: + * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold: + * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle: + * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased: + * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant: + * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase: + * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context: + * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower: + * modules/unicase/u32-totitle, modules/unicase/u32-toupper: + * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll: + * modules/unicase/u8-casefold, modules/unicase/u8-casemap: + * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold: + * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle: + * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased: + * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant: + * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase: + * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context: + * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower: + * modules/unicase/u8-totitle, modules/unicase/u8-toupper: + * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll: + * modules/unicase/ulc-casexfrm, modules/unicodeio: + * modules/uniconv/base, modules/uniconv/u16-conv-from-enc: + * modules/uniconv/u16-conv-to-enc: + * modules/uniconv/u16-strconv-from-enc: + * modules/uniconv/u16-strconv-from-locale: + * modules/uniconv/u16-strconv-to-enc: + * modules/uniconv/u16-strconv-to-locale: + * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc: + * modules/uniconv/u32-strconv-from-enc: + * modules/uniconv/u32-strconv-from-locale: + * modules/uniconv/u32-strconv-to-enc: + * modules/uniconv/u32-strconv-to-locale: + * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc: + * modules/uniconv/u8-strconv-from-enc: + * modules/uniconv/u8-strconv-from-locale: + * modules/uniconv/u8-strconv-to-enc: + * modules/uniconv/u8-strconv-to-locale, modules/unictype/base: + * modules/unictype/bidicategory-all: + * modules/unictype/bidicategory-byname: + * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of: + * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all: + * modules/unictype/bidiclass-byname: + * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name: + * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test: + * modules/unictype/block-all, modules/unictype/block-list: + * modules/unictype/block-of, modules/unictype/block-test: + * modules/unictype/category-C, modules/unictype/category-Cc: + * modules/unictype/category-Cf, modules/unictype/category-Cn: + * modules/unictype/category-Co, modules/unictype/category-Cs: + * modules/unictype/category-L, modules/unictype/category-LC: + * modules/unictype/category-Ll, modules/unictype/category-Lm: + * modules/unictype/category-Lo, modules/unictype/category-Lt: + * modules/unictype/category-Lu, modules/unictype/category-M: + * modules/unictype/category-Mc, modules/unictype/category-Me: + * modules/unictype/category-Mn, modules/unictype/category-N: + * modules/unictype/category-Nd, modules/unictype/category-Nl: + * modules/unictype/category-No, modules/unictype/category-P: + * modules/unictype/category-Pc, modules/unictype/category-Pd: + * modules/unictype/category-Pe, modules/unictype/category-Pf: + * modules/unictype/category-Pi, modules/unictype/category-Po: + * modules/unictype/category-Ps, modules/unictype/category-S: + * modules/unictype/category-Sc, modules/unictype/category-Sk: + * modules/unictype/category-Sm, modules/unictype/category-So: + * modules/unictype/category-Z, modules/unictype/category-Zl: + * modules/unictype/category-Zp, modules/unictype/category-Zs: + * modules/unictype/category-all, modules/unictype/category-and: + * modules/unictype/category-and-not, modules/unictype/category-byname: + * modules/unictype/category-longname, modules/unictype/category-name: + * modules/unictype/category-none, modules/unictype/category-of: + * modules/unictype/category-or, modules/unictype/category-test: + * modules/unictype/category-test-withtable: + * modules/unictype/combining-class: + * modules/unictype/combining-class-all: + * modules/unictype/combining-class-byname: + * modules/unictype/combining-class-longname: + * modules/unictype/combining-class-name, modules/unictype/ctype-alnum: + * modules/unictype/ctype-alpha, modules/unictype/ctype-blank: + * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit: + * modules/unictype/ctype-graph, modules/unictype/ctype-lower: + * modules/unictype/ctype-print, modules/unictype/ctype-punct: + * modules/unictype/ctype-space, modules/unictype/ctype-upper: + * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit: + * modules/unictype/digit, modules/unictype/joininggroup-all: + * modules/unictype/joininggroup-byname: + * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of: + * modules/unictype/joiningtype-all: + * modules/unictype/joiningtype-byname: + * modules/unictype/joiningtype-longname: + * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of: + * modules/unictype/mirror, modules/unictype/numeric: + * modules/unictype/property-all, modules/unictype/property-alphabetic: + * modules/unictype/property-ascii-hex-digit: + * modules/unictype/property-bidi-arabic-digit: + * modules/unictype/property-bidi-arabic-right-to-left: + * modules/unictype/property-bidi-block-separator: + * modules/unictype/property-bidi-boundary-neutral: + * modules/unictype/property-bidi-common-separator: + * modules/unictype/property-bidi-control: + * modules/unictype/property-bidi-embedding-or-override: + * modules/unictype/property-bidi-eur-num-separator: + * modules/unictype/property-bidi-eur-num-terminator: + * modules/unictype/property-bidi-european-digit: + * modules/unictype/property-bidi-hebrew-right-to-left: + * modules/unictype/property-bidi-left-to-right: + * modules/unictype/property-bidi-non-spacing-mark: + * modules/unictype/property-bidi-other-neutral: + * modules/unictype/property-bidi-pdf: + * modules/unictype/property-bidi-segment-separator: + * modules/unictype/property-bidi-whitespace: + * modules/unictype/property-byname: + * modules/unictype/property-case-ignorable: + * modules/unictype/property-cased: + * modules/unictype/property-changes-when-casefolded: + * modules/unictype/property-changes-when-casemapped: + * modules/unictype/property-changes-when-lowercased: + * modules/unictype/property-changes-when-titlecased: + * modules/unictype/property-changes-when-uppercased: + * modules/unictype/property-combining: + * modules/unictype/property-composite: + * modules/unictype/property-currency-symbol: + * modules/unictype/property-dash: + * modules/unictype/property-decimal-digit: + * modules/unictype/property-default-ignorable-code-point: + * modules/unictype/property-deprecated: + * modules/unictype/property-diacritic: + * modules/unictype/property-extender: + * modules/unictype/property-format-control: + * modules/unictype/property-grapheme-base: + * modules/unictype/property-grapheme-extend: + * modules/unictype/property-grapheme-link: + * modules/unictype/property-hex-digit: + * modules/unictype/property-hyphen: + * modules/unictype/property-id-continue: + * modules/unictype/property-id-start: + * modules/unictype/property-ideographic: + * modules/unictype/property-ids-binary-operator: + * modules/unictype/property-ids-trinary-operator: + * modules/unictype/property-ignorable-control: + * modules/unictype/property-iso-control: + * modules/unictype/property-join-control: + * modules/unictype/property-left-of-pair: + * modules/unictype/property-line-separator: + * modules/unictype/property-logical-order-exception: + * modules/unictype/property-lowercase, modules/unictype/property-math: + * modules/unictype/property-non-break: + * modules/unictype/property-not-a-character: + * modules/unictype/property-numeric: + * modules/unictype/property-other-alphabetic: + * modules/unictype/property-other-default-ignorable-code-point: + * modules/unictype/property-other-grapheme-extend: + * modules/unictype/property-other-id-continue: + * modules/unictype/property-other-id-start: + * modules/unictype/property-other-lowercase: + * modules/unictype/property-other-math: + * modules/unictype/property-other-uppercase: + * modules/unictype/property-paired-punctuation: + * modules/unictype/property-paragraph-separator: + * modules/unictype/property-pattern-syntax: + * modules/unictype/property-pattern-white-space: + * modules/unictype/property-private-use: + * modules/unictype/property-punctuation: + * modules/unictype/property-quotation-mark: + * modules/unictype/property-radical: + * modules/unictype/property-sentence-terminal: + * modules/unictype/property-soft-dotted: + * modules/unictype/property-space: + * modules/unictype/property-terminal-punctuation: + * modules/unictype/property-test, modules/unictype/property-titlecase: + * modules/unictype/property-unassigned-code-value: + * modules/unictype/property-unified-ideograph: + * modules/unictype/property-uppercase: + * modules/unictype/property-variation-selector: + * modules/unictype/property-white-space: + * modules/unictype/property-xid-continue: + * modules/unictype/property-xid-start: + * modules/unictype/property-zero-width, modules/unictype/scripts: + * modules/unictype/scripts-all, modules/unictype/syntax-c-ident: + * modules/unictype/syntax-c-whitespace: + * modules/unictype/syntax-java-ident: + * modules/unictype/syntax-java-whitespace, modules/unigbrk/base: + * modules/unigbrk/u16-grapheme-breaks: + * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev: + * modules/unigbrk/u32-grapheme-breaks: + * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev: + * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next: + * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop: + * modules/unigbrk/uc-is-grapheme-break: + * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base: + * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks: + * modules/unilbrk/u16-width-linebreaks: + * modules/unilbrk/u32-possible-linebreaks: + * modules/unilbrk/u32-width-linebreaks: + * modules/unilbrk/u8-possible-linebreaks: + * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common: + * modules/unilbrk/ulc-possible-linebreaks: + * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base: + * modules/uniname/uniname, modules/uninorm/base: + * modules/uninorm/canonical-decomposition: + * modules/uninorm/compat-decomposition, modules/uninorm/composition: + * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form: + * modules/uninorm/decomposition, modules/uninorm/decomposition-table: + * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd: + * modules/uninorm/nfkc, modules/uninorm/nfkd: + * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp: + * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm: + * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp: + * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm: + * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp: + * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm: + * modules/unistdio/base, modules/unistdio/u-printf-args: + * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf: + * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf: + * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf: + * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf: + * modules/unistdio/u16-u16-sprintf: + * modules/unistdio/u16-u16-vasnprintf: + * modules/unistdio/u16-u16-vasprintf: + * modules/unistdio/u16-u16-vsnprintf: + * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf: + * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf: + * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf: + * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse: + * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf: + * modules/unistdio/u32-u32-asnprintf: + * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf: + * modules/unistdio/u32-u32-sprintf: + * modules/unistdio/u32-u32-vasnprintf: + * modules/unistdio/u32-u32-vasprintf: + * modules/unistdio/u32-u32-vsnprintf: + * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf: + * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf: + * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf: + * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse: + * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf: + * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf: + * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf: + * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf: + * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf: + * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf: + * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf: + * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf: + * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse: + * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf: + * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf: + * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf: + * modules/unistdio/ulc-vsprintf, modules/unistr/base: + * modules/unistr/u16-check, modules/unistr/u16-chr: + * modules/unistr/u16-cmp, modules/unistr/u16-cmp2: + * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc: + * modules/unistr/u16-endswith, modules/unistr/u16-mblen: + * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc: + * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr: + * modules/unistr/u16-move, modules/unistr/u16-next: + * modules/unistr/u16-prev, modules/unistr/u16-set: + * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy: + * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat: + * modules/unistr/u16-strchr, modules/unistr/u16-strcmp: + * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy: + * modules/unistr/u16-strcspn, modules/unistr/u16-strdup: + * modules/unistr/u16-strlen, modules/unistr/u16-strmblen: + * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat: + * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy: + * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk: + * modules/unistr/u16-strrchr, modules/unistr/u16-strspn: + * modules/unistr/u16-strstr, modules/unistr/u16-strtok: + * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8: + * modules/unistr/u16-uctomb, modules/unistr/u32-check: + * modules/unistr/u32-chr, modules/unistr/u32-cmp: + * modules/unistr/u32-cmp2, modules/unistr/u32-cpy: + * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith: + * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen: + * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe: + * modules/unistr/u32-mbtoucr, modules/unistr/u32-move: + * modules/unistr/u32-next, modules/unistr/u32-prev: + * modules/unistr/u32-set, modules/unistr/u32-startswith: + * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy: + * modules/unistr/u32-strcat, modules/unistr/u32-strchr: + * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll: + * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn: + * modules/unistr/u32-strdup, modules/unistr/u32-strlen: + * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc: + * modules/unistr/u32-strncat, modules/unistr/u32-strncmp: + * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen: + * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr: + * modules/unistr/u32-strspn, modules/unistr/u32-strstr: + * modules/unistr/u32-strtok, modules/unistr/u32-to-u16: + * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb: + * modules/unistr/u8-check, modules/unistr/u8-chr: + * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy: + * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith: + * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen: + * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe: + * modules/unistr/u8-mbtoucr, modules/unistr/u8-move: + * modules/unistr/u8-next, modules/unistr/u8-prev: + * modules/unistr/u8-set, modules/unistr/u8-startswith: + * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy: + * modules/unistr/u8-strcat, modules/unistr/u8-strchr: + * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll: + * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn: + * modules/unistr/u8-strdup, modules/unistr/u8-strlen: + * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc: + * modules/unistr/u8-strncat, modules/unistr/u8-strncmp: + * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen: + * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr: + * modules/unistr/u8-strspn, modules/unistr/u8-strstr: + * modules/unistr/u8-strtok, modules/unistr/u8-to-u16: + * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes: + * modules/uniwbrk/base, modules/uniwbrk/table: + * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks: + * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks: + * modules/uniwbrk/wordbreak-property, modules/uniwidth/base: + * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width: + * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width: + * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width: + * modules/uniwidth/width, modules/utf16-ucs4: + * modules/utf16-ucs4-unsafe, modules/utf8-ucs4: + * modules/utf8-ucs4-unsafe: + Change maintainer from Bruno Haible to Daiki Ueno. + This is my guess at the libunistring modules; please feel free + to fix if I guessed incorrectly. + * modules/accept4, modules/acl, modules/acos, modules/acosf: + * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt: + * modules/areadlink, modules/array-list, modules/array-mergesort: + * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm: + * modules/atan, modules/atan2, modules/atan2f, modules/atanf: + * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list: + * modules/binary-io, modules/bison-i18n, modules/btowc: + * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq: + * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix: + * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list: + * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee: + * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee: + * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee: + * modules/chdir, modules/classpath, modules/clean-temp, modules/close: + * modules/closedir, modules/concat-filename, modules/copy-file: + * modules/copysign, modules/copysignf, modules/copysignl, modules/cos: + * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp: + * modules/csharpcomp-script, modules/csharpexec: + * modules/csharpexec-script, modules/ctype, modules/diffseq: + * modules/dprintf, modules/dprintf-posix, modules/dup: + * modules/dup2-obsolete, modules/dup3, modules/duplocale: + * modules/eealloc, modules/environ, modules/erf, modules/erfc: + * modules/errno, modules/execute, modules/exp, modules/exp-ieee: + * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee: + * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee: + * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee: + * modules/expm1f, modules/expm1f-ieee, modules/expm1l: + * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf: + * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee: + * modules/fatal-signal, modules/fbufmode, modules/fchdir: + * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename: + * modules/findprog, modules/findprog-lgpl, modules/floor: + * modules/floor-ieee, modules/floorf, modules/floorf-ieee: + * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee: + * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee: + * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee: + * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee: + * modules/fprintf-posix, modules/fpucw, modules/fpurge: + * modules/freadable, modules/freadahead, modules/freadptr: + * modules/freadseek, modules/freopen, modules/frexp: + * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf: + * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee: + * modules/frexpl-nolibm, modules/fseek, modules/fseeko: + * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell: + * modules/ftello, modules/full-read, modules/full-write: + * modules/fwritable, modules/fwriteerror, modules/gcd: + * modules/get-rusage-as, modules/get-rusage-data: + * modules/getdtablesize, modules/getrusage, modules/gettext: + * modules/gettext-h, modules/git-merge-changelog, modules/gperf: + * modules/grantpt, modules/havelib, modules/host-cpu-c-abi: + * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf: + * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee: + * modules/iconv, modules/iconv-h, modules/iconv_open: + * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp: + * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs: + * modules/imaxdiv, modules/integer_length, modules/integer_length_l: + * modules/integer_length_ll, modules/ioctl, modules/isatty: + * modules/isblank, modules/isnand, modules/isnand-nolibm: + * modules/isnanf, modules/isnanf-nolibm, modules/isnanl: + * modules/isnanl-nolibm, modules/iswblank, modules/iswctype: + * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script: + * modules/javaexec, modules/javaexec-script, modules/javaversion: + * modules/jn, modules/langinfo, modules/ldd, modules/ldexp: + * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee: + * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma: + * modules/lib-symbol-visibility, modules/libsigsegv: + * modules/linked-list, modules/linkedhash-list, modules/list: + * modules/localcharset, modules/locale, modules/localeconv: + * modules/localename, modules/lock, modules/log, modules/log-ieee: + * modules/log10, modules/log10-ieee, modules/log10f: + * modules/log10f-ieee, modules/log10l, modules/log10l-ieee: + * modules/log1p, modules/log1p-ieee, modules/log1pf: + * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee: + * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee: + * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee: + * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee: + * modules/logf, modules/logf-ieee, modules/login_tty: + * modules/logl-ieee, modules/malloc-posix, modules/malloca: + * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp: + * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc: + * modules/mbscasecmp, modules/mbscasestr, modules/mbschr: + * modules/mbscspn, modules/mbsinit, modules/mbslen: + * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs: + * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr: + * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr: + * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter: + * modules/memchr-obsolete, modules/memcmp2, modules/minmax: + * modules/mkdtemp, modules/mkostemp, modules/mktime-internal: + * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee: + * modules/modfl, modules/modfl-ieee, modules/msvc-inval: + * modules/msvc-nothrow, modules/multiarch, modules/nextafter: + * modules/nl_langinfo, modules/no-c++, modules/nocrash: + * modules/nonblocking, modules/open, modules/opendir, modules/openmp: + * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi: + * modules/pipe-filter-ii, modules/pipe2, modules/poll-h: + * modules/posix_spawn, modules/posix_spawn-internal: + * modules/posix_spawn_file_actions_addclose: + * modules/posix_spawn_file_actions_adddup2: + * modules/posix_spawn_file_actions_addopen: + * modules/posix_spawn_file_actions_destroy: + * modules/posix_spawn_file_actions_init: + * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags: + * modules/posix_spawnattr_getpgroup: + * modules/posix_spawnattr_getschedparam: + * modules/posix_spawnattr_getschedpolicy: + * modules/posix_spawnattr_getsigdefault: + * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init: + * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup: + * modules/posix_spawnattr_setschedparam: + * modules/posix_spawnattr_setschedpolicy: + * modules/posix_spawnattr_setsigdefault: + * modules/posix_spawnattr_setsigmask, modules/posix_spawnp: + * modules/pow, modules/powf, modules/printf-frexp: + * modules/printf-frexpl, modules/printf-posix, modules/printf-safe: + * modules/progname, modules/propername, modules/pselect: + * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r: + * modules/qacl, modules/quotearg-simple, modules/raise, modules/random: + * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list: + * modules/read, modules/readdir, modules/readlink: + * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib: + * modules/relocatable-lib-lgpl, modules/relocatable-perl: + * modules/relocatable-prog, modules/relocatable-prog-wrapper: + * modules/relocatable-script, modules/remainder: + * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee: + * modules/remainderl, modules/remainderl-ieee, modules/rewinddir: + * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee: + * modules/rintl, modules/rintl-ieee, modules/round-ieee: + * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read: + * modules/safe-write, modules/sched, modules/servent, modules/setenv: + * modules/setlocale, modules/sh-quote, modules/shutdown: + * modules/signal, modules/signbit, modules/sigpipe: + * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf: + * modules/sinh, modules/sinhf, modules/size_max, modules/sleep: + * modules/snippet/arg-nonnull, modules/snippet/c++defs: + * modules/snippet/link-warning, modules/snippet/unused-parameter: + * modules/snprintf, modules/snprintf-posix, modules/spawn: + * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt: + * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee: + * modules/sqrtl-ieee, modules/stdalign, modules/stdarg: + * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase: + * modules/strcasestr, modules/strcasestr-simple, modules/strcspn: + * modules/streq, modules/strerror_r-posix, modules/striconv: + * modules/striconveh, modules/striconveha, modules/strncat: + * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete: + * modules/sublist, modules/sys_resource, modules/sys_utsname: + * modules/sys_wait, modules/system-posix, modules/system-quote: + * modules/tan, modules/tanf, modules/tanh, modules/tanhf: + * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls: + * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee: + * modules/truncf, modules/truncf-ieee, modules/truncl: + * modules/truncl-ieee, modules/ttyname_r, modules/uname: + * modules/unlockpt, modules/unsetenv, modules/vasnprintf: + * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix: + * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix: + * modules/vfscanf, modules/vma-iter, modules/vprintf-posix: + * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix: + * modules/wait-process, modules/waitpid, modules/wcpcpy: + * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat: + * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy: + * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp: + * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen: + * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr: + * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok: + * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb: + * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr: + * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset: + * modules/write, modules/xconcat-filename, modules/xlist: + * modules/xmalloca, modules/xoset, modules/xprintf-posix: + * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv: + * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix: + * modules/y0, modules/y1, modules/yn: + Remove Bruno Haible as maintainer; if he's the sole maintainer, + change the maintainer to 'all'. Let's hope someone volunteers. + +2014-06-27 Paul Eggert + + mktime: merge #if/#ifdef usage from glibc + * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG", + as that works with both Glibc's and Gnulib's style. + See thread starting at Siddhesh Poyarekar's bug report at: + http://lists.gnu.org/archive/html/bug-gnulib/2014-06/msg00102.html + +2014-06-20 Alfred M. Szmidt + + git-version-gen: improve option descriptions + * build-aux/git-version-gen: Mention that --prefix and --fallback + have a mandatory argument. + +2014-06-19 Paul Eggert + + regex: fix memory leak in compiler + Fix by Andreas Schwab in: + https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html + * lib/regcomp.c (parse_expression): Deallocate partially + constructed tree before returning error. + + regex: merge patch from libc + 2014-02-12 Joseph Myers + Combine __USE_BSD and __USE_SVID into __USE_MISC. + * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC]. + +2014-06-17 Paul Eggert + + acl: port to gcc -Wredundant-decls + From a request by Dmitry Antipov in: + http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00263.html + * lib/acl.h (_GL_ACL_H): New macro. Protect entire contents with + "#ifndef _GL_ACL_H". + +2014-06-11 Bruce Korb + Jim Meyering + + parse-duration: eliminate 68-year duration limit + * lib/parse-duration.c: Include "intprops.h". + (TIME_MAX): Rename to MAX_DURATION and define to + TYPE_MAXIMUM(time_t). + * modules/parse-duration (Depends-on): Add intprops. + Reported by Jonas 'Sortie' Termansen. + +2014-06-14 Paul Eggert + + pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc. + * modules/pthread (Depends-on): Add 'extensions', as it defines + _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris. + (configure.ac-early): New section. + * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as + it is no longer needed. + +2014-06-14 Pádraig Brady + + pthread: define thread-safe macros on some platforms + * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed + for thread-safe operation on some platforms. + +2014-06-13 Paul Eggert + + regex: don't be multithreaded if USE_UNLOCKED_IO. + Problem reported by Michael Felt in: http://bugs.gnu.org/17773 + * lib/regex_internal.h: Do not use multithreaded version if + USE_UNLOCKED_IO is defined. This is a hack, but it works + around a porting bug with coreutils 8.22 on AIX 7.1. + +2014-06-11 Daiki Ueno + + gettext: update macros to version 0.19 + * m4/intl.m4, m4/po.m4: Update from gettext-0.19. In particular, + depend on gl_EXTERN_INLINE and drop support for older Bison + versions. + +2014-06-10 Pádraig Brady + + select,poll: fix console handle check on windows 8 + lib/poll.c (IsConsoleHandle): Change from testing the lower + 2 bits of the handle to the more expensive but accurate syscall. + lib/select.c: Likewise. + +2014-06-10 Eli Zaretskii + + select: fix waiting on anonymous pipes on MS-Windows + * lib/select.c (rpl_select): Fall back to polling when select() + indicates there is nothing to check, while due to the timeout not + expiring, activity is indicated on one of the handles. + Also clear the TIMEOUT argument if the timer does expire. + +2014-06-10 Eli Zaretskii + + times: fix to return non constant value on MS-Windows + * lib/times.c (times): Don't use the process creation time, + rather clock() which on windows returns the number of + clock ticks since the process started. -2014-10-17 fonfon +2014-06-09 Michael Goffioul - Pagekite: new lens and tests + isatty: fix to work on windows 8 + * lib/isatty.c (IsConsoleHandle): Change from testing the lower + 2 bits of the handle to the more expensive but accurate syscall. -2014-09-23 Dominic Cleal +2014-06-07 Paul Eggert - Iptables: parse /etc/sysconfig/iptables.save - Fixes RHBZ#1144651 + maint: fix typo in fdl.texi + * doc/fdl.texi: Fix typo (missing '@'). + Somehow this was in fdl.texi but not fdl-1.3.texi. -2014-09-23 Pino Toscano +2014-06-06 Ben Walton + + mountlist: avoid hasmntopt const type warning on solaris + * lib/mountlist.c: Solaris defines the OPT param of hasmntopt() + with char * instead of const char *. Passing the constant string + "ignore" generates a compiler warning. For Solaris cast MNT_IGNORE + to avoid the warning. + +2014-06-04 Eric Blake + + maintainer-makefile: delete obsolete code + * top/maint.mk (build_aux): Drop old code, as threatened. - LVM: handle also /etc/lvm/lvm.conf - The syntax should be the same, so use the lvm lens also for the main - lvm2 configuration file. + maintainer-makefile: avoid spurious error messages + * top/maint.mk (syntax-check): Guard definition and use of + $(shell) by whether Makefile is present. - LVM: support negative numbers - Use Rx.relinteger instead of Rx.integer so negative numbers as values - can be read. +2014-06-03 Ben Walton + + rename: avoid unused-but-set-variable compiler warning + * lib/rename.c (rpl_rename): In the non-Win32 variant of rpl_rename, + it is possible that dst_exists may be set but not used. Mark it with + the unused attribute to avoid compiler warnings. + +2014-06-02 Ben Walton + + rename: mark a label as potentially unused + * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris, + by marking the out label as potentially unused. + * m4/gnulib-common.m4: Mention the need for the trailing ; for C++. + +2014-06-01 Paul Eggert -2014-09-18 Dominic Cleal + gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL. + * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon. - Systemd: parse environment variables where only value is quoted - Fixes regression introduced in 5226ae7, which added support to parse fully - quoted "NAME=value" environment vars. To support both, this commit stores - the quotes in the value if it's only the value quoted. +2014-06-02 Ben Walton + + acl: apply pure attribute to two functions + * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): + Mark as "pure" as flagged by gcc 4.9 on Solaris 10. + +2014-06-01 Pádraig Brady + + gnulib-common.m4: add _GL_UNUSED_LABEL + * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to + _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax. + +2014-05-31 Paul Eggert + + dup2, fcntl, fcntl-h: port to AIX 7.1 + This fixes some porting problems discovered when testing the latest + grep snapshot on AIX 7.1. I don't think if fixes any bugs + in grep but it could be important for other applications. + * doc/posix-functions/dup2.texi: + * doc/posix-functions/fcntl.texi: + * doc/posix-headers/fcntl.texi: + Document AIX bugs. + * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]: + Define to 0 if outside 'int' range. + * m4/dup2.m4 (gl_FUNC_DUP2): + * m4/fcntl.m4 (gl_FUNC_FCNTL): + Check for getdtablesize. If it's available, test a value just + outside its range instead of testing 1000000. When cross-compiling, + guess that AIX will fail this improved test. + +2014-05-30 Paul Eggert + + printf, config.rpath: Port to FreeBSD 10. + Problem reported by Tijl Coosemans in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-05/msg00078.html + * build-aux/config.rpath (hardcode_libdir_flag_spec) + (hardcode_direct): Simplify FreeBSD configuration. + (library_names_spec): Don't mishandle FreeBSD 10+. + * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE) + (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F) + (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99) + (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99): + Don't mishandle FreeBSD 10+ when cross-compiling. + + ftoastr: work around compiler bug in IBM xlc 12.1 + * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND) + (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work + around a compiler bug in IBM xlc 12.1.0.0: it complains + '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier + _GL_FLT_PREC_BOUND.' + +2014-05-30 Kieran Colford + + valgrind-tests: fixed misleading help message + * m4/valgrind-tests.m4: The help message generated by configure + implied that valgrind was disabled by default, which it wasn't. + Adjusted the help message using s/enable/disable/ to clarify. + +2014-05-30 Ulrich Weigand + + isfinite, isinf, isnan tests: fix for little-endian PowerPC + * tests/test-isfinite.c (test_isfinitel): Only manipulate the + first double of a PowerPC "double double" pair. + * tests/test-isinf.c (test_isinfl): Likewise. + * tests/test-isnan.c (test_long_double): Likewise. + * tests/test-isnanl.h (main): Likewise. + * tests/test-signbit.c (test_signbitl): Likewise. + +2014-05-29 Paul Eggert + + exclude-tests: port to AIX 7.1 + * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD). + Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because + the regex code uses locks. + +2014-05-28 Paul Eggert + + pthread_sigmask, timer-time: use gl_THREADLIB only if needed + Without this fix, Emacs would sometimes call sigprocmask instead + of pthread_sigmask, which is a no-no in multithreaded applications. + Problem reported by Jorgen Schaefer in . + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): + Suppress check for pthread_sigmask working without -lpthread if + the application always links with -lpthread. Do not link with + $LIBMULTITHREAD if gl_THREADLIB is not defined. + * m4/timer_time.m4 (gl_TIMER_TIME): + Require gl_THREADLIB only if it is defined. Do not append + $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined. + +2014-05-27 Sylvain Beucler . + + gnulib-tool: wget translations using --no-verbose rather than --quiet + This allows the user to see error messages if any (--quiet hides them) + * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet. + +2014-05-27 Sylvain Beucler + + gnulib-tool: adjust translation wget to avoid a https redirection + Context: http://translationproject.org/latest/gnulib redirects to + https://translationproject.org/latest/gnulib/ + Rationale: if the user falls back to wget, she doesn't have rsync and + is probably in a minimal build environment, where packages such as + 'ca-certificates' are missing as well, resulting in a failed (and + difficult to detect since ignored) translation initial fetch. + Consequently let's avoid https if possible, and add the missing + trailing slash. This also avoids an unnecessary 302 redirection. + * gnulib-tool: Add trailing slash to gnulib URL. + +2014-05-22 Pádraig Brady + + getlogin_r-tests: check return value rather than errno + * tests/test-getlogin_r.c (main): As per POSIX we should be + verifying the return value from getlogin_r() rather than errno. + +2014-05-22 Pádraig Brady + + getlogin_r-tests: fix various issues in recent change + * tests/test-getlogin_r.c: Include required headers that were + missed in recent commit eec20b4e. + Also consistently check the errno rather than the return value from + getlogin_r as POSIX only specifies that non zero is returned on error. + * modules/getlogin_r-tests (configure.ac): Add the check for ttyname(). + +2014-05-21 Paul Eggert + + fchdir: port 'open' and 'close' redefinitions to AIX 7.1 + * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c: + * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c: + * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c: + * lib/spawn-pipe.c: + Do not #undef 'open' and 'close'. AIX 7 does '#define open open64' + and then 'int open64(const char *, int, ...);', which means the + declaration for 'open' gets lost if we later '#undef open'. + Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1, + where the compilation reported the non-fatal error "In function + 'openat_proc_name' ... warning: implicit declaration of function + 'open'". In this case the error is relatively harmless, but in + other cases it might not be so minor. + +2014-05-20 Paul Eggert + + xalloc: don't potentially generate invalid code for xmemdup calls + * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as + this function can initialize the newly-allocated storage with new + pointers, which means this function is not malloc-like. See: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955 + +2014-05-19 Pádraig Brady + + getlogin_r-tests: avoid false failure under sudo/ssh etc. + * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c + changes from commit 97249cf29 to not depend on environment variables. + +2014-05-18 Pádraig Brady + + getlogin-tests: avoid false failure under cron + * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname() + since that's not what's under test. Centos 6 was seen to return + EINVAL for ttyname() when run from cron. + +2014-05-16 Jim Meyering + + mbrtowc.m4: fix a comment typo + * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in + emitted documentation string. + +2014-05-16 Paul Eggert + + mbrlen, mbrtowc: fix bug with empty input + * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug. + * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro. It's not used, + so this is mainly for documentation. + * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro. + (gl_FUNC_MBRTOWC): Use it. + * tests/test-mbrtowc.c (main): Test for the bug. + +2014-05-15 Paul Eggert + + doc: document mbrtowc and mbrlen problem with empty input + * doc/posix-functions/mbrlen.texi (mbrlen): + * doc/posix-functions/mbrtowc.texi (mbrtowc): + Document portability problem when the input string is empty. See: + https://sourceware.org/bugzilla/show_bug.cgi?id=16950 + + doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms + Problem reported by Eli Zaretskii in: + http://lists.gnu.org/archive/html/bug-grep/2014-05/msg00118.html + * doc/posix-functions/execl.texi (execl): + * doc/posix-functions/execle.texi (execle): + * doc/posix-functions/execlp.texi (execlp): + * doc/posix-functions/execv.texi (execv): + * doc/posix-functions/execve.texi (execve): + * doc/posix-functions/execvp.texi (execvp): + Mention spawn+exit problem on non-Cygwin Windows platforms. + +2014-05-14 Guilherme de Almeida Suckevicz + + getlogin-tests: avoid false failure under sudo/ssh etc. + * modules/getlogin-tests (configure.ac): Check for ttyname(). + * tests/test-getlogin.c (main): Don't depend on environment variables + to correlate with getlogin(), since sudo and ssh etc. can tamper + with the LOGNAME and USER env vars. Instead lookup the name from + the uid associated with the stdin tty. + +2014-05-11 Paul Eggert + + mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc + These were found when building the latest grep snapshot on IRIX 6.5. + * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into + "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is + never used later. + * lib/quotearg.c (quoting_options_from_style): + * lib/xstrtol.c (__xstrtol): + Use enum instead of 0, to pacify IRIX 6.5 cc. + +2014-04-18 Pádraig Brady + + gitlog-to-changelog: revert inclusion of git-log-fix file + * build-aux/git-log-fix: Delete dummy file. + * modules/gitlog-to-changelog: Don't reference (overwrite) + the project specific git-log-fix file. + +2014-04-18 Assaf Gordon + + maint.mk: Relax the copyright check to cater for non FSF projects + * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi + to not require the "Free" suffix after the copyright years. + +2014-04-18 Natanael Copa + + physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable + * lib/physmem.c (physmem_total): Some systems like musl libc don't yet + support _SC_PHYS_PAGES. Use the linux syscall sysinfo as fallback + if _SC_PHYS_PAGES or _SC_PAGESIZE fails. + (physmem_available): Likewise for _SC_AVPHYS_PAGES. + +2014-04-18 Paul Eggert + + exclude: port to strict C99 + Strict C does not allow converting a function pointer to void * + and vice versa. Pass a pointer to a function pointer instead. + * lib/exclude.c (add_exclude_file): + Pass the address of the function pointer. + (call_addfn): And deference the address here, to match. + +2014-04-17 Paul Eggert + + regex: do not depend on malloc-gnu + * modules/regex (Depends-on): Remove malloc-gnu. + It's no longer needed, because of the 2012-12-29 patch + "regex: port to hosts where malloc (0) == NULL". + Reported by Nathan Kennedy in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-04/msg00026.html + +2014-04-16 Assaf Gordon + + expl: avoid incorrect expl(small_value) on OpenBSD 5.4 + * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition. + * doc/posix-functions/expl.texi: Mention the workaround. + +2014-04-12 Paul Eggert + + xalloc: allow x2nrealloc (P, PN, S) where P && !*PN + * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current + size to be zero even when the pointer is nonnull. This + accommodates the use case where P is malloc (0) and *PN is 0 on a + host where malloc (0) yields nonnull. + +2014-04-09 Eric Blake + + fts: avoid unnecessary strlen calls + * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed. + +2014-04-09 Paul Eggert + + fts: avoid unnecessary strlen calls + * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN + when that can be faster than strlen. + +2014-03-26 Bernhard Voelker + + fts: avoid unnecessary strlen calls + * lib/fts.c (_D_EXACT_NAMLEN): Remove macro. + (fts_build): Store the length of the dp->d_name entry in a local variable + instead of calling strlen() several times via the above, removed macro. + For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the + run by ~4%, yet this reduces the execution time by about a third if run + via "ltrace -c rm -rf some-dir". + +2014-03-27 Paul Eggert + + obstack: Remove ancient NeXTSTEP gcc support conditional + This change will ease merging with glibc. The "#if ... __NEXT__" + causes a warning with -Wundef which glibc now enables by default. + Problem reported by Will Newton in + . + glibc now uses __extension__ for GCC 2.8 or later, + so go with that. + * lib/obstack.h (__extension__): + +2014-03-27 Paul Eggert + + obstack: merge with glibc changes + * lib/obstack.c, lib/obstack.h: Merge from glibc. + This is mostly indenting and commentary changes. + Instances of 'register' have been removed. + +2014-03-26 Bernhard Voelker + + strftime: wrap macros in "do {...} while(0)" + * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of + this macro in "do {...} while(0)" to prevent false use as a + single statement, e.g., in an un-braced "{}" else-block. + (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise. + (strftime_case_): Remove 'else' after 'goto' - which was the + only non-fatal, un-braced use of one of the above macros. + Spotted by coverity (NESTING_INDENT_MISMATCH). + +2014-03-26 Bernhard Voelker + + modechange: avoid memory leaks for invalid octal modes + * lib/modechange.c (mode_compile): During the parsing of + notations like +40, free the 'mc' buffer for invalid mode + strings like +17777 (greater than the maximum octal mode), + =18 (bad octal mode characters) or u=1 ('affected' with + octal modes). + Reproducer, e.g.: + $ valgrind --leak-check=full chmod +17777 file + Introduced via the 2012-03-09 commit, 4730c3e3, "modechange: + add notations +40, 00440, etc.". + Spotted by coverity (RESOURCE_LEAK). + +2014-03-24 Paul Eggert + + gitlog-to-changelog: include a dummy git-log-fix file + Problem reported by Nathan Stratton Treadway in: + http://lists.gnu.org/archive/html/bug-tar/2014-03/msg00082.html + * build-aux/git-log-fix: New file. + +2014-03-13 Jim Meyering + + gitlog-to-changelog: also include the file, git-log-fix + * modules/gitlog-to-changelog (Files): Add git-log-fix. + Reported by Assaf Gordon. + +2014-03-06 Paul Eggert + + regex: port to OS X 10.8.5 en_US.UTF-8 locale + This fixes a bug when ignoring case and when comparing the + titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL + LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN + CAPITAL LETTER LJ). In the OS X 10.8.5 en_US.UTF-8 locale, the + titlecase letter is neither lowercase nor uppercase, but + uppercasing the titlecase letter (via towupper) yields the + uppercase letter, so the two letters should match when ignoring case. + Problem reported by Jim Meyering in . + * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer): + Don't test whether a character is lowercase before uppercasing it. + +2014-03-04 Kevin Cernekee + + stdint, read-file: fix missing SIZE_MAX on Android (tiny change) + This is basically one of the options Bruno Haible proposed in: + http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00282.html + * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro. + * lib/stdint.in.h: Use it. + * modules/stdint (Depends-on): Add sys_types. + +2014-02-26 Pádraig Brady + + parse-datetime: fix crash or infloop in TZ="" parsing + * lib/parse-datetime.y (parse_datetime): Break out of the + TZ="" parsing loop once the second significant " is found. + Also skip over any subsequent whitespace to be consistent + with the non TZ= case. + * tests/test-parse-datetime.c: Add test cases for TZ="" parsing. + +2014-02-26 Paul Eggert + + savedir: new symbol for fast-read version + * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs + like GNU cp that want to use SAVEDIR_SORT_INODE if available, + SAVEDIR_SORT_NONE otherwise. Problem reported by Bernhard Voelker in: + http://lists.gnu.org/archive/html/coreutils/2014-02/msg00037.html + +2014-02-25 Paul Eggert + + unistd: port readlink to Mac OS X 10.3.9 + * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work + around self-include problem in Mac OS X 10.3.9 when combined with + readlink module. Problem reported by Klaus Zietler in + . + +2014-02-23 Paul Eggert + + diffseq: remove TOO_EXPENSIVE heuristic + Problem with diffutils reported by Vincent Lefevre in + . The simplest solution is to remove + the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993. + Although appropriate for circa-1993 hardware, these days the heuristic + seems to be more trouble than it's worth. + * lib/diffseq.h: Modernize citations. + (struct context): Remove member too_expensive. + All uses changed. + (struct partition): Remove members lo_minimal, hi_minimal. + All uses changed. + (diag, compareseq): Remove arg find_minimal. All uses changed. + (diag): Remove the TOO_EXPENSIVE heuristic that I added back in + 1993 to make 'diff' run faster (but not as well) on large inputs. + These days, computers are fast enough that it's typically better + to run slower but more accurately. + * lib/fstrcmp.c: Remove duplicate comment. + * lib/fstrcmp.c (strcmp_bounded): + * lib/git-merge-changelog.c (compute_differences): + Adjust to diffseq.h changes. + * NEWS: Document the change. + + savedir: simplify by using stpcpy + * lib/savedir.c (direntry_t): Remove size member. All uses removed. + (streamsavedir): Use stpcpy instead. + * modules/savedir (Depends-on): Add stpcpy. + +2014-02-21 Pádraig Brady + + spawn: fix link error on uclibc + * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS, + to incorporate -lrt if needed (on uclibc for example). + * modules/posix_spawn: Reference the substituted LIB. + +2014-02-21 Thomas Petazzoni (tiny change) + timer: fix uClibc detection of threading + * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are + enabled in uClibc. + +2014-02-21 Eric Blake + + maintainer-makefiles: provide AC_PROG_SED for older autoconf + * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf. + +2014-02-21 Sergey Poznyakoff + + exclude: add support for posix regexps + + This commit adds support for POSIX extended regular expressions + and fixes a long-standing memory leak (pattern buffer was never + freed). It also implements a new interface function to read + exclude patterns from a FILE, which passes an additional parameter + to its callback function, thereby allowing to preserve its state + between invocations. + + * lib/exclude.c (struct patopts): Pack regex and pattern into union. + (pattern_buffer): New struct. + (exclude): New member patbuf. + (exclude_add_pattern_buffer): New function. + (free_exclude_segment): Free regexps. + (free_exclude): Free allocated pattern buffers. + (exclude_patopts): New function. + (file_pattern_matches): Use exclude_patopts. + (add_exclude): support regexps. + (add_exclude_fp): New function. + (add_exclude_file): Rewrite using add_exclude_fp. + (fnmatch_pattern_has_wildcards): Support posix extended regexps. + * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags. + (add_exclude_fp) + (add_exclude_file): Rewrite using add_exclude_fp. + (fnmatch_pattern_has_wildcards): Support posix extended regexps. + * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags. + (add_exclude_fp) + (exclude_add_pattern_buffer): New prototypes. + * modules/exclude: Depends on regex and filename. + +2014-02-20 Eric Blake + + maintainer-makefiles: use $(SED) for syntax check + * modules/maintainer-makefile (configure.ac): Check for sane sed. + * top/maint.mk: Change sed to $(SED). + +2014-02-11 Sergey Poznyakoff + Paul Eggert + + savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir + Patch based on an idea by Dick Streefland in + . + * NEWS: Document this. + * lib/savedir.c (NAME_SIZE_DEFAULT): Remove. + (direntry_t, comparison_function): New types. + (direntry_cmp_name): New function. + (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function. + (streamsavedir, savedir): New arg OPTION. + (streamsavedir): Simplify memory allocation. + (fdsavedir): Remove. + * lib/savedir.h (enum savedir_option): New type. + (streamsavedir, savedir): New arg OPTION. + (fdsavedir): Remove. + +2014-02-05 Paul Eggert + + file-type: add support for doors and other less-common file types + Problem with S_ISDOOR reported by Rich Burridge. + * lib/file-type.c (file_type): Do S_ISLNK early too. Do S_TYPEIS* + macros before the rest. Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC, + S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT. + +2014-01-23 Eric Blake + + pthread: work around winpthread header pollution on mingw + * lib/time.in.h: Move pthread workarounds... + * lib/pthread.in.h: ...here. + * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we + detect macro pollution on mingw. + * doc/posix-headers/pthread.texi (pthread.h): Document the problems. + +2014-01-22 Paul Eggert + + qacl: check for fchmod + * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h + and qset-acl.c both use HAVE_FCHMOD. + +2014-01-20 Paul Eggert + + fdopen-tests: port to Tru64 + * tests/test-fdopen.c (main): Don't invoke fdopen on a file + descriptor that is not open, as POSIX doesn't specify the + resulting behavior and the test does not work on Tru64. + Problem reported by Steven M. Schweda in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-01/msg00079.html + + stdalign: port to HP-UX compilers + * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x)) + if __HP_cc or __HP_aCC are nonzero. + +2014-01-16 Paul Eggert + + strtoimax: port to platforms lacking 'long long' + VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't + check whether strtoll is declared, which causes the C file to + wrongly report an error. Problem reported by Steven M. Schweda in: + http://lists.gnu.org/archive/html/bug-diffutils/2014-01/msg00003.html + * lib/strtoimax.c (strtoull): + Declare only if HAVE_UNSIGNED_LONG_LONG_INT. + (strtoll): Declare only if HAVE_LONG_LONG_INT. + +2014-01-16 Daniel Albers (tiny change) + + relocatable-perl: fix texi syntax + * doc/relocatable-maint.texi: Escape braces. + +2014-01-09 Reuben Thomas + + relocatable-perl: like relocatable-script, but for Perl scripts + * build-aux/relocatable.pl.in: Add. + * doc/relocatable-maint.texi: Add documentation. + * modules/relocatable-perl: Add. + +2014-01-07 Paul Eggert + + tests: fix export bug in previous patch + Problem reported by Jim Meyering. + * tests/init.sh (re_shell): New var, which is exported instead of + re_shell_. + + tests: simplify porting to Solaris 10 /bin/sh + Some test cases in 'grep' need a shell that groks '$('; + export re_shell_ for their benefit. Problem reported for 'grep' + by Dagobert Michelsen in . + * tests/init.sh (re_shell_): Export if it's used. + +2014-01-06 Eric Blake + + md5, sha1, sha256, sha512: support older autoconf + * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack + for autoconf < 2.63b. + + include_next: port to autoconf 2.63 + * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing. + +2014-01-04 Jim Meyering + + maint: add a gnulib-local rule to keep non-ascii out of .texi files + * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule, + so that "make sc_maint" will ding anyone who puts non-ascii + in any of gnulib's .texi files. + +2014-01-03 Jim Meyering + + freadable, fwritable, fwriting: declare with the "pure" attribute + * lib/freadable.h (freadable): Declare with the "pure" attribute. + * lib/fwritable.h (fwritable): Likewise. + * lib/fwriting.h (fwriting): Likewise. + Suggested by Bruno Haible. + + maint.mk: adapt openat.h-include-without-use test + * top/maint.mk (sc_prohibit_openat_without_use): Also check for + FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid + failing on gnulib's own lib/{chmod,chown,stat}at.c files. + With this change, running "make sc_maint" in gnulib's top-level + directory now passes for me. + +2014-01-03 Paul Eggert - Fixes RHBZ#1138508 + doc: use ASCII in .texi files where UTF-8 isn't needed + * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi: + * doc/posix-functions/setkey.texi, doc/regex.texi: + Use ASCII input, not UTF-8. -2014-09-12 Dominic Cleal +2014-01-02 Jim Meyering - Dhclient: parse hash statements with dhcp-eval strings + freading: declare with the "pure" attribute + * lib/freading.h (freading): Declare with the "pure" attribute. - Systemd: parse semicolons inside entry values, not as EOL comments - Fixes RHBZ#1139498 + manywarnings: remove -Wmudflap + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since + it is no longer supported in gcc-4.9-to-be. -2014-09-09 Dominic Cleal +2014-01-01 Paul Eggert - Kdump: parse new options, permit EOL comments, refactor - Fixes RHBZ#1139298 + relocatable-script: remove unused code + Problem reported by Reuben Thomas in: + http://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00117.html + * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function. + +2014-01-01 Jim Meyering - Test_Kdump: fix test of complete config file + maint: fix public-submodule-commit to work with newer git + * top/maint.mk (public-submodule-commit): Remove excess quoting. + We were over-quoting the test arguments, and somewhere prior to + version 1.8.5.2.229, git stopped removing those excess quotes, + which made the test fail, since the unexpanded strings would + always differ; using GIT_TRACE=1 confirmed that the git merge-base + command wasn't even being run. -2014-09-05 Dominic Cleal +2014-01-01 Paul Eggert - Xml: enable CDATA parsing - Fixes GitHub #80 + doc: update main copyright year + * doc/gnulib.texi: Update copyright date. + +2014-01-01 Eric Blake + + version-etc: new year + * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014. + * all files: run 'make update-copyright' -2014-09-04 Dominic Cleal +2013-12-24 Eric Blake - * src/augeas.c (unlink_removed_files): ensure aug_save returns non-zero result when unable to delete files - Fixes RHBZ#1091143 + passfd: give nicer error for recvfd at eof + * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early. + * tests/test-passfd.c (main): Enhance test to cover this. -2014-09-03 Dominic Cleal +2013-12-17 Paul Eggert + + gettimeofday: port recent C++ fix to Emacs + Without this further patch, Emacs won't build due to + the portcheck failing. Also, this simplifies the patch a bit. + * lib/time.in.h (localtime, gmtime): Don't replace unless + GNULIB_GETTIMEOFDAY. Treat them more like mktime. + * lib/time.in.h (localtime, gmtime): + * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): + * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): + * modules/time (time.h): + Don't worry about about the possibility of localtime and gmtime + being absent; they're present in all C libraries we know about. + * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): + Don't assume sys_time is present and has been initialized. + Instead, use a hack that should work even if it hasn't been. + Don't use a portcheck for gmtime or localtime; this supports + the hack. + * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY. + +2013-12-17 John W. Eaton + + gettimeofday: fix C++ crosscompilation - Syslog: permit IPv6 loghost addresses - Fixes RHBZ#1129388 + Never replace gmtime and localtime by macros when compiling with + C++, this prevents from being included. + + * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not + define gmtime and localtime as preprocessor macros. Instead + define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and + REPLACE_LOCALTIME substitutions. + * lib/time.in.h: Declare gmtime and localtime when needed. + * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME, + HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME. + * modules/time: Depend on gettimeofday, and substitute the above + variables in time.h. - Aliases: permit missing whitespace between colon and recipients +2013-12-17 Paul Eggert + + qacl: port to Windows better + See Eli Zaretskii in + . + * lib/file-has-acl.c (acl_access_nontrivial): + Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY && + !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT. + +2013-12-12 Alexander V. Lukyanov + + md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode. + * lib/gl_openssl.h: Cast void pointers to a specific type. + +2013-12-07 Pádraig Brady + + open-tests: fix build failure with -Werror=old-style-declaration + * tests/test-open.h: Reorder the inline to avoid the issue. + +2013-12-07 Pádraig Brady + + md5, sha1, sha256, sha512: fix link error with partial libcrypto + * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at + init time, so that if early checks find crypto routines, + while the last does not, then @LIB_CRYPTO@ is replaced correctly, + avoiding link failures. + +2013-12-07 Paul Eggert + + md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT + This provides a new way to specify the default for + gl_CRYPTO_CHECK, one that is reflected in the --help message. + Emacs uses this, as well as the old way. + This attempts to implement a suggestion by Pádraig Brady in + . + * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro. + (gl_CRYPTO_CHECK): Use it. Mention the default in --help output. + + md5, sha1, sha256, sha512: add 'auto', and a way to specify default + * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): + Add support for a new option, --with-openssl=auto, which causes + the library to be used if available and silently ignored if not. + Add support to allow allow configure.ac to specify its own + default, by setting with_openssl_default before invoking gl_INIT. + +2013-12-05 Paul Eggert + + open-tests: port to glibc with _FORTIFY_SOURCE and -O1 + Problem reported by Daiki Ueno in: + http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00052.html + * tests/test-open.h (__always_inline): + New macro, if not already defined. + (test_open): Use it. + +2013-12-04 Eric Blake + + include_next: minimize code duplication + * modules/include_next (Depends-on): Add absolute-header. + * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse + gl_ABSOLUTE_HEADER_ONE instead of open-coding it. + +2013-12-04 Pádraig Brady + + getcwd: fix compile error in configure check + * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h + +2013-12-04 Pádraig Brady + + regex: suppress core dumps from detection code + * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM + to suppress core dumps that may well occur on glibc systems. + These core dumps might not be cleaned up automatically, or could + trigger some system core dump handling logic. + +2013-12-03 Pádraig Brady + + md5, sha1, sha256, sha512: support mandating use of openssl + * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl + description, to list the now 3 separate options. also don't + mention the default=no, since this is implicit given the option + is described as --with-openssl rather than --without-openssl. + If projects change the default they're free to document that. + with --with-openssl[=yes] we now error out when the specified + hash algorithm is not available in libcrypto. + +2013-12-03 Ivailo + + test-xvasprintf: (trivial) fix to disable some -Wformat-security diags + * tests/test-xvasprintf.c: Disable -Wformat-zero-length and + -Wformat-nonliteral checks, as these edge cases are part of the test. + +2013-12-03 Eric Blake + + regex: avoid glibc deadlock during configure + * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when + glibc bug 15078 in turn triggers bug 16159. + Reported by Michal Privoznik. + +2013-12-02 Pádraig Brady + + md5, sha1, sha256, sha512: use openssl routines if available. + --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256 + routines will be used if available, requiring apps to link @LIB_CRYPTO@ + * lib/gl_openssl.h: Provide wrappers for specified openssl hash. + * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto + in the standard system location. + * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1. + * m4/sha256.m4: Likewise with SHA256. + * m4/sha512.m4: Likewise with SHA512. + * m4/md5.m4: Likewise with MD5. + * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests. + * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1. + * lib/sha256.h: Likewise with SHA256. + * lib/sha512.h: Likewise with SHA512. + * lib/md5.h: Likewise with MD5. + * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1. + * lib/sha256.c: Likewise with SHA256. + * lib/sha512.c: Likewise with SHA512. + * lib/md5.c: Likewise with MD5. + * modules/crypto/sha1 (Link:): Add the new optional lib. + (Depends-on:): Add dependency on extern-inline. + * modules/crypto/sha256: Likewise. + * modules/crypto/sha512: Likewise. + * modules/crypto/md5: Likewise. + * modules/crypto/sha1-tests: Reference the lib here too. + * modules/crypto/md5-tests: Likewise. + * modules/crypto/gc-des-tests: Likewise. + * modules/crypto/gc-hmac-md5-tests: Likewise. + * modules/crypto/gc-hmac-sha1-tests: Likewise. + * modules/crypto/gc-hmac-sha256-tests: Likewise. + * modules/crypto/gc-hmac-sha512-tests: Likewise. + * modules/crypto/gc-md5-tests: Likewise. + * modules/crypto/gc-pbkdf2-sha1-tests: Likewise. + * modules/crypto/gc-sha1-tests: Likewise. + * modules/crypto/gc-tests: Likewise. + * modules/crypto/hmac-md5-tests: Likewise. + * modules/crypto/hmac-sha1-tests: Likewise. + * modules/crypto/hmac-sha256-tests: Likewise. + * modules/crypto/hmac-sha512-tests: Likewise. + +2013-11-29 RV1971 + + base64: (trivial) fix compilation regression on some compilers + * lib/base64.c: Don't return the void function, + instead split to a separate return statement. + +2013-11-28 Paul Eggert + + ignore-value: revert previous code change + * lib/ignore-value.h (ignore_value): Use __extension__ and + __typeof__ only for GCC 3.4 and later. Reported by Eric Blake in + . + Change the comment to try to explain this better. + +2013-11-27 Pádraig Brady + + selinux-h: improve stub types and add more stub functions + + * lib/se-selinux.in.h: Change security_context_t to a typedef + rather than a define, as it's a pointer type and so is better + as a typedef to avoid issues declaring multiple variables + with the comma operator. Also add stub for string_to_security_class(). + * lib/se-context.in.h: Add stub functions for + context_{type,range,role,user}_get(). + +2013-11-27 Paul Eggert + + ignore-value: prefer GCC version back through 2.0 + The code didn't match the comments, so I did a bit of software + archaeology. GCC 2.0 seems to support __extension__ and + __typeof__, so fix both code and comments to use 2.0. + * lib/ignore-value.h (ignore_value): Use __extension__ and + __typeof__ for GCC 2.0 through 3.3, too. + +2013-11-25 Mats Erik Andersson + + pty: Activate the signature wrapper of forkpty. + The intended preprocessor macro HAVE_FORKPTY is + never defined, yet `lib/forkpty.c' depends on it. + + * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis, + apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value + $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'. + +2013-11-18 Jim Meyering + and Paul Eggert + + quotearg: don't attempt to store 1 << 31 into an "int" + * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with + gcc's new -fsanitize=undefined and running its tests triggered some + new test failures due to undefined behavior, all with this diagnostic: + lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \ + cannot be represented in type int + Rather than shifting "1" left to form a mask, shift the bits right and + simply use "1" as the mask. + +2013-11-21 Paul Eggert + + error: depend on stdio + Problem reported by Nikos Mavrogiannopoulos in + + * modules/error (Depends-on): Add stdio. + +2013-11-18 Ben Pfaff + + * doc/relocatable-maint.texi (Supporting Relocation): Improve + wording. + Reported by Reuben Thomas . + +2013-11-13 Paul Eggert + + * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]: + New function and macro, to work around _DARWIN_C_SOURCE problem. + Reported by Jack Howarth in . + +2013-11-11 Pádraig Brady + + base64: provide a fast path for encoding well sized buffers + Avoid conditionals in the base64 encoding loop, + which was seen to give 60% better throughput. + * lib/base64.c (base64_encode_fast): A new function to be called + when we don't want to NUL terminate, and we have enough space + in the output to encode the given input. + (base64_encode): Call the _fast() version when appropriate. + Also remove a redundant mask with 0x3F on the first encoded byte. + +2013-11-08 Paul Eggert + + extern-inline: port better to OS X 10.9 + * m4/extern-inline.m4: Omit serial number; this file doesn't use them. + (gl_EXTERN_INLINE): Do not suppress the use of extern inline on + OS X 10.9, except for g++ where the bug is still present. + See . + +2013-11-08 Eric Blake + + fpending: fix regression on DragonFly BSD + * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration. + * lib/fpending.h (__fpending): Don't declare twice. + Reported by GW in + -2014-07-24 Raphaël Pinson +2013-11-05 Jim Meyering - NEWS + hash: relax license to LGPLv2+, for libguestfs + * modules/hash (License): Change from GPL to LGPLv2+. - Xml: Allow backslash in #attribute values +2013-11-03 Paul Eggert + + intprops: port to Oracle Studio c99 + * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]: + Define to 0, to avoid diagnostics when Oracle Studio is pedantic. -2014-07-21 Dominic Cleal +2013-10-31 Paul Eggert - Services: permit colons in service name - Fixes RHBZ#1121263 + obstack: pacify HP C + * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid + warning "conversion from pointer to smaller integer" from HP + C-ANSI-C - cc version B9007AA/B3910B A.06.26. It's safe to assume + C89 or later nowadays, so cast to void instead of int. Privately + reported by H.Merijn Brand. Also, change header to match glibc's, + to make checking against glibc easier. -2014-07-09 Dominic Cleal +2013-10-29 Jim Meyering - Rmt: new lens to parse /etc/default/rmt - Fixes RHBZ#1100549 + maint.mk: prefer gpgv2 over gpgv + * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv. + (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv". + Reported by Gary Vaughan. - Systemd: parse /etc/sysconfig/*.systemd as used in 389-ds - Fixes RHBZ#1083022 +2013-10-30 Paul Eggert - Shellvars: support $(( .. )) arithmetic expansion in variable assignment - Fixes RHBZ#1100550 + isnan: port to VAX + Reported by John Klos for NetBSD-5/VAX in + . + * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs. + (FUNC): Use it. + +2013-10-28 Jim Meyering + + gnulib-tool: protect against CDPATH + * gnulib-tool: Many "cd" built-in functions print a directory name + to stdout when CDPATH is set, e.g., + $ bash -c 'CDPATH=/; cd tmp' + /tmp + Unset it, when possible. Prompted by a comment from Bruce Korb. + + maint.mk: restore functionality removed by recent change... + Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from + the context of a shallow-cloned gnulib repository: "git describe" + would fail in such a directory. However, that change made it so + the reported gnulib revision no longer includes the version number + or a commit count, even when run from a full clone. + * top/maint.mk (gnulib-version): Use the full "git describe" + output when possible, e.g., the form above, rather than the + abbreviated, no-tag, no-commit-count string, and fall back to + using a 10-byte hash, rather than the default minimal-length + hash prefix, since while the minimal-length one may be fine today, + it is likely not to be unique for very long. + +2013-10-26 Jim Meyering + + maint.mk: fix "release" target to build _version + This fixes a bug in README-release whereby following the outlined + steps, one would publish a tarball whose programs would report + --version output not consistent with the package version number. + This bug caused grep-2.15 to produce a grep program whose + --version option made it print 2.14.56-1e3d rather than 2.15. + * top/maint.mk (release): Making this target build "_version" + ensures that the new version number is reflected in configure. + +2013-10-21 Ben Pfaff + + install-reloc: Support multi-binary installation. + * build-aux/install-reloc: Support installing multiple programs in + one invocation, as done by Automake starting with commit + 4295fe33eb23f (Multi-file install for PROGRAMS.). From Bruno + Haible , archived at + http://lists.debian.org/debian-bsd/2012/05/msg00032.html. + Reported by Sylvain . + +2013-10-21 Michael Haubenwallner + + selinux-h: Really build without selinux when library is missing. + * m4/selinux-selinux-h.m4: When the selinux library is missing, really + continue without selinux, as already told in the warning message. + +2013-10-21 Jim Meyering + + regex: also remove dependency on HAVE_WCSCOLL + * lib/regex_internal.h: Remove final vestige of the wcscoll dependency. + +2013-10-21 Reuben Thomas + + xfreopen: Fix typo. s/frepoen/freopen/ + * lib/xfreopen.c: Fix description. + * modules/xfreopen: Likewise. + +2013-10-21 Jim Meyering + + regex: don't depend on wcscoll + * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll. + It is no longer used. + +2013-10-20 Jim Meyering + + error: add the printf attribute to a static function + * lib/error.c (error_tail): Add the printf attribute, to placate + gcc's -Werror=suggest-attribute=format option. + +2013-09-30 Jim Meyering + + fpending, obstack, strerror-override: use pure+const function attrs + * lib/fpending.h (__fpending): Declare with the "pure" attribute. + * lib/obstack.c (_obstack_allocated_p): Likewise. + * lib/obstack.h (_obstack_memory_used): Likewise. + (_obstack_memory_used): Likewise. + * lib/strerror-override.h (strerror_override): Declare with + the "const" attribute. + +2013-10-18 Eric Blake + + extern-inline: make safe for -Wundef usage + Reported by Vladimir 'phcoder' Serbinenko in + https://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00078.html + * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc. + +2013-10-16 Paul Eggert + + mkfifo-tests, etc.: allow HP-UX 11.11 bug + Problem reported by Daniel Richard G. in + . + * doc/posix-functions/mkfifo.texi (mkfifo): + * doc/posix-functions/mkfifoat.texi (mkfifoat): + * doc/posix-functions/mknod.texi (mknod): + * doc/posix-functions/mknodat.texi (mknodat): + Document the HP-UX 11.11 bug. + * tests/test-mkfifo.h (test_mkfifo): + Allow the HP-UX 11.11 bug. + +2013-10-14 Paul Eggert + + acl: allow cross-compilation to Gentoo + Problem reported by Gabriel Marcano in + . + * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling, + test only whether it links. + +2013-10-13 Paul Eggert + + mgetgroups: remove dependency on realloc-gnu + The dependency violates the comment in realloc-gnu, which + says that tests can't depend on realloc-gnu; some tests depend + on mgetgroups, so mgetgroups can't depend on realloc-gnu. + Problem reported by Daniel Richard G. in + . + * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0). + * modules/mgetgroups (Depends-on): Depend on realloc-posix, + not realloc-gnu. + +2013-10-12 Paul Eggert + + regex-tests: port to HP-UX 11.11 + Problem reported by Daniel Richard G. in + . + * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD. + +2013-10-10 Paul Eggert + + verify: document some 'assume' pitfalls + * doc/verify.texi (Compile-time Assertions): + Mention that 'assume (E)' can sometimes slow things down. + Use CHAR_MAX + 1, not UCHAR_MAX + 1. + +2013-10-10 Eric Blake + + strtoumax: fix typo in previous commit. + * modules/strtoumax (Depends-on): Fix typo. + * modules/strtoimax (Depends-on): Likewise. + +2013-10-10 Paul Eggert + + strtoumax: port to Solaris 8 + This problem was introduced in the recent HP-UX patch. + Reported by Tom G. Christensen in + . + * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX + and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax. + +2013-10-09 Paul Eggert + + strtoimax, strtoumax: port to HP-UX 11.11 + Problem reported by Daniel Richard G. in + . + * lib/inttypes.in.h (strtoumax): Replace strtoumax if + REPLACE_STRTOUMAX, thus treating it consistently with strtoimax. + * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for + REPLACE_STRTOUMAX. + * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): + * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): + Replace the function if defined as a macro but not as a function. + * modules/inttypes-incomplete (inttypes.h): Substitute + REPLACE_STRTOUMAX. + * modules/strtoumax (configure.ac): Replace strtoumax if + REPLACE_STRTOUMAX. + +2013-10-08 Paul Eggert + + strtoimax: port to HP-UX 11.11 + Problem reported by Daniel Richard G. + * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros. + (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since + they might clash with inttypes.h. + +2013-10-06 Paul Eggert + + New module 'count-trailing-zeros'. + * MODULES.html.sh: Mention it. + * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h: + * m4/count-trailing-zeros.m4, modules/count-trailing-zeros: + * modules/count-trailing-zeros-tests: + * tests/test-count-trailing-zeros.c: + New files. + + count-leading-zeros: port to MSC; support types wider than 64 bits + The ideas behind the MSC port are stolen from Emacs. + * lib/count-leading-zeros.h: + Don't include verify.h: it's no longer needed, as types wider than + 64 bits are now supported. + (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better + performance with MSC. All uses changed. Do not assume that TYPE + has at most 64 bits. + (count_leading_zeros_32): Assume 0 < X < 2**32, for speed. + All uses changed. Fold the subtraction from 31 into the table. + + count-one-bits: port to MSC; support types wider than 64 bits + The ideas behind the MSC port are stolen from Emacs. + * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable. + * lib/count-one-bits.h: Include limits.h, for CHAR_BIT. + Don't include verify.h: it's no longer needed, as types wider than + 64 bits are now supported. + (COUNT_ONE_BITS_GENERIC): New macro. + (popcount_supported) [_MSC_VER]: New inline function. + (COUNT_ONE_BITS): Use it. New arg MSC_BUILTIN, for better + performance with MSC. All uses changed. Do not assume that TYPE + has at most 64 bits. + * modules/count-one-bits (Depends-on): Do not depend on 'verify'. + +2013-10-06 Andrew Borodin + + mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS + * lib/mountlist.c (read_file_system_list): fix leak of directory + streams in case of #ifdef MOUNTED_INTERIX_STATVFS. + +2013-10-06 Paul Eggert + + tests: improve diagnostic when an assertion fails + * tests/macros.h (ASSERT): Report the assertion that failed. + +2013-10-02 Paul Eggert + + verify: new macro 'assume' + This is taken from Emacs, and should be generally useful. + * doc/verify.texi (assume): Document it. + * lib/verify.h (assume): New macro. + (__has_builtin): Expand to 0 if not defined. + +2013-09-26 Eric Blake + + dup2, dup3: work around another cygwin crasher + * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug. + * m4/dup3.m4 (gl_FUNC_DUP3): Likewise. + * tests/test-dup2.c (main): Likewise. + * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it. + * lib/dup3.c (dup3): Likewise. + * doc/posix-functions/dup2.texi (dup2): Document it. + * doc/glibc-functions/dup3.texi (dup3): Likewise. + + getdtablesize: work around cygwin issue + * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem. + * modules/getdtablesize (configure.ac): Build replacement. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness. + * modules/unistd (Makefile.am): Expose the witness. + * lib/unistd.in.h (getdtablesize): Declare replacement. + * lib/getdtablesize.c (rpl_getdtablesize): Work around it. + * tests/test-getdtablesize.c (main): Test it. + * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it. + +2013-09-25 Mats Erik Andersson + + pmccabe2html: escaping of special characters + Escape all '<', '>', and '&' in HTML output. + * build-aux/pmccabe2html (html_fnc): Call gsub() + instead of sub() to capture all '<', '>', and '&'. + Neither of '<' and '>' is special in a regexp, + so first arguments to gsub() are corrected. Also, + in replacement strings, ampersand must be escaped. + Finally, '&' must be handled first, then '<' and '>'. + +2013-09-24 Eric Blake + + manywarnings: enable nicer gcc warning messages + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires + some -f options for optimal warnings. + +2013-09-21 Jim Meyering + + timespec: use the new TIMESPEC_RESOLUTION in a few more places + * lib/timespec-add.c (timespec_add): Also replace 999999999 + with TIMESPEC_RESOLUTION - 1. + * lib/timespec-sub.c (timespec_sub): Likewise. + +2013-09-23 Paul Eggert + + warnings: port --enable-gcc-warnings to Solaris Studio 12.3 + Problem reported by Dagobert Michelsen via Eric Blake in + . + * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE, + not AC_COMPILE_IFELSE. + +2013-09-23 Eric Blake + + configmake: support new --runstatedir option + * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir + even if autoconf was too old to provide the command line option. + * modules/configmake (Makefile.am): Propagate it to .h file. + +2013-09-22 Paul Eggert + + ctype, string: depend on extern-inline + This is needed to complete the recent OS X fixes. + Also, fix related documentation as suggested by Eric Blake. + * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi: + * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi: + * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi: + * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi: + * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi: + * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi: + * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi: + * doc/posix-functions/toupper.texi: + List the 'ctype' gnulib module. + * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi: + * doc/posix-functions/strncpy.texi: + List the 'string' gnulib module. + * modules/memcpy, modules/memmove, modules/memset (Depends-on): + Add string. + * modules/ctype, modules/string (Depends-on): Add extern-inline. + +2013-09-19 Pádraig Brady + + userspec: support optional parameters to parse_user_spec() + * lib/userspec.c (parse_user_spec): If the GID param is NULL, + then avoid group processing and treat the full spec as a user. + (parse_with_separator): Allow the USERNAME and GROUPNAME to + be optional params (NULL), in which case they're ignored. + +2013-09-19 Paul Eggert + + timespec: new function make_timespec, and new constants + * lib/timespec.h: Incorporate recent changes on the Emacs trunk. + (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants. + (make_timespec): New function. + * lib/dtotimespec.c (dtotimespec): + * lib/timespec-add.c (timespec_add): + * lib/timespec-sub.c (timespec_sub): + * lib/utimens.c (validate_timespec): + * lib/utimensat.c (rpl_utimensat): + Use these new constants and functions. + + stdio: OS X port of putc_unlocked + extern inline + * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms. + * doc/posix-functions/putc_unlocked.texi: + * doc/posix-functions/putchar_unlocked.texi: + Document this portability problem. + + signal: OS X port of sigaddset etc. + extern inline + * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset) + (sigismember): #undef on problematic Apple platforms. + * doc/posix-functions/sigaddset.texi: + * doc/posix-functions/sigdelset.texi: + * doc/posix-functions/sigemptyset.texi: + * doc/posix-functions/sigfillset.texi: + * doc/posix-functions/sigismember.texi: + Document this portability problem. + + extern-inline: do not always suppress extern inline on OS X + * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of + extern inline on Apple only if the particular compile-time + configuration is known to have the problem. + (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this. + (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by + other Gnulib modules. + + extern-inline: document fixes for ctype and wctype macros + * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi: + * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi: + * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi: + * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi: + * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi: + * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi: + * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi: + * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi: + * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi: + * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi: + * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi: + * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi: + * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi: + * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi: + * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi: + * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi: + * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi: + * doc/posix-functions/strncpy.texi: + * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi: + * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi: + Document that Gnulib fixes portability problems with these + functions on OS X 10.8 and earlier when called from plain inline + or extern inline functions. + +2013-09-17 Kevin Cernekee + + fflush, freadahead, fseeko: Fix for Android + Suggested by Bruno Haible in: + + * lib/stdio-impl.h: Use local __sfileext definition. + +2013-09-17 Mats Erik Andersson + + pmccabe2html: Portability to other awk versions. + The functions systime() and strftime() are available + in Gawk only. Properly close two HTML-tags 'style' + and 'span'. + * build-aux/pmccabe2html (BEGIN): Store timing + strings in EPOCH_TIME and CHRONOS_TIME. Replace + systime() in HTML_COMMENT. + (html_header): Correctly close tag 'style'. + (END): Replace strftime() by CHRONOS_TIME. Close + tag 'span' correctly, not as 'div'. + +2013-09-17 Mats Erik Andersson (tiny change) + + getgroups: statement without effect + * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]: + Change equality conditional to expected assignment. + +2013-09-09 Eric Blake + + glob: fix compilation + * lib/glob.in.h (__THROW): Fix missing line in previous commit. + +2013-09-07 Eric Blake + + glob: fix build for platforms without __THROW + * lib/glob.in.h (__THROW): Add definition again. + +2013-09-04 Anton Ovchinnikov (tiny change) + + regex-quote: fix buffer access out of bounds + http://lists.gnu.org/archive/html/bug-gnulib/2013-09/msg00001.html + * lib/regex-quote.c (regex_quote_spec_pcre): + Fix typo that resulted in an out-of-bounds read. + +2013-09-04 Eric Blake + + glob: avoid -Wattribute warnings on glibc + * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use + __THROWNL, not __THROW, on static functions. + * lib/glob.in.h (__THROW): Adjust... + (__THROWNL): ...accordingly. + +2013-08-28 Paul Eggert + + headers: check that _GL_INLINE_HEADER_BEGIN is defined + Suggested by Bruce Korb in: + http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00070.html + * doc/extern-inline.texi (extern inline): + Suggest checking that _GL_INLINE_HEADER_BEGIN is defined. + * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h: + * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h: + * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h: + * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h: + * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h: + * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h: + * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h: + * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h: + * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h: + * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h: + * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h: + * lib/xtime.h: + Check that _GL_INLINE_HEADER_BEGIN is defined. + +2013-08-29 Pádraig Brady + + bootstrap: remove the --version requirement from ancillary tools + * build-aux/bootstrap (check_exists): A new refactored function to + determine if a command exists. + (find_tool): Use the new function which does not require the + --version option to be supported. + (check_versions): Use the new function. + +2013-08-26 Simon Josefsson + + gc: support HMAC-SHA256 and HMAC-SHA512. + * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512. + * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New + functions. + (gc_hmac_md5): Use symbolic constant. + * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too. + (gc_hmac_sha256, gc_hmac_sha512): New functions. + * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes. + * m4/sha256.m4: Protect against empty expansion. + * m4/sha512.m4: Likewise. + * lib/hmac-sha256.c: New file. + * lib/hmac-sha512.c: Likewise. + * m4/gc-hmac-sha256.m4: Likewise. + * m4/gc-hmac-sha512.m4: Likewise. + * m4/gc-sha256.m4: Likewise. + * m4/gc-sha512.m4: Likewise. + * modules/crypto/gc-hmac-sha256: Likewise. + * modules/crypto/gc-hmac-sha256-tests: Likewise. + * modules/crypto/gc-hmac-sha512: Likewise. + * modules/crypto/gc-hmac-sha512-tests: Likewise. + * modules/crypto/hmac-sha256: Likewise. + * modules/crypto/hmac-sha256-tests: Likewise. + * modules/crypto/hmac-sha512: Likewise. + * modules/crypto/hmac-sha512-tests: Likewise. + * tests/test-gc-hmac-sha256.c: Likewise. + * tests/test-gc-hmac-sha512.c: Likewise + * tests/test-hmac-sha256.c: Likewise. + * tests/test-hmac-sha512.c: Likewise + +2013-08-24 Daiki Ueno + + * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse + of AC_CHECK_DECLS. + +2013-08-23 Paul Eggert + + selinux-at: omit unnecessary include + * lib/selinux-at.c: Don't include dosname.h; not needed, since + this source file doesn't use its macros, and subsidiary files that + use the macros already include it. + +2013-08-21 Eric Blake + + d-ino: avoid false negative on symlink + * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat. + Reported by Stephane Chazelas. + +2013-08-12 Mike Miller (tiny change) + + bootstrap: port to OpenBSD sed + * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which + does not interpret `-' as a file argument to mean stdin. + +2013-08-15 Eric Blake + + warnings: minor optimization + * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes. + + warnings: check -Wfoo rather than -Wno-foo + * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with + -Wno-, test if the compiler recognizes the positive form instead. + +2013-08-15 Karl Berry + + * config/srclist-update: add option "doclicense" to placate + pulling *.texi files from Emacs. Write terse usage + documentation at the top. + +2013-08-13 Paul Eggert + + xvasprintf-tests: port to GCC with hardening flags + * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to + xasprintf, to pacify GCC. Reported by Santiago Vila in: + http://lists.gnu.org/archive/html/bug-diffutils/2013-08/msg00002.html + +2013-08-11 Paul Eggert + + fpending: port to recent Cygwin change to stdio_ext.h + Reported by LRN in + . + * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING; + just declare __fpending unless it's a macro. + A duplicate decl shouldn't hurt. + * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending + call compiles and links, instead of separately checking for + decl and lib function. + * modules/fpending (configure-ac): + Adjust to fpending.m4's renaming of shell variable. + +2013-08-10 Paul Eggert + + sys_time: port to OpenBSD + * lib/sys_time.in.h: Simply delegate to the system's header + in the BSDish cases as well. Problem reported by Mike Miller in + . + * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type): + Allow platforms like 64-bit OpenBSD where timeval's tv_sec is + wider than time_t. + +2013-08-09 Pádraig Brady + + bootstrap: support checksum utils having -c but not --status + * build-aux/bootstrap: Only look for sha1sum if updating po files. + Add sha1 to the list of supported checksum utils since it's now + supported through adjustments below. + (update_po_files): Remove the use of --status + in a way that will suppress all error messages, but since this is + only used to minimize updates, it shouldn't cause an issue. + Exit early if there is a problem updating the po file checksums. + (find_tool): Remove the check for --version support as this + is optional as per commit 86186b17. Don't even check for the + presence of the command as if that is needed, it's supported + through configuring prerequisites in bootstrap.conf. + Prompt that when a tool isn't found, one can define an environment + variable to add to the hardcoded search list. + +2013-08-05 Jim Meyering + + regex: port to non-glibc/lock-using systems + Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc + system with GNULIB_LOCK would fail due to absence of the + included "glthread/lock.h". This would affect any package + for which the "lock" module is used only by the regex module, + and not explicitly used. + * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21. + * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]: + Add a dependency on the "lock" module. + +2013-07-20 Daiki Ueno + + localecharset: make locale_charset thread-safe on Mac OS X + * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L + instead of MB_CUR_MAX. + +2013-07-20 Daiki Ueno + + gettext: update to version 0.18.3 + * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3. In particular, + require AC_PROG_SED to allow user to specify custom sed command when + generating en@quot PO file. + +2013-07-18 Werner Lemberg (tiny change) + + bootstrap: use correct source when copying build-aux files + * build-aux/bootstrap (gnulib_extra_files): This variable is + relative to upstream gnulib layout, not downstream. + +2013-07-17 Paul Eggert + + tmpdir: fix bug in VMS port + * lib/tmpdir.c (path_search) [__VMS]: Never add slash. + See Steven M. Schweda in + . + +2013-07-15 Paul Eggert + + tmpdir: port to VMS, to // != /, and to long dirs + * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from + __secure_getenv, so that we're more like the glibc version. + All uses changed. + (path_search): Don't put slash after directory if __VMS. + Problem reported by Steven M. Schweda in + . + Simplify code to add slash; no need for a loop. + Do not remove trailing slash from "//". + Do not assume dlen <= INT_MAX. + +2013-07-09 Paul Eggert + + regex: port to --with-included-regex --enable-gcc-warnings non-threaded + * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid + gcc warnings in the non-threaded case. Reported by Charlie Brown in + . + + accept4, dup3, pipe2: port to Cygwin + Problem reported for Emacs by Ken Brown in . + * lib/accept4.c (accept4) [O_BINARY]: + * lib/dup3.c (dup3) [O_BINARY]: + * lib/pipe2.c (pipe2) [O_BINARY]: + Use set_binary_mode, not setmode. + * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h. + * modules/binary-io (Depends-on): Remove module indicator. + These last two bits undo the previous change to pipe2 and binary-io. + +2013-07-09 Pádraig Brady + + mountlist: add support for deallocating returned list entries + * lib/mountlist.c (free_mount_entry): A new exported function + to deallocate a mount list entry. + (read_file_system_list): Refactor to use the new deallocation function. + Suggested by Anton Ovchinnikov. + +2013-07-07 Paul Eggert + + stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11 + Problem reported by Ulrich Mueller in . + * lib/stdalign.in.h (_Alignas, _Alignof): + Port to FreeBSD 9.1, and to C11 and C++11. + (_Alignas): Also support ICC. + * lib/verify.h (_Static_assert): Undef if defines it. + * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11. + +2013-07-06 Paul Eggert + + fnmatch: don't goto over declaration + * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid + undefined behavior for goto over a declaration. + Problem reported by Charlie Brown in + . + + pipe2: decouple from binary-io a bit + This is for Emacs, which needs pipe2 but not binary-io. + * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h. + * modules/binary-io (Depends-on): Add module indicator. + +2013-07-03 Eric Blake + + mgetgroups: relax license to LGPLv2+ + * modules/getugroups (License): Change from GPLv3+. + * modules/mgetgroups (License): Likewise. + * modules/getgroups (License): Change from LGPLv3+. + + xalloc-oversized: relax license to LGPLv2+ + * modules/xalloc-oversized (License): Change from GPLv3+. + + nproc: relax license to LGPLv2+ + * modules/nproc (License): Change from LGPLv3+. + + bootstrap: honor --no-git + * build-aux/bootstrap: Don't even try to use git when user is + pointing to a static checkout. + +2013-06-23 Paul Eggert + + ignore-value: port to gcc -pedantic + * lib/ignore-value.h (ignore_value): + Port to gcc -pedantic, by using __extension__. + Reindent as per usual gnulib style nowadays. + Simplify GCC version check. + +2013-06-21 Paul Eggert + + extern-inline: port to gcc -std=c89 + * m4/extern-inline.m4 (gl_EXTERN_INLINE): + Do not use __gnu_inline__ if pedantic and pre-C99. + +2013-06-18 Paul Eggert + + doc: document extern-inline + * doc/extern-inline.texi: New file. + * doc/gnulib.texi (alloca-opt): Include it. + * m4/extern-inline.m4: Move some comments to documentation, + and others closer to what they describe. + + doc: chatter less + * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro. + (updated-stamp): Use it. This causes 'make' to output just + one file name rather than zillions. + + fflush, fseeko: port to musl cross-compiles + * lib/fseeko.c (fseeko): Assume that fflushing stdin works if + on some implementation that (1) is not known to be buggy, + (2) claims conformance to POSIX.1-2008 or later, and (3) is being + cross-compiled to so we can't easily check for lack of + conformance. This is for cross-compiling to musl. + Reported by Rich Felker in + . + * m4/fclose.m4 (gl_FUNC_FCLOSE): + * m4/fflush.m4 (gl_FUNC_FFLUSH): + * m4/fseeko.m4 (gl_FUNC_FSEEKO): + Adjust to above change. + * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin + to 'cross', not to 'no', when cross-compiling. AC_DEFINE + FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work, + known not to work, or unknown. + +2013-06-15 Paul Eggert + + msvc-inval: port to mingw-w64 + * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler): + Use __cdecl, not cdecl, for mingw-w64. Reported by LRN in + . + +2013-06-11 Paul Eggert + + getcwd-lgpl: port to Tru64 + * lib/getcwd-lgpl.c: Include , for malloc etc. + Problem reported by Steven M. Schweda in + . + + tests: port large-fd POSIX spawn tests to OS X + Problem reported by Daiki Ueno in + . + * tests/test-posix_spawn_file_actions_addclose.c: + * tests/test-posix_spawn_file_actions_adddup2.c: + * tests/test-posix_spawn_file_actions_addopen.c: + Include , for OPEN_MAX, if available. + (big_fd): New static function. + (main): Use it. + +2013-06-04 Bernhard Voelker + + tests/nap.h: use an adaptive delay to avoid ctime update issues + The recent change in nap.h (5191133e) decreased the probability of lost + races to about a third, however such problems could still be observed + in virtual machines and openSUSE's OBS. + Before, nap() detected the needed time once empirically and then used + that delay (together with a small correction multiplier) in further + calls. This problem has been reported and discussed several times, + including guesses about possible kernel issues: + https://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html + http://lists.gnu.org/archive/html/coreutils/2012-03/msg00088.html + https://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00226.html + http://bugs.gnu.org/12820 + https://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html + https://lists.gnu.org/archive/html/bug-gnulib/2009-11/msg00007.html + Now, nap() avoids the race alltogether by verifying on a reference + file whether a timestamp difference has happened. + * tests/nap.h (nap_fd): Define file descriptor variable for the + witness file. + (nap_works): Change return value to bool. Change passing + the old file's status by value instead of by reference as this function + does no longer update that timestamp; rename the function argument from + st to old_st. Remove the local variables cdiff and mdiff because that + function now returns true/false instead of the precise delay. + (guess_delay): Remove function. + (clear_tmp_file): Add new function to close and unlink the witness file. + (nap): Instead of re-using the delay which has been calculated during + the first call, avoid the race by actually verifying that a timestamp + difference can be observed on the current file system. Use an adaptive + approach for the delay to minimize execution time. Assert that the + maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30 + = 2^31 - 1 = 2.1s. + Use atexit to call clear_tmp_file when the process terminates. + +2013-06-02 Paul Eggert + + sig2str: port to C++ + * lib/sig2str.h (sig2str, str2sig): Declare as extern "C". + Reported by Daniel J Sebald in + . + +2013-05-30 Eric Blake + + docs: mention cygwin shortcoming in + * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem. + + vasnprintf: silence mingw compiler warning + * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning. + +2013-05-29 Paul Eggert + + c-ctype, regex, verify: port to gcc -std=c90 -pedantic + Avoid constructions that are rejected by gcc -std=c90 -pedantic. + This fixes a porting bug I recently reintroduced in regex, and + some other instances that I discovered while testing the fix. + * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }). + * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E. + * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro + with an empty argument if this is a pedantic pre-C99 GCC. + * lib/verify.h: Do not use _Static_assert if this is a pedantic + pre-C11 GCC. + + regex: adapt to locking regime instead of depending on pthread + Instead of depending on pthread, adapt to whatever thread + modules are in use. Problem reported by Ludovic Courtès in + + and by Mats Erik Andersson in + . + * lib/regex_internal.h (lock_define, lock_init, lock_fini): + Support either the 'lock' module, or the 'pthread' module, or + no module. + (lock_lock, lock_unlock): New macros. + * lib/regexec.c (regexec, re_search_stub): Use the new macros. + * modules/lock, modules/pthread (configure.ac): Add module indicator. + * modules/regex (Depends-on): Remove pthread. + +2013-05-22 Eric Blake + + getgroups: document portability issues + * doc/glibc-functions/initgroups.texi (initgroups): Mention + multithread safety. + * doc/posix-functions/getpwuid.texi (getpwuid): Likewise. + * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise. + * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention + getugroups. + * doc/posix-functions/getgroups.texi (getgroups): Mention + multithread safety and mgetgroups. + +2013-05-22 Bernhard Voelker + + test-lchown, test-chown: also skip test if chown fails with EPERM + * tests/test-lchown.h (test_lchown): Add EPERM to the condition to + skip this test, to handle FAT file systems. + * tests/test-chown.h (test_chown): Likewise. + +2013-05-19 Paul Eggert + + regex: fix dfa race in multithreaded uses + Problem reported by Ludovic Courtès in + . + * lib/regex_internal.h (lock_define, lock_init, lock_fini): + New macros. All uses of __libc_lock_define, __libc_lock_init + changed to use the first two of these. + (__libc_lock_lock, __libc_lock_unlock): New macros, for + non-glibc platforms. + (struct re_dfa_t): Define the lock unconditionally. + * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect + '#ifdef _LIBC"s. + * modules/regex (Depends-on): Add pthread, if we use the + included regex. + + * lib/regcomp.c: Do actions that are not needed for glibc, + but may be needed elsewhere. + (regfree, re_compile_internal): Destroy the lock. + (re_compile_internal): Check for lock-initialization failure. + + malloca: port to compilers that reject size-zero arrays + This fixes a bug introduced in my previous patch. + * lib/malloca.c (struct preliminary_header): Use an int + rather than a character array of size int; that's simpler. + (struct header): Remove, replacing with ... + (union header): New type. This avoids the need for declaring a + character array of size zero, which is not allowed on some platforms. + All uses changed. + +2013-05-18 Paul Eggert + + parse-datetime, tests: don't use "string" + int + Recent versions of 'clang' complain about C source code that + uses expressions of the form '"string literal" + integer', + I guess on the theory that it's confusing for readers who are + used to C++. On those grounds I suppose it's OK to make this + minor style change. + * lib/parse-datetime.y (parse_datetime): + * tests/test-fchdir.c (main): + * tests/test-snprintf-posix.h (test_function): + * tests/test-snprintf.c (main): + * tests/test-vasnprintf-posix.c (test_function): + * tests/test-vasnprintf.c (test_function): + * tests/test-vsnprintf.c (main): + * tests/unistdio/test-ulc-asnprintf1.h (test_function): + Rewrite '"str" + E' to '&"str"[E]'. + +2013-05-17 Alexandre Duret-Lutz + + argmatch: port to C++ + * lib/argmatch.h [__cplusplus]: Add extern "C". + + argp: typo fix + * lib/argp-help.c: Typo in comment. + +2013-05-15 Paul Eggert + + manywarnings: update for GCC 4.8.0 + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): + Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which + are new to GCC 4.8. Remove -Wformat=2, -Wmissing-format-attribute, + -Wmissing-noreturn, as they are duplicates of other warnings. + Remove -Wunreachable-code, as it is removed in GCC 4.8 and + was documented to be flaky in earlier versions of GCC. + + spawn-tests, sys_socket-tests, sys_wait-tests: port to clang + * tests/test-spawn.c (main): + * tests/test-sys_socket.c (main): + * tests/test-sys_wait.c (main): + Don't have a switch value that isn't covered by a case. + + getaddrinfo-tests: port --enable-gcc-warnings to clang + * tests/test-getaddrinfo.c (simple): + Avoid casts from looser to stricter-aligned pointers. + + thread: port --enable-gcc-warnings to clang + * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]: + Include , to pacify a warning about pthread_sigmask. + + stdio: use __REDIRECT for fwrite, fwrite_unlocked + * lib/stdio.in.h (fwrite): + When working around bug 11959, use __REDIRECT rather than '#define + fwrite(...) ... fwrite (...) ...'. This is a more-targeted way to + fix the -Wunused-value issue with clang, and it works with GCC too. + Problem with targeting reported by Eric Blake in + . + (fwrite_unlocked): Treat like fwrite. I ran into this issue while + debugging the fwrite issue. + + stdio: port --enable-gcc-warnings to clang + * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely, + since the GCC workaround for fwrite does not pacify clang. + + sig2str: port --enable-gcc-warnings to clang + * lib/sig2str.c (sig2str): Avoid warning about unused printf argument. + + obstack: port --enable-gcc-warnings to clang + * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast): + Avoid casts from looser to stricter-aligned pointers. + + memchr2: port --enable-gcc-warnings to clang + * lib/memchr2.c (memchr2): + Avoid casts from looser to stricter-aligned pointers. + + mbsstr: port --enable-gcc-warnings to clang + * lib/mbsstr.c (knuth_morris_pratt_multibyte): + Avoid casts from looser to stricter-aligned pointers. + + malloca: port --enable-gcc-warnings to clang + * lib/malloca.c (struct header): New member 'magic', to avoid casts. + (mmalloca): Avoid casts from looser to stricter-aligned pointers. + + inttostr: port --enable-gcc-warnings to clang + * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare. + + warnings: port to clang + Problem reported by Daniel P. Berrange via Eric Blake in + . + * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro. + (gl_WARN_ADD): Use it. + +2013-05-11 Jim Meyering + + quotearg: do not read beyond end of buffer + * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the + end of an ARG for which no length was specified. With an N-byte + quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function + would read N-2 bytes beyond ARG's trailing NUL. This was triggered + via coreutils' misc/sort-debug-keys.sh test and detected by running + the test against a binary compiled with gcc-4.8.0's -fsanitize=address. + * tests/test-quotearg-simple.c (main): Add a test to trigger the bug. + * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h. + Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte + characters correctly." + +2013-05-11 Daiki Ueno + + lock: work around pthread recursive mutexes bug in Mac OS X 10.6 + * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the + compilation target is Mac OS X 10.6. + Problem reported by parafin and Andoni Morales in + and + . + +2013-05-11 Paul Eggert + + mkdir-p: remove assumptions about umask and mode + * lib/mkdir-p.c (make_dir_parents): Do not assume that the current + umask is 0, or that MODE is a subset of MODE_BITS. + +2013-05-10 Eric Blake + + maint.mk: catch more abuse of HAVE_DECL in syntax-check + * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex. + +2012-05-10 Stefano Lattarini + + deps: require Automake >= 1.9.6 in generated Makefile fragments + + That is the same minimal version required in the DEPENDENCIES file. + Moreover, the old code generated a requirement of Automake >= 1.5, + and that is an insanely outdated version. + + * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS. + * tests/havelib/rpathlx/Makefile.am: Likewise. + * tests/havelib/rpathly/Makefile.am: Likewise. + * tests/havelib/rpathlyx/Makefile.am: Likewise. + * tests/havelib/rpathlz/Makefile.am: Likewise. + * tests/havelib/rpathlzyx/Makefile.am: Likewise. + * tests/havelib/rpathx/Makefile.am: Likewise. + * tests/havelib/rpathy/Makefile.am: Likewise. + * tests/havelib/rpathz/Makefile.am: Likewise. + +2013-05-08 Eric Blake + + bootstrap: AC_INIT may have more than four parameters + * build-aux/bootstrap (extract_package_name): Correctly extract + non-empty tarname field. Avoid range in regex. + Based on a report by Sami Kerola . + +2013-05-07 Paul Eggert + + qacl: port to MS-Windows port of GNU Emacs + * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]: + Omit the duplicate ENOTSUP case. Needed for the MS-Windows + port of GNU Emacs. Problem reported by Eli Zaretskii in + . + +2013-05-07 Mike Frysinger + + acl: include quote.h + * lib/copy-acl.c: Include quote.h. + * lib/set-acl.c: Likewise. + +2013-05-06 Mike Frysinger + + fchownat, renameat, unlinkat: update statat dependencies + These modules use statat and lstatat, not fstatat; so depend on + the statat module, which was split out recently from fstatat. + * modules/fchownat, modules/unlinkat: Change fstatat to statat. + * modules/renameat: Likewise. Also delete fstat. + URL: http://bugs.gentoo.org/468790 + +2012-05-04 Stefano Lattarini + + Assume gnulib is checked out from Git, not CVS + + In fact, access to the gnulib repository through CVS has been + disabled, or more precisely, got broken and was never restored; see: + + + Note that support for CVS is not removed completely and unthinkingly + by this change: only support for CVS checkouts of gnulib itself is + removed. For example, the 'bootstrap' script still cater to .cvsingore + files and CVS directories, for the benefit of those poor gnulib clients + still stuck with CVS. Ditto for the 'gnulib-tool' script itself. + + * gnulib-tool: Simplify accordingly. + * posix-modules: Likewise. + * MODULES.html.sh: Likewise. + * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib + repository. + * doc/gnulib-intro.texi: Likewise. + * doc/gnulib-readme.texi: Likewise. + * doc/gnulib-tool.texi: In the examples and explanations, refer to a + sample '.gitignore' file rather than a sample '.cvsignore'. + * NEWS: Update. + * m4/extensions.m4: While at it, remove a comment mistakenly referring + to "CVS Autoconf" rather than "git Autoconf". + +2013-04-30 Paul Eggert + + utimensat-tests, etc.: try to fix some races + Problem reported by Bernhard Voelker in + . + I don't know whether this patch fixes that race condition, but it + fixes *some* race conditions, so it should be a win. + * modules/chown-tests (Depends-on): + * modules/fchownat-tests (Depends-on): + * modules/fdutimensat-tests (Depends-on): + * modules/futimens-tests (Depends-on): + * modules/lchown-tests (Depends-on): + * modules/stat-time-tests (Depends-on): + * modules/utimens-tests (Depends-on): + * modules/utimensat-tests (Depends-on): + Depend on nanosleep, not usleep. + * modules/chown-tests (test_chown_LDADD): + * modules/lchown-tests (test_lchown_LDADD): + * modules/stat-time-tests (test_stat_time_LDADD): + New macro. + * modules/fchownat-tests (test_fchownat_LDADD): + * modules/fdutimensat-tests (test_fdutimensat_LDADD): + * modules/futimens-tests (test_futimens_LDADD): + * modules/utimens-tests (test_utimens_LDADD): + * modules/utimensat-tests (test_utimensat_LDADD): + Add $(LIB_NANOSLEEP). + * modules/stat-time-tests (Files): Add tests/nap.h. + * tests/nap.h: Include , for INT_MAX. + (lt_mtime): Remove. + (diff_timespec): New function. + (get_stat): Rename from get_mtime. All callers changed. + (nap_works): Determine the needed delay by inspecting the + file system's timestamp jumps; this should be more reliable. + Look at both mtime and ctime, and take the maximum of the two jumps. + (nap_works, guess_delay): + Return a nanosecond count, not a microsecond count. + All callers changed. + (nap_works, nap): Use nanosleep, not usleep. Check for nanosleep + failure. + (nap): Multiply the guess by 1.125, to accommodate the case where + the file system's clock is a bit slower than nanosleep's clock. + * tests/test-stat-time.c (BASE): New macro. + Include nap.h. + (nap): Remove; nap.h now defines this. This removes a duplicate + implementation of 'nap'. + + utimens, utimensat: work around Solaris UTIME_OMIT bug + Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that + Linux kernel 2.6.32 does. Work around it in the same way. + * doc/posix-functions/futimens.texi (futimens): + * doc/posix-functions/utimensat.texi (utimensat): Document the bug. + * lib/utimens.c (fdutimens, lutimens): + * lib/utimensat.c (rpl_utimensat): Work around the bug. + + gettext: now it's your responsibility to add -I$(top_builddir)/intl + Formerly, it was your responsibility to do this for all Makefile.ams + other than Gnulib's. Now it's your responsibility to do it for + Gnulib's Makefile.am, too. + * NEWS: Document this. + * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl. + + acl: include errno.h to get errno + Reported by Daiki Ueno in + . + * lib/copy-acl.c, lib/set-acl.c: Include errno.h. + +2013-04-29 Paul Eggert + + tests: don't assume getdtablesize () <= 10000000 + * modules/cloexec-tests: + * modules/dup2-tests: + * modules/dup3-tests: + * modules/nonblocking-tests: + * modules/posix_spawn_file_actions_addclose-tests: + * modules/posix_spawn_file_actions_adddup2-tests: + * modules/posix_spawn_file_actions_addopen-tests: + * modules/unistd-safer-tests: + Depend on the getdtablesize module. + * tests/test-cloexec.c: + * tests/test-dup-safer.c: + * tests/test-dup2.c: + * tests/test-dup3.c: + * tests/test-fcntl.c: + * tests/test-nonblocking.c: + * tests/test-posix_spawn_file_actions_addclose.c: + * tests/test-posix_spawn_file_actions_adddup2.c: + * tests/test-posix_spawn_file_actions_addopen.c: + Don't assume getdtablesize () <= 10000000. + +2013-04-28 Paul Eggert + + extern-inline: work around bug in Sun c99 + * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): + Work around bug in Sun C 5.12 c99's implementation of 'inline'. + +2013-04-27 Paul Eggert + + qacl: new module, broken out from the acl module + This is for GNU Emacs, which wants the acl functions but does + not want 'error' invoked when they fail. + * lib/acl-internal.h: Do not include error.h, quote.h. + (ENOSYS, ENOTSUP): Remove; no longer needed. + (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid. + * lib/acl.h: Include . + (acl_errno_valid): New function. + * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h. + * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c. + * lib/set-acl.c: Rename from lib/set-mode-acl.c. + (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c. + (ACL_INTERNAL_INLINE): Remove; no longer needed. + * lib/file-has-acl.c (file_has_acl): + * lib/qcopy-acl.c (qcopy_acl): + * lib/qset-acl.c (qset_acl): + Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED. + * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h, + lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c), + lib/file-has-acl.c, m4/acl.m4 to qacl module. + Add lib/set-acl.c. + (Depends-on): Move extern-inline, fstat, sys_stat to qacl module. + Add qacl. + (configure.ac): Move gl_FUNC_ACL to qacl module. + (lib_SOURCES): Remove file-has-acl.c (moved to qacl module). + Rename set-mode-acl.c to set-acl.c. + * lib/acl-errno-valid.c: New file. + * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the + copy_acl function remains in copy-acl.c. + * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h. + (_): Remove; not needed. + * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the + set_acl function remains in set-acl.c (renamed from set-mode-acl.c). + * modules/qacl: New file, moved from the old modules/acl. + (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c. + Remove set-mode-acl.c, copy-acl.c. + (Depends-on): Remove error, gettext-h, quote. Add stdbool. + + alignof, intprops, malloca: port better to IBM's C compiler + * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__. + * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1. + * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__. + +2013-04-25 Daiki Ueno + + wctype-h: fix gettext link error on mingw + Reported by Josue Andrade Gomes and Takayuki Tsunakawa in + . + * lib/wctype.in.h [__MINGW32__]: Include before defining + rpl_towupper and rpl_towupper. + +2013-04-11 Dmitry V. Levin + + regex-tests, regex: allow glibc re_search behavior + * tests/test-regex.c (main): In test for glibc bug 15078, reformat + re_search input data to make the multi-character collating element + in it clearly visible, and treat re_search return code 0 as valid. + * m4/regex.m4 (gl_REGEX): Likewise. + +2013-03-30 Paul Eggert + + stdalign: doc fix + * doc/posix-headers/stdalign.texi (stdalign.h): + Gnulib doesn't support '_Alignof expr'. + +2013-03-29 Paul Eggert + + stdalign: port to stricter ISO C11 + ISO C11 says that _Alignof's operand must be a parenthesized type. + Problem reported by Eli Zaretskii in + . + * doc/posix-headers/stdalign.texi (stdalign.h): Document this. + * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr). + +2013-03-21 Paul Eggert + + sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin + Problem reported by Marco Atzeri in + . + * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]: + Simply delegate to the system in this case too. + Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only + if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to + be needed on Solaris either. + * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]: + Simply delegate to the system in this case. + +2013-03-19 Karl Berry + + * build-aux/gnupload: check for erroneous (with gnupload) use of + ftp-upload.gnu.org, tweak help. + +2013-03-19 Paul Eggert + + copy-file, rpmatch: fix problems found by cppcheck + Reported by Arno Onken in + . + * lib/rpmatch.c (try): Fix memory leak. + * lib/copy-file.c: Include "ignore-value.h". + (qcopy_file_preserving): Ignore chown value. + * modules/copy-file (Depends-on): Add ignore-value. + +2013-01-27 Jim Meyering + + prefix-gnulib-mk: give better diagnostics + * build-aux/prefix-gnulib-mk: Don't just "die". + Give better diagnostics upon failure. + +2013-03-13 Paul Eggert + + putenv: port to Solaris 10 + * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not + HAVE__PUTENV. Solaris 10 has a _putenv that's not declared and + is not what is wanted here. + * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's + declaration, not for its existence. + +2013-03-12 Paul Eggert + + mktime: fix configure typo + * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change. + +2013-03-12 Eric Blake + + regex-tests: skip UTF-8 test on mingw + * modules/regex-tests (Depends-on): Add localcharset. + * tests/test-regex.c (main): Use it to skip test on mingw. + +2013-03-11 Eric Blake + + tests: make it easier to bypass alarm time in debugger + * tests/test-file-has-acl.c (main): Allow gdb to override alarm. + * tests/test-memmem.c (main): Likewise. + * tests/test-passfd.c (main): Likewise. + * tests/test-ptsname.c (main): Likewise. + * tests/test-ptsname_r.c (main): Likewise. + * tests/test-strcasestr.c (main): Likewise. + * tests/test-strstr.c (main): Likewise. - Systemd: allow quoted Environment key=value pairs - Fixes RHBZ#1100547 + regex: port to mingw's recent addition of undeclared alarm + * doc/posix-functions/alarm.texi (alarm): Document that alarm + exists but still doesn't work in newer mingw. + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration, + not existence. Ensure SIGALRM is not trapped. + * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise. + * m4/regex.m4 (gl_REGEX): Likewise. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise. + * tests/test-regex.c (main): Use correct probe for alarm. -2014-06-30 Raphaël Pinson + putenv: avoid compilation warning on mingw + * lib/putenv.c (_unsetenv): Protect variable declaration. + (putenv): Fix indentation. - Simplevars: Support empty values +2013-03-11 Gary V. Vaughan -2014-06-26 Raphaël Pinson + unistd: don't prevent Tru64 Unix from using gnulib strtod. + * lib/unistd.in.h: be careful not to include un-needed system + stdlib.h from here, because that prevents gnulib stdlib.h from + defining rpl_strtod correctly. + +2013-03-09 Gary V. Vaughan + + vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous + changesets, but for the 'precision 0' test. + * tests/test-vasprintf-posix.c (test_function): Don't insist on + round-to-even, since POSIX says rounding is implementation-defined + and OS X 10.8.2 rounds 1.51 to 1 here. + + vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous + changeset. + * tests/test-vasprintf-posix.c (test_function): Don't insist on + round-to-even, since POSIX says rounding is implementation-defined + and OS X 10.8.2 rounds 1.5 to 1 here. - Sshd: support doseol and standardize code +2013-03-08 Paul Eggert + + vasnprintf-posix-tests: allow rounding 1.5 to 1 + * tests/test-vasnprintf-posix.c (test_function): Don't insist on + round-to-even, since POSIX says rounding is implementation-defined + and OS X 10.8.2 rounds 1.5 to 1 here. Reported by Gary V. Vaughan in + . + + bootstrap: port to FreeBSD + * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells + that treat '--' differently. Reported by Mats Erik Andersson in + . - Sshd: Use Build.opt_list +2013-03-08 Gary V. Vaughan + + regex: rename remaining __attribute calls to __attribute__. + 2012-02-25 changed definition of __attribute, but left some uses + unchanged, preventing compilation of regex module on most non-gcc + environments. + * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry) + (lookup_collation_sequence_value, build_range_exp) + (build_collating_symbol): Set attributes with newly renamed + __attribute__ decorator. + * lib/regex_internal.c (re_string_peek_byte_case) + (re_node_set_compare, re_node_set_contains): Likewise. + * lib/regexec.c (acquire_init_state_context): Likewise. + +2013-03-06 Bruno Haible + + execute: Revert last change, but use a different condition. + * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only + on Windows. + +2013-03-05 Eric Blake + + execute: drop dead code + * lib/execute.c (nonintr_close, nonintr_open): Delete. + +2013-03-04 Paul Eggert + + non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop + * m4/non-recursive-gnulib-prefix-hack.m4 + (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA. + Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in + . + +2013-03-04 Eric Blake + + test-getsockopt: avoid compiler warning + * tests/test-getsockopt.c (includes): Ensure close is declared. + +2013-03-02 Bruno Haible + + sys_types: Avoid autoconf warning about gl_SYS_TYPES_H. + * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE. + +2013-03-02 Bruno Haible + + gettext: Update to version 0.18.2. + * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular: + 2012-12-07 Stefano Lattarini + * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60. + +2013-02-25 Paul Eggert + + regex: merge patches from libc + + 2013-02-26 Siddhesh Poyarekar + * lib/regex_internal.h (__attribute__): Rename from __attribute. + All uses changed. + (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at) + (re_string_wchar_at, re_string_elem_size_at): + Mark function as possibly unused. - Sshd: Also make Host entries case-insensitive + 2013-02-12 Andreas Schwab [BZ #11561] + * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating + elements compare against the byte sequence of it, not its name. - Ssh: support case-insensitive entries everywhere +2013-02-21 Paul Eggert + + putenv: port better to native Windows + * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]: + Define WIN32_LEAN_AND_MEAN and include . + (_unsetenv): Use _putenv if available. + (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's + a bit less likely to cause damage. + (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]: + Fix the wrong value with SetEnvironmentVariable. + (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV + code better. + +2013-02-20 Paul Eggert -2014-06-24 Andy Grimm + regex: ignore old-style-definition warnings + * lib/regex.c: Add pragma to ignore these warnings. + Problem reported for GNU tar by Pavel Raiskup. - Add other valid controllers to cgconfig lens +2013-02-19 Paul Eggert -2014-06-19 Raphaël Pinson + getcwd: support coreutils better + Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD, + but this might not be correct in coreutils, which disables + the raw decl checks. Problem reported by Nagendra in + . + * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD. + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): + Test the getcwd function, not any macro, since getcwd.c wants the + function. + * m4/getcwd.m4 (gl_FUNC_GETCWD): + Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't + compile, as might happen if there's a macro but no function. + + strtod: support coreutils better + * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod. + HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which + disables the raw decl checks. This assumes there is an underlying + strtod, but that's a safe assumption these days. + (HAVE_RAW_DECL_STRTOD): Remove; no longer used. + + mountlist: port to HP NonStop + Reported by Joachim Schmitz in + . + * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function. + (MNT_IGNORE) [MNTOPT_IGNORE]: Use it. + +2013-02-18 Paul Eggert + + extern-inline: avoid compilation error with HP-UX cc + Reported by Richard Lloyd in + . + * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): + Suppress extern inline with HP-UX cc. This should be safe, + though it may hurt performance. Perhaps someone with some HP-UX + experience can come up with a higher-performance fix. + +2013-02-14 Paul Eggert + + putenv: fix heap corruption with mixed putenv/_putenv + Problem reported by Michael Goffioul in + . + * lib/putenv.c (putenv) [HAVE__PUTENV]: + Rely on _putenv to allocate the new environment. + * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro. + * modules/putenv (configure.ac): Use it. + +2013-02-11 Paul Eggert + + unsetenv etc.: port to Solaris 11 + GNU Emacs + * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c: + * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c: + * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including . + GNU Emacs's includes (which is not a great + idea but is too painful to fix right now), and without this gnulib + change was defining _GL_ARG_NONNULL incorrectly when + compiling unsetenv.c on Solaris 11. Fix the problem for + unsetenv.c, and fix other similar occurrences. + +2013-02-09 Paul Eggert + + secure_getenv: fix C++ declaration typo + * lib/stdlib.in.h (secure_getenv): Fix typo with return type + in _GL_CXXALIAS_SYS macro. Reported by John W. Eaton in + . + +2013-02-08 Paul Eggert + + careadlinkat: stop exporting careadlinkatcwd + Only Emacs used it directly, and Emacs no longer needs it. + * NEWS: Document this simplification. + * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c, + and make it static. Include , for abort, and unistd.h, + for readlink. + * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c. + Don't include stdlib.h; no longer needed. + * lib/careadlinkat.h (careadlinkatcwd): Remove decl. + * lib/relocwrapper.c: Adjust comment to match new dependencies. + * modules/areadlink (Depends-on): Add readlink. + (Maintainer): Add self. + * modules/careadlinkat (Depends-on): Remove readlink. + + extensions: port better to HP-UX + This is merged from git Autoconf. + * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): + On hosts that need _XOPEN_SOURCE, define it when configuring, too, + so that it's compatible with the value used when compiling. + + openpty: fix bug where HAVE_OPENPTY is mistakenly 1 + Problem reported by Mats Erik Andersson in + . + * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the + openpty function exists, not merely when we intend to replace it. + This corrects the 2013-01-31 patch, which mistakenly defined + HAVE_OPENPTY even on hosts that lacked it. + +2013-02-07 Paul Eggert + + secure_getenv: fix include typo + * lib/secure_getenv.c: Include config.h. Somehow I forgot! + + secure_getenv: port better to FreeBSD and Solaris + * lib/secure_getenv.c [!HAVE___SECURE_GETENV]: + Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid. + (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid. + This works better on BSDish platforms. + * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): + Test for issetugid if __secure_getenv is missing. + +2013-02-06 Paul Eggert + + extensions: port better to MINIX 3, HP-UX, autoheader 2.62 + Some of these changes are merged in from git Autoconf. + * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): + When deciding whether to define _XOPEN_SOURCE, inspect the + preprocessor macro __hpux instead of the more-heavyweight + operation of requiring AC_CANONICAL_HOST. Define _NETBSD_HOST on + MINIX, for MINIX 3. Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__, + as the key for __EXTENSIONS__. + + unistd: avoid namespace pollution on non-glibc systems + * lib/unistd.in.h: #define __need_getopt before including . + This avoids namespace pollution on non-glibc systems, by causing + gnulib unistd.h to behave more like glibc unistd.h. I also hope + that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in + . + +2013-02-04 Paul Eggert + + tmpdir: use secure_getenv + * lib/tmpdir.c (__secure_getenv) [!LIBC]: + Define to secure_getenv, not getenv. + * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv, + as that's now secure_getenv's job. + * modules/tmpdir (Depends-on): Add secure_getenv. + + tempname: use secure_getenv + * lib/tempname.c (__secure_getenv) [!_LIBC]: + Define to secure_getenv, not getenv. + * modules/tempname (Depends-on): + Add secure_getenv. + + secure_getenv: new module + * MODULES.html.sh (Extra functions based on ANSI C 89): + Add secure_getenv. + * doc/glibc-functions/secure_getenv.texi: New file. + * doc/gnulib.texi: Include it. + * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv: + New files. + * lib/stdlib.in.h (secure_getenv): New decl. + * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS): + * modules/stdlib (stdlib.h): + Add secure_getenv checks. + +2013-02-03 Paul Eggert + + getcwd: break fdopendir + save_cwd recursive loop (Bug#13516) + Reported for OS X 10.8.2 by Assaf Gordon in + . + * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if + !HAVE_OPENAT && !HAVE_FDOPENDIR. + * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c + so that they can be kept in sync more easily. Avoid PATH_MAX + test on the Hurd. Sync from test-getcwd.c for errno tests after + mkdir or chdir failure. + * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from + lib/getcwd.c. + (test_abort_bug): Do not test for the deep directory bug unless we + have openat support. Avoid PATH_MAX test on the Hurd. + + regex-tests, regex: fix bug: memset undeclared + * tests/test-regex.c: Don't include regex.h twice. Include + string.h, to declare memset. Christensen's report also mentioned + this issue. + * m4/regex.m4 (gl_REGEX): Keep test program more in sync with + test-regex.c, to avoid future problems like this. Remove + AC_INCLUDES_DEFAULT. Include . Don't include + twice. + + regex-tests: fix link errors on older Solaris + These need to link with @LIBINTL@ to get libintl_gettext. + Problem reported by Tom G. Christensen in + . + * modules/regex-tests (test_regex_LDADD): New macro. + +2013-01-31 Paul Eggert + + regex-tests: new module + * modules/regex-tests, tests/test-regex.c: New files. + + regex: fix off-by-one error in configure test + * m4/regex.m4 (gl_REGEX): Test should return 21, not 20. + +2013-01-31 Eric Blake + + regex: avoid infinite configure test + * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch. + +2013-01-31 Reuben Thomas + + openpty: fix bug where HAVE_OPENPTY wasn't defined + See the thread starting at: + http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html + * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the + openpty function exists, not merely when we intend to replace it. + +2013-01-30 Paul Eggert + + sys_time: port to Solaris 2.6 + There is a circularity problem on Solaris 2.6, where includes + for struct timespec. The include nesting is gnulib + , system , gnulib , system + , gnulib , system , gnulib + , gnulib , system , system + ; the last, innermost file needs struct + timestruc_t, which is defined in , which has not been + fully parsed. Problem reported by Tom G. Christensen in + . + * lib/sys_select.in.h: Treat Solaris 2.6's problem with + and like OSF/1's similar problem. + * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which + uses split double-inclusion guards. + +2013-01-29 Paul Eggert + + regex: test for buffer overrun + * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab, + for the just-fixed regex bug. + +2013-01-29 Andreas Schwab + + regex: fix buffer overrun in regexp matcher [BZ #15078] + * lib/regexec.c (extend_buffers): Add parameter min_len. + (check_matching): Pass minimum needed length. + (clean_state_log_if_needed): Likewise. + (get_subexp): Likewise. + +2013-01-28 Pádraig Brady + + mountlist: don't consider "devtmpfs" as dummy + * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs" + as there is storage associcated with it. + +2013-01-27 Paul Eggert + + futimens-tests, utimens-tests: Depend on gettext. + This works around a problem introduced in my 2013-01-12 patch, + which added @LIBINTL@ to these modules. + * modules/futimens-tests (Depends-on): + * modules/utimens-tests (Depends-on): Add gettext. + +2013-01-26 Eric Blake + + test-getpeername: fix typo + * tests/test-getpeername.c: Fix typo introduced in fd cleanup. + +2013-01-20 Bernhard Voelker + + bootstrap: remove the need for a sorted .gitignore file + * build-aux/bootstrap (insert_sorted_if_absent): Adjust and + rename to insert_if_absent(), so that we don't need or generate + a sorted .gitignore file. We do require a .gitignore with no + existing duplicate entries and enforce that. + (sort_patterns): Remove this function as we now use the simpler + technigue of inserting blacklist entries at the top of the file, + assuming gnulib won't be inserting !whitelist entries. + +2013-01-23 Paul Eggert + + readlinkat: don't depend on gl_FUNC_OPENAT + * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT. + Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4, + renameat.m4, symlinkat.m4; but one thing at a time. + + statat: new module, split out from fstatat + GNU Emacs needs the POSIX-specified fstatat, but not the + gnulib-specified statat and lstat. Split the latter two into a + new module 'statat'. + * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT. + * lib/openat.h, lib/statat.c (STATAT_INLINE): + Rename from FSTATAT_INLINE. All uses changed. + * modules/fstatat (Files): Remove lib/statat.c. + (gl_MODULE_INDICATOR([fstatat])): Remove. + (lib_SOURCES): Remove. + (Maintainer): Add self. + * modules/statat, modules/statat-tests, tests/test-statat.c: New files. + * tests/test-fstatat.c (BASE): Don't define if already defined. + (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead. + +2013-01-22 Paul Eggert + + tests: don't assume fd 99 is closed + * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c: + * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c: + * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c: + * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c: + * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c: + * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c: + * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c: + * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c: + * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c: + * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h: + * tests/test-fwrite.c, tests/test-getpeername.c: + * tests/test-getsockname.c, tests/test-getsockopt.c: + * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c: + * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c: + * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c: + * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c: + * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c: + * tests/test-renameat.c, tests/test-select.h, tests/test-send.c: + * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c: + * tests/test-symlinkat.c, tests/test-ttyname_r.c: + * tests/test-unlinkat.c, tests/test-unlockpt.c: + * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c: + Close file descriptor 99, instead of assuming it's already closed. + +2013-01-21 Paul Eggert + + stpncpy: port to OS X 10.8 + * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function. + Problem reported by Assaf Gordon in . + +2013-01-16 Paul Eggert + + unistd: port to recent mingw + * lib/unistd.in.h: Remove special invocation convention for mingw, + which breaks for the latest mingw version. See John W. Eaton in + . + + largefile: port better to Mac OS X 10.5 + This patch is backported from Autoconf git. + * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not + AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems + with ino_t size being different for configuration time versus + build/run time. Problem reported by PHO in + . + +2013-01-15 Paul Eggert + + doc: clarify -Werror + * doc/warnings.texi (warnings): -Werror is not always a bad idea; + clarify that it's intended for developers, not for ordinary builds, + and mention --enable-gcc-warnings as one possible use. + +2013-01-15 Andoni Morales Alastruey (tiny change) + + stdint: fix build with Android's Bionic fox x86 + * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h + was already included as _SSIZE_T_DEFINED_ might also be defined + in include/machine/_types.h, which is included by stdio.h + +2013-01-13 Paul Eggert + + net_if-tests: port to Solaris 7 + GCC 3.4.6 + Problem reported by Tom G. Christensen in + . + * tests/test-net_if.c (ni): Move to next the code that uses it, + so that it's declared only if needed. + +2013-01-12 Paul Eggert + + net_if-tests: port to older Solaris + Problem reported by Tom G. Christensen in + . + * modules/net_if-tests (NET_IF_LIB): New substitution. + (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB. + (HAVE_IF_NAMEINDEX): New C macro. + * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX. + + system-quote-tests: port to older Solaris + Problem reported by Tom G. Christensen in + . + * tests/test-system-quote-child.c (fopen, fread): Undef. + + c-xvasprintf etc.: fix link errors on older Solaris + These need to link with @LIBINTL@ to get libintl_gettext. + Problem reported by Tom G. Christensen in + . + * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD): + * modules/readtokens-tests (test_readtokens_LDADD): New macros. + * modules/futimens-tests (test_futimens_LDADD): + * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@. + +2013-01-10 Paul Eggert + + locale: port to Solaris 2.6 and 7 + GNU gettext + * lib/locale.in.h: Just include_next when + being invoked recursively. This prevents problems on Solaris 2.6 and 7 + when combining the localename module with GNU gettext 0.18.2. + Problem reported by Tom G. Christensen in + . + +2013-01-09 Paul Eggert + + stdlib: port to Solaris 2.6 + Also, the code worked on Solaris 7 through 9 only by accident. + Problem reported by Tom G. Christensen in + . + * lib/stdlib.in.h: If __need_system_stdlib_h is defined, + simply include the system stdlib.h. + * lib/getopt.in.h (__need_system_stdlib_h): + * lib/pthread.in.h (__need_system_stdlib_h): + * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]: + Define when including , to avoid problems at least for + the pthread case on Solaris 2.6 and 7. These .h files can get by + with the system stdlib.h. + +2013-01-06 Paul Eggert + + doc: update main copyright year + * doc/gnulib.texi: Update copyright date. + + doc: improve ISO 8601 discussion + * doc/parse-datetime.texi (Combined date and time of day items): + Specify more carefully what formats are supported and what is + done with excess precision. + +2013-01-05 Paul Eggert + + doc: avoid small caps + * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps; + they're more trouble than they're worth. Suggested by Karl Berry + in . + + regex: conform to strict C + * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C. + From Aharon Robbins. + + gnulib-tool: fix incompatibility with autopoint 0.18.2 + * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line. + Problem reported by Tom G. Christensen in + . + +2013-01-04 Paul Eggert + + fprintftime: bring back and reword fwrite comment + * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment. + + stdio: remove now-unnecessary stdio.c + Since stdio.in.h no longer uses inline functions, we no longer + need to compile the extern versions. + * lib/stdio.c: Remove. + * modules/stdio (Files): Remove lib/stdio.c. + (lib_SOURCES): Remove. + + unicodeio: depend on stdio, not ignore-value + * lib/unicodeio.c: Do not include ignore-value.h. + (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite. + * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value. + + fprintftime: depend on stdio, not ignore-value + * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h. + (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite, + since the stdio module arranges to silence that warning now. + * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value. + +2012-10-04 Simon Josefsson + + stdint-tests: Fix expanded-before-required-warning. + * modules/stdint-tests (Depends-on): Use AC_REQUIRE. + +2013-01-03 Paul Eggert + + fwrite: silence __wur only for older glibc versions + * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15. + This will help us remove this workaround some time in the far future. + +2013-01-03 Eric Blake + + fwrite: silence __wur without using inline + * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to + just gcc, and in a way that avoids inline issues. + * modules/stdio (Depends-on): Drop extern-inline. + +2013-01-03 Jim Meyering + + update-copyright: avoid copyright notice date corruption + Given a sequence of copyright year numbers in which the final + one was a two-digit number that happened to be a substring of + a preceding four-digit year number, we would mistakenly update + the substring (from two- to four-digit) rather than the two-digit + number at the end, which, combined with the addition of the current + 4-digit year number would yield two 5-digit year numbers, e.g., + here, it would convert the first "99" to "1999, 2013" rather than + the final one: + 1991, 99 + 11999, 20131, 1999 + * build-aux/update-copyright: Tighten a regexp. + * tests/test-update-copyright.sh: Add a test case to trigger the bug. + Reported by Joseph Myers in + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281 + +2013-01-01 Paul Eggert + + regex: omit needless signed-pointer casts + * lib/regcomp.c (build_charclass, build_charclass_op): + Use char *, not unsigned char *, for class name and extra. + The char values are always nonnegative so there's no need to + insist on unsigned char * here, and using char * removes the need + for casts. Reported by Aharon Robbins in + . + + regex: support Gawk, which never uses alloca + * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]: + Do not include in this case. Gawk doesn't supply a substitute + alloca.h and doesn't need one. + + 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 + O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...) + fails with errno == EBADF when fd is opened with O_PATH. + Reported by Jim Meyering in + . + * doc/posix-headers/fcntl.texi (fcntl.h): Document this. + * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY. + +2012-11-07 Paul Eggert + + test-utimens: speed up by taking shorter naps + * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay): + New functions. + (nap): Use them, to do a better job of guessing the delay. + On Fedora 17 with ext4 atop md atop hard disks, this made + test-utimens run 10x faster, because the test napped for + 1 ms at a time rather than 20 ms. Reported by Stefano Lattarini in + . + +2012-11-07 Jim Meyering + + mountlist.c: fix a compilation failure + * lib/mountlist.c (read_file_system_list): Fix a compilation failure + I introduced while transforming commit v0.0-7683-g613bcb6 + +2012-11-05 Paul Eggert + + errno: port to LynxOS 178 2.2.2 + Problem reported by Joel Brobecker in + . + * doc/posix-headers/errno.texi (errno.h): Document this. + * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros. + * lib/strerror-override.c, lib/strerror-override.h (strerror_override): + Supply a string for EILSEQ. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ. + +2012-11-05 Paul Eggert + + fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available + Linux kernel 2.6.39 introduced O_PATH (see + ) and this is a better fallback + for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available. + * doc/posix-headers/fcntl.texi (fcntl.h): Document this. + * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH. + * lib/fcntl.in.h (O_ACCMODE): + * tests/test-fcntl-h.c (main): + Do not reject O_ACCMODE merely because it has more than the + minimal number of bits, as POSIX allows extensions here. + +2012-11-04 Andrew Warshall (tiny change) + + mountlist: do not classify a bind-mounted dir entry as "dummy" + * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit + the "none"-testing clause. + (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the + exception for bind-mounted directories. + +2012-11-01 Akim Demaille + + quote: provide a means to escape strings with nul characters + * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions. + (quote, quote_n): Rename formal arguments for consistency with + quotearg. + +2012-10-30 Paul Eggert + + test-raise: don't assume 199 is an invalid signal + * tests/test-raise.c (main): Don't assume 199 is not a signal number. + + sh-quote-tests: port to Solaris 9 + * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@. + Problem reported by Dagobert Michelsen in + . + +2012-10-28 Jim Meyering + + maint.mk: rename a new configurable variable + * top/maint.mk (_gl_translatable_string_re): Rename from + translation-markers: _gl_ prefix to insulate from user Makefile code, + and the _re suffix to inform that it's a regular expression. + +2012-10-26 Eric Blake + + maint.mk: let packages tweak sc_po_check pattern + * top/maint.mk (sc_po_check): Add translation-markers, to allow + finding files with other translation markers. + +2012-10-16 Paul Eggert + + euidaccess: speed up 'configure' on GNU hosts + * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS): + Check for setregid here, not in gl_PREREQ_EUIDACCESS, since + it's needed only in this case. Use AC_CHECK_DECLS, not + AC_CHECK_DECLS_ONCE. + (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h + or AC_REQUIRE for AC_FUNC_GETGROUPS. + + * lib/regexec.c (re_search_internal): Fix grammar in comment. + +2012-10-15 Paul Eggert + + fchmodat, fchownat, fstatat: port to non-inlining compilers + Problem reported for FreeBSD 9 by Jim Meyering in + . + * lib/chmodat.c, lib/chownat.c, lib/statat.c: + New files, which define FCHMODAT_INLINE etc. + * lib/fchmodat.c (FCHMODAT_INLINE): + * lib/fchownat.c (FCHOWNAT_INLINE): + * lib/fstatat.c (FSTATAT_INLINE): + Remove, as chmodat.c etc. now do this. + * modules/fchmodat (Files): Add lib/chmodat.c. + * modules/fchownat (Files): Add lib/chownat.c. + * modules/fstatat (Files): Add lib/statat.c. + +2012-10-15 Jim Meyering + + fchmodat.c, fchownat.c: compile-impeding typos + * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/ + * lib/fchownat.c (FCHOWNAT_INLINE): Likewise. + Introduced in commit v0.0-7636-gd202279. + +2012-10-15 Paul Eggert + + fcntl-h: support GNU flags like O_IGNORE_CTTY + * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY, + O_NOLINK, and O_NOTRANS. These flags are nonzero on GNU/Hurd + systems. Discovered when using fcntl-h with GNU Emacs, which uses + O_IGNORE_CTTY. Fix misspelling of F_SETLKW. + * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS): + Define to 0 if not already defined. + * tests/test-fcntl-h.c: Test these new flags. + +2012-10-14 Paul Eggert + + faccessat, etc.: support AT_FDCWD-only use + * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support + this function only if its first argument is AT_FDCWD. + Emacs wants faccessat for AT_EACCESS but not for any first-arg + values other than AT_FDCWD, so it doesn't want all the openat + machinery with fchdir etc. + * modules/faccessat, modules/fchmodat, modules/fchownat (Files): + * modules/fstatat, modules/mkdirat, modules/openat (Files): + * modules/unlinkat (Files): + Remove lib/openat-priv.h, as at-internal supplies this file. + Removing this file here allows us to support programs like Emacs + that avoid at-internal. + + faccessat: speed up 'configure' on mainstream hosts + * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): + Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE, + since it's only on unusual platforms that we need to check for + 'access', and it's better not to slow 'configure' down on all + platforms. + + faccessat: port to Solaris 10 + * lib/faccessat.c: Include , for AT_EACCESS. + Needed on Solaris 10, which doesn't have AT_EACCESS, + so we need the Gnulib fcntl.h, which defines it. + +2012-10-14 Pádraig Brady + canonicalize: fix C89 compilation + * lib/canonicalize.c (canonicalize_filename_mode): Swap order of + declarations so C89 is supported. Also remove the comment + referencing memorty allocation as the suggested feature could + not be implemented as suggested. + Reported by Michael Goffioul. + +2012-10-12 Paul Eggert + + group-member: omit unnecessary dependencies + This is for Emacs, which has its own allocator and where we + don't want to use xalloc. + * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h, + since we no longer use xmalloc. Do not include stdbool.h, since + the changes below happen to remove the only use of bool. + (GROUPBUF_SIZE): New constant. + (struct group_info): Remove n_groups member. Add groupbuf member. + This lets us get the groups without using malloc, usually. + (free_group_info, get_group_info): Adjust to this. + (get_group_info): Return the number of groups found, or -1 on error. + Use plain malloc not xmalloc, and treat its failure as if there + are no groups, as the user already loses in case of error. + (group_member): Simplify, based on changes to get_group_info. + * modules/group-member (Depends-on): Remove dependencies on + xalloc and stdbool. Add dependency on xalloc-oversized. + +2012-10-08 Alexandre Duret-Lutz (tiny change) + + gethrxtime: port to C++ + * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C". + +2012-10-04 Paul Eggert + + ptsname: fix macro-name typo + * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE. + +2012-10-03 Simon Josefsson + + inttostr: Relax license. + * modules/inttostr (License): Change from LGPL to LGPLv2+. + +2012-10-03 Eric Blake + + ptsname_r: support ptys returned by FreeBSD posix_openpt + * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already + lives in /dev/pts/. + +2012-10-02 Eric Blake + + pselect: reject invalid file descriptors + * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug. + * lib/pselect.c (rpl_pselect) [!win32]: Work around it. + * modules/pselect (Depends-on): Add dup2. + * doc/posix-functions/pselect.texi (pselect): Document this. + + select: reject invalid file descriptors + * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug. + * lib/select.c (rpl_select) [!win32]: Work around it. + * modules/select (Depends-on): Add dup2. + * doc/posix-functions/select.texi (select): Document this. + + select: enhance test + * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd): + New functions. + (test_function): Enhance test. + (do_select_bad_fd): Avoid any stale errno values. + + ptsname: reject invalid file descriptors + http://www.austingroupbugs.net/view.php?id=503 + * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness. + * modules/stdlib (Makefile.am): Replace witness. + * lib/stdlib.in.h (ptsname): Allow for replacement. + * modules/ptsname (configure.ac): Trigger replacement. + * doc/posix-functions/ptsname.texi (ptsname): Document this. + +2012-10-02: Nikos Mavrogiannopoulos (tiny change) + + hash-pjw-bare: new module + * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c. + * lib/hash-pjw-bare.h: Likewise. + * modules/hash-pjw-bare: New file. + * MODULES.html.sh (Misc): Add it. + +2012-10-02 Eric Blake + + manywarnings: cater to more gcc infelicities + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for + -Wuninitialized without -O. + +2012-10-01 Ed Maste (tiny change) + + select, poll tests: Make setsockopt invocation effective. + * tests/test-poll.c (open_server_socket): Move setsockopt() call before + the bind() call. + * tests/test-select.h (open_server_socket): Likewise. + +2012-09-30 Paul Eggert + + sockets, sys_stat: restore AC_C_INLINE + This undoes the 2012-09-22 patch. + * m4/sockets.m4 (gl_SOCKETS): + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): + Restore AC_C_INLINE, since MSVC requires __inline or _inline + and does not support plain 'inline'. Reported by Bruno Haible in + . + +2012-09-30 Bruno Haible + + localeconv tests: Avoid test failure on OpenIndiana. + * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant) + skip the 'grouping' and 'mon_grouping' tests. + Reported by Jim Meyering. + +2012-09-30 Bruno Haible + + havelib: Follow libtool developments. + * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4. + Suggested by Simon Josefsson. + +2012-09-29 Jim Meyering + + fstatat.c: fix a compile-impeding typo + * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/ + Introduced in commit v0.0-7636-gd202279. + Mats Erik Andersson reported the resulting OpenBSD compilation failure. + +2012-09-28 Akim Demaille + + extern-inline: provide a -Wundef safe config.h + * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect + "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__" + to produce a -Wundef warning free config.h. + +2012-09-26 Paul Eggert + + hash-pjw: relax license to LGPLv2+ + * modules/hash-pjw (License): Relax, with consent of author. + +2012-09-25 Akim Demaille + + maint.mk: fix strict vs. lazy variable issues with RELEASE + * top/maint.mk (_equal): New function. + (member_check): Strip the result to avoid spurious spaces. + (url_dir_list): Do not use ifeq, which is strict, as it will + require RELEASE_TYPE to be defined. + (announcement_Cc_, announcement_mail_headers_): Likewise: instead + of relying on ifeq, use $(release_type) to dispatch (lazily) onto... + (announcement_Cc_alpha,announcement_mail_headers_alpha) + (announcement_Cc_beta,announcement_mail_headers_beta) + (announcement_Cc_stable,announcement_mail_headers_stable): these. + (release): Do not depend on $(release-type), as it forces its + evaluation. Bounce to it. + +2012-09-25 Akim Demaille + + maint.mk: formatting changes + * top/maint.mk: Indent bodies of if's. + +2012-09-21 Akim Demaille + + maint.mk: factor the validation of RELEASE_TYPE + With help from Jim Meyering. + http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html + * top/maint.mk (_empty, _sp): Move their definition earlier. + (member-check, release-type): New. + Use the latter instead of $(RELEASE_TYPE). + Remove now useless local checks. + +2012-09-20 Akim Demaille + + maint.mk: provide "make upload" to ease uploading + See + . + Do not depend simply on the current $(VERSION), as there may have been + new commits since the tarball generation. Rather, rely on $(RELEASE), + as "make release-commit" already does. + + For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for + "make TYPE". + + * top/maint.mk (upload_command, upload, release): New. + (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE). + (VERSION): first word of $(RELEASE) is always right. + (emit_upload_commands): Adjust. + * top/README-release: Update. + +2012-09-20 Akim Demaille + + maint.mk: silent rules + With help from Stefano Lattarini. + * top/maint.mk (writable-files): Use $(AM_V_GEN). + (announcement): Use $(AM_V_at). + +2012-09-24 Paul Eggert + + localename: port gl_locale_name_thread_unsafe to FreeBSD + * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD, + and use the simpler FreeBSD implementation on Mac OS X as well. + Original idea suggested by Ed Maste in + . + +2012-09-22 Paul Eggert + + binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline' + * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c: + * lib/mbuiter.c, lib/xsize.c: New files. + * lib/binary-io.h (BINARY_IO_INLINE): + * lib/eealloc.h (EEALLOC_INLINE): + * lib/mbfile.h (MBFILE_INLINE): + * lib/mbiter.h (MBITER_INLINE): + * lib/mbuiter.h (MBUITER_INLINE): + * lib/xsize.h (XSIZE_INLINE): + New macros. + Replace all uses of 'static inline' with them. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/eealloc.m4 (gl_EEALLOC): + * m4/mbfile.m4 (gl_MBFILE): + * m4/mbiter.m4 (gl_MBITER): + * m4/xsize.m4 (gl_XSIZE): + Do not require AC_C_INLINE. + * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c + * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c. + * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c. + * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c. + * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c. + * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c. + * modules/binary-io, modules/eealloc, modules/mbfile: + * modules/mbiter, modules/mbuiter: + (Depends-on): Add extern-inline. + + pipe-filter-gi, pipe-filter-ii: better use of 'inline' + * lib/pipe-filter-aux.c: New file. + * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro. + Replace all uses of 'static inline' with it. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * lib/pipe-filter-gi.c (filter_init, filter_cleanup) + (filter_retcode): No real need for inline here. + * modules/pipe-filter-gi, modules/pipe-filter-ii: + (Files): Add lib/pipe-filter-aux.c. + (Depends-on): Add extern-inline. + (configure.ac): Do not require AC_C_INLINE. + (lib_SOURCES): Add pipe-filter-aux.c. + + fdutimensat: omit unnecessary AC_C_INLINE + * modules/fdutimensat (configure.ac): Remove AC_C_INLINE. + + fchmodat, fchownat, fstatat: use extern-inline + * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE): + * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE): + * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE): + New macros. + * lib/openat.h: + Replace all uses of 'static inline' with them. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * modules/fchmodat, modules/fchownat, modules/fstatat: + * modules/openat-h: + (Depends-on): + Add extern-inline. + (configure.ac): Remove AC_C_INLINE. + + acl, mbchar, priv-set: use extern-inline + * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE): + * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE): + * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE): + New macros. + * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h: + Replace all uses of 'static inline' with it. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/acl.m4 (gl_FUNC_ACL): + * m4/mbchar.m4 (gl_MBCHAR): + * m4/priv-set.m4 (gl_PRIV_SET): + Remove AC_C_INLINE, since 'inline' is no longer used directly. + * modules/acl, modules/mbchar, modules/priv-set (Depends-on): + Add extern-inline. + + sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases + * m4/sockets.m4 (gl_SOCKETS): + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): + Remove AC_C_INLINE. Here, 'inline' is used only in MSVC + environments where it's already guaranteed to work, so we needn't + check for it at 'configure'-time. + + tls-tests: omit unnecessary 'inline' + * tests/test-tls.c (perhaps_yield): No longer inline. + Simplicity and portability trump efficiency in test cases. + + utimens-tests: avoid unnecessary 'inline' + * modules/fdutimensat-tests (configure.ac): + * modules/futimens-tests (configure.ac): + * modules/utimens-tests (configure.ac): + * modules/utimensat-tests (configure.ac): + Remove AC_C_INLINE. + * tests/test-utimens-common.h (ctime_compare): + No longer inline. Simplicity and portability trump efficiency here. + + misc: don't limit commentary to inline functions + * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c: + * lib/xalloc-oversized.h, lib/xsize.h: + Contrast macros to functions in general, not just to inline functions, + when the commentary does not apply only to inline functions. + +2012-09-20 Jim Meyering + + non-recursive-gnulib-prefix-hack: new module + * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from + the file that originated in Bison. + * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is + largely copied from a snippet that resided in bison's configure.ac. + * modules/non-recursive-gnulib-prefix-hack: New file. + * MODULES.html.sh (Support for maintaining and releasing projects): + Add it. + +2012-09-18 Jim Meyering + + maint.mk: generalize _gl_tight_scope for non-recursive make + * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption + that *.h would describe additional .h files in the directory + specified by $(_gl_TS_dir). I.e., add this... + (_gl_TS_other_headers): New variable. + + maint.mk: exempt trailing blanks found in "binary" files + * top/maint.mk (sc_trailing_blank): Filter out any matches found in + "binary" files, as reported by grep. Suggested by Richard W.M. Jones + in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902 + +2012-09-17 Jim Meyering + + maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX + * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive + match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones + in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902 + +2012-09-17 Jim Meyering + + maint.mk: teach sc_prohibit_magic_number_exit to accept 77 + * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about + uses like "exit (77)". "77" is automake's "skip this test" exit code. + It is not in the same category as "exit (0)" or "exit (1)", and + besides, I know of no symbolic name for that 77. Reported by + Richard W.M. Jones in + http://thread.gmane.org/gmane.comp.emulators.guestfs/1902 + +2012-09-17 Jim Meyering + + maint.mk: relax sc_prohibit_strcmp, to avoid a false positive + * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match + all uses of #define, not just those that start in column 1. + Richard W.M. Jones reported a false positive in + http://thread.gmane.org/gmane.comp.emulators.guestfs/1902 + +2012-09-16 Paul Eggert + + localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX + * lib/localcharset.c (locale_charset) [DARWIN7]: + Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1, + as these two values are incompatible. Problem reported by Max Horn. + For more discussion, please see + . + + doc: document sticky-EOF issue + * 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): + Mention that glibc and default Solaris do not conform to + C99 and POSIX-2001 or later, with respect to how getchar + etc. behave when feof reports nonzero. + +2012-09-13 Joachim Schmitz (tiny change) + + poll: fix poll(0, NULL, msec) + * lib/poll.c: don't exit early if NULL is the 1st arg to poll(), + but nfd is 0. In that case poll should behave like select. + +2012-09-13 Joachim Schmitz (tiny change) + Paolo Bonzini + + poll: fix for systems that can't recv() on a non-socket + * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor + is readable. In this case POLLHUP will not be supported. + * doc/posix-functions/poll.texi: Document this. + +2012-09-13 Paolo Bonzini + + poll/select: document portability problems not fixed by Gnulib. + * doc/posix-functions/poll.texi: poll does not work well on + pipes under Windows. It has the same limitations as select on + BeOS. + * doc/posix-functions/select.texi: select does not work well + on pipes under Windows. - Xymon_Alerting: refactor lens (GH issue #89) +2012-09-10 Paul Eggert + + fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT + * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug + that caused a GNU tar test failure. Problem reported by Jez Wain; see + . -2014-06-11 Nick +2012-09-06 Eric Blake - Sudoers: Allow quoted string in default str/bool parameters - Made string or bool parameters able to be quoted strings like non-bool strings. - Also added "mailfrom" parameter to the list of string/bool parameters - and removed duplicates from that list. + net_if: give more details about the bug being fixed + * doc/posix-headers/net_if.texi: Add clarification. + +2012-09-05 Eric Blake -2014-06-06 Frank Grötzner + net_if: new module + * modules/net_if: New module, borrowing ideas from netinet_in. + * m4/net_if_h.m4: New file. + * lib/net_if.in.h: Likewise. + * doc/posix-headers/net_if.texi (net/if.h): Document it. + * MODULES.html.sh (lacking POSIX:2008): Likewise. + * tests/test-net_if.c: Make function checks conditional. + Reported by Jasper Lievisse Adriaanse . + +2012-09-05 Mats Erik Andersson (tiny change) + + readutmp: fix non-portable UT_PID use + * lib/readutmp.c (desirable_utmp_entry) : + Use `UT_PID (u) > 0' as absolute condition. - add support for mtu relevant parameters fragment and mssfix +2012-09-04 Jim Meyering -2014-06-05 Raphaël Pinson + fts: reduce two or more trailing spaces to just one, usually + * lib/fts.c (fts_open): Upon initialization, if a name ends in two + or more slashes, trim all but the final one. But if a name consists + solely of two slashes, don't modify it. If it consists solely of + three or more slashes, strip all but one. - Update NEWS and AUTHORS + This is part of the solution to a minor problem with rm: + it would print a bogus ELOOP diagnostic when failing to remove + the slash-decorated name of a symlink-to-directory: + + $ mkdir d && ln -s d s && env rm -r s/ + rm: cannot remove 's': Too many levels of symbolic links -2014-06-05 fonk + With the change below and a trivial don't-trim-trailing-slashes + adjustment to remove.c, it does this: - OpenVPN/ Add support for setting script-security - Setting script security is especially needed when using learn-address, - which we can already set via augeas but is useless without script-security. + $ env rm -r s/ + rm: cannot remove 's/': Not a directory + + Improved by: Eric Blake + + fts: when there is no risk of overlap, use memcpy, not memmove + * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/ -2014-06-04 Dominic Cleal +2012-08-29 Paul Eggert + + stdbool: be more compatible with mixed C/C++ compiles + * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]: + Define to bool, true, false, respectively, as GCC's builtin + stdbool.h does. Problem reported by Michael Goffioul in + . - * man/augtool.pod: fix description of 'move' alias +2012-08-28 Jim Meyering -2014-06-03 Dominic Cleal + revert last change: it was not needed + * tests/test-vc-list-files-git.sh: There's already a test for + a working git, just below. - * src/augrun.c: remove unused "filename" argument from dump-xml command - Fixes RHBZ#1100106 +2012-08-28 Jim Meyering - * man/augtool.pod: update man page with --span option + tests: test-vc-list-files-git.sh: skip if git is not available + * tests/test-vc-list-files-git.sh: Skip this test when git is + not available. -2014-06-02 Raphaël Pinson +2012-08-26 Bruno Haible - Update AUTHORS and NEWS + gnulib-tool: Remove no-op option --no-changelog. + * gnulib-tool (func_usage): Don't mention --no-changelog. + (do_changelog): Remove variable. + Reported by Dmitriy Selyutin . -2014-06-02 Joel Loudermilk +2012-08-24 Paul Eggert - Multipath: add support for rr_min_io_rq + doc: remove fdl-1.2.texi + It is no longer used or maintained, and its use of @acronym + is problematic. See the thread containing + . + * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi. + * doc/old-licenses/fdl-1.2.texi: Remove. -2014-06-02 Dominic Cleal + execinfo: port to FreeBSD + * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo + if needed, as in FreeBSD. Reported by Bastien Roucariès in + . + * modules/execinfo (Link): Add $(LIB_EXECINFO). - * man/augtool.pod: update man page with new commands - Fixes RHBZ#1100077 +2012-08-23 Jim Meyering - * src/augtool.c: add command aliases to autocomplete - Fixes RHBZ#1100184 + xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning + * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration, + to placate gcc's -Wold-style-declaration. - Ldso: handle "hwcap" lines - Fixes #100 +2012-08-24 Paul Eggert - Rsyslog: parse property filters and file actions with complex templates - Fixes RHBZ#1083016 + doc: do not use @acronym + * doc/inet_ntoa.texi (inet_ntoa): + * doc/parse-datetime.texi (Seconds since the Epoch) + (Specifying time zone rules): + * doc/posix-functions/inet_ntoa.texi (inet_ntoa): + Don't use @acronym. Problem reported by John Darlington in + . -2014-06-02 Raphaël Pinson +2012-08-23 Paul Eggert - Update NEWS + stdnoreturn: port to newer GCCs + * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with + bleeding-edge GCC that complains about 'int _Noreturn foo (void);'. + Problem reported by Jim Meyering in + . + Also, rename the 'test' function to a void a clash with the + already-supplied 'main' function; this fixes a bug that incorrectly + rejected GCC 4.7.1's . + * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): + Document GCC problem. -2014-06-02 Pat Riehecky +2012-08-22 Reuben Thomas - Added tuned lense + pipe-filter: fix comment typo + * lib/pipe-filter.h: Mention correct function. -2014-06-02 Raphaël Pinson +2012-08-22 Paul Eggert - Update NEWS and AUTHORS + execinfo: new module + This is for Emacs. Currently, it provides a no-effect stub + on all platforms where it does not already work. + It already works on glibc-based systems, and on Solaris 11. + * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo: + New files. + * doc/glibc-headers/execinfo.texi (execinfo.h): + * MODULES.html.sh (Misc): Document it. -2014-06-02 Lorenzo M. Catucci +2012-08-20 Paul Eggert - Add a little bit of ducumentation - for both the shadow and the gshadow lenses + extern-inline: support old GCC 'inline' + * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline' + if available. This applies to GCC versions 2.7 through 4.2, or + when newer GCC is using -fgnu89-inline. The goal is to address + some of the performance issues mentioned by Bruno Haible in + . -2014-06-02 Lorenzo M. Catucci +2012-08-20 Eric Blake - Add a lens for /etc/gshadow file format - and wire-up its test to the runner's list in Makefile.am + maint.mk: avoid redundant file name in message + * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics) + (sc_prohibit_defined_have_decl_tests, sc_const_long_option) + (sc_makefile_path_separator_check): Remove bogus $(ME). - Also add a mock /etc/gshadow in tests/root +2012-08-20 Mike Frysinger -2014-06-02 Lorenzo M. Catucci + timer-time: fix link order when static linking on glibc + * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread + _after_ -lrt so that it's significant. - Add a lens for /etc/shadow file format - and wire-up its test to the runner's list in Makefile.am +2012-08-19 Paul Eggert - Also add a mock /etc/shadow in tests/root + timespec: omit unnecessary AC_C_INLINE + * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE. -2014-06-02 Lorenzo M. Catucci + stat-time: omit unnecessary AC_C_INLINE + * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME): + Do not require AC_C_INLINE. - Refactor and document - - import already defined lenses from the respective modules - instead of defining them internally + ignore-value: omit unnecessary AC_C_INLINE + * modules/ignore-value (configure.ac): Do not require AC_C_INLINE. - - add a missing \r to the excluded chars in sto_to_col + sys_select: avoid 'static inline' + * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline. - - add some documentation + mktime: avoid 'static inline' + * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline. + * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE. -2014-05-14 Michael Tiernan +2012-08-19 Bruno Haible - * HACKING: fix git repository URL + gnulib-tool: Improve coding style. + * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in + func_emit_lib_Makefile_am. + Reported and fix suggested by Dmitriy Selyutin . -2014-05-11 Mike Latimer +2012-08-19 Bruno Haible - Device_map: Parse all device.map files under /boot + gnulib-tool: Fix indentation. + * gnulib-tool (func_import): Fix indentation. -2014-05-08 Raphaël Pinson +2012-08-19 Bruno Haible - CPanel: Allow colons in keys + gnulib-tool: Remove old file names from .cvsignore, .gitignore. + * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command + on the list of removed files. - CPanel: New lens to parse cpanel.config files +2012-08-17 Paul Eggert -2014-05-05 Raphaël Pinson + test-parse-datetime: avoid glibc leap-second glitch + * tests/test-parse-datetime.c (main): Set TZ to US Eastern time + with the 2012 rules. Problem reported by Bruce Dubbs in + . - Simplevars: Support flags +2012-08-14 Bruno Haible -2014-04-24 Raphaël Pinson + gnulib-tool: Fix indentation of generated gnulib-comp.m4 file. + * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation + from argument. + Reported and fix suggested by Dmitriy Selyutin . - Shellvars: Allow any kind of quoted values in block conditions (GH issue #118) +2012-08-14 Eric Blake -2014-04-17 Raphaël Pinson + ldexp: relax license + * modules/ldexp (License): Trivial relax, since the module only + provides a permissively licensed m4 file. - Sssd: Allow ; for comments +2012-08-13 Bruno Haible -2014-04-15 Raphaël Pinson + gnulib-tool: Fix persistence of --witness-c-macro option. + * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO. + Reported by Dmitriy Selyutin . - Allow empty quoted values (GH issue #115) +2012-08-11 Eric Blake - Allow continued lines inside quoted value (GH issue #104) + count-leading-zeros: use a lookup table on non-gcc compilers + * lib/count-leading-zeros.h (count_leading_zeros_32): Use an + alternate implementation, suggested by Jim Meyering. -2014-04-12 Raphaël Pinson +2012-08-10 Eric Blake + + count-leading-zeros: new module + * modules/count-leading-zeros: New module. + * m4/count-leading-zeros.m4: New file. + * lib/count-leading-zeros.h: Likewise. + * modules/count-leading-zeros-tests: New test. + * tests/test-count-leading-zeros.c: New file. + * MODULES.html.sh (Integer arithmetic functions): Document it. - Update NEWS and AUTHORS +2012-08-07 Simon Josefsson + Jim Meyering -2014-04-12 Robert Drake + maintainer-makefile: Fix syntax error with dash. + * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments. + (sc_vulnerable_makefile_CVE-2012-3386): Likewise. - syslog, support for "# !" style comments - This makes it so if a comment begins with "# " then +, -, or ! it's - treated as a comment and won't have a special meaning. +2012-08-05 Jim Meyering - fixes #65 + extern-inline: also ignore -Wmissing-declarations + * m4/extern-inline.m4: Also ignore -Wmissing-declarations, + required with gcc-4.8.0-to-be. -2014-04-12 Robert Drake + maint.mk: sc_prohibit_magic_number_exit: avoid new false positives + * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches + for /error ?([^,]*)/. This avoids false-positives for strings like + "Unknown error (252)", introduced via commit v0.0-7538-g92875a6. - dhclient, add support for option modifiers - This adds basic support for append|prepend|supercede|default +2012-08-02 Stefano Lattarini - I believe it has the same limitations as the existing "option" support. - Any arguments supplied to the option can't have a space. + gnumakefile: better interaction with Automake-NG + * modules/gnumakefile [Makefile.am]: The makefiles generated by + Automake-NG always contain a definition of VPATH, even in non-VPATH + builds (its value being simply '.' in that case). So, in the + 'clean-GNUmakefile' rule, to determine whether running under a + VPATH setup, compare '$(srcdir)' to '.' rather than checking whether + '$(VPATH)' expands to the empty string. - fixes #95 +2012-08-02 Carlo de Falco (tiny change) -2014-04-12 Vincent Brillault + base64: Use extern C scope in header file, for C++. + * lib/base64.h: Add C++ namespace protection. - pam: partial support of arguments enclosed in [ .. ] - Pam.conf(5) manual page states 'module-arguments are a space separated list - of tokens that can be used to modify the specific behavior of the given PAM. - Such arguments will be documented for each individual module. Note, if you - wish to include spaces in an argument, you should surround that argument with - square brackets.', but such arguments are not supported by the pam lenses, as - expressed in the comments 'This isn't entirely right: arguments enclosed in - [ .. ] are allowed and should be parsed as one'. +2012-08-02 Paul Eggert - This commit add basic support of such arguments via the regex: - '/(\[[^]#\n]+\]|[^[#\n \t][^#\n \t]*)/' + stat-time, timespec, u64: support naive out-of-dir builds + * lib/stat-time.c, lib/timespec.c, lib/u64.c: + Use '#include "foo.h"', not '#include ', when including + one's own interface. This works better when configuring with + out-of-directory builds, since packages need not add an + otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES. - It is only a partial support as some corner cases are not covered: - - Multi line arguments (lines ending with '\') - - Arguments containing a '[' (escaped via '\') +2012-08-01 Paul Eggert -2014-04-12 Robert Drake + utimens: use extern-inline + * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h. + * lib/utimens.h: Add copyright notice, since this is now large enough + to copyright. Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + (_GL_UTIMENS_INLINE): New macro. Use it instead of 'static inline'. + * modules/utimens (Depends-on): Add extern-inline. - added seq to vim syntax highlight + u64: use extern-inline + * lib/u64.c: New file. + * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + (_GL_U64_INLINE): New macro. Use it instead of 'static inline'. + * modules/u64 (Files): Add lib/u64.c. + (Depends-on): Add extern-inline. + (configure.ac): No need to require AC_C_INLINE, since extern-inline + does that now. + (lib_SOURCES): Add u64.c. -2014-04-03 Simon Séhier + timespec: use extern-inline + * lib/timespec.c: New file. + * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + (_GL_TIMESPEC_INLINE): New macro. Use it instead of 'static inline'. + * modules/timespec (Files): Add lib/timespec.c. + (Depends-on): Add extern-inline. + (lib_SOURCES): Add timespec.c. - add missing } in file path for nagios/icinga objects + stat-time: use extern-inline + * lib/stat-time.c: New file. + * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + (_GL_STAT_TIME_INLINE): New macro. Use it instead of 'static inline'. + * modules/stat-time (Files): Add lib/stat-time.c. + (Depends-on): Add extern-inline. + (lib_SOURCES): Add stat-time.c. -2014-03-13 Raphaël Pinson + extern-inline: new module + * modules/extern-inline, m4/extern-inline.m4: New files. + This is for better support of 'extern inline' a la ISO C99, + with a portable alternative on compilers that do not support + C99-style 'extern inline'. Using 'extern inline' shrinks the size + of the Emacs executable, when compiled with debugging disabled, + which is a typical way that Emacs is built while developing. - UpdateDB: Update tests to ensure spaces around = are OK +2012-08-01 Akim Demaille - Update NEWS + maint.mk: a "release-commit" wrapper to do-release-commit-and-tag + * build-aux/do-release-commit-and-tag: Move variable definitions + together. + ($branch): Instead of defaulting to "master", default to the current + branch (as gnu-web-doc-update does). + (help): Display the current values of the option arguments. + * top/maint.mk (release-commit): New. + * top/README-release: Simplify the corresponding step. - UpdateDB: New lens to parse /etc/updatedb.conf +2012-07-30 Eric Blake -2014-03-13 Dominic Cleal + passfd: fix comment on recvfd + * lib/passfd.c (recvfd): Fix comment. + Reported by Jann Horn . - * augeas.spec.in: improve augeas-libs description +2012-07-30 Jim Meyering -2014-03-12 Raphaël Pinson + maint.mk: avoid a sub-shell + * top/maint.mk (release-prep): Remove unneeded sub-shell. - Httpd: Add unit test for comment on next line +2012-07-30 Akim Demaille - Httpd: Define an eol_comment in section to allow for \n before comment + maint.mk: use silent-rules support from Automake + * top/maint.mk (news-check, vc-diff-check, announcement) + (no-submodule-changes, alpha beta stable, release-prep) + (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at). -2014-03-11 Raphaël Pinson +2012-07-30 Akim Demaille - Httpd: Allow eol comments after section tags + maint.mk: provide a web-manual-update target + * top/maint.mk: here. + * top/README-release: Use it to simplify the web manual update step. -2014-03-06 Raphaël Pinson +2012-07-30 Akim Demaille - Rx: Add iso_8601 simple regex + README-release: shorten the circuit to post a news + * top/README-release: Point directly to the news submission form. - Update NEWS +2012-07-30 Akim Demaille - Update AUTHORS and NEWS + gnu-web-doc-update: fix --help + * build-aux/gnu-web-doc-update: The information "top level" was written + twice. -2014-03-06 Robert Drake +2012-07-30 Akim Demaille - dhcpd, style and test changes suggested by raphink - I also updated the NEWS entry to note the incompatible change + maint.mk: absolute VPATH issue + * top/maint.mk (release-prep): Help Git find .git/. + From Jim Meyering. - dhcpd, fix for put on dhcp option records - Type cannot be blank. I fixed this by making it use record instead of - nesting through "type" +2012-07-29 Akim Demaille - dhcpd, fix for key block puts - I discovered this after thinking I was done. It actually was a problem - before I started messing with the code but I didn't notice it because - there was never any test for keys. + gitlog-to-changelog: fix previous change + * build-aux/gitlog-to-changelog: Fix condition. + Add missing ";". - dhcpd, removed unused variable and reformatted - stmt_subclass was a little too cluttered so I changed it to multiple - lines for readability. I had also introduced an unused lens sep_to_ncl - which I removed. +2012-07-29 Akim Demaille -2014-03-06 Robert Drake + gitlog-to-changelog: don't expect .git to be in $srcdir + Reported by Bruno Haible. + + * build-aux/gitlog-to-changelog (&git_dir_option): New. + Use it. - dhcpd, changing quotes on stmt_block_arg - This patch can break users parsers. +2012-07-29 Akim Demaille - Fixes failover-peer, shared-network, class, host, zone, group, and "on" to - handle quoted values properly. + maint.mk: absolute VPATH build fix + * top/maint.mk (gpg_key_ID): Help git find .git when, for instance, + $(srcdir) is not a parent of $(builddir). - It also allows optional semicolon at the end of key {} block. +2012-07-28 John Darrington -2014-03-06 Robert Drake + clean-temp: Fix memory leak. + * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and + 'files' members of tmpdir. - dhcpd, adding support for "on" statement - For things like: +2012-07-27 Jim Meyering - on commit { - set ClientIP = binary-to-ascii(10, 8, ".", leased-address); - set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6)); - } + maint.mk: new rule: refresh-gnulib-patches + I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale. + Use this rule to refresh them. + * top/maint.mk (refresh-gnulib-patches): New rule. -2014-03-06 Robert Drake +2012-07-24 Bruno Haible - dhcpd, added fddi to stmt_hardware - getting pretty obscure.. + gnulib-tool: Fix handling of inctests variable. + * gnulib-tool: Canonicalize $inctests also in 'update' mode. + Reported by Nick Bowler . -2014-03-06 Robert Drake +2012-07-22 Bruno Haible - dhcpd, adding support for set command - This allows you to define variables in your dhcp configuration. They - can be arbitrarily complicated. + getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4. + * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined. + * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests): + Remove exemption for getpass.h. + Suggested by Eric Blake. - Things like this: +2012-07-20 Eric Blake - set ClientIP = binary-to-ascii(10, 8, ".", leased-address); - set ClientMac = binary-to-ascii(16, 8, ":" , substring(hardware, 1, 6)); + verify: document conflict with -Wnested-externs + * lib/verify.h: Give hint about usage when gcc warnings are enabled. - I also added most of the rest of the functions from dhcp-eval and listed - the limitations of the current parser. I don't think I'm going to be - able to fix most of it but I think I'm getting into obscure features - that most people don't bother using. + maint.mk: forbid exit(-1) + * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives. - At this point if they need to do very strange class maps they could put - them in an include file and not have augeas parse it. +2012-07-20 Paul Eggert -2014-03-06 Robert Drake + fsusage: port back to Solaris + * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time + error (fsd not declared) on Solaris 10. Reported privately by + Andrew Borodin. - dhcpd, added support for match if suffix|option - I also relaxed the rules on matching quoted and unquoted values. +2012-07-19 Akim Demaille - Things like: - match if suffix (option vendor-class-identifier,6)="123456"; - or - match if option vendor-class-identifier="Brave, Warrior Pidgins"; + gnu-web-doc-update: fix error messages + * build-aux/gnu-web-doc-update: Don't pass $ME to die. - work now. + gnu-web-doc-update: check the requirements. + * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap. + ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New. + * build-aux/bootstrap (find_tool): Comment change. -2014-03-06 Robert Drake +2012-07-17 Akim Demaille - dhcpd fix to allow subclasses values to be quoted - DHCP subclass values can have spaces in them. + maint.mk: minor simplication. + * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...) + for default values. - Here is an example: - subclass "consoles" "Xbox 360"; - subclass "consoles" "Nintendo 3DS"; - subclass "consoles" Wii; - subclass "consoles" NintendoDS; +2012-07-15 Akim Demaille -2014-03-06 Robert Drake + gitlog-to-changelog: VPATH build issues + If builddir is not a subdirectory of srcdir, running git from it will + fail. + * build-aux/gitlog-to-changelog (--srcdir): New option. - dhcpd known-clients allows spaces in it's value - This is a fix for lines like these: +2012-07-15 Bruno Haible - deny unknown clients; - deny known clients; - allow known clients; - allow unknown clients; + fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4. + * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined. + * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests) + Remove exemption for fpending.h. + Suggested by Eric Blake. -2014-03-06 Robert Drake +2012-07-15 Paul Eggert - dhcpd, fix for quoted characters in members of - Some of my "allow members of" statements have more complicated names - that include things like parenthesis. This change makes it so semicolon - and space are the only things not allowed in barewords, and quotes and - newlines are the only thing not allowed in quoted things. + pthread_sigmask: fix bug on FreeBSD 9 + * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]: + Include string.h. + (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]: + When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW; + this avoids a bug on FreeBSD 9, where pthread_sigmask is effective + but pthread_sigmask (1729, NULL, NULL) returns zero. + See . + Avoid the need to call pthread_sigmask (1729, ...) in most cases, + by inspecting whether the main call changed the old mask. -2014-03-06 Robert Drake +2012-07-15 Reuben Thomas + + README-release: make it more legible + * top/README-release: Improve typography slightly. + +2012-07-15 Jim Meyering + + maint: require that each sc_... command start with "@" + * Makefile (sc_prohibit_sc_omitted_at): New rule so that + "make sc_maint" helps us avoid this nit. + +2012-07-15 Jim Meyering + + maint.mk: add leading "@" to quiet new "make syntax-check" rule + * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@". + +2012-07-13 Eric Blake + + maint.mk: new syntax check for HAVE_DECL checks + * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule. + * cfg.mk + (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests): + Exempt some false positives. + Based on a report by Karel Zak. + + argp: make HAVE_DECL usage consistent + * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL + macros, not whether they are defined. + * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per + convention with other declaration checks. + Reported by Karel Zak, with suggestions from Paul Eggert. + + stat-time: relax license to LGPLv2+ + * modules/stat-time (License): Relax, with consent of all authors. + + strndup: fix m4 usage error + * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always + defined, to either 0 or 1. + Reported by Karel Zak. + +2012-07-11 Jim Meyering + + maint: enable the sc_avoid_if_before_free syntax-check rule + * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free. + (if_before_free_offenders_): Define. + (if_before_free_basename_re_): Define. + Exempt current files with useless if-before-free. + +2012-07-11 Paul Eggert + + gettext: do not assume '#define ... defined ...' behavior + * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): + Do not use '#define FOO ... defined BAR ...', as the C standard says + it's not portable to expect that this works after macro expansion. + Problem reported for gzip by Steven M. Schweda in + . + +2012-07-10 Paul Eggert + + getloadavg: clean out old Emacs and Autoconf cruft + See Glenn Morris in . + * lib/getloadavg.c: Include , always. + Include if HAVE_SYS_PARAM_H, not if unix or __unix. + (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook. + * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for . + +2012-07-10 Akim Demaille + + bootstrap: let warn be like tests/init.sh's warn_ + Reported by Jim Meyering. + * build-aux/bootstrap (warn): Remove, replaced by... + (warnf_, warn_): these. + Adjust callers. + Shorten messages that no longer fit in 80 columns. + +2012-07-09 Bruno Haible + + getopt: Simplify after Emacs changed. + * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE. + (gl_GETOPT_IFELSE): Remove macro. + +2012-07-09 Jim Meyering + + maint.mk: add sc_vulnerable_makefile_CVE-2012-3386 + * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule. + + maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix + Bugs in both of those conspired to make the + sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless. + _sc_search_regexp's handling of non-empty $in_files would filter + out any offending file names. sc_vulnerable_makefile_CVE-2009-4029's + choice of in_files value meant there would be no match in most + projects, due to the presence of two or more Makefile.in files. + * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify. + Fix a bug in how a non-empty $$in_files was processed: + (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files: + in spite of the name, it's a regexp, not a list of file names. + +2012-07-09 Paul Eggert + + getloadavg, getopt: fix commentary re configure.in + Autoconf is deprecating the name 'configure.in', so change it to + to the new name 'configure.ac' in a couple of places. + * lib/getloadavg.c: configure.in -> configure.ac, in comment. + * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER) + (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in. + Emacs has renamed it to configure.ac, and it no longer refers + to these macros anyway. + + timespec: mark functions with const attributes + * lib/timespec.h (timespec_add, timespec_sub, dtotimespec): + Mark with _GL_ATTRIBUTE_CONST. + +2012-07-07 Ludovic Courtès + + canonicalize[-lgpl]: handle "guessing" values when cross-building + * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE) + (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works + matches "*yes" instead of just "yes". Regression introduced in commit + e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24. + +2012-07-07 Ludovic Courtès + Bruno Haible + + canonicalize: make the right guess when cross-compiling to GNU + * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to + determine whether cross-compiling to glibc systems, so as to + include GNU/Hurd. + +2012-07-06 Paul Eggert + + timespec-sub: avoid duplicate include + * lib/timespec-sub.c: Do not include twice. + Reported by Juanma Barranquero. + +2012-07-06 Akim Demaille + + bootstrap: use a more consistent error reporting scheme + * build-aux/bootstrap (warn, die): New. + Use them. + +2012-07-05 Paul Eggert + + sys_time: allow too-wide tv_sec + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct + timeval even if tv_sec is wider than time_t. This allows + OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c, + as without this patch gnulib replaces struct timeval + and OpenBSD futimes therefore has a type mismatch. + * doc/posix-headers/sys_time.texi: Mention this. + + pthread: check for both pthread_create and pthread_join + * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but + alter the check so that it tests for both pthread_create and + pthread_join. This should be more portable to hosts like OSF/1 5.1. + Suggested by Bruno Haible and Richard Yao in + . + + parse-datetime: doc tuneup + * doc/parse-datetime.texi: Index "leap seconds" and fix minor + spacing issues. + +2012-07-05 Akim Demaille + + do-release-commit-and-tag: fix the previous commit + * build-aux/do-release-commit-and-tag: Actually the test was right, + but the comment and the error message were misleading. + Fix comment, and improve error message. + Perform check first, so that NEWS is not modified uselessly. + + do-release-commit-and-tag: fix typo + * build-aux/do-release-commit-and-tag: Be sure that NEWS does + _not_ start with a stub. + +2012-07-04 Paul Eggert + + pthread: check for pthread_create, not pthread_join + * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not + pthread_join. On FreeBSD 9, pthread_create is in libpthread but + pthread_join in libc. I hope this removes the need for all the + OSF/1 5.1 pthread_join business. Reported by Richard Yao in + . + +2012-07-04 Jim Meyering + + parse-datetime: fix failure to diagnose invalid input + date -d "$(printf '\xb0')" would print 00:00:00 with today's date + rather than diagnosing the invalid input. Now it reports this: + date: invalid date '\260' + * lib/parse-datetime.y (to_uchar): Define. + (yylex): Don't sign-extend "other" bytes. + * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline". + Thanks to Bruno Haible for the patch to this file. + * tests/test-parse-datetime.c (main): Add a test to trigger the bug. + Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843 + +2012-07-03 Jim Meyering + + bootstrap: do not require now-removed build-aux/missing + Now that build-aux/missing is, er, missing, bootstrap would + silently fail. + * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing + from the list, now that (since commit v0.0-7489-gd0f486f) the file is + no longer part of gnulib. + Diagnose the failure. + +2012-07-03 Paul Eggert + + alloca: add support for HP NonStop TNS/E native + * lib/alloca.in.h (alloca): Support the new host. + From a suggestion by Joachim Schmitz in + . + +2012-07-02 Pádraig Brady + + fsusage: remove code not needed on non GNU/Linux systems. + + * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]: + Don't include headers no longer needed in this case. + * lib/fsusage.c [STAT_STATVFS && + ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine + STAT_STATFS2_FRSIZE to exclude code not used in this case. + +2012-07-02 Paul Eggert + + fsusage: include files needed for glibc 2.6 fallback + * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]: + Include , , + as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback. + Problem reported by Ludovic Courtès in + . + + fsusage: avoid needless check on GNU/Linux + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check + on GNU/Linux systems, since it can't possibly work. + +2012-07-01 Bruno Haible + + log: Fix an autoconf >= 2.64 warning. + * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG. + Reported by Carlos O'Donell . + +2012-06-28 Bruno Haible + + log10f: Fix possible configuration problem. + * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not + $LOGF_LIBM. + Reported by Carlos O'Donell . + +2012-06-28 Bruno Haible + + remove: No longer override on all platforms. Fixes bug from 2010-03-20. + * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes, + not gl_cv_func_unlink_works. + Reported by Carlos O'Donell . + +2012-06-27 Eric Blake + + config: drop scripts that automake says are not independent + * config/srclist.txt: Drop elisp-comp, missing, and ylwrap. + * build-aux/elisp-comp: Delete. + * build-aux/missing: Likewise. + * build-aux/ylwrap: Likewise. + * modules/elisp-comp: Likewise. + * MODULES.html.sh: Drop mention of elisp-comp. + * NEWS: Mention this. + +2012-06-26 Paul Eggert + + root-uid: new module + This is for portability to Tandem's NonStop Kernel. + * lib/root-uid.h, modules/root-uid: New files. + * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c: + * lib/write-any-file.c, tests/test-sethostname2.c: + Include "root-uid.h". + * lib/euidaccess.c (euidaccess): + * lib/pt_chown.c (main): + * lib/unlinkdir.c (cannot_unlink_dir): + * lib/write-any-file.c (can_write_any_file): + * m4/mknod.m4 (gl_FUNC_MKNOD): + * tests/test-sethostname2.c (geteuid, main): + Don't assume ROOT_UID == 0. + * modules/euidaccess (Depends-on): + * modules/pt_chown (Depends-on): + * modules/sethostname-tests (Depends-on): + * modules/unlinkdir (Depends-on): + * modules/write-any-file (Depends-on): + Add root-uid. + + regex: use locale-independent comparison for codeset name + See Bruno Haible's comment in . + * lib/regcomp.c (init_dfa): Use just ASCII case comparison + for codeset name. + * lib/regex_internal.h: Do not include , since we + no longer use strcasecmp. + * modules/regex (Depends-on): Remove strcase. + +2012-06-23 Bruno Haible + + getopt-posix: No longer guarantee that option processing is resettable. + * doc/posix-functions/getopt.texi: Drop description of problem with + internal state. Fix info about mingw and msvc9. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable + option processing by getopt(). Run three test programs instead of one. + Simplify cross-compilation guess. + * NEWS: Mention the change. + Reported by Rich Felker . + +2012-06-26 Bruno Haible + + argp, regex: Ensure strcasecmp gets declared. + * lib/argp-help.c: Include . + * lib/regex_internal.h: Likewise. + Reported and suggested by Joachim Schmitz . + +2012-06-24 Bruno Haible + + ptsname_r: Make it consistent with ptsname on AIX. + * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same + implementation as for OSF/1. + * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening + a pty master. + + ptsname_r: Make it consistent with ptsname on OSF/1. + * lib/ptsname_r.c (__ptsname_r): Add a different implementation for + OSF/1. + +2012-06-24 Bruno Haible + + ttyname_r: Fix result on OSF/1, Solaris. + * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result. + +2012-06-24 Bruno Haible + + ptsname_r: Add support for Solaris. + * lib/ptsname_r.c (__ptsname_r): Add a different implementation for + Solaris. + + ptsname_r: Fix test failure on native Windows. + * modules/ptsname_r (Depends-on): Add isatty. + + ptsname_r: Fix test failures on IRIX, Solaris. + * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets + errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO + accordingly. + * lib/ptsname_r.c: Include . + (__ptsname_r): When isatty returned false, then on IRIX, Solaris + set errno if fd is invalid. + * tests/test-isatty.c (main): Update comments. + +2012-06-24 Bruno Haible + + ptsname test: Extend test. + * tests/test-ptsname.c: Include . + (main): Test behaviour with invalid file descriptor. + +2012-06-23 Paul Eggert + + time: fix obsolete comment + * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete + reference to HAVE_STRUCT_TIMESPEC in comment. + +2012-06-23 Bruno Haible + + getopt-gnu: Handle suboptimal getopt_long's abbreviation handling. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but + does not handle abbreviated long options with equivalent + disambiguations, set gl_replace_getopt to yes. + * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem. + +2012-06-22 Paul Eggert + + time_r: fix typo that always overrode localtime_r decl + * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not + AC_CHECK_DECLS_ONCE, since localtime_r is declared in , + not in a standard include. + +2012-06-22 Bruno Haible + + Write "Mac OS X" instead of "MacOS X". + * README: Write "Mac OS X" instead of "MacOS X". + * build-aux/bootstrap: Likewise. + * build-aux/install-reloc: Likewise. + * lib/acl-internal.h: Likewise. + * lib/acl_entries.c: Likewise. + * lib/argp-ba.c: Likewise. + * lib/argp-pv.c: Likewise. + * lib/config.charset: Likewise. + * lib/copy-acl.c: Likewise. + * lib/csharpexec.c: Likewise. + * lib/euidaccess.c: Likewise. + * lib/fbufmode.c: Likewise. + * lib/fflush.c: Likewise. + * lib/file-has-acl.c: Likewise. + * lib/filemode.h: Likewise. + * lib/fpurge.c: Likewise. + * lib/freadable.c: Likewise. + * lib/freadahead.c: Likewise. + * lib/freading.c: Likewise. + * lib/freadptr.c: Likewise. + * lib/freadseek.c: Likewise. + * lib/fseeko.c: Likewise. + * lib/fseterr.c: Likewise. + * lib/fsusage.c: Likewise. + * lib/fwritable.c: Likewise. + * lib/fwriting.c: Likewise. + * lib/get-rusage-as.c: Likewise. + * lib/get-rusage-data.c: Likewise. + * lib/getdomainname.c: Likewise. + * lib/idpriv-drop.c: Likewise. + * lib/idpriv-droptemp.c: Likewise. + * lib/localcharset.c: Likewise. + * lib/locale.in.h: Likewise. + * lib/localename.c: Likewise. + * lib/mbsrtowcs-state.c: Likewise. + * lib/nproc.c: Likewise. + * lib/passfd.c: Likewise. + * lib/posix_openpt.c: Likewise. + * lib/printf-parse.c: Likewise. + * lib/progreloc.c: Likewise. + * lib/safe-read.h: Likewise. + * lib/safe-write.h: Likewise. + * lib/sched.in.h: Likewise. + * lib/set-mode-acl.c: Likewise. + * lib/signal.in.h: Likewise. + * lib/stdint.in.h: Likewise. + * lib/stdio-impl.h: Likewise. + * lib/stdlib.in.h: Likewise. + * lib/strtod.c: Likewise. + * lib/sys_select.in.h: Likewise. + * lib/tcgetsid.c: Likewise. + * lib/unistd.in.h: Likewise. + * lib/unlockpt.c: Likewise. + * lib/vasnprintf.c: Likewise. + * lib/vma-iter.c: Likewise. + * lib/wcsrtombs-state.c: Likewise. + * m4/acl.m4: Likewise. + * m4/acosl.m4: Likewise. + * m4/asinl.m4: Likewise. + * m4/atanl.m4: Likewise. + * m4/c-stack.m4: Likewise. + * m4/cosl.m4: Likewise. + * m4/expl.m4: Likewise. + * m4/extensions.m4: Likewise. + * m4/fdatasync.m4: Likewise. + * m4/fmal.m4: Likewise. + * m4/frexp.m4: Likewise. + * m4/frexpf.m4: Likewise. + * m4/frexpl.m4: Likewise. + * m4/fsusage.m4: Likewise. + * m4/getdomainname.m4: Likewise. + * m4/getloadavg.m4: Likewise. + * m4/getopt.m4: Likewise. + * m4/gettext.m4: Likewise. + * m4/gnulib-common.m4: Likewise. + * m4/intdiv0.m4: Likewise. + * m4/intlmacosx.m4: Likewise. + * m4/largefile.m4: Likewise. + * m4/ldexpl.m4: Likewise. + * m4/link-follow.m4: Likewise. + * m4/locale-ar.m4: Likewise. + * m4/locale-fr.m4: Likewise. + * m4/locale-ja.m4: Likewise. + * m4/locale-tr.m4: Likewise. + * m4/locale-zh.m4: Likewise. + * m4/locale_h.m4: Likewise. + * m4/lock.m4: Likewise. + * m4/logl.m4: Likewise. + * m4/mathfunc.m4: Likewise. + * m4/minus-zero.m4: Likewise. + * m4/mktime.m4: Likewise. + * m4/mmap-anon.m4: Likewise. + * m4/multiarch.m4: Likewise. + * m4/nanosleep.m4: Likewise. + * m4/nocrash.m4: Likewise. + * m4/poll.m4: Likewise. + * m4/printf-frexpl.m4: Likewise. + * m4/printf.m4: Likewise. + * m4/signbit.m4: Likewise. + * m4/sinl.m4: Likewise. + * m4/sqrtl.m4: Likewise. + * m4/strerror_r.m4: Likewise. + * m4/tanl.m4: Likewise. + * m4/threadlib.m4: Likewise. + * m4/ttyname_r.m4: Likewise. + * m4/unlink.m4: Likewise. + * m4/visibility.m4: Likewise. + * m4/wcwidth.m4: Likewise. + * tests/minus-zero.h: Likewise. + * tests/test-alloca-opt.c: Likewise. + * tests/test-copy-acl.sh: Likewise. + * tests/test-copy-file.sh: Likewise. + * tests/test-fdatasync.c: Likewise. + * tests/test-file-has-acl.sh: Likewise. + * tests/test-flock.c: Likewise. + * tests/test-fsync.c: Likewise. + * tests/test-localename.c: Likewise. + * tests/test-malloca.c: Likewise. + * tests/test-nonblocking-pipe.h: Likewise. + * tests/test-nonblocking-socket.h: Likewise. + * tests/test-openpty.c: Likewise. + * tests/test-posix_openpt.c: Likewise. + * tests/test-ptsname.c: Likewise. + * tests/test-ptsname_r.c: Likewise. + * tests/test-sameacls.c: Likewise. + * tests/test-select.h: Likewise. + * tests/test-set-mode-acl.sh: Likewise. + * tests/test-snprintf-posix.h: Likewise. + * tests/test-sprintf-posix.h: Likewise. + * tests/test-strtod.c: Likewise. + * tests/test-time.c: Likewise. + * tests/test-vasnprintf-posix.c: Likewise. + * tests/test-vasprintf-posix.c: Likewise. + * doc/acl-resources.txt: Likewise. + * doc/**/*.texi: Likewise. + Reported by Max Horn . + +2012-06-22 Bruno Haible + + grantpt: Relax requirement regarding invalid file descriptors. + * lib/grantpt.c: Don't include . + (grantpt): Don't verify the validity of the file descriptor. + * modules/grantpt (Depends-on): Remove fcntl-h. + * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid + file descriptors. + * doc/posix-functions/grantpt.texi: Document more platforms on which + grantpt succeeds for invalid file descriptors. + Reported by Rich Felker . + +2012-06-22 Bruno Haible + + fbufmode test: Don't test unportable behaviour. + * tests/test-fbufmode.c (test_mode): New function, extracted from main. + (main): Invoke it three times. + Reported by Szabolcs Nagy + and Rich Felker . + +2012-06-21 Bruno Haible + + gnulib-tool: Refactor inctests variable. + * gnulib-tool: Normalize inctests to 'true' or 'false', not ''. + (func_modules_transitive_closure, + func_modules_transitive_closure_separately, + func_import, func_create_testdir): Update. + + gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests. + * gnulib-tool: Accept option --without-tests. + (func_usage): Document --without-tests option. Rearrange. + (inctests): Normalize according to the mode. + * NEWS: Mention the change. + Suggested by Simon Josefsson. + +2012-06-21 Bruce Korb + + parse-duration test: Avoid spurious output. + * tests/test-parse-duration.sh: Reindent with leading tabs. + +2012-06-21 Jim Meyering + + maint: disable the strncpy prohibition + * cfg.mk: Do not prohibit strncpy here. + +2012-06-21 Bruno Haible + + nonblocking: Avoid compilation error on mingw64. + * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf, + fscanf. + * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR. + * modules/vfscanf (configure.ac): Likewise. + * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function + definition only if stdio.h has prepared it. + Reported by Daniel P. Berrange . + +2012-06-20 Bernd Jendrissek (tiny change) + + gnulib-tool: Use readlink if it is available. + * gnulib-tool (func_readlink): Choose function more appropriately. + +2012-06-21 Paul Eggert + + posixtm-tests: port to buggy compiler + Problem reported by Simon Josefsson in + . + * modules/posixtm-tests (Depends-on): Add stdint. + * tests/test-posixtm.c (struct posixtm_test.t_expected): + Now of type int_least64_t, not int64_t, both because that's + what INT64_C returns and because int_least64_t works even + on 72-bit hosts. + (T): Use INT64_C on constants outside the traditional int range, + to work around compiler bug noted by Simon. + + mktime: fix integer overflow in 'configure'-time test + * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior + after integer overflow. Problem reported by Rich Felker in + . + Also, don't look for further instances of a bug if we've already + found one instance; this helps 'configure' run faster. + +2012-06-20 John Darrington (tiny change) + + tmpfile, clean-temp: Fix invocation of GetVersionEx. + * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for + GetVersionEx correctly. + * lib/clean-temp.c (supports_delete_on_close): Likewise. + +2012-06-20 Bruno Haible + + fdopen: Allow implementations that don't reject invalid fd arguments. + * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...) + succeeds. + Reported by Rich Felker . - dhcpd, fix whitespace problems with blocks - Most blocks should support braces at the end of a line or - on the next line. +2012-06-20 Simon Josefsson - Like this: + * modules/parse-duration-tests (test_parse_duration_LDADD): Don't + bring in LIBINTL. - class "test class" - { +2012-06-20 Paul Eggert - } + init.sh: do not rely on autoupated PWD + This addresses symptoms of the problem reported by Nelson H.F. Beebe in + . + Although Nelson's bug was not necessarily fixed by this patch, + it seems wise to make the change for safety. + * tests/init.sh (path_prepend_): Do not rely on PWD updating + automagically after 'cd'; this is not reliable on older shells. + (setup_): Fail if we cannot cd to temporary directory. - or +2012-06-19 Bruno Haible - class testclass {} + stat, fstat: Avoid warnings on mingw64. + * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before + redefining. + * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise. + Reported by Daniel P. Berrange . -2014-03-06 Robert Drake +2012-06-19 Bruno Haible - dhcpd, expanding support for user-defined-options - This incorporates changes suggested by raphink. + stdioext: Add support for musl libc. - It should be able to parse all of the following DHCP options now: + * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists. + * lib/fbufmode.c (fbufmode): Add conditional code for musl. - option name-service-search code 117 = array of unsigned integer 16; - option domain-search code 119 = string; - option sip-servers code 120 = string; - option classless-static-route code 121 = string; - option space cable-labs; - option cable-labs.tsp-primary-dhcp-server code 1 = ip-address; - option cable-labs.tsp-secondary-dhcp-server code 2 = ip-address; - option cable-labs.tsp-provisioning-server code 3 = string; - option cable-labs.tsp-as-backoff-retry code 4 = { unsigned integer 32, unsigned integer 32, unsigned integer 32 }; - option cable-labs.tsp-ap-backoff-retry code 5 = { unsigned integer 32, unsigned integer 32, unsigned integer 32 }; - option cable-labs.tsp-kerberos-realm-name code 6 = string; - option cable-labs.tsp-ticket-granting-server-utilization code 7 = boolean; - option cable-labs.tsp-provisioning-timer code 8 = unsigned integer 8; - option cable-labs-encapsulation code 122 = encapsulate cable-labs; - option tftp-server-address code 150 = array of ip-address; - option ip-telephone code 176 = string; - option wpad-url code 252 = text; + * m4/fseterr.m4: New file. + * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that + function exists. + * modules/fseterr (Files): Add m4/fseterr.m4. + (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if + __fseterr does not exist. + (Makefile.am): Remove fseterr.c from lib_SOURCES. -2014-03-06 Robert Drake + * lib/freadable.h: Update comment. - dhcpd, add support for omapi-key statement - You can use this along with omapi-port to specify a secure way to talk - to your DHCP server. + * lib/fwritable.h: Update comment. - key myspecialkey { - algorithm hmac-md5; - secret "base64string=="; - } + * lib/freading.h: Update comment. - omapi-key myspecialkey; - omapi-port 7911; + * lib/fwriting.h: Update comment. -2014-03-06 Robert Drake + * m4/freadahead.m4: New file. + * lib/freadahead.h (freadahead): Define as an alias of __freadahead if + that function exists. + * modules/freadahead (Files): Add m4/freadahead.m4. + (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if + __freadahead does not exist. + (Makefile.am): Remove freadahead.c from lib_SOURCES. - dhcpd, add support for named groups - Things like group Special_users { + * m4/freadptr.m4: New file. + * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that + function exists. + * modules/freadptr (Files): Add m4/freadptr.m4. + (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if + __freadptr does not exist. + (Makefile.am): Remove freadptr.c from lib_SOURCES. - } + * m4/freadseek.m4: New file. + * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function + exists. + * modules/freadseek (Files): Add m4/freadseek.m4. + (configure.ac): Invoke gl_FUNC_FREADSEEK. -2014-03-04 Raphaël Pinson + * lib/fpurge.c (fpurge): Update comment. - Update NEWS + Reported by and with help from Rich Felker . - Desktop: Allow @ in keys (GH issue #92) +2012-06-19 Bruno Haible -2014-03-03 KaMichael + *printf-posix: Put more info into config.log. + * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and + exit code into config.log. - Group: Dropped nisentry (not valid here) +2012-06-19 Bruno Haible - group: Testcase for NIS default + getopt-gnu: Fix exit code overflow in autoconf test. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values, + to keep them below < 128. -2014-03-03 KaMichael +2012-06-17 Jim Meyering - Update group.aug + maint.mk: fix typo in code to derive GPG key at release time + * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3 - Update group.aug to parse NIS entries +2012-06-17 Paul Eggert -2014-02-28 Raphaël Pinson + regex: avoid warning when pointers are not long + * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void * + and uintptr_t, not long, for portability to hosts where pointers and + long have different sizes. Issue noted by Daniel P. Berrange in + + and fix suggested by Bruno Haible in + . - Update NEWS +2012-06-17 Bruno Haible -2014-02-28 Pat Riehecky + dummy: Relicense into the public domain. + * modules/dummy (License): Set to "public domain". + Suggested by Reuben Thomas. - Added chrony lense +2012-06-12 Akim Demaille -2014-02-25 Dominic Cleal + announce-gen: VPATH issues + * build-aux/announce-gen (--srcdir): New option, used to trim the + $srcdir part of the path from $builddir to NEWS. + * top/maint.mk (announcement): Adjust. - Krb5: permit braces in values when not in sub-section - Fixes RHBZ#1066419 +2012-06-12 Akim Demaille -2014-02-21 Dominic Cleal + gnu-web-doc-update: VPATH builds + * build-aux/gnu-web-doc-update (--builddir): New option. + Revamp the handling of options. + Prefer $(...) to `...`. + Don't pass --tmpdir=. to mktemp, it is useless given that we specify + the template, and it is GNU mktemp specific. + Prefer set -e to long series of &&. + Restore the initial git branch, not "master". + Properly initialize submodules (don't rely only on bootstrap). + Do not reconfigure blindly, use config.status. + * top/README-release: Update instructions for gnu-web-doc-update. + +2012-06-11 Jim Meyering + + maint.mk: revert most of the previous change re "all these" + * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair. + For rationale, see the discussion at + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912 - Keepalived: add more virtual/real server settings and checks - Fixes RHBZ#1064388 +2012-06-10 Karl Berry -2014-02-21 Raphaël Pinson + * build-aux/gnupload: with --dry-run, do not ask for gpg pw. - NetworkManager: Use the Quote module, support # in values (no eol comments) + * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2. -2014-02-20 Raphaël Pinson +2012-06-10 Bruce Korb - AptPreferences: Support spaces in origin fields + parse-duration: Relicense under LGPLv2+. + * modules/parse-duration (License): Change to LGPLv2+. + +2012-06-10 Jim Meyering + + maint.mk: prohibit common grammar error: "all these" + * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to + the list of prohibited word sequences. It should be "all of these". + * lib/tempname.c (__gen_tempname): Fix one of them. + +2012-06-07 Akim Demaille + + do-release-commit-and-tag: support VPATH builds + * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`. + (noteworthy): Defined earlier to factor its value. + (noteworthy_stub): New. + Use it to factor. + (help_version): Split into... + (help, version): these. + Adjust the option processing part. + Support "--option=value" in addition to "--option value". + (builddir): New. + (--builddir): New option. + * top/README-release: Document this. + Reword slightly so that the reader cannot understand that he + has to do these steps before calling do-release-commit-and-tag. - Remove mercurial legacy files +2012-06-07 Akim Demaille - Sshd: Allow all types of issues in Match groups (GH issue #75) + readme-release: also require announce-gen and maintainer-makefile + * modules/readme-release (Depends-on): here. + * modules/announce-gen, modules/do-release-commit-and-tag, + modules/gnu-web-doc-update, modules/maintainer-makefile + (Description): Point to readme-release. - Update NEWS +2012-06-07 Akim Demaille - Add cp to manpage (issue #78) + maint.mk: fix VPATH issues. + * top/maint.mk (news-check): GNU Make understand $< very well. + (release-prep): NEWS is in $(srcdir). + +2012-06-05 Akim Demaille - Update AUTHORS and NEWS + readme-release: require the promoted modules. + * modules/readme-release (Depends-on): Add + do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used + in this text. + +2012-05-21 Paolo Bonzini + Bruno Haible + + error, strerror-override: Support mingw64 from Fedora 17. + * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator + for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to + EINPROGRESS. + * lib/strerror-override.h (strerror_override): Test it. + * lib/strerror-override.c (strerror_override): Likewise. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY. + +2012-05-21 Paolo Bonzini + Bruno Haible + + error, strerror-override: Support mingw64 from Fedora 17. + * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different + indicator for ENOTRECOVERABLE, compared to EOWNERDEAD. + * lib/strerror-override.h (strerror_override): Test it. + * lib/strerror-override.c (strerror_override): Likewise. + +2012-06-03 Bruno Haible + + error, strerror-override: Support new errno values from POSIX:2008. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and + ENOTRECOVERABLE. + * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all + platforms. + * lib/strerror-override.c (strerror_override): Conditionalize the + EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD. + * lib/strerror-override.h (strerror_override): Declare also if + GNULIB_defined_EOWNERDEAD is defined. + * tests/test-errno.c (e130, e131): New variables. + * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD, + ENOTRECOVERABLE. + Reported by Paolo Bonzini. -2014-02-20 Mykola Nikishov +2012-05-31 Jim Meyering - Support configuration file for Squid 3 + savewd: add missing dependency on sys_wait module + * modules/savewd (Depends-on): Add sys_wait, needed at least + for MSVC. Report and suggested change by Michael Goffioul. + +2012-05-29 Paul Eggert + + system-quote-tests: port to CentOS 5 + Problem reported by Tom G. Christensen in + . + * tests/test-system-quote-child.c (fclose, fprintf): Undef. + +2012-05-29 Jim Meyering + + maint: fix typos in comments and ChangeLog + Culprits identified and fixed mostly automatically using these commands: + git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \ + 's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/' + using http://github.com/lyda/misspell-check + * ChangeLog: Fix typos. + * doc/solaris-versions: Likewise. + * lib/regexec.c (re_search_stub): Likewise. + * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise. + +2012-05-27 Paul Eggert + + manywarnings: remove duplicate -Wmultichar entry + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate + entry for -Wmultichar. -Wno-multichar is in the GCC 4.7.0 manual, + so keep the entry marked as documented. + +2012-05-27 Karl Berry + + * config/srclist.txt (mktime.c): remove last libc sync, + perhaps just temporarily. + +2012-05-26 Paul Eggert + + regex: don't assume uint64_t or uint32_t + * lib/regcomp.c (init_word_char): Don't assume that the types + uint64_t and uint32_t exist. The C standard doesn't guarantee + them, and on some 32-bit compilers there is no uint64_t. + Problem reported by Gianluigi Tiesi in + . + +2012-05-25 Jim Meyering + + maint.mk: add strncpy-prohibiting syntax-check rule + * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils. + +2012-05-24 Jim Meyering + + maint.mk: compute $(gpg_key_ID) more portably + * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'. + That use of sed is not portable to some fringe systems. + Reported by Paul Eggert in + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802 + +2012-05-23 Paul Eggert + + mktime: sync from glibc + * config/srclist.txt: Uncomment mktime.c. + * lib/mktime.c: Sync from glibc master. This incorporates 3 changes. + First, indent with tabs, since glibc uses tabs and doesn't want to + change and we'd rather be identical to glibc. Also, two small + coding changes: + (isdst_differ): Use &&, not &, as && is the usual style. + (__mktime_internal): Rename local var from abs_diff to approx_abs_diff + for clarity. + +2012-05-23 Akim Demaille + + announce-gen: du -h is more portable than du --human + * build-aux/announce-gen (sizes): Invoke du with -h instead + of --human. Accept leading white space in its output. + +2012-05-23 Akim Demaille + + announce-gen: Improve diagnostics. + * build-aux/announce-gen: When parsing command line options, + prefer "announce-gen: option --release-type requires an argument" + to "Option release-type requires an argument". + +2012-05-23 Akim Demaille + + maint.mk: gpg_key_ID: use sed more portably + * top/maint.mk (gpg_key_ID): End sed block with a semicolon before + the closing brace. + (refresh-po): Fuse two sed invocations into one. + +2012-05-15 Akim Demaille + + gitlog-to-changelog: support the log message format used in Bison. + * build-aux/gitlog-to-changelog: Support --strip-tab and + --strip-cherry-picked. + +2012-05-21 Paolo Bonzini + + poll/select: prevent busy-waiting. SwitchToThread() only gives away + the rest of the current time slice to another thread in the current + process. So if the thread that feeds the file decscriptor we're + polling is not in the current process, we get busy-waiting. + * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread(). + Patch from Theodore Leblond. + * lib/select.c: Split polling out of the loop that sets the output + fd_sets. Check for zero result and loop if the wait timeout is + infinite. + +2012-05-21 Simon Josefsson + + select: Fix build error on IRIX 6.5. + * lib/select.c: Include stddef.h for NULL. + +2012-05-21 Simon Josefsson + + gc: fix libgcrypt detection on older machines. + * m4/gc.m4: Reject libgcrypt earlier than 1.4.4. Collapse + copyright years because the file has been distributed every year + since it was created. + +2012-05-18 Paul Eggert + + crypto: fix bug in large buffer handling + Problem reported by Serge Belyshev for glibc in + and for gnulib in + . + * lib/md4.c (md4_process_block): + * lib/md5.c (md5_process_block): + * lib/sha1.c (sha1_process_block): + * lib/sha256.c (sha256_process_block): + Don't assume the buffer length is less than 2**32. + * lib/sha512.c (sha512_process_block): Likewise. + Here, the bug is present only in the rare case where the host does + not support uint64_t or where size_t is wider than 64 bits. + Use u64size to work around the problems. + * lib/u64.h (u64size): New macro. + +2012-05-15 Pádraig Brady + + fsusage: fix block size returned on older Linux 2.6 + + * lib/fsusage.c: Fall back to (struct statfs).f_frsize + which is available since Linux 2.6. + * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define + when the member is available so it can be used as a fallback. + * doc/posix-functions/statvfs.texi: Mention the hang issue + on Linux < 2.6.36. + +2012-05-14 Paul Eggert + + bootstrap: suppress stderr chatter + * build-aux/bootstrap (insert_sorted_if_absent, main program): + Omit unnecessary chatter to stderr. The main program chatter + was there only inadvertantly. + + bootstrap: .gitignore files created by autopoint, libtool + I ran into this problem when bootstrapping the latest diffutils. + After './bootstrap', 'git status' reported lots of untracked files + m4/codeset.m4, m4/gettext.m4, etc. These files were created by + autopoint and do not need to be version-controlled. + * build-aux/bootstrap: Put into .gitignore the files that + autopoint and libtool create, by keeping track of files that exist + after but not before these programs are run. + (version_controlled_file): Move up. 2nd arg is now full file + name, not base name; this is more convenient. Put CVS at the end, + as it's now somewhat deprecated. + +2012-05-14 Jim Meyering + + ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition + * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused + definition. Reported by Bruno Haible. + +2012-05-13 Bruno Haible + Paul Eggert + + binary-io: Define set_binary_mode function. + * lib/binary-io.h (set_binary_mode): New function. + (SET_BINARY): Define in terms of set_binary_mode. + * modules/binary-io (configure.ac): Require AC_C_INLINE. + * tests/test-binary-io.c (main): Accept an argument, and test either + set_binary_mode or SET_BINARY depending on the argument. + * tests/test-binary-io.sh: Invoke test-binary-io twice, with an + argument. Clean up also t-bin-out0.tmp. + +2012-05-13 Stefano Lattarini + + bootstrap: take advantage of POSIX shell features + + The 'bootstrap' script offered by Gnulib script already uses POSIX + shell features (like $((...)) arithmetic expansions) that are not + supported by legacy Bourne shells like Solaris 10 /bin/sh. This + means that bootstrap must already be run using a proper POSIX shell, + which will thus provide more features, like ${var#pattern} parameter + expansion or inversion of a command exit status with '!'. We can + thus use these features to improve the clarity and the performances + of the bootstrap script. + + Suggested by Eric Blake. + + * build-aux/bootstrap: Prefer xpg4 parameter expansions over use + of sed/expr plus command substitutions, to save some forks. While + we are at it, prefer the POSIX $(...) form of command substitution, + rather than the legacy form `...` (since the former is visually + clearer and interacts better with quoting), and prefer the idiom: + "if ! CMD; then ACTION ..." + over the idiom: + "if CMD; then :; else ACTION ..." + which was required by legacy Bourne shells not supporting '!'. + +2012-05-12 Bruno Haible + + system-quote: Add more comments. + * lib/system-quote.h: Add more comments about wilcards and limitations. + Suggested by Eli Zaretskii . + + sh-quote, system-quote: Add comments about wildcards. + * lib/sh-quote.h: Clarify what happens with wildcard characters. + * lib/system-quote.h: Likewise. + Reported by Eli Zaretskii . + +2012-05-11 Paul Eggert + + fsusage: check for GNU/Linux statvfs problem dynamically + * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]: + Define STAT_STATFS2_BSIZE too, since in this case the code now + checks dynamically whether statvfs is reliable, falling back on + Linux-style statfs otherwise. + (statvfs_works): New function, for dynamically testing statvfs. + (get_fs_usage) [STAT_STATVFS]: Use it. + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for + statvfs on GNU/Linux hosts, since it's now done dynamically. + +2012-05-10 Bruno Haible + + system-quote, execute, spawn-pipe: Escape '?' on Windows. + * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the + '?' character. + * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise. + * tests/test-system-quote-main.c (check_all): Check also strings like + "??????????". + Reported by Eli Zaretskii . + +2012-05-10 Paul Eggert + + _Noreturn: port config.h to gcc -Wundef + * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is + defined before using it, for gcc -Wundef. Reported by Akim Demaille in + . + +2012-05-10 Bruno Haible + + system-quote: Refactor. + * lib/system-quote.h (system_quote_copy): Fix comment. + * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote): + New functions, extracted from system_quote_copy. + (system_quote_length, system_quote_copy): Use these functions. + Reported by Paul Eggert. + +2012-05-08 Bruno Haible + + execute, spawn-pipe: Escape '*' characters in arguments on Windows. + * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character. + +2012-05-08 Bruno Haible + + Tests for module 'system-quote'. + * modules/system-quote-tests: New file. + * tests/test-system-quote.sh: New file. + * tests/test-system-quote-main.c: New file. + * tests/test-system-quote-child.c: New file. + + New module 'system-quote'. + * lib/system-quote.h: New file. + * lib/system-quote.c: New file. + * modules/system-quote: New file. + +2012-05-08 Bruno Haible + + sh-quote: Make C++ safe and allow multiple inclusion. + * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function + declarations in extern "C". -2014-02-12 Dominic Cleal +2012-05-08 Bruno Haible - IPRoute2: handle "/" in protocol names, swap ID and name fields - This is an incompatible change. + sh-quote tests: Make tests stricter. + * tests/test-sh-quote.c (check_one): Check the return value of + shell_quote_copy. + (main): Check a string with a CR character. Check a string that + contains UCHAR_MAX. + +2012-05-08 Akim Demaille + + warnings.m4: provide a means to specify the program to compile. + * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from... + (gl_WARN_ADD): here. + Use gl_AS_VAR_APPEND. + Support an argument to specify the program to compile. + (gl_WARN_ADD): Accept an argument to specify the program to compile. + AC_SUBST the WARN_CFLAGS when they are used. + * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS, + leave this to gl_WARN_ADD. - Fixes RHBZ#1063968 +2012-05-08 Eric Blake -2014-02-12 Dominic Cleal + doc: recommendations on gettext version + * doc/gnulib-tool.texi (gettextize and autopoint): Document the + choice between versions. + * DEPENDENCIES (gettext): Cover both approaches. - IPRoute2: handle hex IDs and hyphens in names, as present in rt_dsfield - Fixes RHBZ#1063961 +2012-05-08 Jim Meyering -2014-02-10 Dominic Cleal + init.sh: explain why EXEEXT support uses aliases rather than functions + * tests/init.sh: Add a comment. - Shellvars: handle case statements with same-line ;; tokens - Fixes RHBZ#1033799 + init.sh: don't let bash aliases interfere with tests + * tests/init.sh: Undefine any pre-defined aliases if the selected shell + is bash. This avoids problems for those who alias standard commands to + non-conforming uses, like those reported in http://bugs.gnu.org/11256. + Suggested by Tim Mooney . -2014-02-08 Raphaël Pinson +2012-05-07 Paul Eggert - Update NEWS + stdint: be more consistent with glibc, SunOS libc + * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t) + (gl_int_fast16_t, gl_uint_fast16_t) + (gl_int_fast32_t, gl_uint_fast32_t) + (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX) + (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX) + (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX): + Be consistent with glibc by default, and with SunOS 5.10 and later + if __sun is defined. This lessens the likelihood of clashes if + code compiled for older hosts is combined with code compiled for + newer ones. Problem reported by Niels Möller in + . - Fix release date for 1.2.0 in NEWS +2012-05-07 Eric Blake - Add Known_Hosts lens + isatty: relax license to LGPLv2+ + * modules/isatty (License): Relax license. -2014-01-30 Miguel Armas +2012-05-06 Paul Eggert - Grub: handle "foreground" option - Fixes RHBZ#1059383 + stat-size: comment fix + * lib/stat-size.h: Remove obsolete comment about indenting. -2014-01-27 David Lutterkort +2012-05-06 Bruno Haible - Version 1.2.0 + Tests for module 'sh-quote'. + * modules/sh-quote-tests: New file. + * tests/test-sh-quote.c: New file. -2014-01-27 Raphaël Pinson +2012-05-06 Bruno Haible - Update NEWS with span info in XML dump + sh-quote: Improve shell_quote_argv's signature. + * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'. + * lib/sh-quote.c (shell_quote_argv): Likewise. -2014-01-27 Dominic Cleal +2012-05-06 Paul Eggert - Add %check to RPM spec, fix download URL - * augeas.spec.in: add %check to run `make check` during build, skipping - SELinux tests which don't work in a mock environment + stdint: document issues with int_fast8_t etc. + * doc/posix-headers/stdint.texi (stdint.h): Say that other + stdint.h substitutes may define these types differently. See + . - Original %check patch from Richard Jones +2012-05-05 Bruno Haible -2014-01-27 Raphaël Pinson + nanosleep: Avoid guessing wrong when cross-compiling to Linux. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When + cross-compiling, set gl_cv_func_nanosleep to either 'guessing no' + or 'guessing no (mishandles large arguments)'. - Add span info to XML dump - For a node, add span information for the label, value, and node overall if - it is present in the tree. The resulting XML looks like +2012-05-05 Bruno Haible - - - - - ... - + link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux. + * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require + AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform, + set gl_cv_func_link_follows_symlink to "guessing no". -2014-01-27 David Lutterkort +2012-05-05 Bruno Haible - Rename build/aux to build/ac-aux - The directory name 'aux' is special on Windows, and using it keeps the - build from working. + tzset: Avoid guessing wrong when cross-compiling to glibc systems. + * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When + cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to + "guessing no". + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update. - You will need to rerun autogen.sh after this change +2012-05-05 Bruno Haible -2014-01-23 Raphaël Pinson + d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems. + * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require + AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform, + set gl_cv_struct_dirent_d_ino to "guessing yes". + +2012-05-05 Bruno Haible + + fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling. + * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When + cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to + "guessing yes". + +2012-05-05 Bruno Haible + + signbit: Avoid "guessing no" when cross-compiling to glibc systems. + * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross- + compiling to a glibc system, set gl_cv_func_signbit and + gl_cv_func_signbit_gcc to "guessing yes". + +2012-05-05 Bruno Haible + + strerror: Avoid "guessing no" when cross-compiling to glibc systems. + * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When + cross-compiling to a glibc platform, set gl_cv_func_working_strerror + to "guessing yes". + (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling + to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes". + +2012-05-05 Bruno Haible + + canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc. + * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require + AC_CANONICAL_HOST. When cross-compiling to a glibc system, set + gl_cv_func_realpath_works to "guessing yes". + +2012-05-05 Bruno Haible + + gettimeofday: Avoid bad guess when cross-compiling to glibc systems. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require + AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms. + +2012-05-04 Bruno Haible + + Tweak last commit. + * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments. + * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. + +2012-05-04 Paul Eggert + + unistd_h: make it easier to avoid sys_types_h + This is useful for Emacs, which has its own method of porting to + Windows, and which therefore does not need the sys_types_h module. + * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains + code moved here from gl_SYS_TYPES_H. + * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of + using the code directly. + * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not + gl_SYS_TYPES_H. + * modules/sys_types (Files): + * modules/unistd (Files): Add m4/off_t.m4. + +2012-05-03 Bruno Haible + + lstat: Avoid "guessing no" when cross-compiling to glibc systems. + * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross- + compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to + "guessing yes" or "guessing no". + (gl_FUNC_LSTAT): Update. + * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update. + * m4/openat.m4 (gl_FUNC_OPENAT): Update. + * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update. + +2012-05-03 Bruno Haible + + *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc. + * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70. + * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70. + * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When + cross-compiling, choose the first alternative on glibc systems. + * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4. + +2012-05-03 Bruno Haible + + getgroups: Avoid "guessing no" when cross-compiling to glibc systems. + * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70. + (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works. + +2012-05-03 Bruno Haible + + chown: Avoid "guessing no" when cross-compiling to glibc systems. + * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70. + +2012-05-03 Bruno Haible + + Avoid "guessing no" guesses when cross-compiling to glibc systems. + * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes". + * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes". + * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes". + * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes". + * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_chown_slash_works, + gl_cv_func_chown_ctime_works to "guessing yes". + * m4/lchown.m4 (gl_FUNC_LCHOWN): Update. + * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes". + * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes". + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_open_directory_works to + "guessing yes". + * m4/fstat.m4 (gl_FUNC_FSTAT): Update. + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When + cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to + "guessing yes". + * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes". + * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_floorf_ieee to + "guessing yes". + * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes". + * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes". + * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes". + * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When + cross-compiling to glibc systems, set gl_cv_func_getgroups_works to + "guessing yes". + * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes". + * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_hypotf_ieee to + "guessing yes". + * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_hypotl_ieee to + "guessing yes". + * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_link_works to "guessing yes". + * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes". + * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes". + * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes". + * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log10f_ieee to + "guessing yes". + * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes". + * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log1pf_ieee to + "guessing yes". + * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log1pl_ieee to + "guessing yes". + * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes". + * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes". + * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works, + gl_cv_func_mkdir_trailing_dot_works to "guessing yes". + * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_mkfifo_works to + "guessing yes". + * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_mknod_works to + "guessing yes". + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When + cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to + "guessing yes". + * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes". + * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes". + * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes". + * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_svid_putenv to + "guessing yes". + * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When + cross-compiling to glibc systems, set gl_cv_func_readlink_works to + "guessing yes". + * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When + cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to + "guessing yes". + * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST. + When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee + to "guessing yes". + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST. + When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee + to "guessing yes". + * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_rmdir_works to + "guessing yes". + * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_unlink_honors_slashes, + gl_cv_func_unlink_parent_fails to "guessing yes". + * m4/remove.m4 (gl_FUNC_REMOVE): Update. + * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_rename_slash_dst_works, + gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works, + gl_cv_func_rename_dest_works to "guessing yes". + * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes". + * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_roundf_ieee to + "guessing yes". + * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_roundl_ieee to + "guessing yes". + * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_setenv_works to + "guessing yes". + (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_unsetenv_works to + "guessing yes". + * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_sleep_works to + "guessing yes". + * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_stat_file_slash to + "guessing yes". + * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When + cross-compiling to glibc systems, set gl_cv_func_symlink_works to + "guessing yes". + * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes". + * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_truncf_ieee to + "guessing yes". + * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_truncl_ieee to + "guessing yes". + * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_usleep_works to + "guessing yes". + * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_futimesat_works to + "guessing yes". + +2012-05-03 Bruno Haible + + Say "guessing yes" or "guessing no" when cross-compiling. + * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set + gl_cv_func_dup2_works to "guessing yes" or "guessing no". + * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set + gl_cv_func_working_getdelim to "guessing yes" or "guessing no". + * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set + am_cv_func_working_getline to "guessing yes" or "guessing no". + * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set + gl_cv_func_memmem_works_always to "guessing yes" or "guessing no". + (gl_FUNC_MEMMEM): When cross-compiling, set + gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no". + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set + gl_cv_func_stpncpy to "guessing yes" or "guessing no". + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling, + set gl_cv_func_strcasestr_works_always to "guessing yes" or + "guessing no". + (gl_FUNC_STRCASESTR): When cross-compiling, set + gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no". + * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set + gl_cv_func_strstr_works_always to "guessing yes" or "guessing no". + (gl_FUNC_STRSTR): When cross-compiling, set + gl_cv_func_strstr_linear to "guessing yes" or "guessing no". + * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set + gl_cv_func_strtod_works to "guessing yes" or "guessing no". + * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set + gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no". + +2012-05-01 Bruno Haible + + relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD. + * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux. + * build-aux/reloc-ldflags: Likewise. + Suggested by Steven Chamberlain . + +2012-05-01 Bruno Haible + + gnulib-tool: Remove transitional code. + * gnulib-tool: Don't warn about --import with 0 arguments any more. + Reported by Dmitriy Selyutin . + +2012-05-01 Bruno Haible + + getcwd: Fix misindentation. + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation. + +2012-04-29 Paul Eggert + + exclude: process exclude and include directives in order + This restores the pre-2009 behavior, and is part of a fix of a + grep bug reported by Quentin Arce in + . + * lib/exclude.c (struct exclude): Remove 'tail' member. + (new_exclude_segment): Prepend the new segment instead of appending. + Return void, since that's now more convenient. + (file_pattern_matches): Renamed from excluded_file_pattern_p. + (file_name_matches): Renamed from excluded_file_name_p. + (file_pattern_matches, file_name_matches): + Return true if the pattern matches, not if it excludes. + All callers changed. + (excluded_file_name): Process the list in reverse order; + since the list is now reversed this restores the pre-2009 behavior. + (add_exclude): Adjust to new reversed-order list. Use local var + rather than macro, for clarity. + * tests/test-exclude7.sh: Adjust to corrected behavior. + + exclude: handle wildcards with FNM_NOESCAPE and with trailing \ + * lib/exclude.c (unescape_pattern): Don't worry about unescaped [; + it's not possible here. Handle the case of \ at end of pattern + without dumping core. + (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used. + + _Noreturn: future-proof non-GNU and non-MSVC compilers + * build-aux/snippet/_Noreturn.h (_Noreturn): + * m4/gnulib-common.m4 (gl_COMMON_BODY): + Do not define _Noreturn if __STDC_VERSION__ indicates this is + C11 or later. This is more likely to work with random future C + compilers that are neither GNUish nor MSVCish. See Vincent Lefevre in + . + + exclude: handle wildcards with FNM_EXTMATCH + * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(', + '+@', '!(' as wildcards, if FNM_EXTMATCH. Make it clear in a + comment that "has wildcards" really means "has or may have + wildcards". Simplify by avoiding the need to call strcspn. + +2012-04-29 Bruno Haible + + gnulib-tool: Fix list of authors. + * gnulib-tool (func_version): Add Paul Eggert to list of authors. + +2012-04-26 Stefano Lattarini + + bootstrap: support Automake-NG in $buildreq + * bootstrap (check_versions): Handle automake and aclocal from + Automake-NG specially. They can be specified as respectively + the "automake-ng" and "aclocal-ng" requirements. + +2012-04-25 Eric Blake + + bootstrap: only force latest Makefile.in.in for gettext module + * build-aux/bootstrap (with_gettext): Only install latest + Makefile.in.in for projects requesting bleeding edge gettext. + +2012-04-22 Bruno Haible + + doc: Mention reason for replacement on glibc/Linux systems. + * doc/posix-functions/dprintf.texi: Mention the problem with special + 'long double' values. + * doc/posix-functions/fprintf.texi: Likewise. + * doc/posix-functions/printf.texi: Likewise. + * doc/posix-functions/snprintf.texi: Likewise. + * doc/posix-functions/sprintf.texi: Likewise. + * doc/posix-functions/vdprintf.texi: Likewise. + * doc/posix-functions/vfprintf.texi: Likewise. + * doc/posix-functions/vprintf.texi: Likewise. + * doc/posix-functions/vsnprintf.texi: Likewise. + * doc/posix-functions/vsprintf.texi: Likewise. + * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of + platforms with F_DUPFD_CLOEXEC problems. + * doc/posix-functions/glob.texi: Mention which platforms are affected + by the problem with symbolic links. + * doc/posix-functions/linkat.texi: Mention the problem with + AT_SYMLINK_FOLLOW on Linux. + +2012-04-22 Bruno Haible + + pwrite: Don't replace on all platforms. + * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program. + +2012-04-22 Bruno Haible + + rint* tests: Avoid gcc warnings. + * tests/test-rint.c (INFINITY, NAN): Undefine before redefining. + * tests/test-rintf.c (INFINITY, NAN): Likewise. + * tests/test-rintl.c (INFINITY, NAN): Likewise. + +2012-04-21 Bruno Haible + + users.txt: Update. + * users.txt: Add freedink, wdiff. Update URLs for projects that have + switched from CVS to git, bzr, or svn. + +2012-04-21 Bruno Haible + + Large File Support for native Windows platforms. + + * m4/largefile.m4 (gl_LARGEFILE): New macro. + * modules/largefile (configure.ac): Require gl_LARGEFILE. + + * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit + type. + * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T. + * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T. + * doc/posix-headers/sys_types.texi: Mention the effect of the + 'largefile' module. + + * lib/fcntl.in.h: Add comments about off_t. + * modules/fcntl-h (Depends-on): Add sys_types. + + * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include . + (ftruncate): Replace it if REPLACE_FTRUNCATE is 1. + * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H. + (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE. + * modules/unistd (Depends-on): Add sys_types. + (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE. + + * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64 + instead of lseek. + * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set + REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1. + * modules/lseek (Depends-on): Add sys_types. + + * lib/ftruncate.c: Put under GPLv3+. Include , + msvc-nothrow.h. + (SetFileSize): New function. + (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation. + * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows + if Large File Support is requested. + * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE. + (Depends-on): Add sys_types, msvc-nothrow. Update conditions. + + * lib/stdio.in.h: Add comments about off_t. + * modules/stdio (Depends-on): Add sys_types. + + * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64 + instead of ftello. + * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set + REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1. + (gl_PREREQ_FTELLO): New macro. + * modules/ftello (Depends-on): Add sys_types. + (configure.ac): Incoke gl_PREREQ_FTELLO. + + * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64 + instead of fseeko. + * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set + REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1. + (gl_PREREQ_FSEEKO): New macro. + * modules/fseeko (Depends-on): Add sys_types. + (configure.ac): Invoke gl_PREREQ_FSEEKO. + + * lib/sys_stat.in.h: Add comments about off_t. + (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a + 64-bit integer for st_size in 'struct stat'. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE. + Define _GL_WINDOWS_64_BIT_ST_SIZE. + * modules/sys_stat (Depends-on): Add sys_types. + (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE. + + * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64 + instead of stat or _stat. + + * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and + 'struct _stati64' instead of fstat and 'struct stat'. + * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set + REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1. + + Reported by Ray Satiro . + +2012-04-19 Eric Blake + + bootstrap: accommodate older libtool + * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22. + Reported by Daniel P. Berrange. + +2012-04-19 Jim Meyering + + announce-gen: avoid failure due to lack of Digest::SHA1 + Even with the preferred Digest::SHA available, this script + would fail when the backup module, Digest::SHA1, was not installed. + * build-aux/announce-gen: Quote the conditional use of "use". + Reported by Reuben Thomas in: + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444 + + bootstrap: don't let a user's CDPATH setting affect this script + When CDPATH is set, cd will sometimes generate output. + When "cd" is run in a subshell whose output matters, that + surprising-to-some output can cause malfunction. + Unsetting CDPATH turns off this shell "feature." + * build-aux/bootstrap (CDPATH): Unset. + Reported by Reuben Thomas in: + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435 + and inspired by his patch here: + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440 + +2012-04-16 Akim Demaille + and Jim Meyering + + maint.mk: catch "see @xref{}" and similar + * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also + prohibit "See also @xref{", "Also see @pxref{", and similar. + +2012-04-16 Jim Meyering + + bootstrap: really use gnulib's po/Makefile.in.in + * build-aux/bootstrap: Correct the source file name in previous change. + Reported by Akim Demaille. + + configmake: correct minor inconsistency in Makefile rule + * modules/configmake (Makefile.am): All other rules like this one + run the final "mv -f ..." in the same backslash-continued command + as the one that does everything else. This one put the mv -f ... + command on a separate, non-backslash-continued line. + Make it like the others. + + bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext + * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not + the one from gettext. Reported by Akim Demaille. + +2012-04-16 Joel E. Denny + + Fix recursion of install-* into po directories. + Bison's install-pdf bug reported by Hans Aberg at + . + * build-aux/po/Makefile.in.in (install-dvi, install-html) + (install-info, install-pdf, install-ps): New targets. + +2012-04-16 Jim Meyering + + maint: avoid spurious "make sc_maint" failure + * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also + exempt all *.class file names, for lib/javaversion.class. + +2012-04-15 Bruno Haible + + lseek: Make configure test independent of environment. + * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native + Windows, we know that lseek() on pipes is broken; skip the runtime + test. + +2012-04-14 Bruno Haible + + stat: Bypass buggy override in mingw64. + * m4/stat.m4 (gl_FUNC_STAT): Update comments. + * lib/stat.c (stat) [mingw64]: Define to _stat. + * doc/posix-functions/stat.texi: Mention mingw64 bug. + +2012-04-14 Bruno Haible + + pathmax: Fix compilation error on MSVC 9. + * modules/pathmax (Depends-on): Add unistd. + +2012-04-12 Paul Eggert + + README: document pointer comparison assumption + * README (Portability guidelines): Document assumption about + pointer comparisons, in response to a recent bug-gnulib comment by + Jeffrey Kegler. + +2012-04-12 Bruno Haible + + Tests for module 'getrusage'. + * modules/getrusage-tests: New file. + * tests/test-getrusage.c: New file. + + New module 'getrusage'. + * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h, + warn-on-use.h. + (getrusage): New declaration. + * lib/getrusage.c: New file. + * m4/getrusage.m4: New file. + * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage + is declared. + (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE, + HAVE_GETRUSAGE. + * modules/sys_resource (Depends-on): Add snippet/arg-nonnull, + snippet/c++defs, snippet/warn-on-use. + (Makefile.am): Update generation of sys/resource.h. Substitute + GNULIB_GETRUSAGE, HAVE_GETRUSAGE. + * modules/getrusage: New file. + * doc/posix-functions/getrusage.texi: Mention the new module. + +2012-04-12 Bruno Haible + + Tests for module 'sys_resource'. + * modules/sys_resource-tests: New file. + * tests/test-sys_resource.c: New file. + + New module 'sys_resource'. + * lib/sys_resource.in.h: New file. + * m4/sys_resource_h.m4: New file. + * modules/sys_resource: New file. + * doc/posix-headers/sys_resource.texi: Mention the new module. + +2012-04-12 LRN (tiny change) + + ioctl: Fix compilation error on mingw. + * lib/ioctl.c: Include . + Also reported by Ray Satiro . + +2012-04-04 Jim Meyering + + regex: correct #pragma guard expression + * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6, + not 4.3. Correct its cpp guard expression. + +2012-04-04 Paul Eggert + + regex: remove unnecessary type punning + Problem reported by Vladimir Serbinenko in + . + * lib/regex.h (struct re_pattern_buffer): Change the type of + __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *. + Fix comment to match code. + * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree) + (re_compile_internal, free_workarea_compile, analyze, lower_subexp) + (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp): + * lib/regexec.c (regexec, re_search_stub, re_search_internal) + (set_regs): + Omit no-longer-necessary casts. + +2012-04-03 Bruno Haible + + Tests for module 'ilogbl'. + * modules/ilogbl-tests: New file. + * tests/test-ilogbl.c: New file. + + New module 'ilogbl'. + * lib/math.in.h (ilogbl): New declaration. + * lib/ilogbl.c: New file. + * m4/ilogbl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL. + * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL. + Split sed invocation, to avoid the limit of 100 substitutions of + HP-UX 'sed'. + * modules/ilogbl: New file. + * tests/test-math-c++.cc: Check the declaration of ilogbl. + * doc/posix-functions/ilogbl.texi: Mention the new module. + +2012-04-03 Bruno Haible + + Tests for module 'ilogbf'. + * modules/ilogbf-tests: New file. + * tests/test-ilogbf.c: New file. + + New module 'ilogbf'. + * lib/math.in.h (ilogbf): New declaration. + * lib/ilogbf.c: New file. + * m4/ilogbf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF, + REPLACE_ILOGBF. + * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF, + REPLACE_ILOGBF. + * modules/ilogbf: New file. + * tests/test-math-c++.cc: Check the declaration of ilogbf. + * doc/posix-functions/ilogbf.texi: Mention the new module. + +2012-04-03 Bruno Haible + + Tests for module 'ilogb'. + * modules/ilogb-tests: New file. + * tests/test-ilogb.c: New file. + * tests/test-ilogb.h: New file, based on tests/test-logb.h and + tests/test-logb-ieee.h. + + New module 'ilogb'. + * lib/math.in.h (ilogb): New declaration. + * lib/ilogb.c: New file. + * m4/ilogb.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB, + REPLACE_ILOGB. + * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB, + REPLACE_ILOGB. + * modules/ilogb: New file. + * tests/test-math-c++.cc: Check the declaration of ilogb. + * doc/posix-functions/ilogb.texi: Mention the new module. + +2012-04-03 Bruno Haible + + math: Provide FP_ILOGB0 and FP_ILOGBNAN. + * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback. + * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined. + (main): Check their values. + * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN + problem. + +2012-04-03 Bruno Haible + + Tests for module 'logbl-ieee'. + * modules/logbl-ieee-tests: New file. + * tests/test-logbl-ieee.c: New file. + + New module 'logbl-ieee'. + * modules/logbl-ieee: New file. + + Tests for module 'logb-ieee'. + * modules/logb-ieee-tests: New file. + * tests/test-logb-ieee.c: New file. + + New module 'logb-ieee'. + * modules/logb-ieee: New file. + + Tests for module 'logbf-ieee'. + * modules/logbf-ieee-tests: New file. + * tests/test-logbf-ieee.c: New file. + * tests/test-logb-ieee.h: New file. + + New module 'logbf-ieee'. + * modules/logbf-ieee: New file. + +2012-04-03 Bruno Haible + + Tests for module 'logbl'. + * modules/logbl-tests: New file. + * tests/test-logbl.c: New file. + + New module 'logbl'. + * lib/math.in.h (logbl): New declaration. + * lib/logbl.c: New file. + * m4/logbl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL, + REPLACE_LOGBL. + * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL, + REPLACE_LOGBL. + * modules/logbl: New file. + * tests/test-math-c++.cc: Check the declaration of logbl. + * doc/posix-functions/logbl.texi: Mention the new module. + +2012-04-02 Bruno Haible + + Tests for module 'logbf'. + * modules/logbf-tests: New file. + * tests/test-logbf.c: New file. + + New module 'logbf'. + * lib/math.in.h (logbf): New declaration. + * lib/logbf.c: New file. + * m4/logbf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF, + REPLACE_LOGBF. + * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF, + REPLACE_LOGBF. + * modules/logbf: New file. + * tests/test-math-c++.cc: Check the declaration of logbf. + * doc/posix-functions/logbf.texi: Mention the new module. + +2012-04-02 Bruno Haible + + logb tests: More tests. + * tests/test-logb.h: New file, based on tests/test-logb.c and + tests/test-frexp.h. + * tests/test-logb.c: Include minus-zero.h, test-logb.h. + (main): Just invoke test_function. + * modules/logb-tests (Files): Add tests/test-logb.h, + tests/minus-zero.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_logb_SOURCES. + + logb: Provide replacement and workarounds. + * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB + is 1. + * lib/logb.c: New file. + * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro. + (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB. + * modules/math (Makefile.am): Substitute REPLACE_LOGB. + * modules/logb (Files): Add lib/logb.c. + (Depends-on): Add isfinite, frexp, isnand. + (configure.ac): Compile the replacement code logb.c if needed. + * tests/test-math-c++.cc: Check the declaration of logb. + * doc/posix-functions/logb.texi: Mention the replacement and the bug + with subnormal numbers. + +2012-04-02 Bruno Haible + + log10* tests: Speed up. + * tests/test-log10.h (test_function): Reduce amount of random numbers + to test. + +2012-04-01 Bruno Haible + + logf-ieee: Fix test whether logf works. + * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program. + +2012-04-01 Bruno Haible + + log10l: Work around log10l-ieee test failure on IRIX 6.5. + * lib/log10l.c: Include + (log10l): On IRIX, normalize the +Infinity value. + * modules/log10l (Depends-on): Add 'float'. + * doc/posix-functions/log10l.texi: Mention the IRIX problem with + +Infinity. + + log10f-ieee: Work around test failure on NetBSD 5.1. + * m4/log10f-ieee.m4: New file. + * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present, + test whether log10f works with a negative argument. Replace it if not. + * lib/log10f.c (log10f): For negative arguments, return NaN. + * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4. + (configure.ac): Invoke gl_FUNC_LOG10F_IEEE. + * doc/posix-functions/log10f.texi: Mention the log10f-ieee module. + + log10f-ieee: Work around test failure on Solaris 9. + * modules/log10f-ieee (Depends-on): Add log10-ieee. + (configure.ac): Require gl_FUNC_LOG10F. + + log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11. + * m4/log10-ieee.m4: New file. + * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test + whether log10 works with a negative argument. Replace it if not. + * lib/log10.c (log10): For negative arguments, return NaN. + * modules/log10-ieee (Files): Add m4/log10-ieee.m4. + (configure.ac): Invoke gl_FUNC_LOG10_IEEE. + * doc/posix-functions/log10.texi: Mention the log10-ieee module. + + Tests for module 'log10l-ieee'. + * modules/log10l-ieee-tests: New file. + * tests/test-log10l-ieee.c: New file. + + New module 'log10l-ieee'. + * modules/log10l-ieee: New file. + + Tests for module 'log10-ieee'. + * modules/log10-ieee-tests: New file. + * tests/test-log10-ieee.c: New file. + + New module 'log10-ieee'. + * modules/log10-ieee: New file. + + Tests for module 'log10f-ieee'. + * modules/log10f-ieee-tests: New file. + * tests/test-log10f-ieee.c: New file. + * tests/test-log10-ieee.h: New file. + + New module 'log10f-ieee'. + * modules/log10f-ieee: New file. + +2012-04-01 Bruno Haible + + log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug. + * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1. + * lib/log10l.c (log10l): If log10l exists, use it and provide just the + workaround. + * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro. + (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L. + * modules/math (Makefile.am): Substitute REPLACE_LOG10L. + * modules/log10l (configure.ac): Consider REPLACE_LOG10L. + (Depends-on): Update conditions. + * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1, + IRIX 6.5, OSF/1 5.1 problems. + +2012-04-01 Bruno Haible + + log10f: Work around OSF/1 5.1 bug. + * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1. + * lib/log10f.c (log10f): If logf exists, use it and provide just the + workaround. + * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro. + (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F. + * modules/math (Makefile.am): Substitute REPLACE_LOG10F. + * modules/log10f (configure.ac): Consider REPLACE_LOG10F. + (Depends-on): Update conditions. + * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem. + +2012-04-01 Bruno Haible + + log10: Work around OSF/1 5.1 bug. + * lib/math.in.h (log10): New declaration. + * lib/log10.c: New file. + * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro. + (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10. + * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10. + * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10. + * modules/log10 (Files): Add lib/log10.c. + (Depends-on): Add math. + (configure.ac): If REPLACE_LOG10 is 1, compile an override. + * tests/test-math-c++.cc: Check the declaration of log10. + * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem. + +2012-03-31 Bruno Haible + + log10l tests: More tests. + * modules/log10l-tests (Files): Add tests/test-log10l.h, + tests/minus-zero.h, tests/randoml.c. + (Makefile.am): Add randoml.c to test_log10l_SOURCES. + * tests/test-log10l.c: Include , minus-zero.h, test-log10l.h. + (main): Invoke test_function. + + log10f tests: More tests. + * modules/log10f-tests (Files): Add tests/test-log10.h, + tests/minus-zero.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_log10f_SOURCES. + * tests/test-log10f.c: Include , minus-zero.h, test-log10.h. + (main): Invoke test_function. + + log10 tests: More tests. + * tests/test-log10.h: New file. + * modules/log10-tests (Files): Add tests/test-log10.h, + tests/minus-zero.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_log10_SOURCES. + * tests/test-log10.c: Include , minus-zero.h, test-log10.h. + (main): Invoke test_function. + +2012-03-31 Simon Josefsson + + fflush: Fix syntax error. + * lib/fflush.c: Include unused-parameter.h, needed for + _GL_UNUSED_PARAMETER. + * modules/fflush (Depends-on): Add snippet/unused-parameter. + +2012-03-30 Paul Eggert + + regex: pacify GCC when compiling GRUB + * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid + a diagnostic. Reported by Vladimir Serbinenko in + . + +2012-03-29 Eric Blake + + stdio: don't assume gets any more + * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets + support. + * modules/stdio (Makefile.am): Likewise. + * lib/stdio-read.c (gets): Likewise. + * tests/test-stdio-c++.cc: Likewise. + * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment. + * lib/stdio.in.h (gets): Make warning occur in more places. + * doc/posix-functions/gets.texi (gets): Update documentation. + Reported by Christer Solskogen. + + maint.mk: fix syntax checks without exclusions + * top/maint.mk (_sc_search_regexp): Allow for empty variable. + Reported by Daniel P. Berrange. + + strerror_r: avoid compiler warning + * lib/strerror_r.c (strerror_r): Hoist extern declaration to top + level. + + fflush: avoid compiler warning + * lib/fflush.c (update_fpos_cache): Mark variables that are + potentially unused. + +2012-03-25 Bruno Haible + + Tests for module 'localeconv'. + * modules/localeconv-tests: New file. + * tests/test-localeconv.c: New file. + + New module 'localeconv'. + * lib/locale.in.h (localeconv): New declaration. + * lib/localeconv.c: New file. + * m4/localeconv.m4: New file. + * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV, + REPLACE_LOCALECONV. + * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV, + REPLACE_LOCALECONV. + * modules/localeconv: New file. + * modules/nl_langinfo (Depends-on): Add localeconv. + * modules/human (Depends-on): Likewise. + * doc/posix-functions/localeconv.texi: Mention the new module. + +2012-03-25 Bruno Haible + + locale: Provide a complete 'struct lconv'. + * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if + 'struct lconv' does not contain int_p_cs_precedes. + * tests/test-locale.c (main): Check that 'struct lconv' is complete. + * doc/posix-headers/locale.texi: Update. + + locale: Provide a complete 'struct lconv' on Solaris 10, 11. + * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99. + * doc/posix-headers/locale.texi: Update. + + locale: Provide a working 'struct lconv'. + * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1. + * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if + 'struct lconv' does not even contain decimal_point. + (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV. + * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV. + * tests/test-locale.c (main): Check that 'struct lconv' is complete. + * doc/posix-headers/locale.texi: Mention the problems with + 'struct lconv'. + Reported by Gianluigi Tiesi . + +2012-03-24 Bruno Haible + + Enable common subexpression optimization in GCC. + * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New + macros. + * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with + GCC attribute 'const'. + (uc_locale_language): Declare with GCC attribute 'pure'. + * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare + with GCC attribute 'const'. + * lib/unictype.in.h (uc_is_general_category_withtable, + uc_combining_class, uc_combining_class_name, + uc_combining_class_long_name, uc_bidi_class_name, + uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class, + uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category, + uc_decimal_value, uc_digit_value, uc_numeric_value, + uc_joining_type_name, uc_joining_type_long_name, uc_joining_type, + uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script, + uc_block, uc_is_c_whitespace, uc_is_java_whitespace, + uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha, + uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print, + uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank): + Declare with GCC attribute 'const'. + (uc_general_category_name, uc_general_category_long_name, + uc_general_category_byname, uc_general_category, + uc_is_general_category, uc_combining_class_byname, + uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname, + uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block): + Declare with GCC attribute 'pure'. + * lib/unigbrk.in.h (uc_graphemeclusterbreak_property, + uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next, + u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev, + u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare + with GCC attribute 'pure'. + * lib/uninorm.in.h (uc_composition): Declare with GCC attribute + 'const'. + (uninorm_decomposing_form): Declare with GCC attribute 'pure'. + * lib/unistr.in.h (): Declare with GCC attribute 'const'. + (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen, + u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr, + u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen, + u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen, + u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp, + u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp, + u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr, + u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn, + u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk, + u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith, + u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with + GCC attribute 'pure'. + * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute + 'const'. + * lib/uniwidth.in.h (uc_width): Simplify declaration. + (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth, + u32_strwidth): Declare with GCC attribute 'pure'. + + Enable common subexpression optimization in GCC. + * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h. + (alphasort): Declare with GCC attribute 'pure'. + * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h. + (atoll): Declare with GCC attribute 'pure'. + * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr, + mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk, + mbsspn, strverscmp): Declare with GCC attribute 'pure'. + * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h. + (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp, + wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn, + wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'. + +2012-03-24 Bruno Haible + + gnulib-tool: Avoid unintended error output from 'cmp'. + * gnulib-tool (func_add_file, func_update_file, func_import): Use + "cmp -s", not "cmp > /dev/null". + +2012-03-23 Stefano Lattarini + + gnulib-tool: fix imprecise comments w.r.t. an automake bug + + It's not just Automake versions < 1.9b that creates an empty + pkgdatadir at installation time if pkgdata_DATA is specified + to empty; modern automake versions do this as well, at least + until automake 1.11.4 (not yet released at the moment of writing, + but soon to appear). That behaviour was generally considered a + feature rather than a bug, at least until this discussion: + + + See also automake bugs #10997 and #11030. + + * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments. Add + reference to relevant automake bug numbers. + (func_emit_tests_Makefile_am): Likewise. + +2012-03-20 Reuben Thomas + + announce-gen: use Digest::SHA when possible + * build-aux/announce-gen: Use Digest::SHA when possible, falling + back to Digest::SHA1 if necessary. + +2012-03-20 Jim Meyering + + tests: avoid gcc warnings about argv vs. const initializers + * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two + warnings about discarding 'const' qualifier from pointer target type. + * tests/test-posix_spawn2.c (main): Likewise. + +2012-03-20 Reuben Thomas + + README-release: simplify slightly + * top/README-release: Run "git checkout master" only once. + +2012-03-15 Mark Wielaard + + git-merge-changelog: add specific example on how to use with hg. + * lib/git-merge-changelog.c: Add example on how to use in .hgrc. + +2012-03-18 Mark Wielaard + + lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org. + +2012-03-18 Andreas Oberritter + + git-version-gen: don't let "prefix" envvar cause trouble + * build-aux/git-version-gen (prefix): Initialize properly, + so as not to use a value specified via the environment. + Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810 + +2012-03-16 Paul Eggert + + regex: diagnose too-large repeat counts in EREs + Previously, the code did not diagnose the too-large repeat count + in EREs like 'b{1000000000}'; instead, it silently treated the ERE + as if it were 'b\{1000000000}', which is unexpected. + * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count + is too large. REG_ESIZE is used nowhere else, and the diagnostic + is a reasonable one for this problem. Another option would be to + create a new REG_OVERFLOW error for repeat counts that are too large. + (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat + count is too large, so that the caller can distinguish the two cases. + * lib/regex.h (_REG_ESIZE): Document that this is now a generic + "Too large" return code, and that repeat counts are one example of this. + +2012-03-16 Paul Eggert + + doc: some glibc x32 integer width issues + * doc/posix-headers/sys_types.texi (sys/types.h): + * doc/posix-headers/time.texi (time.h): + Mention that glibc x32 does not conform to POSIX in a couple of + areas related to integer widths. + +2012-03-15 Bruno Haible + + fmal: Avoid test failure on OpenBSD 5.1/SPARC64. + * lib/fma.c (VOLATILE): New macro. + (FUNC): Use it to work around a GCC compiler bug. + +2012-03-13 Bruno Haible + + hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC. + * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro. + (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set + REPLACE_HYPOTL to 1. + * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug. + +2012-03-13 Bruno Haible - Update NEWS + remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro. + (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set + REPLACE_REMAINDERL to 1. + * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC + bug. - Sshd: let all special keys be case-insensitive +2012-03-13 Bruno Haible - Update NEWS + sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC. + * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1. + * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro. + (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces + too big rounding errors. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL. + * modules/math (Makefile.am): Substitute REPLACE_SQRTL. + * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL. + (Depends-on): Update conditions. + * tests/test-sqrtl.c (my_ldexpl): New function. + (main): Add test of a particular value. + * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug. - Sshd: Support Ciphers and KexAlgorithms groups, GH issue #69 +2012-03-13 Pádraig Brady - Update NEWS + doc: Update timer_* platform portability notes. + * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9) + that always return ENOSYS. + * doc/posix-functions/timer_delete.texi: Likewise. + * doc/posix-functions/timer_gettime.texi: Likewise. + * doc/posix-functions/timer_settime.texi: Likewise. + +2012-03-13 Bruno Haible + + cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC. + * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro. + (gl_FUNC_CBRTL): Invoke it. If the function does not work, set + REPLACE_CBRTL to 1. + * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug. + +2012-03-13 Bruno Haible + + remainderl: Avoid compilation error on AIX >= 5.2. + * lib/math.in.h (remainderl): Undefine macro from the system header. + +2012-03-13 Bruno Haible + + Avoid compilation errors with MSVC option -fp:strict. + * lib/cbrt.c: Use MSVC specific pragma fenv_access. + * lib/cbrtf.c: Likewise. + Reported by Michael Goffioul . + +2012-03-12 Bruno Haible + + uninorm: Don't crash in out-of-memory conditions. + * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure + gracefully. + * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise. + Based on a report and patch by Stephen Gallagher . + +2012-03-13 Akim Demaille + + quote: fix syntax-check + * top/maint.mk (sc_prohibit_quote_without_use): quote.h + also exports quote_quoting_options. + +2012-03-12 Simon Josefsson + + Collapse list of copyright years to ranges. See + . + * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in, + build-aux/csharpexec.sh.in, build-aux/gnupload, + build-aux/install-reloc, build-aux/javacomp.sh.in, + build-aux/javaexec.sh.in, build-aux/ldd.sh.in, + build-aux/move-if-change, build-aux/reloc-ldflags, + build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright. + +2012-03-11 Bruno Haible + + log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10. + * m4/log2f-ieee.m4: New file. + * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test + whether log2f works with a minus zero argument. Replace it if not. + * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4. + (Depends-on): Add log2-ieee. + (configure.ac): Invoke gl_FUNC_LOG2F_IEEE. + * doc/posix-functions/log2f.texi: Mention the log2f-ieee module. + + log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10. + * m4/log2-ieee.m4: New file. + * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test + whether log2 works with a minus zero argument. Replace it if not. + * modules/log2-ieee (Files): Add m4/log2-ieee.m4. + (configure.ac): Invoke gl_FUNC_LOG2_IEEE. + * doc/posix-functions/log2.texi: Mention the log2-ieee module. + + Tests for module 'log2l-ieee'. + * modules/log2l-ieee-tests: New file. + * tests/test-log2l-ieee.c: New file. + + New module 'log2l-ieee'. + * modules/log2l-ieee: New file. + + Tests for module 'log2-ieee'. + * modules/log2-ieee-tests: New file. + * tests/test-log2-ieee.c: New file. + + New module 'log2-ieee'. + * modules/log2-ieee: New file. + + Tests for module 'log2f-ieee'. + * modules/log2f-ieee-tests: New file. + * tests/test-log2f-ieee.c: New file. + * tests/test-log2-ieee.h: New file. + + New module 'log2f-ieee'. + * modules/log2f-ieee: New file. + +2012-03-11 Bruno Haible + + Tests for module 'log2l'. + * modules/log2l-tests: New file. + * tests/test-log2l.c: New file. + + New module 'log2l'. + * lib/math.in.h (log2l): New declaration. + * lib/log2l.c: New file. + * m4/log2l.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L, + REPLACE_LOG2L. + * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L, + REPLACE_LOG2L. + * modules/log2l: New file. + * tests/test-math-c++.cc: Check the declaration of log2l. + * doc/posix-functions/log2l.texi: Mention the new module and the IRIX + and OSF/1 problems. + +2012-03-11 Bruno Haible + + Tests for module 'log2f'. + * modules/log2f-tests: New file. + * tests/test-log2f.c: New file. + + New module 'log2f'. + * lib/math.in.h (log2f): New declaration. + * lib/log2f.c: New file. + * m4/log2f.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F, + REPLACE_LOG2F. + * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F, + REPLACE_LOG2F. + * modules/log2f: New file. + * tests/test-math-c++.cc: Check the declaration of log2f. + * doc/posix-functions/log2f.texi: Mention the new module and the IRIX + and OSF/1 and Cygwin problems. + +2012-03-11 Bruno Haible + + Tests for module 'log2'. + * modules/log2-tests: New file. + * tests/test-log2.c: New file. + * tests/test-log2.h: New file. + + New module 'log2'. + * lib/math.in.h (log2): New declaration. + * lib/log2.c: New file. + * m4/log2.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2, + REPLACE_LOG2. + * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2, + REPLACE_LOG2. + * modules/log2: New file. + * tests/test-math-c++.cc: Check the declaration of log2. + * doc/posix-functions/log2.texi: Mention the new module and the IRIX + and OSF/1 and Cygwin problems. + +2012-03-11 Bruno Haible + + exp2* tests: More tests. + * tests/test-exp2.h (test_function): Test all integral arguments that + don't need to overflow or denormalized numbers. + * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros. + * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise. + * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise. + +2012-03-10 Bruno Haible + + log1pl-ieee: Work around test failure on AIX 7.1. + * modules/log1pl-ieee (Depends-on): Add log1p-ieee. + + log1pl-ieee: Work around test failure on IRIX 6.5. + * m4/log1pl-ieee.m4: New file. + * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present, + test whether log1pl works with a minus zero argument. Replace it if + not. + * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL. + * modules/math (Makefile.am): Substitute REPLACE_LOG1PL. + * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL. + (Depends-on): Update conditions. + * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE. + * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module. + + log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1. + * m4/log1pf-ieee.m4: New file. + * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present, + test whether log1pf works with a minus zero argument. Replace it if + not. + * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE. + * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module. + + log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11. + * modules/log1pf-ieee (Depends-on): Add log1p-ieee. + (configure.ac): Require gl_FUNC_LOG1PF. + + log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11. + * m4/log1p-ieee.m4: New file. + * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test + whether log1p works with a minus zero argument. Replace it if not. + * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P. + * modules/math (Makefile.am): Substitute REPLACE_LOG1P. + * modules/log1p (configure.ac): Consider REPLACE_LOG1P. + (Depends-on): Update conditions. + * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_LOG1P_IEEE. + * doc/posix-functions/log1p.texi: Mention the log1p-ieee module. + + Tests for module 'log1pl-ieee'. + * modules/log1pl-ieee-tests: New file. + * tests/test-log1pl-ieee.c: New file. + + New module 'log1pl-ieee'. + * modules/log1pl-ieee: New file. + + Tests for module 'log1p-ieee'. + * modules/log1p-ieee-tests: New file. + * tests/test-log1p-ieee.c: New file. + + New module 'log1p-ieee'. + * modules/log1p-ieee: New file. + + Tests for module 'log1pf-ieee'. + * modules/log1pf-ieee-tests: New file. + * tests/test-log1pf-ieee.c: New file. + * tests/test-log1p-ieee.h: New file. + + New module 'log1pf-ieee'. + * modules/log1pf-ieee: New file. + +2012-03-10 Bruno Haible + + Tests for module 'log1pl'. + * modules/log1pl-tests: New file. + * tests/test-log1pl.c: New file. + + New module 'log1pl'. + * lib/math.in.h (log1pl): New declaration. + * lib/log1pl.c: New file. + * m4/log1pl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL. + * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL. + * modules/log1pl: New file. + * tests/test-math-c++.cc: Check the declaration of log1pl. + * doc/posix-functions/log1pl.texi: Mention the new module. + +2012-03-10 Bruno Haible + + Tests for module 'log1pf'. + * modules/log1pf-tests: New file. + * tests/test-log1pf.c: New file. + + New module 'log1pf'. + * lib/math.in.h (log1pf): New declaration. + * lib/log1pf.c: New file. + * m4/log1pf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF, + REPLACE_LOG1PF. + * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF, + REPLACE_LOG1PF. + * modules/log1pf: New file. + * tests/test-math-c++.cc: Check the declaration of log1pf. + * doc/posix-functions/log1pf.texi: Mention the new module. + +2012-03-10 Bruno Haible + + log1p tests: More tests. + * tests/test-log1p.h: New file. + * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_log1p_SOURCES. + * tests/test-log1p.c: Include and test-log1p.h. + (main): Invoke test_function. + + log1p: Provide replacement for Minix and MSVC. + * lib/math.in.h (log1p): New declaration. + * lib/log1p.c: New file. + * m4/log1p.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P. + * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P. + * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4. + (Depends-on): Add math, isnand, log, round. + (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if + HAVE_LOG1P is 0. + * tests/test-math-c++.cc: Check the declaration of log1p. + * doc/posix-functions/log1p.texi: Mention the replacement. + +2012-03-10 Bruno Haible + + math tests: Small simplification. + * tests/test-exp.h (test_function): Use the same err_bound for + 'double' on platforms with sizeof (long double) == sizeof (double) + than on platforms with sizeof (long double) > sizeof (double). + * tests/test-exp2.h (test_function): Likewise. + * tests/test-expm1.h (test_function): Likewise. + * tests/test-log.h (test_function): Likewise. + +2012-03-10 Bruno Haible + + Fix some comments. + * lib/expl.c: Fix an ambiguous comment. + * lib/expm1.c: Likewise. + * lib/expm1l.c: Likewise. + * lib/exp2.c: Likewise. + * lib/exp2l.c: Likewise. + +2012-03-10 Paul Eggert + + regex: allow inclusion of before + Without this patch, portable programs had to include before + if they wanted a consistent value for RE_DUP_MAX. + I ran into this problem with a test version of GNU grep on Solaris 8. + * lib/regex.h: Include if _REGEX_INCLUDE_LIMITS_H. + This is done conditionally so that this change can be merged + back to glibc. + * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if + using the included regex. + + fts: depend on fdopendir + * modules/fts (Depends-on): Depend on fdopendir. This is needed + on Solaris 8, at least, since it lacks fdopendir. Evidently the + problem was introduced when fdopendir was split out. + +2012-03-10 Bruno Haible + + Remove unused variables. + * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise. + +2012-03-10 Bruno Haible + + isnanf-nolibm: Fix last commit. + * lib/isnanf-nolibm.h [IRIX]: Don't include . Declare isnanf. + + isnanf-nolibm: Make it work on IRIX 6.5 with cc. + * lib/isnanf-nolibm.h [IRIX]: Include . + +2012-03-10 Bruno Haible + + logf-ieee: Work around test failure on NetBSD 5.1. + * m4/logf-ieee.m4: New file. + * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test + whether logf works with a negative argument. Replace it if not. + * lib/logf.c (logf): For negative arguments, return NaN. + * modules/logf-ieee (Files): Add m4/logf-ieee.m4. + (configure.ac): Invoke gl_FUNC_LOGF_IEEE. + * doc/posix-functions/logf.texi: Mention the logf-ieee module. + + logf-ieee: Work around test failure on Solaris 9. + * modules/logf-ieee (Depends-on): Add log-ieee. + (configure.ac): Require gl_FUNC_LOGF. + + log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11. + * m4/log-ieee.m4: New file. + * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether + log works with a negative argument. Replace it if not. + * lib/log.c (log): For negative arguments, return NaN. + * modules/log-ieee (Files): Add m4/log-ieee.m4. + (configure.ac): Invoke gl_FUNC_LOG_IEEE. + * doc/posix-functions/log.texi: Mention the log-ieee module. + + Tests for module 'logl-ieee'. + * modules/logl-ieee-tests: New file. + * tests/test-logl-ieee.c: New file. + + New module 'logl-ieee'. + * modules/logl-ieee: New file. + + Tests for module 'log-ieee'. + * modules/log-ieee-tests: New file. + * tests/test-log-ieee.c: New file. + + New module 'log-ieee'. + * modules/log-ieee: New file. + + Tests for module 'logf-ieee'. + * modules/logf-ieee-tests: New file. + * tests/test-logf-ieee.c: New file. + * tests/test-log-ieee.h: New file. + + New module 'logf-ieee'. + * modules/logf-ieee: New file. + +2012-03-10 Bruno Haible + + log: Fix bug introduced on 2012-03-09. + * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS. + +2012-03-10 Pádraig Brady + + timer-time: link explicitly with pthreads on glibc + * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread + to support static linking, when newer glibc is + detected, as that contains pthread emulation of + POSIX timer functions where required. + * modules/timer-time: Depend on threadlib to + pull in the appropriate library to link. + +2012-03-10 Bruno Haible + + log* tests: More tests. + * tests/test-log.h: New file. + * tests/test-log.c: Include , minus-zero.h, test-log.h. + (main): Invoke test_function. + * tests/test-logf.c: Include , minus-zero.h, test-log.h. + (main): Invoke test_function. + * tests/test-logl.c: Include , minus-zero.h, test-log.h. + (main): Invoke test_function. + * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h, + tests/randomd.c. + (Makefile.am): Add randomd.c to test_log_SOURCES. + * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h, + tests/randomf.c. + (Makefile.am): Add randomf.c to test_logf_SOURCES. + * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h, + tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_logl_SOURCES. + +2012-03-09 Bruno Haible + + logl: Work around OSF/1 5.1 bug. + * lib/math.in.h (logl): Override if REPLACE_LOGL is 1. + * lib/logl.c (logl): If logl exists, use it and provide just the + workaround. + * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro. + (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL. + * modules/math (Makefile.am): Substitute REPLACE_LOGL. + * modules/logl (configure.ac): Consider REPLACE_LOGL. + (Depends-on): Update conditions. + * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem. + +2012-03-09 Bruno Haible + + logf: Work around OSF/1 5.1 bug. + * lib/math.in.h (logf): Override if REPLACE_LOGF is 1. + * lib/logf.c (logf): If logf exists, use it and provide just the + workaround. + * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro. + (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF. + * modules/math (Makefile.am): Substitute REPLACE_LOGF. + * modules/logf (configure.ac): Consider REPLACE_LOGF. + (Depends-on): Update conditions. + * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem. + +2012-03-09 Bruno Haible + + log: Work around OSF/1 5.1 bug. + * lib/math.in.h (log): New declaration. + * lib/log.c: New file. + * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro. + (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG. + * m4/math_h.m4 (gl_MATH_H): Test whether log is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG. + * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG. + * modules/log (Files): Add lib/log.c. + (Depends-on): Add math. + (configure.ac): If REPLACE_LOG is 1, compile an override. + * tests/test-math-c++.cc: Check the declaration of log. + * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem. + +2012-03-09 Jim Meyering + + readtokens.c: adjust wording in a comment + * lib/readtokens.c: Insert omitted "that" in a comment. + +2012-03-08 Paul Eggert + + modechange: add notations +40, 00440, etc. + * lib/modechange.c (mode_compile): Support new notations + +40, -40, =440, 00440. See . + +2012-03-08 Bruno Haible + + exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5. + * m4/exp2l-ieee.m4: New file. + * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present, + test whether exp2l works with a NaN argument and with a negative + infinity argument. Replace it if not. + * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L. + * modules/math (Makefile.am): Substitute REPLACE_EXP2L. + * modules/exp2l (configure.ac): Consider REPLACE_EXP2L. + (Depends-on): Update conditions. + * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4. + (configure.ac): Invoke gl_FUNC_EXP2L_IEEE. + * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module. + + Tests for module 'exp2l-ieee'. + * modules/exp2l-ieee-tests: New file. + * tests/test-exp2l-ieee.c: New file. + + New module 'exp2l-ieee'. + * modules/exp2l-ieee: New file. + + Tests for module 'exp2-ieee'. + * modules/exp2-ieee-tests: New file. + * tests/test-exp2-ieee.c: New file. + + New module 'exp2-ieee'. + * modules/exp2-ieee: New file. + + Tests for module 'exp2f-ieee'. + * modules/exp2f-ieee-tests: New file. + * tests/test-exp2f-ieee.c: New file. + * tests/test-exp2-ieee.h: New file. + + New module 'exp2f-ieee'. + * modules/exp2f-ieee: New file. + +2012-03-08 Bruno Haible + + Tests for module 'exp2l'. + * modules/exp2l-tests: New file. + * tests/test-exp2l.c: New file. + + New module 'exp2l'. + * lib/math.in.h (exp2l): New declaration. + * lib/exp2l.c: New file. + * lib/expl-table.c: New file, extracted from lib/expl.c. + * lib/expl.c (gl_expl_table): New declaration. + (expl): Remove expl_table. Update reference. + * m4/exp2l.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L. + * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L. + * modules/exp2l: New file. + * modules/expl (Files): Add lib/expl-table.c. + (configure.ac): Compile also expl-table.c. + * tests/test-math-c++.cc: Check the declaration of exp2l. + * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX + problem. + +2012-03-08 Bruno Haible + + Tests for module 'exp2f'. + * modules/exp2f-tests: New file. + * tests/test-exp2f.c: New file. + + New module 'exp2f'. + * lib/math.in.h (exp2f): New declaration. + * lib/exp2f.c: New file. + * m4/exp2f.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F. + * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F. + * modules/exp2f: New file. + * tests/test-math-c++.cc: Check the declaration of exp2f. + * doc/posix-functions/exp2f.texi: Mention the new module and the + IRIX problem. + +2012-03-08 Bruno Haible + + Tests for module 'exp2'. + * modules/exp2-tests: New file. + * tests/test-exp2.c: New file. + * tests/test-exp2.h: New file. + + New module 'exp2'. + * lib/math.in.h (exp2): New declaration. + * lib/exp2.c: New file. + * m4/exp2.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2, + REPLACE_EXP2. + * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2, + REPLACE_EXP2. + * modules/exp2: New file. + * tests/test-math-c++.cc: Check the declaration of exp2. + * doc/posix-functions/exp2.texi: Mention the new module and the IRIX + and OpenBSD problems. + +2012-03-08 Paul Eggert + + savedir: fix comment typo + * lib/savedir.c (savedirstream): Fix typo in comment. + +2012-03-08 Bruno Haible + + test-readtokens.c: use const; remove unwarranted cast + * tests/test-readtokens.c: Declare delim to be const, to avoid a cast. + +2012-03-08 Bruno Haible + + fmal: Avoid compilation error on AIX. + * lib/math.in.h (fmal): Undefine macro before declaration. Needed on + AIX 5.2..7.1. + +2012-03-08 Bruno Haible + + fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5. + * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared, + arrange to set REPLACE_FMA=1, not HAVE_FMA=0. + * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared, + arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0. + * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared, + arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0. + +2012-03-08 Bruno Haible + + remainderf: Override buggy system function on IRIX 6.5. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro. + (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared + when it exists. + * doc/posix-functions/remainderf.texi: Mention the IRIX problems. + +2012-03-08 Jim Meyering + + test-readtokens.c: avoid const-related compilation warnings + * tests/test-readtokens.c: Avoid const-related compilation warnings. + +2012-03-07 Jim Meyering + Bruno Haible + + frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03. + * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h, + tests/randomd.c. + (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES. + * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h, + tests/randoml.c. + (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES. + +2012-03-07 Bruno Haible + + expm1l: Avoid compilation error on AIX. + * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on + AIX 5.2..7.1. + +2012-03-07 Bruno Haible + + expm1l: Don't override undeclared system function on IRIX 6.5. + * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L. + * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when + it exists. Set HAVE_DECL_EXPM1L. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not + HAVE_EXPM1L. + * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not + HAVE_EXPM1L. + * doc/posix-functions/expm1l.texi: Mention missing declaration problem. + +2012-03-07 Bruno Haible + + remainderl: Don't override undeclared system function on IRIX 6.5. + * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not + HAVE_REMAINDERL. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is + declared when it exists. Set HAVE_DECL_REMAINDERL. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL, + not HAVE_REMAINDERL. + * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not + HAVE_REMAINDERL. + * doc/posix-functions/remainderl.texi: Mention missing declaration + problem. + +2012-03-07 Bruno Haible + + rintf: Don't override undeclared system function on IRIX 6.5. + * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF. + * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it + exists. Set HAVE_DECL_RINTF. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not + HAVE_RINTF. + * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not + HAVE_RINTF. + * doc/posix-functions/rintf.texi: Mention missing declaration problem. + +2012-03-07 Bruno Haible + + roundl: Avoid compilation error on AIX. + * lib/math.in.h (roundl): Undefine macro before declaration. Needed on + AIX 5.2..7.1. + +2012-03-07 Bruno Haible + + roundl: Don't override undeclared system function on IRIX 6.5. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries + also when it is not declared. Set HAVE_ROUNDL. For replacement code, + test HAVE_ROUNDL, not HAVE_DECL_ROUNDL. + * modules/roundl (configure.ac): For replacement code, test + HAVE_ROUNDL, not HAVE_DECL_ROUNDL. + (Depends-on): Update conditions. + * doc/posix-functions/roundl.texi: Mention the IRIX problem. + +2012-03-07 Bruno Haible + + roundf: Don't override undeclared system function on IRIX 6.5. + * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries + also when it is not declared. Set HAVE_ROUNDF. For replacement code, + test HAVE_ROUNDF, not HAVE_DECL_ROUNDF. + * modules/roundf (configure.ac): For replacement code, test + HAVE_ROUNDF, not HAVE_DECL_ROUNDF. + (Depends-on): Update conditions. + * modules/roundf-ieee (Depends-on): Update conditions. + * doc/posix-functions/roundf.texi: Mention the IRIX problem. + +2012-03-07 Bruno Haible + + round: Don't override undeclared system function on IRIX 6.5. + * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third + argument. + * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries + also when it is not declared. Set HAVE_ROUND. For replacement code, + test HAVE_ROUND, not HAVE_DECL_ROUND. + * modules/round (configure.ac): For replacement code, test HAVE_ROUND, + not HAVE_DECL_ROUND. + (Depends-on): Update conditions. + * modules/round-ieee (Depends-on): Update conditions. + * doc/posix-functions/round.texi: Mention the IRIX problem. + +2012-03-07 Bruno Haible + + copysignf: Don't override undeclared system function on IRIX 6.5. + * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not + HAVE_COPYSIGNF. + * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is + declared when it exists. Set HAVE_DECL_COPYSIGNF. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF, + not HAVE_COPYSIGNF. + * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not + HAVE_COPYSIGNF. + * doc/posix-functions/copysignf.texi: Mention missing declaration + problem. + +2012-03-07 Jim Meyering + + readtokens: add tests + * modules/readtokens-tests: New file. + * tests/test-readtokens.c: New file. + +2012-03-07 Jim Meyering + + quotearg: the module must now include quote.h + With commit v0.0-7133-g6417476, quotearg.c includes "quote.h". + So must the module. + * modules/quotearg (Files): Add quote.h. + +2012-03-06 Paul Eggert + + readtokens: avoid core dumps with unusual calling patterns + Reported by Xu Zhongxing in . + * lib/readtokens.c: Include limits.h. + (word, bits_per_word, get_nth_bit, set_nth_bit): New. + (readtoken): Don't cache the delimiters; the cache code was buggy + if !delim && saved_delim, or if the new n_delim differs from the old. + Also, it wasn't thread-safe. + +2012-03-07 Bruno Haible + + quote: Adhere to common module description layout. + * modules/quote (Makefile.am): Add back empty section. + +2012-03-06 Akim Demaille + + quote: fuse into quotearg + This patch is made for the benefit of Bison. + quote does not leave the choice of the quoting style to the user. + quoting_style provides poor customizability, yet quoting_options, + which is very rich, is hidden inside quotearg.c. So in order to + allow quote customization, move its implementation to quotearg.c. + * lib/quote.c: Remove. + * modules/quote: Adjust. + * lib/quotearg.c (quoting_options_from_style): Fix a compiler + warning: provide all the members of literal structs. + (quote_quoting_options): New. + (quote, quote_n): Import implementation from quote.c. + * lib/quote.h: Import the comments from quote.c. + (quote_quoting_options): New. + +2012-03-06 Bruno Haible + + Tests for module 'expm1l-ieee'. + * modules/expm1l-ieee-tests: New file. + * tests/test-expm1l-ieee.c: New file. + + New module 'expm1l-ieee'. + * modules/expm1l-ieee: New file. + + Tests for module 'expm1f-ieee'. + * modules/expm1f-ieee-tests: New file. + * tests/test-expm1f-ieee.c: New file. + + New module 'expm1f-ieee'. + * modules/expm1f-ieee: New file. + + Tests for module 'expm1-ieee'. + * modules/expm1-ieee-tests: New file. + * tests/test-expm1-ieee.c: New file. + * tests/test-expm1-ieee.h: New file. + + New module 'expm1-ieee'. + * modules/expm1-ieee: New file. + * m4/expm1-ieee.m4: New file. + * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test + whether expm1 works with a minus zero argument. Replace it if not. + * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1. + * modules/math (Makefile.am): Substitute REPLACE_EXPM1. + * modules/expm1 (configure.ac): Consider REPLACE_EXPM1. + (Depends-on): Update conditions. + * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the + AIX problem. + +2012-03-06 Bruno Haible + + Work around expm1f bug on IRIX 6.5. + * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1. + * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro. + (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does + not work. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F. + * modules/math (Makefile.am): Substitute REPLACE_EXPM1F. + * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F. + (Depends-on): Update conditions. + * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug. + +2012-03-06 Bruno Haible + + Tests for module 'expm1l'. + * modules/expm1l-tests: New file. + * tests/test-expm1l.c: New file. + + New module 'expm1l'. + * lib/math.in.h (expm1l): New declaration. + * lib/expm1l.c: New file. + * m4/expm1l.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L. + * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L. + * modules/expm1l: New file. + * tests/test-math-c++.cc: Check the declaration of expm1l. + * doc/posix-functions/expm1l.texi: Mention the new module. + +2012-03-06 Bruno Haible + + Tests for module 'expm1f'. + * modules/expm1f-tests: New file. + * tests/test-expm1f.c: New file. + + New module 'expm1f'. + * lib/math.in.h (expm1f): New declaration. + * lib/expm1f.c: New file. + * m4/expm1f.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F. + * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F. + * modules/expm1f: New file. + * tests/test-math-c++.cc: Check the declaration of expm1f. + * doc/posix-functions/expm1f.texi: Mention the new module. + +2012-03-06 Bruno Haible + + Tests for module 'expm1'. + * modules/expm1-tests: New file. + * tests/test-expm1.c: New file. + * tests/test-expm1.h: New file. + + New module 'expm1'. + * lib/math.in.h (expm1): New declaration. + * lib/expm1.c: New file. + * m4/expm1.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1. + * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1. + * modules/expm1: New file. + * tests/test-math-c++.cc: Check the declaration of expm1. + * doc/posix-functions/expm1.texi: Mention the new module. + +2012-03-06 Bruno Haible + + math: Ensure declarations of math functions. + * modules/acosf (Depends-on): Add 'extensions'. + * modules/asinf (Depends-on): Likewise. + * modules/atan2f (Depends-on): Likewise. + * modules/atanf (Depends-on): Likewise. + * modules/cbrt (Depends-on): Likewise. + * modules/cbrtf (Depends-on): Likewise. + * modules/cbrtl (Depends-on): Likewise. + * modules/copysignf (Depends-on): Likewise. + * modules/copysignl (Depends-on): Likewise. + * modules/cosf (Depends-on): Likewise. + * modules/coshf (Depends-on): Likewise. + * modules/expf (Depends-on): Likewise. + * modules/fabsf (Depends-on): Likewise. + * modules/fabsl (Depends-on): Likewise. + * modules/fmaf (Depends-on): Likewise. + * modules/fmal (Depends-on): Likewise. + * modules/fmodf (Depends-on): Likewise. + * modules/fmodl (Depends-on): Likewise. + * modules/frexpf (Depends-on): Likewise. + * modules/frexpl (Depends-on): Likewise. + * modules/hypot (Depends-on): Likewise. + * modules/hypotf (Depends-on): Likewise. + * modules/hypotl (Depends-on): Likewise. + * modules/ldexpf (Depends-on): Likewise. + * modules/ldexpl (Depends-on): Likewise. + * modules/log10f (Depends-on): Likewise. + * modules/log10l (Depends-on): Likewise. + * modules/log1p (Depends-on): Likewise. + * modules/logb (Depends-on): Likewise. + * modules/logf (Depends-on): Likewise. + * modules/modff (Depends-on): Likewise. + * modules/modfl (Depends-on): Likewise. + * modules/powf (Depends-on): Likewise. + * modules/remainderf (Depends-on): Likewise. + * modules/remainderl (Depends-on): Likewise. + * modules/rintf (Depends-on): Likewise. + * modules/rintl (Depends-on): Likewise. + * modules/sinf (Depends-on): Likewise. + * modules/sinhf (Depends-on): Likewise. + * modules/sqrtf (Depends-on): Likewise. + * modules/tanf (Depends-on): Likewise. + * modules/tanhf (Depends-on): Likewise. + * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS. + * m4/asinf.m4 (gl_FUNC_ASINF): Likewise. + * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise. + * m4/atanf.m4 (gl_FUNC_ATANF): Likewise. + * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise. + * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise. + * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise. + * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise. + * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise. + * m4/cosf.m4 (gl_FUNC_COSF): Likewise. + * m4/coshf.m4 (gl_FUNC_COSHF): Likewise. + * m4/expf.m4 (gl_FUNC_EXPF): Likewise. + * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise. + * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise. + * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise. + * m4/fmal.m4 (gl_FUNC_FMAL): Likewise. + * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise. + * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise. + * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise. + * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise. + * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise. + * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise. + * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise. + * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise. + * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise. + * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise. + * m4/logb.m4 (gl_FUNC_LOGB): Likewise. + * m4/logf.m4 (gl_FUNC_LOGF): Likewise. + * m4/modff.m4 (gl_FUNC_MODFF): Likewise. + * m4/modfl.m4 (gl_FUNC_MODFL): Likewise. + * m4/powf.m4 (gl_FUNC_POWF): Likewise. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise. + * m4/rintf.m4 (gl_FUNC_RINTF): Likewise. + * m4/rintl.m4 (gl_FUNC_RINTL): Likewise. + * m4/sinf.m4 (gl_FUNC_SINF): Likewise. + * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise. + * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise. + * m4/tanf.m4 (gl_FUNC_TANF): Likewise. + * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise. + +2012-03-06 Bruno Haible + + math: Update module names in warnings. + * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, + tanl): Use specific module name in warn-on-use warning. + +2012-03-06 Bruno Haible + + expl: Simplify computation. + * lib/expl.c (expl): Simplify computation of exp_y. Fix comment. + +2012-03-05 Bruno Haible + + exp* tests: More tests. + * tests/test-exp.h: New file. + * tests/test-exp.c: Include and test-exp.h. + (main): Invoke test_function. + * tests/test-expf.c: Include and test-exp.h. + (main): Invoke test_function. + * tests/test-expl.c: Include and test-exp.h. + (main): Invoke test_function. + * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_exp_SOURCES. + * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_expf_SOURCES. + * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_expl_SOURCES. + + expl: Fix precision of computed result. + * lib/expl.c: Completely rewritten. + * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl. + (Maintainer): Add me. + * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM. + +2012-03-05 Bruno Haible + + cbrt* tests: More tests. + * tests/test-cbrt.h: New file. + * tests/test-cbrt.c: Include and test-cbrt.h. + (main): Invoke test_function. + * tests/test-cbrtf.c: Include and test-cbrt.h. + (main): Invoke test_function. + * tests/test-cbrtl.c: Include and test-cbrt.h. + (main): Invoke test_function. + * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_cbrt_SOURCES. + * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_cbrtf_SOURCES. + * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_cbrtl_SOURCES. + +2012-03-05 Bruno Haible + + hypot* tests: More tests. + * tests/test-hypot.h: New file, partially extracted from + tests/test-hypotl.c. + * tests/test-hypot.c: Include test-hypot.h. + (main): Invoke test_function. + * tests/test-hypotf.c: Include test-hypot.h. + (main): Invoke test_function. + * tests/test-hypotl.c: Include fpucw.h and test-hypot.h. + (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function. + * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_hypot_SOURCES. + * modules/hypotf-tests (Files): Add tests/test-hypot.h, + tests/randomf.c. + (Makefile.am): Add randomf.c to test_hypotf_SOURCES. + * modules/hypotl-tests (Files): Add tests/test-hypot.h, + tests/randoml.c. + (Depends-on): Add 'fpucw', 'float'. + (Makefile.am): Add randoml.c to test_hypotl_SOURCES. + +2012-03-05 Bruno Haible + + fpucw: Doc about FreeBSD. + * lib/fpucw.h: Mention FreeBSD in comments. + +2012-03-04 Bruno Haible + + sqrt* tests: More tests. + * tests/test-sqrt.h: New file. + * tests/test-sqrt.c: Include and test-sqrt.h. + (main): Invoke test_function. + * tests/test-sqrtf.c: Include and test-sqrt.h. + (main): Invoke test_function. + * tests/test-sqrtl.c: Include and test-sqrt.h. + (main): Invoke test_function. + * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_sqrt_SOURCES. + * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_sqrtf_SOURCES. + * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_sqrtl_SOURCES. + +2012-03-04 Bruno Haible + + remainder* tests: More tests. + * tests/test-remainder.h: New file, based on tests/test-fmod.h. + * tests/test-remainder.c: Include and test-remainder.h. + (main): Invoke test_function. + * tests/test-remainderf.c: Include and test-remainder.h. + (main): Invoke test_function. + * tests/test-remainderl.c: Include and test-remainder.h. + (main): Invoke test_function. + * modules/remainder-tests (Files): Add tests/test-remainder.h, + tests/randomd.c. + (Makefile.am): Add randomd.c to test_remainder_SOURCES. + * modules/remainderf-tests (Files): Add tests/test-remainder.h, + tests/randomf.c. + (Makefile.am): Add randomf.c to test_remainderf_SOURCES. + * modules/remainderl-tests (Files): Add tests/test-remainder.h, + tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_remainderl_SOURCES. + +2012-03-04 Bruno Haible + + remainder, remainderf, remainderl: Fix computation for large quotients. + * lib/remainder.c: Completely rewritten. + * lib/remainderf.c (remainderf): Use implementation of remainder.c with + USE_FLOAT. + * lib/remainderl.c (remainderl): Use implementation of remainder.c with + USE_LONG_DOUBLE. + * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod, + isnand, isinf. Remove round, fma. + * modules/remainderf (Files): Add lib/remainder.c. + (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf. + Remove roundf, fmaf. + * modules/remainderl (Files): Add lib/remainder.c. + (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl, + isinf. Remove roundl, fmal. + * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of + REMAINDER_LIBM. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of + REMAINDERF_LIBM. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of + REMAINDERL_LIBM. + +2012-03-04 Bruno Haible + + fmod* tests: More tests. + * tests/test-fmod.h (my_ldexp): New function. + (test_function): Reduce amount of random numbers to test. Add tests + of very large quotients x / y. + * tests/test-fmod.c (MAX_EXP): New macro. + * tests/test-fmodf.c (MAX_EXP): Likewise. + * tests/test-fmodl.c (MAX_EXP): Likewise. + +2012-03-04 Bruno Haible + + fmod, fmodl: Fix computation for large quotients x / y. + * lib/fmod.c: Completely rewritten. + * lib/fmodl.c (fmodl): Use implementation of fmod.c with + USE_LONG_DOUBLE. + * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp, + isnand. Remove fma. + * modules/fmodl (Files): Add lib/fmod.c. + (Depends-on): Add float, isfinite, signbit, fabsl, + frexpl, ldexpl, isnanl. Remove fma. + * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM. + * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM. + +2012-03-03 Bruno Haible + + fmod* tests: More tests. + * tests/test-fmod.h: New file. + * tests/test-fmod.c: Include and test-fmod.h. + (main): Invoke test_function. + * tests/test-fmodf.c: Include and test-fmod.h. + (main): Invoke test_function. + * tests/test-fmodl.c: Include and test-fmod.h. + (main): Invoke test_function. + * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_fmod_SOURCES. + * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_fmodf_SOURCES. + * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_fmodl_SOURCES. + +2012-03-03 Bruno Haible + + rint* tests: More tests. + * tests/test-rint.h: New file, partially extracted from + tests/test-rintl.c. + * tests/test-rint.c: Include test-rint.h. + (main): Invoke test_function. + * tests/test-rintf.c: Include test-rint.h. + (main): Invoke test_function. + * tests/test-rintl.c: Include test-rint.h. + (main): Invoke test_function. + * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_rint_SOURCES. + * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_rintf_SOURCES. + * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c. + (Makefile.am): Add randoml.c to test_rintl_SOURCES. + +2012-03-03 Bruno Haible + + modf* tests: More tests. + * tests/test-modf.h: New file. + * tests/test-modf.c: Include and test-modf.h. + (main): Invoke test_function. + * tests/test-modff.c: Include and test-modf.h. + (main): Invoke test_function. + * tests/test-modfl.c: Include and test-modf.h. + (main): Invoke test_function. + * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_modf_SOURCES. + * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_modff_SOURCES. + * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_modfl_SOURCES. + +2012-03-03 Bruno Haible + + fabs* tests: More tests. + * tests/test-fabs.h: New file, partially extracted from + tests/test-fabsl.c. + * tests/test-fabs.c (RANDOM): New macro. + * tests/test-fabsf.c (RANDOM): New macro. + * tests/test-fabsl.c (RANDOM): New macro. + * modules/fabs-tests (Files): Add tests/randomd.c. + (Makefile.am): Add randomd.c to test_fabs_SOURCES. + * modules/fabsf-tests (Files): Add tests/randomf.c. + (Makefile.am): Add randomf.c to test_fabsf_SOURCES. + * modules/fabsl-tests (Files): Add tests/randoml.c. + (Makefile.am): Add randoml.c to test_fabsl_SOURCES. + +2012-03-03 Bruno Haible + + ldexp* tests: More tests. + * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests. + * tests/test-ldexp.c (RANDOM): New macro. + * tests/test-ldexpf.c (RANDOM): New macro. + * tests/test-ldexpl.c (RANDOM): New macro. + * modules/ldexp-tests (Files): Add tests/randomd.c. + (Makefile.am): Add randomd.c to test_ldexp_SOURCES. + * modules/ldexpf-tests (Files): Add tests/randomf.c. + (Makefile.am): Add randomf.c to test_ldexpf_SOURCES. + * modules/ldexpl-tests (Files): Add tests/randoml.c. + (Makefile.am): Add randoml.c to test_ldexpl_SOURCES. + +2012-03-03 Bruno Haible + + frexp* tests: More tests. + * tests/test-frexp.h (test_function): Add some pseudo-randomized tests. + * tests/test-frexp.c (RANDOM): New macro. + * tests/test-frexpf.c (RANDOM): New macro. + * tests/test-frexpl.c (RANDOM): New macro. + * modules/frexp-tests (Files): Add tests/randomd.c. + (Makefile.am): Add randomd.c to test_frexp_SOURCES. + * modules/frexpf-tests (Files): Add tests/randomf.c. + (Makefile.am): Add randomf.c to test_frexpf_SOURCES. + * modules/frexpl-tests (Files): Add tests/randoml.c. + (Makefile.am): Add randoml.c to test_frexpl_SOURCES. + +2012-03-03 Bruno Haible + + Support for pseudo-random numbers in tests. + * tests/randomf.c: New file. + * tests/randomd.c: New file. + * tests/randoml.c: New file. + * tests/macros.h (randomf, randomd, randoml): New declarations. + +2012-03-03 Bruno Haible + + frexp* tests: Refactor. + * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c. + * tests/test-frexp.c: Include and use it. + * tests/test-frexpf.c: Likewise. + * tests/test-frexpl.c: Likewise. + * modules/frexp-tests (Files): Add tests/test-frexp.h. + * modules/frexpf-tests (Files): Likewise. + * modules/frexpl-tests (Files): Likewise. + +2012-03-02 Jim Meyering + + maint: don't specify XZ_OPT=-9ev in dist-related rule + Using xz's -9 option is warranted only if you have a very large + tarball (see xz's documentation for the sizes vs. presets), and + requires 64MiB of memory at decompression time. + * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev. + Automake's default of just "-e" is fine. Override on a + per-package basis by setting XZ_OPT e.g., in cfg.mk. + +2012-03-01 Eric Blake + + maint.mk: allow announcement for non-gnulib project + * maint.mk (announcement): Skip gnulib version if not used. + +2012-03-01 Jim Meyering + + maint.mk: avoid spurious failure of _sc_search_regexp-using tests + * top/maint.mk: Initialize _sc_search_regexp parameters, so that + envvar settings cannot interfere. Otherwise, setting envvars like + prohibit=foo require=bar, etc. would cause spurious test failures. + +2012-03-01 Eric Blake + + maint.mk: add per-line exclusions to prohibitions + * maint.mk (_sc_search_regexp): Add $exclude parameter. + (sc_prohibit_strcmp, sc_unmarked_diagnostics) + (sc_const_long_option): Use it. + +2012-03-01 Bruno Haible + + Tests for module 'expl-ieee'. + * modules/expl-ieee-tests: New file. + * tests/test-expl-ieee.c: New file. + + New module 'expl-ieee'. + * modules/expl-ieee: New file. + + Tests for module 'exp-ieee'. + * modules/exp-ieee-tests: New file. + * tests/test-exp-ieee.c: New file. + + New module 'exp-ieee'. + * modules/exp-ieee: New file. + + Tests for module 'expf-ieee'. + * modules/expf-ieee-tests: New file. + * tests/test-expf-ieee.c: New file. + * tests/test-exp-ieee.h: New file. + + New module 'expf-ieee'. + * modules/expf-ieee: New file. + +2012-02-29 Bruno Haible + + cbrtl-ieee: Work around test failure on IRIX 6.5. + * m4/cbrtl-ieee.m4: New file. + * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present, + test whether cbrtl works with a minus zero argument. Replace it if not. + * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL. + * modules/math (Makefile.am): Substitute REPLACE_CBRTL. + * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL. + (Depends-on): Update conditions. + * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_CBRTL_IEEE. + * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition. + * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module. + + Tests for module 'cbrtl-ieee'. + * modules/cbrtl-ieee-tests: New file. + * tests/test-cbrtl-ieee.c: New file. + + New module 'cbrtl-ieee'. + * modules/cbrtl-ieee: New file. + + Tests for module 'cbrt-ieee'. + * modules/cbrt-ieee-tests: New file. + * tests/test-cbrt-ieee.c: New file. + + New module 'cbrt-ieee'. + * modules/cbrt-ieee: New file. + + Tests for module 'cbrtf-ieee'. + * modules/cbrtf-ieee-tests: New file. + * tests/test-cbrtf-ieee.c: New file. + * tests/test-cbrt-ieee.h: New file. + + New module 'cbrtf-ieee'. + * modules/cbrtf-ieee: New file. + +2012-02-29 Bruno Haible + + cbrtf: Work around bug in IRIX 6.5 system function. + * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1. + * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro. + (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not + work. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF. + * modules/math (Makefile.am): Substitute REPLACE_CBRTF. + * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF. + (Depends-on): Update conditions. + * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem. + +2012-02-29 Bruno Haible + + Tests for module 'cbrtl'. + * modules/cbrtl-tests: New file. + * tests/test-cbrtl.c: New file. + + New module 'cbrtl'. + * lib/math.in.h (cbrtl): New declaration. + * lib/cbrtl.c: New file. + * m4/cbrtl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL, + HAVE_DECL_CBRTL. + * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL, + HAVE_DECL_CBRTL. + * modules/cbrtl: New file. + * tests/test-math-c++.cc: Check the declaration of cbrtl. + * doc/posix-functions/cbrtl.texi: Mention the new module. + +2012-02-29 Bruno Haible + + Tests for module 'cbrtf'. + * modules/cbrtf-tests: New file. + * tests/test-cbrtf.c: New file. + + New module 'cbrtf'. + * lib/math.in.h (cbrtf): New declaration. + * lib/cbrtf.c: New file. + * m4/cbrtf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF, + HAVE_DECL_CBRTF. + * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF, + HAVE_DECL_CBRTF. + * modules/cbrtf: New file. + * tests/test-math-c++.cc: Check the declaration of cbrtf. + * doc/posix-functions/cbrtf.texi: Mention the new module. + +2012-02-29 Bruno Haible + + cbrt: Provide replacement on MSVC and Minix. + * lib/math.in.h (cbrt): New declaration. + * lib/cbrt.c: New file. + * m4/cbrt.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT. + * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT. + * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4. + (Depends-on): Add dependencies. + (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0. + * tests/test-math-c++.cc: Check the declaration of cbrt. + * doc/posix-functions/cbrt.texi: Mention that the module provides a + replacement. + +2012-02-29 Bruno Haible + + hypotl-ieee: Work around test failure on OSF/1 and native Windows. + * m4/hypotl-ieee.m4: New file. + * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present, + test whether hypotl works with mixed NaN and Infinity arguments. + Replace it if not. + * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL. + * modules/math (Makefile.am): Substitute REPLACE_HYPOTL. + * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL. + (Depends-on): Update conditions. + * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4. + (Depends-on): Add hypot-ieee. + (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE. + * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module. + + hypotf-ieee: Work around test failure on OSF/1 and native Windows. + * m4/hypotf-ieee.m4: New file. + * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present, + test whether hypotf works with mixed NaN and Infinity arguments. + Replace it if not. + * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4. + (Depends-on): Add hypot-ieee. + (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE. + * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module. + + hypot-ieee: Work around test failure on OSF/1 and native Windows. + * lib/math.in.h (hypot): New declaration. + * lib/hypot.c: New file. + * m4/hypot-ieee.m4: New file. + * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test + whether hypot works with mixed NaN and Infinity arguments. Replace it + if not. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT, + REPLACE_HYPOT. + * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT. + * modules/hypot (Files): Add lib/hypot.c. + (Depends-on): Add dependencies. + (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1. + * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4. + (configure.ac): Invoke gl_FUNC_HYPOT_IEEE. + * tests/test-math-c++.cc: Check the declaration of hypot. + * doc/posix-functions/hypot.texi: Mention the hypot-ieee module. + + Tests for module 'hypotl-ieee'. + * modules/hypotl-ieee-tests: New file. + * tests/test-hypotl-ieee.c: New file. + + New module 'hypotl-ieee'. + * modules/hypotl-ieee: New file. + + Tests for module 'hypot-ieee'. + * modules/hypot-ieee-tests: New file. + * tests/test-hypot-ieee.c: New file. + + New module 'hypot-ieee'. + * modules/hypot-ieee: New file. + + Tests for module 'hypotf-ieee'. + * modules/hypotf-ieee-tests: New file. + * tests/test-hypotf-ieee.c: New file. + * tests/test-hypot-ieee.h: New file. + + New module 'hypotf-ieee'. + * modules/hypotf-ieee: New file. + +2012-02-29 Bruno Haible + + Remove unused variables. + * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'. + * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise. + * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise. + +2012-02-29 Eric Blake + + termios: fix pid_t always, not just for tcgetsid + * doc/posix-headers/termios.texi (termios.h): Mention problem. + * lib/termios.in.h (include): Ensure pid_t on all platforms, not + just when building tcgetsid. + +2012-02-29 Bruno Haible + + Tests for module 'hypotl'. + * modules/hypotl-tests: New file. + * tests/test-hypotl.c: New file. + + New module 'hypotl'. + * lib/math.in.h (hypotl): New declaration. + * lib/hypotl.c: New file. + * m4/hypotl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL. + * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL. + * modules/hypotl: New file. + * tests/test-math-c++.cc: Check the hypotl declaration. + * doc/posix-functions/hypotl.texi: Mention the new module. + +2012-02-29 Eric Blake + + tcgetsid: fix cygwin header bug + * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined. + + docs: update cygwin progress + * doc/posix-functions/llround.texi (llround): Added in cygwin + 1.7.8. + * doc/posix-functions/llroundf.texi (llroundf): Likewise. + * doc/glibc-functions/program_invocation_name.texi + (program_invocation_name): Likewise. + * doc/glibc-functions/program_invocation_short_name.texi + (program_invocation_short_name): Likewise. + * doc/glibc-functions/madvise.texi (madvise): Likewise. + * doc/glibc-functions/pthread_yield.texi (pthread_yield): + Likewise. + * doc/posix-functions/pthread_spin_destroy.texi + (pthread_spin_destroy): Added in cygwin 1.7.10. + * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init): + Likewise. + * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock): + Likewise. + * doc/posix-functions/pthread_spin_trylock.texi + (pthread_spin_trylock): Likewise. + * doc/posix-functions/pthread_spin_unlock.texi + (pthread_spin_unlock): Likewise. + * doc/posix-functions/pthread_setschedprio.texi + (pthread_setschedprio): Likewise. + * doc/posix-functions/pthread_attr_getstack.texi + (pthread_attr_getstack): Likewise. + * doc/pastposix-functions/pthread_attr_getstackaddr.texi + (pthread_attr_getstackaddr): Likewise. + * doc/glibc-functions/pthread_getattr_np.texi + (pthread_getattr_np): Likewise. + * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise. + * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise. + * doc/posix-functions/clock_settime.texi (clock_settime): + Likewise. + * doc/posix-functions/pthread_attr_getguardsize.texi + (pthread_attr_getguardsize): Likewise. + * doc/posix-functions/pthread_attr_setguardsize.texi + (pthread_attr_setguardsize): Likewise. + * doc/posix-functions/pthread_attr_setstack.texi + (pthread_attr_setstack): Likewise. + * doc/pastposix-functions/pthread_attr_setstackaddr.texi + (pthread_attr_setstackaddr): Likewise. + * doc/posix-functions/clock_getcpuclockid.texi + (clock_getcpuclockid): Likewise. + * doc/posix-functions/pthread_getcpuclockid.texi + (pthread_getcpuclockid): Likewise. + * doc/glibc-functions/error.texi (error): Likewise. + * doc/glibc-functions/error_at_line.texi (error_at_line): + Likewise. + * doc/glibc-functions/error_message_count.texi + (error_message_count): Likewise. + * doc/glibc-functions/error_one_per_line.texi + (error_one_per_line): Likewise. + * doc/glibc-functions/error_print_progname.texi + (error_print_progname): Likewise. + * doc/posix-functions/pthread_condattr_getclock.texi + (pthread_condattr_getclock): Likewise. + * doc/posix-functions/pthread_condattr_setclock.texi + (pthread_condattr_setclock): Likewise. + * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep): + Likewise. + * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise. + * doc/glibc-functions/getpt.texi (getpt): Likewise. + * doc/glibc-functions/get_current_dir_name.texi + (get_current_dir_name): Likewise. + * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue): + Likewise. + * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with + wrong return type. + * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin + 1.7.11. + +2012-02-29 Bruno Haible + + Tests for module 'hypotf'. + * modules/hypotf-tests: New file. + * tests/test-hypotf.c: New file. + + New module 'hypotf'. + * lib/math.in.h (hypotf): New declaration. + * lib/hypotf.c: New file. + * m4/hypotf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF, + REPLACE_HYPOTF. + * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF, + REPLACE_HYPOTF. + * modules/hypotf: New file. + * tests/test-math-c++.cc: Check the hypotf declaration. + * doc/posix-functions/hypotf.texi: Mention the new module. + + hypot: Prepare for hypotf module. + * m4/hypot.m4: New file. + * modules/hypot (Files): Add m4/hypot.m4. + (configure.ac): Invoke gl_FUNC_HYPOT. + +2012-02-29 Bruno Haible + + hypot tests: More tests. + * tests/test-hypot.c: Include . + (main): Add tests about overflow and underflow. + +2012-02-29 Bruno Haible + + math code: Add comments. + * lib/acosl.c: Add comment about related glibc source files. + * lib/asinl.c: Likewise. + * lib/atanl.c: Likewise. + * lib/expl.c: Likewise. + * lib/logl.c: Likewise. + * lib/sincosl.c: Likewise. + * lib/sinl.c: Likewise. + * lib/tanl.c: Likewise. + * lib/trigl.c: Likewise. + * lib/cosl.c: Likewise. Fix comments. + +2012-02-28 Bruno Haible + + math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined. + * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks. + * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF, + HUGE_VALL are defined. + (numeric_equald): Renamed from numeric_equal. + (numeric_equalf, numeric_equall): New functions. + (main): Check also HUGE_VALF, HUGE_VALL. + * modules/math-tests (Files): Add tests/macros.h. + * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and + HUGE_VALL. + +2012-02-28 Bruno Haible + + doc: Move ISO C11 feature notes into POSIX chapters. + * doc/posix-functions/aligned_alloc.texi: Renamed from + doc/glibc-functions/aligned_alloc.texi. + * doc/posix-functions/quick_exit.texi: Renamed from + doc/glibc-functions/quick_exit.texi. + * doc/posix-headers/uchar.texi: Renamed from + doc/glibc-headers/uchar.texi. + * doc/posix-functions/c16rtomb.texi: Renamed from + doc/glibc-functions/c16rtomb.texi. + * doc/posix-functions/c32rtomb.texi: Renamed from + doc/glibc-functions/c32rtomb.texi. + * doc/posix-functions/mbrtoc16.texi: Renamed from + doc/glibc-functions/mbrtoc16.texi. + * doc/posix-functions/mbrtoc32.texi: Renamed from + doc/glibc-functions/mbrtoc32.texi. + * doc/gnulib.texi: Update. + (Glibc uchar.h): Remove section. + Suggested by Eric Blake. + +2012-02-29 Paul Eggert + + stdnoreturn: port to MSVC better + MSVC standard headers use __declspec(noreturn), so #define noreturn + to empty on that platform. Reported by Bruno Haible in + . + * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC. + * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this. + +2012-02-28 Bruno Haible + + doc: Mention new glibc headers and functions. + * doc/glibc-headers/uchar.texi: New file. + * doc/glibc-functions/aligned_alloc.texi: New file. + * doc/glibc-functions/c16rtomb.texi: New file. + * doc/glibc-functions/c32rtomb.texi: New file. + * doc/glibc-functions/clock_adjtime.texi: New file. + * doc/glibc-functions/fanotify_init.texi: New file. + * doc/glibc-functions/fanotify_mark.texi: New file. + * doc/glibc-functions/inet6_opt_append.texi: New file. + * doc/glibc-functions/inet6_opt_find.texi: New file. + * doc/glibc-functions/inet6_opt_finish.texi: New file. + * doc/glibc-functions/inet6_opt_get_val.texi: New file. + * doc/glibc-functions/inet6_opt_init.texi: New file. + * doc/glibc-functions/inet6_opt_next.texi: New file. + * doc/glibc-functions/inet6_opt_set_val.texi: New file. + * doc/glibc-functions/inet6_rth_add.texi: New file. + * doc/glibc-functions/inet6_rth_getaddr.texi: New file. + * doc/glibc-functions/inet6_rth_init.texi: New file. + * doc/glibc-functions/inet6_rth_reverse.texi: New file. + * doc/glibc-functions/inet6_rth_segments.texi: New file. + * doc/glibc-functions/inet6_rth_space.texi: New file. + * doc/glibc-functions/login.texi: New file. + * doc/glibc-functions/mbrtoc16.texi: New file. + * doc/glibc-functions/mbrtoc32.texi: New file. + * doc/glibc-functions/name_to_handle_at.texi: New file. + * doc/glibc-functions/ntp_gettimex.texi: New file. + * doc/glibc-functions/open_by_handle_at.texi: New file. + * doc/glibc-functions/prlimit.texi: New file. + * doc/glibc-functions/process_vm_readv.texi: New file. + * doc/glibc-functions/process_vm_writev.texi: New file. + * doc/glibc-functions/recvmmsg.texi: New file. + * doc/glibc-functions/scandirat.texi: New file. + * doc/glibc-functions/sendmmsg.texi: New file. + * doc/glibc-functions/setns.texi: New file. + * doc/glibc-functions/timespec_get.texi: New file. + * doc/gnulib.texi: Include them. + (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New + sections. + Reported by Eric Blake. + +2012-02-28 Bruno Haible + + Avoid compilation errors with MSVC option -fp:strict. + * lib/floor.c: Use MSVC specific pragma fenv_access. + * lib/ceil.c: Likewise. + * lib/trunc.c: Likewise. + * lib/round.c: Likewise. + * lib/rint.c: Likewise. + * lib/fma.c: Likewise. + * lib/integer_length.c: Likewise. + * m4/round.m4 (gl_FUNC_ROUND): Likewise. + * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise. + * tests/test-floor2.c: Likewise. + * tests/test-floorf2.c: Likewise. + * tests/test-ceil2.c: Likewise. + * tests/test-ceilf2.c: Likewise. + * tests/test-trunc2.c: Likewise. + * tests/test-truncf2.c: Likewise. + Reported by Michael Goffioul . + +2012-02-27 Bruno Haible + + Tests for module 'sqrtl-ieee'. + * modules/sqrtl-ieee-tests: New file. + * tests/test-sqrtl-ieee.c: New file. + + New module 'sqrtl-ieee'. + * modules/sqrtl-ieee: New file. + + Tests for module 'sqrt-ieee'. + * modules/sqrt-ieee-tests: New file. + * tests/test-sqrt-ieee.c: New file. + + New module 'sqrt-ieee'. + * modules/sqrt-ieee: New file. + + Tests for module 'sqrtf-ieee'. + * modules/sqrtf-ieee-tests: New file. + * tests/test-sqrtf-ieee.c: New file. + * tests/test-sqrt-ieee.h: New file. + + New module 'sqrtf-ieee'. + * modules/sqrtf-ieee: New file. + +2012-02-27 Bruno Haible + + remainderl-ieee: Work around test failure on OSF/1. + * m4/remainderl-ieee.m4: New file. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is + present, test whether remainderl works with a zero second argument. + Replace it if not. + * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL. + * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL. + * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL. + (Depends-on): Update conditions. + * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4. + (Depends-on): Add remainder-ieee. + (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE. + * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee + module. - Grub: Add 'verbose' option, GH issue #73 + remainderf-ieee: Work around test failure on OSF/1. + * m4/remainderf-ieee.m4: New file. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is + present, test whether remainderf works with a zero second argument. + Replace it if not. + * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF. + * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF. + * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF. + (Depends-on): Update conditions. + * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4. + (Depends-on): Add remainder-ieee. + (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE. + * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee + module. - Update NEWS + remainder-ieee: Work around test failure on OSF/1. + * m4/remainder-ieee.m4: New file. + * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is + present, test whether remainder works with a zero second argument. + Replace it if not. + * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER. + * modules/math (Makefile.am): Substitute REPLACE_REMAINDER. + * modules/remainder (configure.ac): Consider REPLACE_REMAINDER. + (Depends-on): Update dependencies. + * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4. + (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE. + * doc/posix-functions/remainder.texi: Mention the remainder-ieee module. + + Tests for module 'remainderl-ieee'. + * modules/remainderl-ieee-tests: New file. + * tests/test-remainderl-ieee.c: New file. + + New module 'remainderl-ieee'. + * modules/remainderl-ieee: New file. + + Tests for module 'remainder-ieee'. + * modules/remainder-ieee-tests: New file. + * tests/test-remainder-ieee.c: New file. + + New module 'remainder-ieee'. + * modules/remainder-ieee: New file. + + Tests for module 'remainderf-ieee'. + * modules/remainderf-ieee-tests: New file. + * tests/test-remainderf-ieee.c: New file. + * tests/test-remainder-ieee.h: New file. + + New module 'remainderf-ieee'. + * modules/remainderf-ieee: New file. + +2012-02-27 Bruno Haible + + modff, modfl: Fix configure syntax error. + * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'. + * m4/modfl.m4 (gl_FUNC_MODFL): Likewise. + +2012-02-27 Bruno Haible + + fmodl-ieee: Work around test failures on OSF/1, MSVC 9. + * m4/fmodl-ieee.m4: New file. + * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test + whether fmodl works with zero arguments. Replace it if not. + * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4. + (Depends-on): Add fmod-ieee. + (configure.ac): Invoke gl_FUNC_FMODL_IEEE. + * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module. + + fmodf-ieee: Work around test failure on OSF/1. + * m4/fmodf-ieee.m4: New file. + * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test + whether fmodf works with zero arguments. Replace it if not. + * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF. + * modules/math (Makefile.am): Substitute REPLACE_FMODF. + * modules/fmodf (configure.ac): Consider REPLACE_FMODF. + (Depends-on): Update dependencies. + * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4. + (configure.ac): Invoke gl_FUNC_FMODF_IEEE. + * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1. + + fmodf-ieee: Work around test failure on MSVC 9. + * modules/fmodf-ieee (Depends-on): Add fmod-ieee. + * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module. + + fmod-ieee: Work around test failures on OSF/1, mingw. + * m4/fmod-ieee.m4: New file. + * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test + whether fmod works with zero arguments. Replace it if not. + * lib/math.in.h (fmod): New declaration. + * lib/fmod.c: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD. + * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD. + * modules/fmod (Files): Add lib/fmod.c. + (Depends-on): Add math, isinf, trunc, fma. + (configure.ac): Arrange to compile lib/fmod.c if needed. + * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_FMOD_IEEE. + * tests/test-math-c++.cc: Check the declaration of fmod. + * doc/posix-functions/fmod.texi: Mention the fmod-ieee module. + + fmodl-ieee: Fix test failures. + * lib/fmodl.c (fmodl): Treat Inf specially. + * modules/fmodl (Depends-on): Add isinf. + + Tests for module 'fmodl-ieee'. + * modules/fmodl-ieee-tests: New file. + * tests/test-fmodl-ieee.c: New file. + + New module 'fmodl-ieee'. + * modules/fmodl-ieee: New file. + + Tests for module 'fmod-ieee'. + * modules/fmod-ieee-tests: New file. + * tests/test-fmod-ieee.c: New file. + + New module 'fmod-ieee'. + * modules/fmod-ieee: New file. + + Tests for module 'fmodf-ieee'. + * modules/fmodf-ieee-tests: New file. + * tests/test-fmodf-ieee.c: New file. + * tests/test-fmod-ieee.h: New file. + + New module 'fmodf-ieee'. + * modules/fmodf-ieee: New file. + +2012-02-27 Bruno Haible + + Tests for module 'rintl-ieee'. + * modules/rintl-ieee-tests: New file. + * tests/test-rintl-ieee.c: New file. + + New module 'rintl-ieee'. + * modules/rintl-ieee: New file. + + Tests for module 'rint-ieee'. + * modules/rint-ieee-tests: New file. + * tests/test-rint-ieee.c: New file. + + New module 'rint-ieee'. + * modules/rint-ieee: New file. + + Tests for module 'rintf-ieee'. + * modules/rintf-ieee-tests: New file. + * tests/test-rintf-ieee.c: New file. + * tests/test-rint-ieee.h: New file. + + New module 'rintf-ieee'. + * modules/rintf-ieee: New file. + +2012-02-26 Paul Eggert + + regex: re_search etc. should return -2 when memory exhausted + This bug was uncovered when testing 'grep'. Without the fix, + re_search and friends return -1 when memory is exhausted, but -1 + means no match, and this causes grep to falsely report no-match + instead of memory-exhaustion. See + . + * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is + trouble; this can occur if re_search_internal ran out of memory. + +2012-02-26 Bruno Haible + + modfl-ieee: Work around test failures on IRIX, OSF/1, mingw. + * m4/modfl-ieee.m4: New file. + * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test + whether modfl works with Inf. Replace it if not. + * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL. + * modules/math (Makefile.am): Substitute REPLACE_MODFL. + * modules/modfl (configure.ac): Consider REPLACE_MODFL. + (Depends-on): Update dependencies. + * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_MODFL_IEEE. + * doc/posix-functions/modfl.texi: Mention the modfl-ieee module. + + modfl-ieee: Fix dependencies. + * modules/modfl-ieee (Depends-on): Add modf-ieee. + + modfl-ieee: Fix test failures. + * lib/modfl.c (modfl): Treat NaN and Inf specially. + * modules/modfl (Depends-on): Add isfinite, isinf. + + modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc. + * m4/modff-ieee.m4: New file. + * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test + whether modff works with NaN and Inf. Replace it if not. + * lib/math.in.h (modff): Override if REPLACE_MODFF is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF. + * modules/math (Makefile.am): Substitute REPLACE_MODFF. + * modules/modff (configure.ac): Consider REPLACE_MODFF. + (Depends-on): Update dependencies. + * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (Depends-on): Add modf-ieee. + (configure.ac): Invoke gl_FUNC_MODFF_IEEE. + * doc/posix-functions/modff.texi: Mention the modff-ieee module. + + modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin. + * m4/modf-ieee.m4: New file. + * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test + whether modf works with NaN and Inf. Replace it if not. + * lib/math.in.h (modf): New declaration. + * lib/modf.c: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF. + * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF. + * modules/modf (Files): Add lib/modf.c. + (Depends-on): Add math, isfinite, trunc, isinf. + (configure.ac): Addrange to compile lib/modf.c if needed. + * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_MODF_IEEE. + * tests/test-math-c++.cc: Check the declaration of modf. + * doc/posix-functions/modf.texi: Mention the modf-ieee module. + + Tests for module 'modfl-ieee'. + * modules/modfl-ieee-tests: New file. + * tests/test-modfl-ieee.c: New file. + + New module 'modfl-ieee'. + * modules/modfl-ieee: New file. + + Tests for module 'modf-ieee'. + * modules/modf-ieee-tests: New file. + * tests/test-modf-ieee.c: New file. + + New module 'modf-ieee'. + * modules/modf-ieee: New file. + + Tests for module 'modff-ieee'. + * modules/modff-ieee-tests: New file. + * tests/test-modff-ieee.c: New file. + * tests/test-modf-ieee.h: New file. + + New module 'modff-ieee'. + * modules/modff-ieee: New file. + +2012-02-26 Bruno Haible + + Tests for module 'fabsl-ieee'. + * modules/fabsl-ieee-tests: New file. + * tests/test-fabsl-ieee.c: New file. + + New module 'fabsl-ieee'. + * modules/fabsl-ieee: New file. + + Tests for module 'fabs-ieee'. + * modules/fabs-ieee-tests: New file. + * tests/test-fabs-ieee.c: New file. + + New module 'fabs-ieee'. + * modules/fabs-ieee: New file. + + Tests for module 'fabsf-ieee'. + * modules/fabsf-ieee-tests: New file. + * tests/test-fabsf-ieee.c: New file. + * tests/test-fabs-ieee.h: New file. + + New module 'fabsf-ieee'. + * modules/fabsf-ieee: New file. + +2012-02-26 Bruno Haible + + Tests for module 'fmal-ieee'. + * modules/fmal-ieee-tests: New file. + * tests/test-fmal-ieee.c: New file. + + New module 'fmal-ieee'. + * modules/fmal-ieee: New file. + + Tests for module 'fma-ieee'. + * modules/fma-ieee-tests: New file. + * tests/test-fma-ieee.c: New file. + + New module 'fma-ieee'. + * modules/fma-ieee: New file. + + Tests for module 'fmaf-ieee'. + * modules/fmaf-ieee-tests: New file. + * tests/test-fmaf-ieee.c: New file. + * tests/test-fma-ieee.h: New file. + + New module 'fmaf-ieee'. + * modules/fmaf-ieee: New file. + +2012-02-26 Bruno Haible + + Tests for module 'ldexpl-ieee'. + * modules/ldexpl-ieee-tests: New file. + * tests/test-ldexpl-ieee.c: New file. + + New module 'ldexpl-ieee'. + * modules/ldexpl-ieee: New file. + + Tests for module 'ldexp-ieee'. + * modules/ldexp-ieee-tests: New file. + * tests/test-ldexp-ieee.c: New file. + + New module 'ldexp-ieee'. + * modules/ldexp-ieee: New file. + + Tests for module 'ldexpf-ieee'. + * modules/ldexpf-ieee-tests: New file. + * tests/test-ldexpf-ieee.c: New file. + * tests/test-ldexp-ieee.h: New file. + + New module 'ldexpf-ieee'. + * modules/ldexpf-ieee: New file. + +2012-02-26 Bruno Haible + + Refactor frexp*-ieee tests. + * tests/test-frexp-ieee.h: New file. + * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h. + (main): Just call test_function. + * tests/test-frexp-ieee.c: Include test-frexp-ieee.h. + (main): Just call test_function. + * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h. + (main): Just call test_function. + * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h. + * modules/frexp-ieee-tests (Files): Likewise. + * modules/frexpl-ieee-tests (Files): Likewise. + + Tests for module 'frexpl-ieee'. + * modules/frexpl-ieee-tests: New file. + * tests/test-frexpl-ieee.c: New file. + + New module 'frexpl-ieee'. + * modules/frexpl-ieee: New file. + + Tests for module 'frexp-ieee'. + * modules/frexp-ieee-tests: New file. + * tests/test-frexp-ieee.c: New file. + + New module 'frexp-ieee'. + * modules/frexp-ieee: New file. + + Tests for module 'frexpf-ieee'. + * modules/frexpf-ieee-tests: New file. + * tests/test-frexpf-ieee.c: New file. + + New module 'frexpf-ieee'. + * modules/frexpf-ieee: New file. + +2012-02-26 Bruno Haible + + roundl-ieee tests: More tests. + * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanl-nolibm. + + round-ieee tests: More tests. + * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnand-nolibm. + + roundf-ieee tests: More tests. + * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanf-nolibm. + + truncl-ieee tests: More tests. + * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanl-nolibm. + + trunc-ieee tests: More tests. + * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnand-nolibm. + + truncf-ieee tests: More tests. + * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanf-nolibm. + + ceill-ieee tests: More tests. + * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanl-nolibm. + + ceil-ieee tests: More tests. + * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnand-nolibm. + + ceilf-ieee tests: More tests. + * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanf-nolibm. + + floorl-ieee tests: More tests. + * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanl-nolibm. + + floor-ieee tests: More tests. + * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnand-nolibm. + + floorf-ieee tests: More tests. + * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanf-nolibm. + +2012-02-26 Bruno Haible + + fpieee: More comments. + * m4/fpieee.m4 (gl_FP_IEEE): Add more comments. + +2012-02-25 Bruno Haible + + Tests for module 'log10l'. + * modules/log10l-tests: New file. + * tests/test-log10l.c: New file. + * tests/test-math-c++.cc: Check the declaration of log10l. + + New module 'log10l'. + * lib/math.in.h (log10l): New declaration. + * lib/log10l.c: New file. + * m4/log10l.m4: New file. + * modules/log10l: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L, + HAVE_DECL_LOG10L. + * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L, + HAVE_DECL_LOG10L. + * doc/posix-functions/log10l.texi: Mention the new module. + +2012-02-25 Bruno Haible + + fmodl, remainder*: Avoid wrong results due to rounding errors. + * lib/fmodl.c (fmodl): Correct the result if it is not within the + expected bounds. + * lib/remainderf.c (remainderf): Likewise. + * lib/remainder.c (remainder): Likewise. + * lib/remainderl.c (remainderl): Likewise. + +2012-02-25 Bruno Haible + + Tests for module 'remainderl'. + * modules/remainderl-tests: New file. + * tests/test-remainderl.c: New file. + * tests/test-math-c++.cc: Check the declaration of remainderl. + + New module 'remainderl'. + * lib/math.in.h (remainderl): New declaration. + * lib/remainderl.c: New file. + * m4/remainderl.m4: New file. + * modules/remainderl: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL. + * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL, + HAVE_REMAINDERL. + * doc/posix-functions/remainderl.texi: Mention the new module. + +2012-02-25 Bruno Haible + + Tests for module 'remainderf'. + * modules/remainderf-tests: New file. + * tests/test-remainderf.c: New file. + * tests/test-math-c++.cc: Check the declaration of remainderf. + + New module 'remainderf'. + * lib/math.in.h (remainderf): New declaration. + * lib/remainderf.c: New file. + * m4/remainderf.m4: New file. + * modules/remainderf: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF. + * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF, + HAVE_REMAINDERF. + * doc/posix-functions/remainderf.texi: Mention the new module. + +2012-02-25 Bruno Haible + + remainder: Support for MSVC. + * lib/math.in.h (remainder): New declaration. + * lib/remainder.c: New file. + * m4/remainder.m4: New file. + * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4. + (Depends-on): Add math, round, fma. + (configure.ac): Use results of gl_FUNC_REMAINDER. + * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER, + HAVE_DECL_REMAINDER. + * modules/math (Makefile.am): Substitute GNULIB_REMAINDER, + HAVE_REMAINDER, HAVE_DECL_REMAINDER. + * tests/test-math-c++.cc: Check the declaration of remainder. + * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5 + problems are fixed. + +2012-02-25 Bruno Haible + + Tests for module 'fmodl'. + * modules/fmodl-tests: New file. + * tests/test-fmodl.c: New file. + * tests/test-math-c++.cc: Check the declaration of fmodl. + + New module 'fmodl'. + * lib/math.in.h (fmodl): New declaration. + * lib/fmodl.c: New file. + * m4/fmodl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL, + REPLACE_FMODL. + * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL, + REPLACE_FMODL. + * modules/fmodl: New file. + * doc/posix-functions/fmodl.texi: Mention the new module. + +2012-02-25 Bruno Haible + + Tests for module 'modfl'. + * modules/modfl-tests: New file. + * tests/test-modfl.c: New file. + * tests/test-math-c++.cc: Check the declaration of modfl. + + New module 'modfl'. + * lib/math.in.h (modfl): New declaration. + * lib/modfl.c: New file. + * m4/modfl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL. + * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL. + * modules/modfl: New file. + * doc/posix-functions/modfl.texi: Mention the new module. + +2012-02-25 Bruno Haible + + Tests for module 'fabsl'. + * modules/fabsl-tests: New file. + * tests/test-fabsl.c: New file. + * tests/test-math-c++.cc: Check the declaration of fabsl. + + New module 'fabsl'. + * lib/math.in.h (fabsl): New declaration. + * lib/fabsl.c: New file. + * m4/fabsl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL, + REPLACE_FABSL. + * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL, + REPLACE_FABSL. + * modules/fabsl: New file. + * doc/posix-functions/fabsl.texi: Mention the new module. + +2012-02-25 Bruno Haible + + fabs tests: More tests. + * tests/test-fabs.c: Include , minus-zero.h. + (zero): New variable. + (main): Add tests for signed zero. + * modules/fabs-tests (Files): Add tests/minus-zero.h. + + fabsf tests: More tests. + * tests/test-fabsf.c: Include , minus-zero.h. + (zero): New variable. + (main): Add tests for signed zero. + * modules/fabsf-tests (Files): Add tests/minus-zero.h. + +2012-02-24 Bruno Haible + + atanl: Provide function definition on MSVC. + * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a + function pointer. + * lib/math.in.h (atanl): Undefine if it does not exist as a function. + +2012-02-24 Bruno Haible + + acosl: Provide function definition on MSVC. + * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a + function pointer. + * lib/math.in.h (acosl): Undefine if it does not exist as a function. + +2012-02-24 Bruno Haible + + asinl: Provide function definition on MSVC. + * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a + function pointer. + * lib/math.in.h (asinl): Undefine if it does not exist as a function. + +2012-02-24 Bruno Haible + + tanl: Provide function definition on MSVC. + * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a + function pointer. + * lib/math.in.h (tanl): Undefine if it does not exist as a function. + +2012-02-24 Bruno Haible + + cosl: Provide function definition on MSVC. + * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a + function pointer. + * lib/math.in.h (cosl): Undefine if it does not exist as a function. + +2012-02-24 Bruno Haible + + sinl: Provide function definition on MSVC. + * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a + function pointer. + * lib/math.in.h (sinl): Undefine if it does not exist as a function. + +2012-02-24 Bruno Haible + + logl: Provide function definition on MSVC. + * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a + function pointer. + * lib/math.in.h (logl): Undefine if it does not exist as a function. - Shellvars_list: Allow end-of-line values, bug #342 +2012-02-24 Bruno Haible - Fix xymonalerting into xymon_alerting in tests/Makefile.am + expl: Provide function definition on MSVC. + * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a + function pointer. + * lib/math.in.h (expl): Undefine if it does not exist as a function. - Add Xymon_Alerting lens to NEWS, update AUTHORS +2012-02-24 Bruno Haible + + sqrtl: Provide function definition on MSVC. + * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as + a function pointer. + * lib/math.in.h (sqrtl): Undefine if it does not exist as a function. - Rename XymonAlerting lens as Xymon_Alerting +2012-02-24 Bruno Haible - Fix NaturalDocs comments in XymonAlerting lens + ceill: Provide function definition on MSVC. + * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be + used as a function pointer. + * lib/math.in.h (ceill): Undefine if it is not declared as a function. + +2012-02-24 Bruno Haible + + floorl: Provide function definition on MSVC. + * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be + used as a function pointer. + * lib/math.in.h (floorl): Undefine if it is not declared as a function. -2014-01-23 Francois Maillard +2012-02-24 Bruno Haible - Add NaturalDocs documentation to the xymonalerting lens and its tests + ceilf: Provide function definition on MSVC. + * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be + used as a function pointer. + * lib/math.in.h (ceilf): Undefine if it is not declared as a function. - add basic doc +2012-02-24 Bruno Haible - Add the test lens to the Makefile + floorf: Provide function definition on MSVC. + * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be + used as a function pointer. + * lib/math.in.h (floorf): Undefine if it is not declared as a function. - New lens for xymon alerting rules +2012-02-24 Paul Eggert -2014-01-23 Raphaël Pinson + stdnoreturn: new module + This implements a replacement for C11's . + * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn. + * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h: + * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests: + * tests/test-stdnoreturn.c: New files. - Update NEWS with Authorized_Keys change +2012-02-24 Stanislav Brabec (tiny change) -2014-01-23 Jasper Lievisse Adriaanse + regex: fix false multibyte matches in some regular expressions + See + and . + * lib/regex_internal.c (re_string_skip_chars): + Fix miscomputation of remain_len that may cause incomplete + multi-byte character and false match. - Allow 'ssh-ed25519' as a valid authorized_key type +2012-02-24 Jim Meyering -2014-01-23 Raphaël Pinson + maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too + * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp + uses with "==" *before* the call, e.g., 0 == strcmp (...) + Remove now-unnecessary str''cmp obfuscation. + Suggested by Akim Demaille. - Update NEWS and AUTHORS +2012-02-24 Bruno Haible -2014-01-13 Kaarle Ritvanen + streq: Rename macro. + * lib/streq.h (STREQ_OPT): Renamed from STREQ. + * NEWS: Mention the change. + * lib/mbrtowc.c (mbrtowc): Update. + * lib/uniwidth/cjk.h (is_cjk_encoding): Update. + * lib/wcwidth.c (wcwidth): Update. + Suggested by Akim Demaille and Jim Meyering. - Interfaces: map bond-slaves and bridge-ports options to arrays - This is a backwards incompatible change, as these would previously show up - as strings in the tree +2012-02-20 Paul Eggert -2014-01-13 Tomas Klouda + regex: fix typo in definition of MIN + * lib/regex_internal.h (MIN): Fix typo. Problem reported by Thomas + Schwinge in . - Fix MongoDB Server lens - MongoDB doesn't accept quoted values - This lens worked for already defined values, but once you wanted to - add new value, it was created with quotes and MongoDB failed to start +2012-02-19 Paul Eggert + Bruno Haible -2014-01-13 Dominic Cleal + acl: Don't use ACL_CNT and similar ops, since they are unreliable. + * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the + entries into a stack-allocated buffer directly. + * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise. - Fix umask handling when creating new files - * src/transform.c (transform_save): faulty umask arithmetic would cause - overly-open file modes when the umask contains "7", as the umask was - incorrectly subtracted from the target file mode +2012-02-19 Paul Eggert + Bruno Haible - Fixes CVE-2013-6412, RHBZ#1034261 + acl: Don't use GETACLCNT and similar ops, since they are unreliable. -2014-01-13 Freakin + - There were several instances of this pattern: - OpenVPN: additional config options - Support - 1) daemon - 2) client-config-dir - 3) route - 4) management + for (;;) { + n = acl (f, GETACLCNT, 0, NULL); + [ allocate an array A of size N ] + if (acl (f, GETACL, n, a) == n) + break; + } -2014-01-13 David Lutterkort + This loop might never terminate if some other process is constantly + manipulating the file's ACL. The loop should be rewritten to + terminate. + + - The acl (... GETACLNT ...) call is merely an optimization; its value + is merely a hint as to how big to make the array. A better + optimization is to avoid the acl (... GETACLNT ...) call entirely, + and just guess a reasonably-big size, growing the size and trying + again if it's not large enough. This guarantees termination, and + saves a system call. + + * lib/acl-internal.h: Include . + (MIN, SIZE_MAX): New macros. + * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into + a stack-allocated buffer, and use malloc if it does not fit. Don't + use GETACLCNT. + * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise. + +2012-02-19 Bruno Haible + + acl: Fix endless loop on Solaris with vxfs. + * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing + acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT. + * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise. + * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise. + * tests/test-sameacls.c (main)[Solaris]: Likewise. + Reported by Bill Jones in + , via Paul Eggert. + +2012-02-19 Bruno Haible + + acl: Fix copy-acl test failure on Solaris 11 2011-11. + * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro. + (acl_ace_nontrivial): Relax the restrictions on access_masks[] so + that this function returns 0 in some more cases. + +2012-02-19 Bruno Haible + + acl: Update doc references. + * doc/acl-resources.txt: Update links to Solaris documentation. + +2012-02-19 Bruno Haible + + Fix test failure in many locales on Solaris 11. + * tests/test-pipe-filter-gi1.c (main): Don't use range expression in + 'tr' arguments. + * tests/test-pipe-filter-ii1.c (main): Likewise. + * build-aux/bootstrap (check_versions): Run 'tr' command with range + expressions in the C locale. + * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise. + * m4/host-os.m4 (gl_HOST_OS): Likewise. + +2012-02-19 Bruno Haible + + gnulib-tool: Improve usage message. + * gnulib-tool (func_usage): Move doc of --help and --version to the + section "Operation modes". + +2012-02-18 Reuben Thomas + + README-release: make it easier to execute commands + * top/README-release: break commands out on to separate lines. + +2012-02-16 Stefano Lattarini + + GNUmakefile: simplify detection of unconfigured trees + * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine + whether the tree make is being run from is already configured or + not. Related simplifications. + +2012-02-13 Simon Josefsson + + * gnulib-tool (func_usage): Document --help and --version. + +2012-02-11 Jim Meyering + + bootstrap: don't exit 0 upon gnulib-tool failure + * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with + its exit status, not 0. + +2011-12-19 Reuben Thomas + + README-release: various improvements + * top/README-release: Give a command to push changes for the + release. Add "distcheck" to list of other pre-release checks. + Fix instance of "make stable" which should be "make TYPE". + +2012-02-09 Paul Eggert + + maint: replace FSF snail-mail addresses with URLs + * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h: + * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c: + * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c: + * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h: + * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h: + * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c: + * lib/check-version.c, lib/check-version.h, lib/config.charset: + * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h: + * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c: + * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c: + * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h: + * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c: + * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h: + * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c: + * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h: + * lib/glthread/thread.c, lib/glthread/thread.h: + * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c: + * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h: + * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c: + * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c: + * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c: + * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c: + * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c: + * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c: + * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c: + * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c: + * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c: + * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c: + * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h: + * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h: + * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin: + * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c: + * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c: + * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c: + * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c: + * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c: + * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c: + * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h: + * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h: + * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c: + * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h: + * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c: + * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c: + * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h: + * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h: + * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h: + * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c: + * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c: + * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h: + * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c: + * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h: + * lib/xsize.h, tests/test-closein.c, tests/test-des.c: + * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c: + * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c: + * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c: + * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c: + * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c: + * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c: + * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c: + * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c: + * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c: + * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c: + * tests/test-poll.c, tests/test-quotearg-simple.c: + * tests/test-quotearg.c, tests/test-quotearg.h: + * tests/test-round-ieee.c, tests/test-round1.c: + * tests/test-roundf-ieee.c, tests/test-roundf1.c: + * tests/test-roundl-ieee.c, tests/test-roundl.c: + * tests/test-safe-alloc.c, tests/test-sigpipe.c: + * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c: + * tests/test-strerror.c, tests/test-strerror_r.c: + * tests/test-strsignal.c, tests/test-strverscmp.c: + * tests/test-xmemdup0.c: + Replace FSF snail mail addresses with URLs, as per GNU coding + standards. See glibc bug + . + +2011-12-22 Reuben Thomas + + README-release: capitalize a word and split a line + * top/README-release: Fix punctuation and spacing. + +2012-02-08 Akim Demaille + + fatal-signal: use C prototypes (with explicit void). + * lib/fatal-signal.c (uninstall_handlers, install_handlers) + (init_fatal_signal_set, block_fatal_signals): Fix signatures. + +2012-02-07 Paul Eggert + + regex: spelling fix + * lib/regexec.c: spelling fix + + regex: rely on stdint.h for SIZE_MAX + * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now. + +2012-02-07 Paul Eggert + + regex: merge glibc changes + + * lib/regcomp.c (init_dfa): Tighten overflow checks to test + for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX. + (init_word_char): Work even if bitset words are not exactly 32 or + 64 bits wide. Don't assume there are no padding bits. + * lib/regex.c [_LIBC]: Do not include . + [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure + and -Wtype-limits. + * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid + needless disagreement with glibc. All uses changed. Define it to + 1 only if _GNU_SOURCE, to match glibc. + (_REG_RM_NAME): Remove; no longer needed, since the names in + question are now all protected by __USE_GNU. + (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX. + (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE. + * lib/regex_internal.h (MIN): New macro. + + 2012-01-03 Ulrich Drepper + * lib/regcomp.c (init_word_char): Optimize regex a bit. + + 2011-12-30 Jakub Jelinek + * lib/regex_internal.c (re_string_fetch_byte_case): + Fix up regcomp/regexec. The problem is that parse_bracket_symbol + is miscompiled, and it turns out it is because of an incorrect + attribute on re_string_fetch_byte_case. Unlike + re_string_peek_byte_case, this one is really not pure, it modifies + memory (increments pstr->cur_idx), and with the pure attribute GCC + assumed it doesn't and it cached the presumed value of + regexp->cur_idx in a variable across the + for (;; ++i) + { + if (i >= BRACKET_NAME_BUF_SIZE) + return REG_EBRACK; + if (token->type == OP_OPEN_CHAR_CLASS) + ch = re_string_fetch_byte_case (regexp); + else + ch = re_string_fetch_byte (regexp); + if (re_string_eoi(regexp)) + return REG_EBRACK; + if (ch == delim && re_string_peek_byte (regexp, 0) == ']') + break; + elem->opr.name[i] = ch; + } + + 2011-11-29 Andreas Schwab + * lib/regcomp.c (build_equiv_class): + Fix access after end of search string in regex matcher. + + 2011-11-12 Ulrich Drepper + * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex. + + 2011-10-12 Ulrich Drepper + * lib/regcomp.c (parse_branch): One more regex memory leak fixed. + + 2011-10-11 Ulrich Drepper + * lib/regcomp.c (parse_branch, parse_sub_exp): + More regex memory leak fixes and tests. + (parse_sub_exp, parse_bracket_exp): + Fix memory leak for some invalid regular expressions. + + 2011-05-28 Ulrich Drepper + * lib/regex_internal.c, lib/regexec.c: + Fix unnecessary overallocation due to incomplete character. When + incomplete characters are found at the end of a string the code + ran amok and allocated lots of memory. Stricter limits are now in + place. + + 2011-05-20 Reuben Thomas + * lib/regex.h: Update documentation. + + 2011-05-16 Aharon Robbins + * lib/regex.h: Update RE_SYNTAX*_AWK constants. + + 2010-05-05 Andreas Schwab + * lib/regexec.c (find_collation_sequence_value): + Fix lookup of collation sequence value during regexp matching. - * NEWS: describe Slapd changes in last few commits + 2010-01-22 Ulrich Drepper + * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection. -2014-01-13 Raphaël Pinson + 2008-01-16 Ulrich Drepper + * lib/regex.h: Cleanup namespace. + + 2007-11-26 Ulrich Drepper + * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K. + + 2007-08-26 Ulrich Drepper + * lib/regex_internal.h: Prevent some declarations and definitions + to be seen when used in tests. + + 2005-05-06 Ulrich Drepper + * lib/regex_internal.h: Include bits/libc-lock.h or define dummy + __libc_lock_* macros if not _LIBC. + (struct re_dfa_t): Add lock. + +2012-02-07 Eric Blake + + maint.mk: also prohibit lower-case @var@ + * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover + lower case, like @top_srcdir@. + +2012-02-04 Eric Blake + + canonicalize: avoid uninitialized memory use + * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of + random '/' left in dest. + * lib/canonicalize.c (canonicalize_filename_mode): Likewise. + +2012-02-04 Bruno Haible + + isatty: Fix test failure of ptsname_r on native Windows. + * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1, + and don't set errno. + (isatty): Test first whether fd is valid. Set errno when returning 0. + +2012-02-04 Bruno Haible - Slapd: move by/who to the value of by + spawn-pipe tests: Fix a NULL program name in a diagnostic. + * tests/test-spawn-pipe-main.c: Include progname.h. + (main): Invoke set_program_name. + * modules/spawn-pipe-tests (Depends-on): Add progname. + + nonblocking-socket tests: Fix a NULL program name in a diagnostic. + * tests/test-nonblocking-socket-main.c: Include progname.h. + (main): Invoke set_program_name. + * modules/nonblocking-socket-tests (Depends-on): Add progname. - Slapd: Allow any allowed combination of who/access/control in by field + nonblocking-pipe tests: Fix a NULL program name in a diagnostic. + * tests/test-nonblocking-pipe-main.c: Include progname.h. + (main): Invoke set_program_name. + * modules/nonblocking-pipe-tests (Depends-on): Add progname. - Slapd: support smart quotes in database entry +2012-02-04 Eric Blake - Slapd: remove duplicate entry in database_re + canonicalize-lgpl: fix // handling + * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //. - Slapd: rename by parameters - * Rename by/what as by/access (as per official doc) - * Allow access to be absent (as per official doc) + canonicalize: fix // handling + * lib/canonicalize.c (canonicalize_filename_mode): Don't convert + /// to //, since only // is special. -2014-01-07 Raphaël Pinson +2012-02-04 Bruno Haible - Slapd: Add unit test for by/control + ioctl: Fix test failure on native Windows. + * lib/ioctl.c: Include msvc-nothrow.h. + (primary_ioctl): If fd is not a valid handle, set errno to EBADF. -2013-12-18 Dominic Cleal +2012-02-04 Bruno Haible - Shellvars, Sysconfig: map "bare" export and unset lines using seq to handle multiple variables - Fixes RHBZ#1033795 + fsync: Avoid test failure on native Windows. + * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely + read-only. -2013-12-18 Raphaël Pinson +2012-02-04 Bruno Haible - Shellvars.lns: Actually test continued lines and fix support + sys_select: Avoid syntax error on OpenBSD 5.0. + * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is + currently being included, just include the system's . - Shellvars.lns: add unit test for continued lines in double quoted values +2012-02-04 Bruno Haible -2013-12-16 Dominic Cleal + sys_select: Avoid syntax error on OpenBSD 5.0. + * lib/sys_select.in.h: Include only after the include_next + , not before. + Reported by Jiri B . - Sysconfig: permit empty comments after comment lines - Fixes RHBZ#1043636 +2012-02-04 Bruno Haible -2013-12-05 Dominic Cleal + get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7. + * tests/test-get-rusage-as.c (main): Assign the malloc() results to + global variables. + * tests/test-get-rusage-data.c (main): Likewise. + Reported by Jim Meyering. - Shellvars: fix syntax error in filter +2012-02-04 Bruno Haible -2013-12-04 David Lutterkort + stdioext: Fix last commit. + * lib/fwritable.c [EPLAN9]: Include . - Shellvars: exclude /etc/sysconfig/ip*tables.save files +2012-02-03 Bruno Haible -2013-12-03 Raphaël Pinson + stdioext: Add tentative support for Plan9. + * lib/stdio-impl.h: Include . + * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code. + * lib/freadable.c (freadable): Likewise. + * lib/fwritable.c (fwritable): Likewise. + * lib/fbufmode.c (fbufmode): Likewise. + * lib/freading.c (freading): Likewise. + * lib/fwriting.c (fwriting): Likewise. + * lib/freadptr.c (freadptr): Likewise. + * lib/freadseek.c (freadptrinc): Likewise. + * lib/freadahead.c (freadahead): Likewise. + * lib/fpurge.c (fpurge): Likewise. + * lib/fseeko.c (rpl_fseeko): Likewise. + * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9. + Reported by Jens Staal . + +2012-02-02 Jim Meyering + + file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const + * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs) + would evoke a new gcc warning. Given all of the #ifdefs, it is better + not even to try to add the attribute. Instead, add a pragma to suppress + the suggestion/warning. + +2012-01-31 Karl Berry + + setstate doc: typo. + * doc/posix-functions/setstate.texi (setstate): { not (. + +2012-01-31 Bruno Haible + + popen: Make more robust on Windows. + * lib/popen.c: On native Windows, use the _popen based code even if + HAVE_POPEN is set. + * doc/posix-functions/popen.texi: Mention necessity of COMSPEC + environment variable on native Windows. + +2012-01-30 Bruno Haible + + pclose: Fix typo. + * lib/stdio.in.h (pclose): Fix typo in warning message. + +2012-01-30 Bruno Haible + + doc about getlogin_r, setstate. + * doc/posix-functions/getlogin_r.texi: List the incompatible + declaration problem under "not fixed by gnulib". + * doc/posix-functions/setstate.texi: Mention incompatible declaration + problem on Solaris 11 and other platforms. + +2012-01-30 Chuanchang Jia (tiny change) + Bruno Haible + + poll tests: Make test more robust. + * tests/test-poll.c: Include macros.h. + (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify + return value of various I/O operations. + * modules/poll-tests (Files): Add tests/macros.h. + +2012-01-30 Bruno Haible + + sys_stat: Fix support for mingw64 and MSVC. + * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system + header files already do it. + (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not + stat itself. + Reported by Marc-André Lureau . + +2012-01-30 Bruno Haible + + wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0. + * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug. + +2012-01-29 Bruno Haible + + quotearg: Fix test failure on MacOS X 10.5. + * tests/test-quotearg-simple.c: Include localcharset.h. + (main): If the locale encoding is not ASCII, bypass the tests of + locale_quoting_style and clocale_quoting_style. + * modules/quotearg-tests (Depends-on): Add 'localcharset'. + +2012-01-29 Jim Meyering + + maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive + * top/maint.mk (sc_prohibit_canonicalize_without_use): Also + detect uses of canonicalize_file_name. + +2012-01-28 Bruno Haible + + test-framework-sh: Fix test failure with AIX 7.1 diff. + * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space + in column 1, like 'diff -c' does. + * tests/test-init.sh (test_compare): Don't repeat the test from init.sh + whether 'diff -u' is used. Instead, test whether the output contains + some '@' character. + +2012-01-28 Paul Eggert + + strtoimax: eliminate need for stdint.h, inttypes.h checks + * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use + gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H. This reduces + the prerequisites for a recently-introduced strtoimax test. + I guess this might cause strtoimax to be replaced when not + strictly necessary on older hosts, but this shouldn't introduce + any bugs and it should make Emacs 'configure' faster on typical + modern hosts. Problem discovered when importing the latest gnulib + to an Emacs test version. + * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4. + +2012-01-28 Bruno Haible + + sys_time: Override 'struct timeval' on some native Windows platforms. + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec + has the right type. Set REPLACE_STRUCT_TIMEVAL if not. + (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL. + * lib/sys_time.in.h: Include also when 'struct timeval' + needs to be overridden. + (timeval): Override if REPLACE_STRUCT_TIMEVAL is set. + * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL. + * tests/test-sys_select.c: Check that the tv_sec member has the same + size as a 'time_t'. + * tests/test-sys_time.c: Likewise. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL + is set, set also REPLACE_GETTIMEOFDAY. + * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden, + convert the resulting 'struct timeval' before returning. + * lib/select.c: Include . + (select, timeval): Undefine at the right place. + * modules/select (Depends-on): Add sys_time. + * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on + some Windows platforms. + Reported by Marc-André Lureau . + +2012-01-28 Marc-André Lureau (tiny change) + + accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64. + * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to + an integer. + * lib/fcntl.c (dupfd): Likewise. + * lib/w32sock.h (SOCKET_TO_FD): Likewise. + +2012-01-28 Bruno Haible + + fcntl: Avoid compilation error on native Windows. + * modules/fcntl (Depends-on): Add 'close'. + +2012-01-28 Marc-André Lureau (tiny change) + + select, poll, isatty: Avoid warnings on x86_64 mingw64. + * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle + pointer to an integer. + * lib/poll.c (IsConsoleHandle): Likewise. + * lib/isatty.c (IsConsoleHandle): Likewise. + +2012-01-28 Jim Meyering + + doc: clarify README-release + * top/README-release: Clarify: you should make a point to have + the latest stable versions of build tools in your PATH, and the + reference to buildreq is solely for its list of tool names, not + for its minimal-functional version numbers. + Prompted by discussion with Reuben Thomas and Gary V. Vaughan. + + maint.mk: use more readable (yet functionally equivalent) quoting + It is common to quote a single quote in a single quoted string like + this: '...'\''...'. Unless you know the idiom, that looks like + gibberish, so prefer to double-quote the string when possible. + Then you can use a more readable, lone single quote: "...'..." + * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this + "don't" is more readable than the equivalent 'don'\''t'. + (sc_cast_of_x_alloc_return_value): Likewise. + (sc_cast_of_alloca_return_value): Likewise. + (sc_makefile_path_separator_check): Similar: use ":" in '...', + rather than '\'':'\''. + +2012-01-27 Paul Eggert + + stdalign: relax _Alignof and tighten _Alignas test + * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test, + as it was too strict: alignof must divide offsetof, but it need + not equal offsetof. Inspired by Joseph S. Myers's comment + . + Conversely, tighten the _Alignas test a bit, as the resulting + alignment must be exactly 8. + +2012-01-27 Bruno Haible + + stdalign: Document the last change. + * doc/posix-headers/stdalign.texi: Mention GCC bug 52023. + +2012-01-27 Paul Eggert + + stdalign: check that alignof and offsetof are consistent + * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023. + Problem reported for gnulib by Richard W.M. Jones in + . + +2012-01-27 Jim Meyering + + update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2 + * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2, + convert a sequence with gaps to the minimal containing range. + For example, convert 2000, 2004-2007, 2009 to 2000-2009. + * tests/test-update-copyright.sh: Test for this. + The FSF confirmed it is ok to do this, assuming there is at + least one significant change per year in the affected range: + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860 + +2012-01-26 Bruno Haible + + pipe2: refine doc about thread-safety + * doc/glibc-functions/pipe2.texi: Clarify the extent of the + multithread-safety problem. + * doc/glibc-functions/accept4.texi: Likewise. + +2012-01-26 Bruno Haible + + posix_spawn_file_actions_addopen: Fix 2012-01-08 commit. + * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): + In the test program, include , for O_RDONLY. + +2012-01-26 Eric Blake + + pipe2: document lack of thread-safety in replacement + * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety + issue in replacement. + * doc/glibc-functions/accept4.texi (accept4): Likewise. + Based on a report by Eric Wong. + +2012-01-24 Marc-André Lureau (tiny change) + Bruno Haible + + malloca: Avoid warnings on x86_64 mingw64. + * lib/malloca.c: Include . + (mmalloca, freea): Use uintptr_t to convert pointers to integers. + * modules/malloca (Depends-on): Add stdint. + * modules/relocatable-prog-wrapper (Depends-on): Likewise. + +2012-01-25 Paul Eggert + + obstack: remove __STDC__ conditionals + * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph + S. Myers in . + This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in + m4/include_next.m4 as the only gnulib-maintained places that still + refer to __STDC__. + +2012-01-24 Bruno Haible + + havelib: Modern quoting. + * build-aux/config.rpath: Quote 'like this', not `like this', as per + the recent change to the GNU coding standards. + +2012-01-24 Bruno Haible + + stdint: Improve support for Android. + * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__. + Reported by Simon Josefsson . + +2012-01-23 Paul Eggert + + doc: omit trailing empty lines from INSTALL etc. + * doc/Makefile (INSTALL): Omit trailing empty lines. + (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also + omit trailing empty lines. This simplifies the build procedure. + +2012-01-23 Jim Meyering + + tests: avoid spurious warnings about gl_sockets_startup + Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value + would warn about every use of "gl_sockets_startup (SOCKETS_1_1);" + reporting a "statement with no effect". + * tests/test-accept.c (main): Mark as "(void)". + * tests/test-accept4.c (main): Likewise. + * tests/test-bind.c (main): Likewise. + * tests/test-connect.c (main): Likewise. + * tests/test-getpeername.c (main): Likewise. + * tests/test-getsockname.c (main): Likewise. + * tests/test-getsockopt.c (main): Likewise. + * tests/test-listen.c (main): Likewise. + * tests/test-recv.c (main): Likewise. + * tests/test-recvfrom.c (main): Likewise. + * tests/test-send.c (main): Likewise. + * tests/test-sendto.c (main): Likewise. + * tests/test-setsockopt.c (main): Likewise. + * tests/test-shutdown.c (main): Likewise. + +2012-01-21 Bruno Haible + + locale-fr.m4: Fix for Android. + * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation + failure of the test program on Bionic libc. + +2012-01-21 Jim Meyering + + bootstrap: fail when bootstrap_post_import_hook fails + Otherwise, it's far too easy to miss diagnostics emitted + between gnulib-tool's output and that of running configure. + * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails. + +2012-01-17 Jim Meyering + + maint: enable sc_trailing_blank + * build-aux/pmccabe.css: Remove trailing blanks. + * doc/acl-cygwin.txt: Likewise. + * doc/gnu-oids.texi: Likewise + * cfg.mk: Enable sc_trailing_blank. + Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual. + +2012-01-17 Jim Meyering + + maint: enable sc_prohibit_openat_without_use + * cfg.mk: Enable sc_prohibit_openat_without_use. + Exempt lib/selinux-at.c. + +2012-01-17 Jim Meyering + + maint: enable sc_prohibit_cloexec_without_use + * cfg.mk: Enable sc_prohibit_cloexec_without_use. + * lib/dup-safer-flag.c: Don't include "cloexec.h". Not needed. + +2012-01-17 Jim Meyering + + maint: enable sc_prohibit_intprops_without_use + * cfg.mk: Enable sc_prohibit_intprops_without_use + * tests/test-nanosleep.c: Don't include "intprops.h". Not needed. + +2012-01-17 Jim Meyering + + maint: enable sc_prohibit_hash_pjw_without_use + * cfg.mk: Enable sc_prohibit_hash_pjw_without_use. + * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp + to match any use of \, i.e., not necessarily with a + following " (". + +2012-01-17 Jim Meyering + + maint: enable double-word-prohibiting rule + * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word. + Exempt three files. + +2012-01-17 Jim Meyering + + maint: remove empty lines at EOF, but excluding modules/* + Apply syntax rules at home as well as abroad. Most changes + were induced by running this: + make srcdir=. _build-aux=build-aux -f top/maint.mk \ + sc_prohibit_empty_lines_at_EOF | grep -v modules/ \ + | xargs perl -pi -0777 -e 's/\n\n+$/\n/' + * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF. + Exempt modules/* and two binary files. + Also exempt doc/INSTALL*, per request from Bruno Haible. + * doc/regexprops-generic.texi: *Add* a newline at EOF. There was none. + * doc/Copyright/assign.translation.manual: Remove empty lines at EOF. + * doc/Copyright/request-assign.future: Likewise. + * doc/Copyright/request-disclaim.changes: Likewise. + * doc/INSTALL: Likewise. + * doc/INSTALL.ISO: Likewise. + * doc/INSTALL.UTF-8: Likewise. + * doc/acl-cygwin.txt: Likewise. + * doc/acl-resources.txt: Likewise. + * doc/fdl-1.2.texi: Likewise. + * doc/fdl-1.3.texi: Likewise. + * doc/fdl.texi: Likewise. + * lib/argp-pin.c: Likewise. + * lib/round.c: Likewise. + * lib/unicase/u16-totitle.c: Likewise. + * lib/unictype/block_test.c: Likewise. + * lib/uninorm/canonical-decomposition.c: Likewise. + * m4/README: Likewise. + * m4/relocatable-lib.m4: Likewise. + * tests/test-isnand-nolibm.c: Likewise. + * tests/test-isnand.c: Likewise. + * tests/uninorm/NormalizationTest.txt: Likewise. + +2012-01-17 Jim Meyering + + maint: add framework to run syntax-check rules against gnulib sources + * cfg.mk: New file, to disable all currently-failing tests. + We'll enable them one by one, as they are made to pass. + * Makefile (sc_maint): New rule. + +2012-01-21 Bruno Haible + + stdint: Add support for Android. + * lib/stdint.in.h: When included from Bionic , just + include the system's . + Reported by Simon Josefsson . + +2012-01-19 Jim Meyering + + bootstrap: add bootstrap_post_import_hook + Bison does still need something like the gnulib_mk_hook whose + invocation I had to remove along with slurp in commit 767ccd40. + Technically, we could get along without it, but doing so would + have required living with a warning and a mandatory post-bootstrap + automake rerun. + * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too. + (bootstrap_post_import_hook): New function. + Invoke it after gnulib-tool --import and before autoreconf. + +2012-01-18 Jim Meyering + + gitlog-to-changelog: don't use "no_"-prefixed variable name + * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute + to enable both --cluster and --no-cluster. Change variable name, + s/\$no_cluster/$cluster/, and reverse usage to match. + + gitlog-to-changelog: use "||", not "or" in expressions + * build-aux/gitlog-to-changelog (main): Use "||", not "or" in + expressions. - Sudoers.lns: Allow uppercase characters in user names (ticket #376) +2012-01-17 Joel E. Denny + + gitlog-to-changelog: new option --no-cluster + * build-aux/gitlog-to-changelog: New option --no-cluster, disables + clustering of adjacent commit messages. + +2012-01-17 Jim Meyering + + maint: spell file systems with two words, not one + * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with + two words, not one. + +2012-01-16 Jim Meyering + + bootstrap: add a FIXME comment to ensure we eventually remove the hack + * build-aux/bootstrap (gnulib_tool_options): Add comment. + +2012-01-16 Eric Blake + + bootstrap: cater to autoconf 2.59 + * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive + is not available. + + bootstrap: properly check for libtool + * build-aux/bootstrap (libtoolize): Also run libtool when older + usage is detected. + +2012-01-15 Bruno Haible + + Improve support for MSVC 9. + * lib/unistd.in.h: Include when needed to avoid redefinition + clashes on MSVC. + * lib/fcntl.in.h: Likewise. + * lib/stdlib.in.h: Likewise. + * lib/sys_stat.in.h: Likewise. + +2011-01-15 Stefano Lattarini + + gnupload: we hold the master copy of this script now + For motivation and more information, see: + + * build-aux/gnupload: Make it clear in the heading comments that the + master copy of this file is maintained by gnulib. Since we are at + it, bump its copyright year and ... + ($scriptversion): ... the date in its version. + ($usage): Patches and bug reports should be sent to the gnulib list, + not the automake one. + * config/srclist.txt: Don't try to sync 'gnupload' from automake + anymore. + +2012-01-15 Bruno Haible + + Fix module 'random'. + * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom, + initstate, setstate are declared. + +2012-01-14 Bruno Haible + + Tests for module 'random'. + * modules/random-tests: New file. + * tests/test-random.c: New file, based on tests/test-random_r.c. + + New module 'random'. + * lib/stdlib.in.h (random, srandom, initstate, setstate): New + declarations. + * lib/random.c: New file, based on glibc/stdlib/random.c. + * m4/random.m4: New file. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM, + HAVE_RANDOM. + * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM. + * modules/random: New file. + * config/srclist.txt: Add an entry for random.c. + * doc/posix-functions/random.texi: Mention the 'random' module. + * doc/posix-functions/initstate.texi: Likewise. + * doc/posix-functions/setstate.texi: Likewise. + * doc/posix-functions/srandom.texi: Likewise. + +2012-01-12 Bruno Haible + + random_r: Use common idioms. + * lib/random_r.c: Include first. + + random_r: Override incompatible API on AIX, OSF/1. + * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r): + Override the system function if REPLACE_RANDOM_R is 1. + * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX + and OSF/1, set REPLACE_RANDOM_R. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R. + * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R. + * modules/random_r (configure.ac): Test REPLACE_RANDOM_R. + * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem. + * doc/glibc-functions/random_r.texi: Likewise. + * doc/glibc-functions/setstate_r.texi: Likewise. - Build: Add combine_three_ord and combine_three + random_r: Support for MSVC 9. + * lib/random_r.c: Include stdint.h, not inttypes.h. - Build: Add combine_two_ord and combine_two +2012-01-12 Eric Blake + + inet_ntop: guard extra work by IF_LINT + * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for + better code generation when not checking for warnings. + Suggested by Paul Eggert and Jim Meyering. + + strptime: fix regression on mingw + * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]: + Fix regression. Reported by Bruno Haible. + +2012-01-11 Reuben Thomas + Bruno Haible + + copy-file: add error-code-returning variant. + * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items. + (qcopy_file_preserving): New declaration. + * lib/copy-file.c (qcopy_file_preserving): Renamed from + copy_file_preserving. Change return type to 'int'. Don't emit an error + message here. + (copy_file_preserving): New function. + * tests/test-copy-file.c: Include . + (main): Test qcopy_file_preserving if the environment variable + NO_STDERR_OUTPUT is set. + * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time, + with NO_STDERR_OUTPUT + * tests/test-copy-file-2.sh: Likewise. + +2012-01-10 Bruno Haible + + copy-file: Use 'quote' module consistently. + * lib/copy-file.c (copy_file_preserving): Use quote(). + + copy-file: Refactor. + * lib/copy-file.c: Include quote.h. + (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error + message here. + * modules/copy-file (Depends-on): Add quote. + + acl: Export qcopy_acl. + * lib/acl.h (qcopy_acl): New declaration. + * lib/copy-acl.c (qcopy_acl): Make non-static. + + acl: Rename a local variable. + * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl. + + acl: Align return values of copy_acl and qcopy_acl. + * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl, + maybe < -1. + +2012-01-11 Eric Blake + + strptime: silence gcc warnings + * lib/strptime.c (__strptime_internal) [!_NL_CURRENT], + [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables. + Reported by Daniel P. Berrange. + + inet_ntop: silence gcc warning + * lib/inet_ntop.c (inet_ntop6): Initialize best.base. + Reported by Daniel P. Berrange. + +2012-01-11 Dmitry V. Levin + + getloadavg test: skip the test on GNU/Linux without /proc mounted + GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg + file. When /proc is not mounted, it always fails with ENOENT. + * tests/test-getloadavg.c (main): Treat ENOENT return code from + getloadavg(3) the same way as ENOSYS and ENOTSUP. + +2012-01-10 Bruno Haible + + regex: Avoid link error on MSVC 9. + * modules/regex (Depends-on): Add wctype. + +2012-01-10 Bruno Haible + + doc: Mention --with-tests option. + * gnulib-tool (func_usage): Suggest --with-tests for --test etc. + * doc/gnulib.texi (Extra tests modules): Mention the need to pass + --with-tests. + Reported by Reuben Thomas. + +2012-01-10 Reuben Thomas + + users.txt: order package names lexicographically. + * users.txt: Order package names lexicographically. + +2012-01-10 Jim Meyering + + maint.mk: fix description in comment + * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment. + + ignore-value: remove deprecated ignore_ptr function + * lib/ignore-value.h (ignore_ptr): Remove deprecated function. + * NEWS: Note this. + +2012-01-09 Jim Meyering + + test-init.sh: avoid a subshell + * tests/test-init.sh: Remove protective subshell. + Suggested by Bernhard Voelker. While a subshell is normally + required to protect against older shells (Solaris, FreeBSD) that + warn about a missing program before performing redirection, the + shell-selection tests performed by init.sh probably exclude any + offending shell. + +2012-01-08 Bruno Haible + + setlocale tests: Avoid test failure on Solaris 11 2011-11. + * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment + variable. + +2012-01-08 Bruno Haible + + posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug. + * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize + REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. + * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New + macro. + * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test + REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN. + * lib/spawn_faction_addopen.c: Add workaround implementation if + HAVE_WORKING_POSIX_SPAWN. + * modules/spawn (Makefile): Substitute + REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. + * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke + gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test + REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN. + (Depends-on): Update conditions. + * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention + the Solaris 11 bug. + +2012-01-08 Bruno Haible + + posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug. + * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize + REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. + * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New + macro. + * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test + REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN. + * lib/spawn_faction_adddup2.c: Add workaround implementation if + HAVE_WORKING_POSIX_SPAWN. + * modules/spawn (Makefile): Substitute + REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. + * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke + gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test + REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN. + (Depends-on): Update conditions. + * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention + the Solaris 11 bug. + +2012-01-08 Bruno Haible + + posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug. + * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize + REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define + HAVE_WORKING_POSIX_SPAWN. + (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro. + * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test + REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN. + * lib/spawn_faction_addclose.c: Add workaround implementation if + HAVE_WORKING_POSIX_SPAWN. + * modules/spawn (Makefile): Substitute + REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. + * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke + gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test + REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN. + (Depends-on): Update conditions. + * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention + the Solaris 11 bug. + +2012-01-08 Bruno Haible + + doc: Update for Solaris 11 2011-11. + * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate. + * m4/printf.m4: Update comments. + +2012-01-08 Bruno Haible + + mktime: Avoid compilation error on Solaris 11. + * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems. + +2012-01-08 Bruno Haible + + doc: Small fix. + * doc/posix-headers/nl_types.texi: Correct platforms list. + +2012-01-08 Simon Josefsson + + Add lgpl-3.0 module. + * MODULES.html.sh (Support for building documentation): Add + lgpl-3.0. + * modules/lgpl-3.0: New file. + +2012-01-08 Jim Meyering + + select.c: indent with spaces, not TABs + * lib/select.c (windows_poll_handle): Indent with spaces, not TABs. + +2012-01-07 Paolo Bonzini + + quotearg: do not use grave accent for left quote + * lib/quotearg.c (gettext_quote): Map "`" to "'" for + locale_quoting_style. + (quotearg_buffer_restyled): Fix example. + * tests/test-quotearg-simple.c (results_g): Adjust test vectors. + +2012-01-07 Paolo Bonzini + + quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales + Most programs do not have translation catalogs for English and much + less separate catalogs for British and American English. Drop the + suggestion to translators about these two, and provide it + automatically for Unicode locales. Like most programs, even those + using American English, we use single quotation marks. This conflicts + with the American typographic convention, but works better when you + cite the entire error message within double quotes. It also tries not + to clash with established practice and with what non-gnulib programs + will usually do. + * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when + using an UTF-8 or GB-18030 locale. The list of other locales with + quotes was provided by Bruno Haible. + (quotearg_buffer_restyled): Adjust instructions to translators. + * lib/quotearg.h (locale_quoting_style): Do not put an example in the + text, since this would be wrong when using Unicode. + * modules/quotearg: Depend on c-strcaseeq. + +2012-01-07 Paolo Bonzini + + quotearg: fix Wikipedia link + * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia. + +2012-01-07 Simon Josefsson + + Fix for mingw with MSVC9. + * m4/ld-version-script.m4: Check that compiler rejects version + scripts with syntax errors. Reported by Bruno Haible + . + +2012-01-06 Bruno Haible + + Talk about "native Windows API", not "Woe32". + * lib/accept4.c: Update comments to mention native Windows. + * lib/execute.c: Likewise. + * lib/fatal-signal.c: Likewise. + * lib/localcharset.c: Likewise. + * lib/nanosleep.c: Likewise. + * lib/nl_langinfo.c: Likewise. + * lib/pclose.c: Likewise. + * lib/pipe-filter-gi.c: Likewise. + * lib/pipe-filter-ii.c: Likewise. + * lib/pipe.c: Likewise. + * lib/pipe2.c: Likewise. + * lib/popen.c: Likewise. + * lib/progreloc.c: Likewise. + * lib/relocatable.c: Likewise. + * lib/sigaction.c: Likewise. + * lib/sigprocmask.c: Likewise. + * lib/spawn-pipe.h: Likewise. + * lib/spawn-pipe.c: Likewise. + * lib/spawni.c: Likewise. + * lib/stat-time.h: Likewise. + * lib/w32spawn.h: Likewise. + * tests/test-isatty.c: Likewise. + * lib/config.charset: More comments. + * doc/gnulib-intro.texi: Mention native Windows. + * doc/posix-functions/_Exit_C99.texi: Likewise. + * doc/posix-headers/fcntl.texi: Likewise. + +2012-01-06 Guillem Jover (tiny change) + + argp: Avoid crash if translator uses % characters in a translation. + * lib/argp-parse.c (argp_version_parser): Use a "%s" format string. + Reported by Mats Erik Andersson . + +2012-01-06 Paul Eggert + + doc: C11 and C++11 are now official + * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi: + * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4: + * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn: + * modules/stdalign: + Replace references to draft C1X to C11, and to draft C++0X to C++11. + +2012-01-06 Bruno Haible + + uc-is-grapheme-break tests: Tweak. + * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error + message. + +2012-01-06 Bruno Haible + + test-init.sh: correct the test for diff -u + * tests/test-init.sh: Also redirect stdout to /dev/null. + +2012-01-05 Paul Eggert + + Use ', not `, for quoting output. + * build-aux/announce-gen (usage, sizes, print_news_deltas) + (print_changelog_deltas, get_tool_versions, main program): + * build-aux/git-version-gen: + * build-aux/gitlog-to-changelog (usage, parse_amend_file): + * build-aux/move-if-change (help): + * build-aux/useless-if-before-free (usage, main program): + * check-module (parse_module_file, usage) + (find_included_lib_files, check_module): + * lib/argmatch.c (main) [TEST]: + * lib/argp-help.c (_help): + * lib/getopt1.c (main) [TEST]: + * lib/git-merge-changelog.c (usage): + * lib/xstrtol-error.c (xstrtol_error): + * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): + * m4/argz.m4 (gl_FUNC_ARGZ): + * m4/bison.m4 (gl_BISON): + * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): + * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): + * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): + * m4/fpending.m4 (gl_PREREQ_FPENDING): + * m4/gc-random.m4 (gl_GC_RANDOM): + * m4/intl.m4 (gt_CHECK_DECL): + * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): + * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT) + (AC_TYPE_UNSIGNED_LONG_LONG_INT): + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): + * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): + * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE): + * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): + * tests/test-dirname.c (main): + * tests/test-getpass.c (main): + * tests/test-iconvme.c (main): + * tests/test-parse-datetime.c (LOG): + * tests/test-xstrtoimax.sh: + * tests/test-xstrtol.sh: + * tests/test-xstrtoll.sh: + * tests/test-xstrtoumax.sh: + * tests/unigbrk/test-uc-is-grapheme-break.c (main): + * top/GNUmakefile (abort-due-to-no-makefile): + Quote 'like this', not `like this', as per the recent change to + the GNU coding standards. + +2012-01-05 Bruno Haible + + strtoimax: Don't force a replacement on systems where intmax_t is int. + * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if + 'intmax_t' is not larger than 'int'. + Reported by Pádraig Brady . + +2012-01-05 Bruno Haible + + doc: Mention NetBSD bugs. + * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug. + * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug. + +2012-01-05 Bruno Haible + + strtoumax tests: Enhance tests. + * tests/test-strtoumax.c (main): Add tests for large values. + +2012-01-05 Bruno Haible + + strtoimax: Work around AIX 5.1 bug. + * lib/inttypes.in.h (strtoimax): Allow overriding the system's + definition. + * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug. + Set HAVE_STRTOIMAX. + * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize + REPLACE_STRTOIMAX. + * modules/inttypes-incomplete (Makefile.am): Substitute + REPLACE_STRTOIMAX. + * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4. + (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX. + (Depends-on): Update conditions. + * tests/test-strtoimax.c (main): Add tests for large values. + * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug. + +2012-01-05 Bruno Haible + + inttypes: Modernize. + * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms. + * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs. + (Makefile.am): Update inttypes.h rule. + +2012-01-05 Jim Meyering + + init.sh: don't waste a subshell just to redirect stderr + * tests/init.sh: In testing for diff -u and diff -c, use a + stderr-redirecting exec inside `...` rather than a subshell. + + test-init.sh: avoid failure on HP-UX 11.00 + * tests/test-init.sh: Skip "diff -u"-comparing step when compare + resolves to diff -c or cmp. Reported by Bruno Haible. + +2012-01-05 Bruno Haible + + Tests for module 'strtoull'. + * modules/strtoull-tests: New file. + * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c. + +2012-01-05 Bruno Haible + + Tests for module 'strtoll'. + * modules/strtoll-tests: New file. + * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c. + +2012-01-05 Bruno Haible + + Tests for module 'strtoul'. + * modules/strtoul-tests: New file. + * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c. + +2012-01-05 Bruno Haible + + Tests for module 'strtol'. + * modules/strtol-tests: New file. + * tests/test-strtol.c: New file, based on tests/test-strtoimax.c. + +2012-01-04 Jim Meyering + + test-init.sh: accommodate Solaris 5.10's different diff -u output + * tests/test-init.sh: Also exempt @@ lines from the comparison + of diff output, since Solaris 5.10 and GNU diff formats differ. + Reported by Stefano Lattarini. + +2012-01-04 Paul Eggert + + test-posixtm: don't assume signed integer wraparound + * tests/test-posixtm.c (main): Don't assume wraparound semantics + after signed integer overflow. Inspired by (though it may not + fix) Bruno Haible's bug report in + . + + Spell out "Windows 9x" and "Windows XP". + * lib/poll.c, lib/select.c: In comments, replace "Win9x" with + "Windows 9x" and "WinXP" with "Windows XP". + +2012-01-04 Jim Meyering + + test-vc-list-files-cvs.sh: remove obsolete comment + * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about + double exit. Now that's all encapsulated via skip_ and Exit. + +2012-01-04 Bruno Haible + + Talk about "native Windows API", not "Win32". + * lib/classpath.c: Update comments to mention native Windows. + * lib/csharpexec.c: Likewise. + * lib/dup2.c: Likewise. + * lib/error.c: Likewise. + * lib/fcntl.c: Likewise. + * lib/filename.h: Likewise. + * lib/findprog.c: Likewise. + * lib/get-rusage-as.c: Likewise. + * lib/get-rusage-data.c: Likewise. + * lib/getpagesize.c: Likewise. + * lib/javaexec.c: Likewise. + * lib/msvc-inval.c: Likewise. + * lib/msvc-nothrow.c: Likewise. + * lib/nanosleep.c: Likewise. + * lib/nonblocking.c: Likewise. + * lib/printf-parse.c: Likewise. + * lib/setlocale.c: Likewise. + * lib/sigaction.c: Likewise. + * lib/strerror_r.c: Likewise. + * lib/tmpdir.c: Likewise. + * lib/vasnprintf.c: Likewise. + * lib/w32spawn.h: Likewise. + * lib/waitpid.c: Likewise. + * lib/stdio.in.h (fdopen, fopen, freopen): Likewise. + * m4/locale-ar.m4: Likewise. + * m4/locale-fr.m4: Likewise. + * m4/locale-ja.m4: Likewise. + * m4/locale-tr.m4: Likewise. + * m4/locale-zh.m4: Likewise. + * m4/printf.m4: Likewise. + * tests/test-cloexec.c: Likewise. + * tests/test-copy-acl.sh: Likewise. + * tests/test-copy-file.sh: Likewise. + * tests/test-file-has-acl.sh: Likewise. + * tests/test-set-mode-acl.sh: Likewise. + * tests/test-dup-safer.c: Likewise. + * tests/test-dup2.c: Likewise. + * tests/test-dup3.c: Likewise. + * tests/test-fcntl.c: Likewise. + * tests/test-nonblocking-pipe.h: Likewise. + * tests/test-nonblocking-socket.h: Likewise. + * tests/test-pipe.c: Likewise. + * tests/test-pipe2.c: Likewise. + * tests/test-spawn-pipe-child.c: Likewise. + * doc/acl-resources.txt: Likewise. + * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE. + * tests/test-poll.c (WINDOWS_NATIVE): Likewise. + * tests/test-select.h (WINDOWS_NATIVE): Likewise. + * lib/localcharset.c: Update comments to mention native Windows. + (WINDOWS_NATIVE): Renamed from WIN32_NATIVE. + * lib/localename.c: Likewise. + * lib/progreloc.c: Likewise. + * lib/relocatable.c: Likewise. + * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE. + (windows_compute_revents): Renamed from win32_compute_revents. + (windows_compute_revents_socket): Renamed from + win32_compute_revents_socket. + * lib/select.c: Update comments to mention native Windows. + (windows_poll_handle): Renamed from win32_poll_handle. + * m4/threadlib.m4: Update comments to mention native Windows. + (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect + --enable-threads=windows instead of --enable-threads=win32. Set + USE_WINDOWS_THREADS, not USE_WIN32_THREADS. + * lib/glthread/lock.h: Update comments to mention native Windows. + (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS. + * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from + USE_WIN32_THREADS. + * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise. + * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise. + * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise. + * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise. + * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise. + * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise. + * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise. + * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise. + * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise. + * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise. + (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS. + * tests/test-tls.c: Likewise. + Rationale: + Microsoft renamed the "Win32 API" to "Windows API", as it is available + on both 32-bit and 64-bit Windows systems. + But in gnulib, we treat Cygwin like a Unix platform, therefore the main + line of distinction is between "native Windows" on one side and Unix/ + POSIX systems on the other side. More details in + . + Suggested by Paul Eggert. + +2012-01-03 Bruno Haible + + isatty: Support for MSVC 9. + * doc/posix-functions/isatty.texi: Mention the MSVC problem. + * lib/isatty.c: Include , msvc-inval.h. + (_isatty_nothrow): New function. + (isatty): Use it instead of _isatty. + (IsConsoleHandle): Add comment, from Paolo Bonzini. + * lib/poll.c (IsConsoleHandle): Likewise. + * lib/select.c (IsConsoleHandle): Likewise. + * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii. + (gl_PREREQ_ISATTY): New macro. + * modules/isatty (Depends-on): Add msvc-inval. + (configure.ac): Invoke gl_PREREQ_ISATTY. + +2012-01-03 Jim Meyering + + maint.mk: remove temporary transition aid from over 1.5 years ago + * top/maint.mk (_prohibit_regexp): Remove definition whose sole + purpose was to aid in the transition (avoiding silent malfunction) + from that old name to the new _sc_search_regexp. This shim was + added by commit 219c504b. + + init.sh: do not try to accommodate compare arguments starting with "-" + * tests/init.sh (compare_dev_null_): Do not try to accommodate + compare arguments that start with "-". Besides, we do not worry + about this when invoking diff or cmp; why start now with sed? + Using "--" to separate options from argument would trigger sed + failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4, + OpenBSD 4.9 and NetBSD 5.1. Reported by Bruno Haible. + +2012-01-02 Bruno Haible + + Enhance tests for module 'isatty'. + * modules/isatty-tests (Depends-on): Add pipe-posix. + * tests/test-isatty.c: Include . + (DEV_NULL): New macro. + (main): Test the resut of isatty() also on regular files, pipes, and + /dev/null. + + New module 'isatty'. + * lib/unistd.in.h (isatty): New declaration. + * lib/isatty.c: New file, based on an idea of + Bastien Roucariès . + * m4/isatty.m4: New file. + * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared. + (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY. + * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY, + REPLACE_ISATTY. + * modules/isatty: New file. + * doc/posix-functions/isatty.texi: Mention the new module. + Suggested by Paolo Bonzini. + +2012-01-02 Bruno Haible + + canonicalize: Tweak 2011-12-29 commit. + * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment. + * lib/canonicalize.h (canonicalize_filename_mode): Update specification. + +2012-01-02 Jim Meyering + + gitlog-to-changelog: describe input syntax in --help output + * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section. + + gitlog-to-changelog: fix typo in --help: show backslash before email @ + * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped + in sources, but not in actual output. + +2011-12-30 Jim Meyering + + gitlog-to-changelog: don't malfunction when name contains %-directive + * build-aux/gitlog-to-changelog (main): Don't let a %-directive + in a name string cause trouble. E.g., with a user name of "%s", + gitlog-to-changelog would fail with "Missing argument in sprintf at..." + +2011-12-30 Gary V. Vaughan + + gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change) + * build-aux/gitlog-to-changelog (main): Map the string, at beginning + of line in a git commit log, "Copyright-paperwork-exempt: yes", to + the " (tiny change)" notation that is appended to the standard + ChangeLog "date name email" header line. + +2012-01-01 Jim Meyering + + test-framework-sh: init.sh: fix "make dist" failure + When using gnulib-tool's --with-tests option and any module that + depends on test-framework-sh, "make dist" would fail due to the + lack of init.sh *in lib/*. The EXTRA_DIST += init.sh is required + in the gltests directory, and not in the gllib/ directory. + One way to work around that is to move the EXTRA_DIST += init.sh + from the primary module to the -tests one: + * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ... + * modules/test-framework-sh (Makefile.am): ...not here. + Reported by Tom G. Christensen in + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519 + + version-etc: update copyright year reported by --version + * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012. + +2011-12-31 Pádraig Brady + + canonicalize: only stat() if required + * lib/canonicalize.c (canonicalize_filename_mode): + Avoid calling l?stat() when both CAN_MISSING, + and CAN_NOLINKS are set, as we neither need + to resolve symlinks or test component existence. + +2011-12-31 Paul Eggert + + doc: cover st_ino issues once; add OpenVMS etc. + * doc/posix-functions/stat.texi (stat): + * doc/posix-functions/lstat.texi (lstat): + * doc/posix-functions/fstatat.texi (fstatat): + * doc/posix-functions/fstat.texi (fstat): + Move general 'struct stat' stuff to sys_stat.texi, + leaving behind a pointer. + * doc/posix-headers/sys_stat.texi (sys/stat.h): + Merge duplicate info about 'struct stat' problems into here. + Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase, + and suggest partial workarounds. + + same-inode: port to OpenVMS + * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all + three st_ino values. + +2011-12-30 Pádraig Brady + + canonicalize: fix references to stat() and lstat() + * lib/canonicalize.c (canonicalize_filename_mode): + Ensure references always resolve to a replacement + function if required (even via a macro). + +2011-12-30 Jim Meyering + + gitlog-to-changelog: remove a little duplication + * build-aux/gitlog-to-changelog (main): Grep @lines once, + rather than twice. + +2011-12-29 Pádraig Brady + + canonicalize: add support for not resolving symlinks + * lib/canonicalize.h: Add the CAN_NOLINKS flag to + indicate we don't want to follow symlinks. Also + provide CAN_MODE_MASK to aid setting these existing + mutually exclusive values. + * lib/canonicalize.c (canonicalize_filename_mode): + Extract the flags from can_mode parameter, which + are currently just used to select between stat() + and lstat(). Also ensure that mutually exclusive + values are flagged immediately as invalid. + * tests/test-canonicalize.c: Verify symlinks are + not followed, and that invalid flag combinations + are diagnosed. + +2011-12-25 Jim Meyering + + gitlog-to-changelog: do not clump multi-paragraph entries + Identical header lines (date,name,email+coauthors) are suppressed, + thus putting all entries with those same characteristics under + a single header. However, when a log entry consists of two or + more paragraphs, it may not be clear where it starts and ends. + This change makes it so that such an entry is always separated + from others by a header line, even when that header would + otherwise be suppressed. + * build-aux/gitlog-to-changelog: Implement the above. + Inspired by a related request from Stefano Lattarini in + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456 + +2011-12-25 Paul Eggert + + announce-gen: fix `cmd' typo in diagnostic + * build-aux/announce-gen (print_changelog_deltas): Fix typo in + diagnostic: a missing '$' meant that the command was not output. + +2011-12-23 Jim Meyering + + test-framework-sh: distribute init.sh + * modules/test-framework-sh (EXTRA_DIST): Append init.sh. + Otherwise, "make -C gnulib-tests check" (at least in grep) would + fail due to the lack of init.sh. + + maint: remove explicit Files: tests/init.sh; depend on test-framework-sh + * modules/atexit-tests: Rather than listing tests/init.sh, + now that there's a module for it, simply depend on that new module. + * modules/closein-tests: Likewise. + * modules/exclude-tests: Likewise. + * modules/getcwd-tests: Likewise. + * modules/perror-tests: Likewise. + * modules/pread-tests: Likewise. + * modules/pwrite-tests: Likewise. + * modules/vc-list-files-tests: Likewise. + * modules/verify-tests: Likewise. + * modules/xalloc-die-tests: Likewise. + * modules/xstrtoimax-tests: Likewise. + * modules/xstrtol-tests: Likewise. + * modules/xstrtoll-tests: Likewise. + * modules/xstrtoumax-tests: Likewise. + * modules/yesno-tests: Likewise. + +2011-12-22 Jim Meyering + + test-framework-sh: add minimal tests of init.sh's compare function + * modules/test-framework-sh-tests: New file. + * tests/test-init.sh: New file. + + test-framework-sh: new module + * modules/test-framework-sh: New file. + * MODULES.html.sh (Support for maintaining and releasing projects): + List it. + + init.sh: do not emit simulated diff output to stderr + * tests/init.sh (compare_dev_null_): Print to stdout, not stderr. + +2011-12-22 Reuben Thomas + + .gitignore: ignore gnulib.dvi and regex.info + * doc/.gitignore:add gnulib.dvi and regex.info + +2011-12-22 Jim Meyering + + init.sh: correct previous change + * tests/init.sh (compare): My previous change was wrong. + Don't clobber "$?". Spotted by Stefano Lattarini and Pádraig Brady. + + init.sh: avoid unwarranted test failure when using "set -e" + * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_. + Otherwise, in a test script that uses "set -e" (like many in vc-dwim) + a use like "compare exp out" would get evoke an unconditional failure. + +2011-12-21 Alfred M. Szmidt + + bootstrap: fix it to honor $ACLOCAL_FLAGS once again + The 2011-12-17 change, commit 767ccd40, replaced a manual invocation + of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of + autoreconf that did not. + * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf. + Reported by Mats Erik Andersson . + +2011-12-17 Jim Meyering + + bootstrap: remove some now-unneeded code + This script arose back when gnulib-tool was young. + Since then, it has seen improvements that render much of this + script unnecessary. In particular, it can now make symlinks + to the files it uses. Also, I no longer see as much value in + marking files as read-only via comments. + If you relied on the symlink-creation feature of the preceding + version of this script, you can get most of that functionality + by adding the --symlink option to the definition of + gnulib_tool_option_extras in your bootstrap.conf file. + * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions. + Run autopoint and libtoolize *before* gnulib-tool. + After it, run an abbreviated autoreconf, rather than a loop around + all tools. + (slirp, bt_mark_as_generated): Remove functions. + +2011-12-18 Paul Eggert + + ftoastr: fix typo + * lib/ftoastr.h: Fix misspelling in comment. + +2011-12-18 Reuben Thomas + + * top/README-release: fix punctuation. + +2011-12-17 Jim Meyering + + bootstrap: correct the recent buildreq change + The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus + had no effect. + * build-aux/bootstrap (buildreq): Bracket each search term with + "*...*", so that the shell "case" statement works as intended. + Add comments. + +2011-12-17 Bernhard Voelker + + build: let bootstrap resort to wget when downloading .po files + * build-aux/bootstrap (download_po_files): Fallback to wget when + downloading the .po files via rsync fails. This is necessary to + bootstrap from behind a strict firewall. + +2011-12-15 Paul Eggert + + stdint: don't assume C++11 when compiling with g++ + Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in + . + * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it + work also in C++ before C++11, as that improperly inhibits + generating a substitute stdint.h for that case. + +2011-12-15 Paul Eggert + + alloca: protect comment from gnulib-tool + * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so + that gnulib-tool doesn't think it's a license, and munge it to + say "GCC version 3". + +2011-12-15 Ludovic Courtès (tiny change) - Yum.lns: split excludes as lists (ticket #275) + localcharset: Use an absolute path in TESTS_ENVIRONMENT. + * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use + $(abs_top_builddir) instead of $(top_builddir). + +2011-12-14 Alex Nelson (tiny change) + + strftime-tests: also test nanoseconds + * tests/test-strftime.c (T): Add a test of %N. + +2011-12-13 Paul Eggert - Build: Add combinatorics group + inttypes, stdint: add C++11 support + C++11 says there's no need to define __STDC_CONSTANT_MACROS etc. + when including inttypes.h and stdint.h. Support this change to + the standard. + * doc/posix-headers/inttypes.texi (inttypes.h): + * doc/posix-headers/stdint.texi (stdint.h): Document this. + * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]: + Define if not defined already, for the benefit of pre-C++11 hosts. + Define the standard format macros (e.g., PRId8) always. + * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS): + Likewise, if __cpluspus. Define the standard constant and limit + macros (e.g., INT8_C, INT8_MAX) always. + * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define + GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed. + * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros. + * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS) + (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now. + * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS): + Likewise. + +2011-12-12 Paul Eggert + + nonblocking tests: Fix test failure on Linux/PPC. + Suggested by Prerna Saxena in + . + * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]: + Set to 1100000. + +2011-12-12 Jim Meyering + + argmatch: don't hard-code `' when listing valid option arguments + * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'. Instead, + use the quote function to add quotes. Use fputs rather than + fprintf for the format string with no format directive. + +2011-12-07 Eric Blake + + bootstrap: detect tools required by gnulib-tool + * build-aux/bootstrap (buildreq): Provide minimum implicit + dependencies. + * DEPENDENCIES: Mention patch as a prereq. - Yum.lns: simplify code for combinatory logic of list_entry elements +2011-12-04 Bruno Haible -2013-12-02 Tomas Hoger + sethostname: Port to Windows platforms. + * lib/sethostname.c: Provide an alternate implementation for Windows + platforms. + * tests/test-sethostname2.c (geteuid): Redefine on Cygwin. + (main): Skip the test if sethostname() fails with EPERM. On Windows + platforms, don't check the result of gethostname(). - Corrections for CVE-2012-0786 tests - - test-put-symlink-augsave.sh - variable $HOSTS_AUGNEW was used to check if - file was still symlink, while it wasn't set before. Fix to use - $HOSTS_AUGSAVE. - - test-put-symlink-augnew.sh, test-put-symlink-augsave.sh - 'test -f' - dereferences symlink and hence can not be used to check if file is regular - file or symlink to a regular file. Use 'test -h' instead. +2011-12-04 Bruno Haible + Jim Meyering + + tests: Avoid spurious error message on platforms without mktemp program. + * tests/init.sh (mktempd_): Run mktemp in a subcommand. + +2011-12-04 Bruno Haible + + sethostname: Fix documentation. + * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the + "not fixed" section. + +2011-12-03 Bruno Haible + + gnulib-tool: Verify that the License field is present and non-empty. + * gnulib-tool (func_get_license_raw): New function, extracted from + func_get_license. + (func_get_license): Use it. Warn if the module is not a test module and + has no license. + Suggested by Jim Meyering. -2013-12-02 Tomas Hoger +2011-12-03 Bruno Haible + + sethostname tests: Fix link error on mingw. + * tests/test-sethostname1.c: New file, extracted from + tests/test-sethostname.c. + * tests/test-sethostname2.c: New file, extracted from + tests/test-sethostname.c. + * tests/test-sethostname.c: Remove file. + * modules/sethostname-tests (Files): Add tests/test-sethostname1.c, + tests/test-sethostname2.c. Remove tests/test-sethostname.c. + (Depends-on): Add gethostname. + (Makefile.am): Compile both test-sethostname1 and test-sethostname2. + Link the latter with $(GETHOSTNAME_LIB). + + sethostname tests: Fix compilation error on mingw. + * tests/test-sethostname.c: Don't include . + (geteuid): Use a dummy value without uid_t. + * modules/sethostname-tests (Depends-on): Remove sys_types. + + sethostname tests: Avoid a gcc warning. + * tests/test-sethostname.c (main): Remove an unused variable. + + Tweak last commit. + * modules/sethostname-tests (Files): Sort by decreasing importance. + (configure.ac): Check for geteuid. + * tests/test-sethostname.c (main): Emit error messages to stderr. Skip + the test when there's nothing to test. Drop an unnecessary cast. + Improve an error message. Verify that the final sethostname() call + succeeds. - Correct locations table for transform_save() - Commit 16387744 introduced a table with locations of temporary, destination and - backup file in various modes as part of the comment for transform_save(). This - corrects two incorrectly listed temporary file locations. +2011-12-01 Ben Walton - Note that PATH_canon is somewhat misleading, as canonicalized path is always - used when not using NEWFILE save flag, while it is meant to indicate whether - file is created in a directory that contains symlink, or a directory that - contains symlink's target. + Add a test suite for the sethostname module. + * modules/sethostname-tests: New file. A test program + for the sethostname module. + * tests/test-sethostname.c: Likewise. -2013-12-02 Raphaël Pinson +2011-12-03 Bruno Haible - Desktop.lns: Support square brackets in keys + Tweak last commit. + * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order. + Fix preprocessor directives indentation. Fix typos. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order. + * modules/unistd (Makefile): Likewise. -2013-11-19 Dominic Cleal +2011-12-01 Ben Walton - * src/transform.c (filter_matches): wrap fnmatch to ensure that an incl pattern containing "//" matches file paths - Fixes RHBZ#1031084 + Integrate the sethostname module into unistd. + * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling + into the unistd.h header. + * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME + preprocessor directives. + * modules/unistd: Setup the Makefile substitutions of the + SETHOSTNAME preprocessor directives. -2013-11-09 Sean Millichamp +2011-12-03 Bruno Haible - Enhance Nagiosobjects lens - This adds support and tests for three additional Nagios - supported behaviors: - - An optional space between the object name and the { - Example: "define host{" - - An optional indent prior to the closing } - Example: " }" - - Whole-line comments that start with ; - Example: "; This is a comment" + Tweak last commit. + * lib/sethostname.c: Don't include . + (sethostname): No need to copy the argument string to the stack. Don't + call clearerr. Preserve errno when fprintf failed. + * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX. + Don't invoke AC_REPLACE_FUNCS. + * modules/sethostname (Link): Remove empty section. + * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS + failure problem. - It does not add support for end-of-line comments with ; +2011-12-01 Ben Walton -2013-11-09 Yanis Guenane + New module 'sethostname'. + * lib/sethostname.c (sethostname): New file. Provide sethostname + for systems that lack it. + * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file. Detection of + sethostname declaration and function. + * modules/sethostname: New file. Define the sethostname module. - Dhcpd: support a wider variety of DHCP allow/deny/ignore statement - The Dhcpd.aug was missing a part of the allow/deny/ignore possible - statement. This commit updates the lense so it supports the list - of options available here +2011-12-03 Bruno Haible - http://www.ipamworldwide.com/declarations-topological/declarations-allowdenyignore.html + Tweak last commit. + * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line. - Also this bug was preventing a Foreman user to parse the dhcpd.conf - generated by theforeman/dhcp puppet module +2011-12-01 Ben Walton + + Split the HOST_NAME_MAX detection into a separate m4 macro. + * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate + macro so it can be used by the pending sethostname module. + +2011-12-03 Bruno Haible + + Fix module descriptions syntax. + * modules/argv-iter (License): Fix syntax. + * modules/di-set (License): Likewise. + * modules/ino-map (License): Likewise. + Reported by Stefano Lattarini . + +2011-12-02 Paul Eggert + + stdalign: port to Clang 3.0 + Problem reported by Simon Josefsson in + . + * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0, + which has but which does not define alignof. + * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem. + +2011-12-01 Eric Blake + + mktempd: silence dd usage + * build-aux/mktempd (rand_bytes): Silence dd. + +2011-11-30 Simon Josefsson + + manywarnings: Don't mention gcc version in docstring. + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix. Suggested by + Jim Meyering . + +2011-11-30 Jim Meyering + + hash: mark a few floating point constants with "f" suffix + * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR) + (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal + floating point constants with "f", since they're destined to be + saved/used as "float"s. + +2011-11-29 Paolo Bonzini + + float tests: Correct and re-enable assertion about LDBL_MIN_EXP. + * tests/test-float.c (test_long_double): Correct and re-enable the + assertion about LDBL_MIN_EXP that was disabled on 2011-08-31. + +2011-11-29 Matthew Wala (tiny change) + + Avoid subtracting two pointers that don't point into the same block. + * lib/argp-help.c (hol_append): Reorder pointer subtractions so that + only pointers into the same memory block are subtracted. We cannot + assume that sizeof (ptrdiff_t) == sizeof (void *). + +2011-11-29 Eric Blake + + maint.mk: add syntax check for use of compare from init.sh + * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule, + moved here from coreutils. + + manywarnings: drop -Wunsuffixed-float-constants + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow + '1.0D', which is the only way to silence this warning for 'double'. + +2011-11-29 Jim Meyering + + hash: mark compute_bucket_size with the pure attribute + * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE. + + quotearg, propername: correct pragma guard expression + * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer. + * lib/propername.c: Likewise. Reported by Bernhard Voelker. + +2011-11-28 Jim Meyering + + propername: do not mark proper_name with the const attribute + * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST, + since it examines data pointed to by its parameter. + * lib/propername.c (proper_name): Instead, add a pragma to suppress + the suggestion from -Wsuggest-attribute=const. + + propername: mark one more function as const + * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST. + +2011-11-27 Jim Meyering + + mark functions with const and pure attributes + + Mark functions per suggestions from gcc-4.6 when using these options: + -Wsuggest-attribute=pure -Wsuggest-attribute=const. + Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros. + Follow these guidelines: when possible, apply the attribute to + an extern declaration, not to its definition. Apply it to the + definition only when the definition is static. + * lib/argmatch.h (argmatch, argmatch_to_argument): Mark. + * lib/argv-iter.h (argv_iter_n_args): Likewise. + * lib/base64.h (isbase64): Likewise. + * lib/basename-lgpl.c (last_component, base_len): Likewise. + * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise. + (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise. + (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise. + (c_tolower, c_toupper): Likewise. + * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise. + * lib/chdir-long.c (find_non_slash): Likewise. + * lib/dirname.h (base_len, dir_len, last_component): Likewise. + * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise. + * lib/file-type.h (file_type): Likewise. + * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise. + * lib/filevercmp.c (verrevcmp): Likewise. + * lib/freadahead.h (freadahead): Likewise. + * lib/fts.c (fts_maxarglen): Likewise. + * lib/hash-pjw.h (hash_pjw): Likewise. + * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str): + * lib/hash.c (is_prime, next_prime): Likewise. + * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise. + (hash_get_n_entries, hash_get_max_bucket_length): Likewise. + (hash_table_ok, hash_get_first, hash_string): Likewise. + (compute_bucket_size): Likewise. + * lib/i-ring.h (i_ring_empty): Likewise. + * lib/isnan.c (isnanl): Likewise. + * lib/math.h (isnanl, rpl_isnanl): Likewise. + * lib/memcasecmp.h (memcasecmp): Likewise. + * lib/memchr2.h (memchr2): Likewise. + * lib/memcmp2.h (memcmp2): Likewise. + * lib/parse-datetime.y (lookup_zone): Likewise. + * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup) + [!WINDOWS_SOCKETS]: Likewise. + * lib/strnlen1.h (strnlen1): Likewise. + * lib/uniwidth.in.h (uc_width): Likewise. + * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from + gcc's -Wsuggest-attribute=pure for quoting_options_from_style. + (quoting_options_from_style): Add a comment. + * lib/propername.h (proper_name): Add a comment. + +2011-11-27 Bruno Haible + + Remove unused macros from !_LIBC code in glibc-borrowed files. + * lib/fnmatch.c (STRCOLL): Remove macro. + * lib/fnmatch_loop.c (STRCOLL): Remove undef. + * lib/glob.c (__stat, __readdir64): Remove macros. + * lib/tempname.c (__open64, __xstat64): Remove macros. + Suggested by Paul Eggert. + +2011-11-27 Bruno Haible + + getcwd: Fix link error on MSVC 9. + * modules/getcwd (Depends-on): Add readdir, rewinddir. + +2011-11-27 Bruno Haible + + Don't set REPLACE_FOO to 1 if HAVE_FOO is 0. + * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if + HAVE_OPENDIR is 0. + * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if + HAVE_CLOSEDIR is 0. + * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2 + is 0. + * m4/dup3.m4 (gl_FUNC_DUP3): Update comments. + +2011-11-27 Bruno Haible + + getcwd: Fix bug from 2011-08-17. + * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on + platforms that need it. + * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return + code of 4 to be a failure, not a success. This ensures that + REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1. + +2011-11-27 Bruno Haible + + binary-io tests: Avoid test failure on mingw when libtool is used. + * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here. + Don't verify the size of t-bin-out1.tmp here. + * tests/test-binary-io.sh: Verify it here. + Reported by Simon Josefsson. + +2011-11-26 Bruno Haible + + Fix conflict between two instantiations of module 'unistd'. + * gnulib-tool (func_emit_autoconf_snippet): Substitute + ${include_guard_prefix} also in the autoconf snippet. + * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize + GNULIB_UNISTD_H_GETOPT. + * modules/getopt-posix (configure.ac): Set the + GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable. + * modules/getopt-gnu (configure.ac): Likewise. + * modules/unistd (Makefile.am): Change the substitution value of + GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix. + Reported by Simon Josefsson. + +2011-11-25 Bruno Haible + + pagealign_alloc: Doc and comments. + * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc + module. + * lib/pagealign_alloc.c (pagealign_alloc): Add comment. -2013-11-09 Dominic Cleal +2011-11-25 Jim Meyering - Yum: permit spaces after equals sign in list options - Fixes GitHub issue #45 + test-update-copyright.sh: avoid false-positive failure + * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work + around false positive failure on Cygwin/Windows. The latter was + matching erroneously-created files with names like + update-copyright.test-ex.4.bak. Reported by Simon Josefsson. -2013-11-08 Matteo Cerutti +2011-11-25 Simon Josefsson - Sudoers: permit underscores in group names - Fixes ticket #370 + valgrind-tests.m4: Avoid breakage if valgrind on bash fails. + * m4/valgrind-tests.m4: Check that the parameters that will be + used works, not just a subset of them. Reported by Bruno Haible + . -2013-11-01 Andrew N Golovkov +2011-11-24 Jim Meyering - include only *.repo files from yum.repos.d; + test-stdalign.c: comment out long double tests + * tests/test-stdalign.c: Don't try to reduce alignment of long double + variables. That provokes errors like this from gcc-4.7.0 20111124: + error: '_Alignas' specifiers cannot reduce alignment of \ + 'static_longdouble_alignas'. -2013-10-24 Michael Haslgrübler +2011-11-22 Jim Meyering - Use Quote module in dovecot - * use Quote.dquote_spaces for quoting + init.sh: make "compare /dev/null FILE" output more readable + * tests/init.sh (compare_): Document the preferred order of arguments. + (emit_diff_u_header_): New function. + (compare_dev_null_): Emit a simulated diff, rather than just the + contents of the unexpected file. Suggestion from Bruno Haible. - dovecot enchancement and bug fixes - * add mailbox to block_names - * fix for block_args in quotes - * fix for block's brackets upon write - * fixes broken tests for mailbox - * fixes indention - * test case for block_args with " - * fixes broken indention +2011-11-21 Jim Meyering + Eric Blake -2013-10-17 Dominic Cleal + init.sh: work around OSF/1 5.1's mishandling of /dev/null + * tests/init.sh: Make our compare function slightly more portable. + Reported by Bruno Haible in + http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020 - Shellvars_list: handle backtick variable assignments - Fixes ticket #368 +2011-11-21 Simon Josefsson -2013-10-08 Yanis Guenane + * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined + before using it, in code that ends up in config.h. - Update NEWS +2011-11-20 Bruno Haible -2013-10-07 Dietmar Kling + getcwd: Work around getcwd bug on AIX 5..7. + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require + AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1. + Use a different value for gl_cv_func_getcwd_path_max. Move the + definition of HAVE_PARTLY_WORKING_GETCWD from here... + * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke + gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'. + Define HAVE_MINIMALLY_WORKING_GETCWD. + * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms + where it is not even minimally working, that is, on AIX. + * tests/test-getcwd.c (test_long_name): Distinguish the same cases as + m4/getcwd-path-max.m4. + (main): Update exit code computation. + * doc/posix-functions/getcwd.texi: Mention list of platforms where + getcwd does not handle long file names. - Cyrus_Imapd: create new entries without space before separator - Fixes RHBZ#1014974 +2011-11-20 Bruno Haible -2013-10-05 Dominic Cleal + getcwd: Fix bug from 2009-09-10. + * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not + like "no". - Exports: permit colons for IPv6 client addresses - Fixes ticket #366 +2011-11-20 Simon Josefsson -2013-09-20 Esteve Fernandez + * m4/manywarnings.m4: Add more warnings from gcc 4.6.2. - Added dhclient.conf path for Debian/Ubuntu +2011-11-20 Bruno Haible -2013-09-09 Yanis Guenane + fma tests: Avoid shadowing local variables. + * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result, + expected. - Fix Trac#364. Syslog lense accept UDP(@) and TCP(@@) protocol - Currently the syslog lense only accept sending log to another host - via UDP - a single @ -, and was discarding TCP - a double @ -. This - PR fixes that. +2011-11-20 Bruno Haible - Fix test_rsyslog.aug + copysignf tests: Fix. + * tests/test-copysignf.c: Fix signature check. - Remove unused variable at +2011-11-20 Bruno Haible -2013-09-07 Yanis Guenane + fma: Remove unused code. + * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove + unused macros. - Fix NagiosCfg lense so /etc/nagios/nrpe.cfg is parsed by Nrpe and not NagiosCfg - Currently NagiosCfg lense is in charge of parsing all files under /etc/nagios/*.cfg - but /etc/nagios/commands.cfg. /etc/nagios/nrpe.cfg should be also added as an exception - since it needs to be parsed by the Nrpe lense. This issue currently causes the following - error : "Lenses @NagiosCfg and @Nrpe could be used to load this file" +2011-11-20 Bruno Haible -2013-09-02 Dominic Cleal + sethostname: Fix doc about AIX. + * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks + sethostname; it has it. - * tests/test-load.c (testPermsErrorReported): skip permissions test when root + sethostname: Mention more portability problems. + * doc/glibc-functions/sethostname.texi: Mention the missing declaration + problem. + Reported by Ben Walton . -2013-08-27 Tom Hendrikx +2011-11-19 Bruno Haible - Postfix_virtual: allow '+' and '=' in email addresses - + ('plus') and = ('equals') are valid characters in email addresses. - Example is from postfix docs, see: - http://www.postfix.org/MULTI_INSTANCE_README.html#quick + Depend on module fcntl-h when AT_FDCWD is used. + * modules/utimens (Depends-on): Add fcntl-h. + * modules/areadlinkat (Depends-on): Likewise. + * modules/areadlinkat-with-size (Depends-on): Likewise. + * modules/faccessat (Depends-on): Likewise. + * modules/fchmodat (Depends-on): Likewise. + * modules/fchownat (Depends-on): Likewise. + * modules/getcwd (Depends-on): Likewise. + * modules/mkdirat (Depends-on): Likewise. + * modules/mkfifoat (Depends-on): Likewise. + * modules/readlinkat (Depends-on): Likewise. + * modules/symlinkat (Depends-on): Likewise. + * modules/dup2-tests (Depends-on): Likewise. + * modules/fdutimensat-tests (Depends-on): Likewise. + * modules/futimens-tests (Depends-on): Likewise. + +2011-11-19 Bruno Haible + + euidaccess: Update a comment. + * lib/euidaccess.c: Update comment about platforms with faccessat. + +2011-11-19 Bruno Haible + + openat: Fix file list. + * modules/openat (Files): Remove lib/at-func.c. + +2011-11-19 Bruno Haible + + fstatat: Simplify. + * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where + gnulib should define rpl_fstatat, there is a + "#define fstatat rpl_fstatat" in . + +2011-11-19 Bruno Haible + + Ensure 'inline' can be used in tests/test-utimens-common.h. + * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE. + * modules/futimens-tests (configure.ac): Likewise. + * modules/utimens-tests (configure.ac): Likewise. + * modules/utimensat-tests (configure.ac): Likewise. + +2011-11-19 Simon Josefsson + + * lib/hash.c (hash_insert): Use hash_insert_if_absent, + not hash_insert0. + (hash_insert_if_absent): Doc fix. + +2011-11-19 Simon Josefsson + + * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h. + +2011-11-18 Paul Eggert + + test-getcwd: disambiguate exit status + * tests/test-getcwd.c (test_long_name): Return 0..7. + (main): Exit with an unambiguous exit status. The old + code yielded a mysterious mixture of two failure codes. + + fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8 + * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not + HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define + rpl_fstatat or fstatat. This should fix the other problem + reported by Kai Habel in + . + A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson + + and I reproduced it on a Solaris 8 host we still have in production. + +2011-11-18 Jim Meyering + + hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent + * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0. + Add a sentence to the comment. + (hash_insert0): New function that simply calls hash_insert_if_absent. + * lib/hash.h (hash_insert_if_absent): Declare it. + (hash_insert0): Add deprecation attribute. + (_GL_ATTRIBUTE_DEPRECATED): Define. + * lib/di-set.c (di_set_insert): Use hash_insert_if_absent, + not hash_insert0. + * NEWS: Mention it, even though it's not really an incompatible change. + +2011-11-18 Dagobert Michelsen (tiny change) + + openat: avoid compilation failure due to lack of inclusion + * lib/openat.c: Include . + +2011-11-17 Paul Eggert + + * modules/getcwd (Depends-on): Add fdopendir. + This fixes one of the two problems reported by Kai Habel in + . + + modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug + stdalign problem reported by Ian Beckwith in + . + * modules/crypto/gc-arcfour (Depends-on): + Depend conditionally on crypto/arcfour. + * modules/crypto/gc-arctwo (Depends-on): + Depend conditionally on crypto/arctwo. + * modules/crypto/gc-des (Depends-on): + Depend conditionally on crypto/des. + * modules/crypto/gc-hmac-md5 (Depends-on): + Depend conditionally on crypto/hmac-md5. + * modules/crypto/gc-hmac-sha1 (Depends-on): + Depend conditionally on crypto/hmac-sha1. + * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax. + * modules/crypto/gc-md4 (Depends-on): + Depend conditionally on crypto/md4. + * modules/crypto/gc-md5 (Depends-on): + Depend conditionally on crypto/md5. + * modules/crypto/gc-rijndael (Depends-on): + Depend conditionally on crypto/rijndael. + * modules/crypto/gc-sha1 (Depends-on): + Depend conditionally on crypto/sha1. + * modules/crypto/gc-arcfour: + * modules/crypto/gc-arctwo: + * modules/crypto/gc-des: + * modules/crypto/gc-hmac-md5: + * modules/crypto/gc-hmac-sha1: + * modules/crypto/gc-md2: + * modules/crypto/gc-md4: + * modules/crypto/gc-md5: + * modules/crypto/gc-rijndael: + * modules/crypto/gc-sha1: + (Files, Depends-on, configure.ac): Remove now-unnecessary stuff, + now that the conditional dependencies do the work for us. + +2011-11-17 Jim Meyering + + tests: factor st_ctime-comparison out of two headers + * tests/test-utimens-common.h (ctime_compare): Define. + * tests/test-futimens.h (test_futimens): Replace open-coded equivalent. + * tests/test-lutimens.h (test_lutimens): Likewise. + * tests/test-utimens.h (test_utimens): Likewise. + + test-getcwd: don't leave behind a confdir3/ directory upon interrupt + Invoke the test program via an init.sh-using wrapper. + * tests/test-getcwd.sh: New file. + * modules/getcwd-tests (Files): Add it. + (Makefile.am) [TESTS]: Invoke the shell script wrapper. + +2011-11-01 Gary V. Vaughan + + gitlog-to-changelog: support multi-author commits. + The FSF cares about keeping track of all authors of patches to its + projects, but Git doesn't provide obvious support for multi-author + changesets. Consensus seems to be forming around the use of extra + Signed-off-by inspired lines in the log message formatted as + `Co-authored-by: A U Thor ' for round-tripping + multi-author commits between version control systems. + * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git + log message and output in standard ChangeLog multi-author format. + Reported by Peter Rosin + +2011-11-15 Ben Walton (tiny change) + Bruno Haible + + Fix some modules' file list. + * modules/fstatat (Files): Add m4/lstat.m4. + * modules/openat (Files): Likewise. + * modules/unlinkat (Files): Likewise. + +2011-11-15 Gary V. Vaughan + + maint.mk: fix tight-scope.mk generation in VPATH builds. + * top/maint.mk (tight-scope.mk): Make sure to prefix file + reference with $(srcdir) so that the file is found correctly even + when running `make syntax-check' in a VPATH build. + +2011-11-13 Bruno Haible + Jim Meyering + + Silence successful tests that use 'compare' on AIX, HP-UX, Solaris. + * tests/init.sh (compare): Remove "No differences encountered" or + synonymous output from the 'diff' program. + +2011-11-13 Bruno Haible + + Makefile: Tweak indentation. + * Makefile: Use tab as first character in every line that contains rule + commands. + +2011-11-13 Bruno Haible + + Syntax check for copyright statements. + * check-copyright: New file. + * Makefile (sc_check_copyright): New rule. + +2011-11-13 Simon Josefsson + + * build-aux/git-version-gen: Add --prefix to configure the tag + match string. + +2011-11-13 Simon Josefsson + + * build-aux/git-version-gen: Add --help and --version. + +2011-11-12 Jim Meyering + + revamp the other test-exclude?.sh scripts to use init.sh, too + * tests/test-exclude1.sh: Use init.sh. + * tests/test-exclude2.sh: Likewise. + * tests/test-exclude3.sh: Likewise. + * tests/test-exclude4.sh: Likewise. + * tests/test-exclude5.sh: Likewise. + * tests/test-exclude6.sh: Likewise. + * tests/test-exclude7.sh: Likewise. + * tests/test-exclude8.sh: Likewise. + * modules/exclude-tests (Files): List init.sh. + + test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails + These shell scripts ignored failure of the binary test-exclude, + so making the latter return 77 didn't cause them to be skipped. + * tests/test-exclude5.sh: Exit with test-exclude's error status + when that program fails. Revamp to use init.sh. + * tests/test-exclude2.sh: Likewise. + + test-exclude: fix a typo + * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir". + +2011-11-11 Bruno Haible + + obstack: Fix compilation error on MSVC 9. + * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier. + +2011-11-11 Jim Meyering + + test-exclude: skip tests rather than failing on deficient systems + * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD + and FNM_LEADING_DIR on systems that lack the definitions. This affects + at least Solaris 9. Reported and diagnosed by Dagobert Michelsen in + http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950 + +2011-11-10 Bruno Haible + + ptsname_r test: Avoid gcc warning on glibc systems. + * tests/test-ptsname_r.c (null_ptr): New function. + (test_errors): Use it. + +2011-11-10 Bruno Haible + + ptsname_r: Avoid compilation error on OSF/1 5.1. + * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R. + * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the + function is not declared or incompatibly declared. + * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R. + * modules/ptsname_r (Depends-on, configure.ac): Update. + * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems. + +2011-11-10 Bruno Haible -2013-08-27 Raphaël Pinson + fstatat: Make cross-compilation guess succeed everywhere except on AIX. + * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST. + When cross-compiling, guess yes on all platforms except AIX. + Reported by Ludovic Courtès . - Add aug_cp and the cp and copy commands +2011-11-09 Bruno Haible -2013-08-27 Dominic Cleal + ptsname_r tests: Fix bugs. + * tests/test-ptsname_r.c (test_errors): Change return type to 'void'. + Fix ptsname_r calls. Reduce loop rounds to a reasonable amount. - Grub: handle makeactive menu command - Fixes ticket #340 +2011-11-09 Paul Eggert - Postfix_Main: handle stray whitespace at end of multiline lines - Fixes ticket #348 + fstatat: work with cross-compilation + Problem reported by Ludovic Courtès in + . + * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report + "cross-compiling" and assume the bug is present. Replace + FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with + an inverted sense, to be more conservative about our assumptions. + * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro. -2013-08-27 Pat Riehecky +2011-11-09 Bruno Haible - Koji: new lens to parse Koji configs + Improve MODULES.html output. + * modules/mkfifoat (Description): Use the word "function". + * modules/readlinkat (Description): Likewise. + * modules/symlinkat (Description): Likewise. -2013-08-27 Dominic Cleal +2011-11-09 Eric Blake - Access: support DOMAIN\user syntax for users and groups - Fixes ticket #353 + ptsname_r-tests: new test module + * modules/ptsname_r-tests: New module. + * tests/test-ptsname_r.c: New file. - Samba: permit asterisk in key name - Fixes ticket #354 + ptsname_r: new module + * modules/ptsname_r: New module. + * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file. + * lib/ptsname.c (__ptsname_r): Split... + * lib/ptsname_r.c: ...into new file. + * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl. + (gl_STDLIB_H_DEFAULTS): Set witness defaults. + * modules/stdlib (Makefile.am): Substitute witnesses. + * lib/stdlib.in.h (ptsname_r): Declare it. + * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it. + * MODULES.html.sh (Misc): Likewise. + * modules/ptsname (Depends-on): Alter dependency. + * doc/posix-functions/ptsname.texi (ptsname): Mention new module. - Shellvars: support all types of quoted strings in arrays - Patch from webmeister. Fixes ticket #357. +2011-11-09 Jim Meyering -2013-08-27 Pat Riehecky + announce-gen: be more concise when there's only one URL+tarball + * build-aux/announce-gen (get_tool_versions): When you distribute + only one type of tarball, combine the first two "Here are..." + sections and make the key-checking grammar independent of + how many tarballs there are. - Yum: add yum-cron*.conf files +2011-11-09 Eric Blake -2013-08-27 Pascal Lalonde + openpty: provide a stub on mingw + * lib/pty.in.h (includes): Provide forward declarations. + * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub. - Interfaces: allow numeric characters in stanza options + raise: fix mingw handling of SIGPIPE + * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value. -2013-08-27 David Lutterkort +2011-11-08 Bruno Haible - Shellvars: read /etc/firewalld/firewalld.conf - Fixes https://fedorahosted.org/augeas/ticket/363 + More conditional dependencies. + * modules/faccessat (Depends-on): Add conditions. + * modules/fchmodat (Depends-on): Likewise. + * modules/fchownat (Depends-on): Likewise. + * modules/fstatat (Depends-on): Likewise. + * modules/mkfifoat (Depends-on): Likewise. + * modules/readlinkat (Depends-on): Likewise. + * modules/symlinkat (Depends-on): Likewise. + * modules/unlinkat (Depends-on): Likewise. + * modules/utimensat (Depends-on): Likewise. + * modules/mkdirat (Depends-on): Add sys_stat. Add conditions. + * modules/linkat (Depends-on): Refine the conditions. + * modules/renameat (Depends-on): Likewise. -2013-08-27 Matthew Booth +2011-11-08 Bruno Haible - Grub: support the 'lock' directive + faccessat: Move AC_LIBOBJ invocation to module description. + * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro. + (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ + invocation from here... + * modules/faccessat (configure.ac): ... to here. Invoke + gl_PREREQ_FACCESSAT. + +2011-11-08 Bruno Haible + + faccessat: Simplify autoconf macro. + * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT, + gl_FUNC_EUIDACCESS. + +2011-11-08 Bruno Haible + + renameat: Fix dependencies. + * modules/renameat (Depends-on): Add stdbool. + +2011-11-08 Bruno Haible - Grub: NFC fix whitespace errors introduced by 4e09d15 - Kill tabs! + mkfifoat: Fix module description. + * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR, + not gl_UNISTD_MODULE_INDICATOR. + +2011-11-08 Bruno Haible - Grub: support the 'setkey' directive + fstatat: Remove unused dependency. + * modules/fstatat (Depends-on): Remove fstat. + +2011-11-08 Simon Josefsson + + GNUmakefile: behave when Makefile is missing. + * top/GNUmakefile: Always initialize _build-aux and _autoreconf. + +2011-11-08 Bruno Haible + + openat: Conditionalize dependencies. + * lib/openat.c: Reduce the scope of some #includes. + * modules/openat (Depends-on): Add conditions. + +2011-11-07 Jim Meyering + + maint.mk: extract GPG key ID without using a temporary file + * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but + without using a temporary file. Based on a suggestion from Werner Koch + in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496 + +2011-11-07 Eric Blake + + grantpt: fix typo + * lib/stdlib.in.h (grantpt): Check correct function. + + maint.mk: silence new syntax check + * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @. + +2011-11-06 Bruno Haible + + Doc about floating-point and math API. + * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS. + * doc/posix-headers/math.texi: Mention problem with math_errhandling. + +2011-11-06 Bruno Haible + + stdalign tests: Skip the test when compiled by Sun C. + * tests/test-stdalign.c (main): Skip the test on Sun C. + +2011-11-06 Bruno Haible + + ansi-c++-opt: Complete the 2011-06-05 change. + * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but + does not support namespaces, set the variable to "no", not to ":". + +2011-11-06 Paul Eggert + + * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID. + +2011-11-06 Bruno Haible + + copysignl: Fix result for zero argument on HP-UX 11 with HP C. + * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function. + (minus_zerol) [HP-UX]: New macro. + (unary_minus) [HP-UX]: New function. + (copysignl) [HP-UX]: Use unary_minus function. + +2011-11-06 Bruno Haible + + ldexp, ldexpf, ldexpl: Enhance tests. + * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c + and tests/test-ldexpl.c. + * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, + LDEXP, MIN_EXP, MAX_EXP): New macros. + Include test-ldexp.h. + (main): Just call test_function. + * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h, + infinity.h, nan.h. + (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP, + MAX_EXP): New macros. + Include test-ldexp.h. + (x, y): Remove variables. + (main): Just call test_function. + * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h, + infinity.h, nan.h. + (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP, + MAX_EXP): New macros. + Include test-ldexp.h. + (x, y): Remove variables. + (main): Just call test_function. + * modules/ldexpl-tests (Files): Add tests/test-ldexp.h. + * modules/ldexp-tests (Files): Add tests/test-ldexp.h, + tests/minus-zero.h, tests/infinity.h, tests/nan.h. + (Depends-on): Add isnand-nolibm, signbit, float. + * modules/ldexpf-tests (Files): Add tests/test-ldexp.h, + tests/minus-zero.h, tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanf-nolibm, signbit, float. + +2011-11-06 Bruno Haible + + math tests: Cosmetics. + * tests/test-math-c++.cc: Reorder declarations. + +2011-11-05 Bruno Haible + + fma*: Simplify test. + * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro. + (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements. + + Tests for module 'fmal'. + * modules/fmal-tests: New file. + * tests/test-fmal1.c: New file. + * tests/test-fmal2.c: New file. + + New module 'fmal'. + * lib/math.in.h (fmal): New declaration. + * lib/fmal.c: New file. + * m4/fmal.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL. + * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL, + REPLACE_FMAL. + * modules/fmal: New file. + * doc/posix-functions/fmal.texi: Mention the new module and the various + bugs. + + Tests for module 'fmaf'. + * modules/fmaf-tests: New file. + * tests/test-fmaf1.c: New file. + * tests/test-fmaf2.c: New file. + + New module 'fmaf'. + * lib/math.in.h (fmaf): New declaration. + * lib/fmaf.c: New file. + * m4/fmaf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF. + * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF, + REPLACE_FMAF. + * modules/fmaf: New file. + * doc/posix-functions/fmaf.texi: Mention the new module and the various + bugs. + + Tests for module 'fma'. + * modules/fma-tests: New file. + * tests/test-fma1.c: New file. + * tests/test-fma1.h: New file. + * tests/test-fma2.c: New file. + * tests/test-fma2.h: New file. + + New module 'fma'. + * lib/math.in.h (fma): New declaration. + * lib/fma.c: New file. + * m4/fma.m4: New file. + * m4/fegetround.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA. + * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA, + REPLACE_FMA. + * modules/fma: New file. + * doc/posix-functions/fma.texi: Mention the new module and the various + bugs. + + Extend gl_MATHFUNC. + * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES. + Support 'void' as argument type. + * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation. + +2011-11-05 Jim Meyering + + maint.mk: also prohibit inclusion of dirent.h without use + * top/maint.mk (sc_prohibit_dirent_without_use): New rule. + +2011-11-05 Bruno Haible + + ldexpl tests: Avoid test failure on MSVC 9. + * tests/test-ldexpl.c (main): Use a temporary variable for the expected + value. Needed in order to enforce the conversion from a value greater + than LDBL_MAX to Infinity. + +2011-11-05 Bruno Haible + + New modules 'at-internal', 'openat-h', split off from module 'openat'. + * modules/at-internal: New file, extracted from modules/openat. + * modules/openat-h: New file. + * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't + invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR. + * modules/openat (Description): Add reference to POSIX function. + (Files): Remove lib/openat.h, lib/openat-proc.c. + (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h, + intprops, unistd. + (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke + gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke + gl_FCNTL_MODULE_INDICATOR. + (Include): Remove unistd.h, openat.h. + * modules/areadlinkat (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, extensions, fchdir, + openat-die, openat-h, save-cwd. + * modules/areadlinkat-with-size (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, extensions, fchdir, + openat-die, openat-h, save-cwd, unistd. + * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h. + (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die, + openat-h, save-cwd. Remove fcntl-h, openat. + * modules/fchmodat (Files): Remove lib/openat.h. + (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h, + openat, stdbool, unistd. + * modules/fchownat (Files): Remove lib/openat.h. + (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h, + openat, stdbool, sys_stat. + * modules/fdopendir (Files): Remove lib/openat-priv.h, + lib/openat-proc.c. + (Depends-on): Add at-internal. + (condigure.ac): Remove AC_LIBOBJ of openat-proc. + * modules/fstatat (Files): Remove lib/openat.h. + (Depends-on): Add at-internal, openat-h. Remove dirent, openat, + stdbool, unistd. + * modules/fts (Depends-on): Add openat-h. + * modules/linkat (Depends-on): Add at-internal, openat-h. Remove + openat. + * modules/mkdirat (Files): Remove lib/openat.h. + (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h, + openat, stdbool, sys_stat. + * modules/mkfifoat (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die, + openat-h, save-cwd. Remove fcntl-h, openat. + * modules/openat-die (Depends-on): Add openat-h. Remove openat. + * modules/readlinkat (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die, + openat-h, save-cwd. Remove fcntl-h, openat. + * modules/renameat (Depends-on): Add at-internal, openat-h. Remove + openat. + * modules/selinux-at (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, extensions, fchdir, + fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat. + * modules/symlinkat (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die, + openat-h, save-cwd. Remove fcntl-h, openat. + * modules/unlinkat (Files): Remove lib/openat.h. + (Depends-on): Add at-internal, openat-h. Remove dirent, openat, + stdbool. + * modules/utimensat (Files): Add lib/at-func.c. + (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h, + openat-die, openat-h, save-cwd. + * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat. + * modules/fdutimensat-tests (Depends-on): Add openat. + * modules/fstatat-tests (Depends-on): Add openat-h. + * modules/readlinkat-tests (Depends-on): Add openat. + * modules/symlinkat-tests (Depends-on): Add openat. + +2011-11-05 Bruno Haible + + openat: Include . + * lib/openat.c: Include . + +2011-11-04 Bruno Haible + + fchownat, renameat, unlinkat: Fix dependencies. + * modules/fchownat (Depends-on): Add fstatat. + * modules/renameat (Depends-on): Likewise. + * modules/unlinkat (Depends-on): Likewise. + +2011-11-04 Paul Eggert + + openat: remove direct dependency on dirent + * lib/openat.h: Don't include ; it's no longer needed, + and hasn't been needed ever since fdopendir was split into its own + module on 2009-08-31. + * modules/openat (Depends-on): Remove dirent. + +2011-11-04 Bruno Haible + + renameat: Optimize code size. + * modules/renameat (configure.ac): Don't compile at-func2.c if + REPLACE_RENAMEAT is 1. + +2011-11-04 Bruno Haible + + openat tests: Fix file list. + * modules/openat-tests (Files): Add tests/test-open.h. + +2011-11-04 Bruno Haible + + openat, fchmodat, fchownat, linkat, renameat: Fix dependencies. + * modules/fchmodat (Depends-on): Add openat-die. + * modules/fchownat (Depends-on): Likewise. + * modules/linkat (Depends-on): Likewise. + * modules/renameat (Depends-on): Likewise. + * modules/openat (Depends-on): Add dirent. + +2011-11-04 Jim Meyering + + at-func*.c: fix comments + * lib/at-func2.c: Correct/improve first-line comment. + * lib/at-func.c: Correct grammar in first-line comment. + +2011-11-04 Bruno Haible + + New module 'mkdirat', split off from module 'openat'. + * m4/mkdirat.m4: New file. extracted from m4/openat.m4. + * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS. + Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT. + * modules/mkdirat: New file, extracted from modules/openat. + * modules/openat (Files): Remove lib/mkdirat.c. + (Depends-on): Remove mkdir. + (configure.ac): Remove AC_LIBOBJ of mkdirat. + (Include): Remove . + * modules/mkdirat-tests: New file, extracted from modules/openat-tests. + * modules/openat-tests (Files): Remove tests/test-mkdirat.c, + tests/test-mkdir.h. + (Depends-on): Remove ignore-value. + (Makefile.am): Remove rules for test-mkdirat. + * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead + of module 'openat'. + * NEWS: Mention the change. + +2011-11-04 Bruno Haible + + closedir: Avoid warning on mingw. + * lib/closedir.c: Include . + +2011-11-04 Bruno Haible + + New module 'fstatat', split off from module 'openat'. + * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is + defined. + * m4/fstatat.m4: New file. extracted from m4/openat.m4. + * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke + gl_FUNC_FSTATAT. + (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4. + * modules/fstatat: New file, extracted from modules/openat. + * modules/openat (Files): Remove lib/fstatat.c. + (Depends-on): Remove lstat. + (configure.ac): Remove AC_LIBOBJ of fstatat. + * modules/fstatat-tests: New file, extracted from modules/openat-tests. + * modules/openat-tests (Files): Remove tests/test-fstatat.c, + tests/test-lstat.h, tests/test-stat.h. + (Depends-on): Remove getcwd-lgpl. + (Makefile.am): Remove rules for test-fstatat. + * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead + of module 'openat'. + * NEWS: Mention the change. + * modules/getcwd (Depends-on): Add fstatat. + * modules/linkat (Depends-on): Likewise. + * modules/mkfifoat-tests (Depends-on): Likewise. + * modules/utimensat (Depends-on): Add fstatat. Remove openat. + +2011-11-03 Bruno Haible + + New module 'unlinkat', split off from module 'openat'. + * m4/unlinkat.m4: New file, extracted from m4/openat.m4. + * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT, + REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat. + * modules/unlinkat: New file, extracted from modules/openat. Correct + the dependency conditions. + * modules/openat (Files): Remove lib/unlinkat.c. + (Depends-on): Remove rmdir, unlink. + (configure.ac): Remove AC_LIBOBJ of unlinkat. + * modules/unlinkat-tests: New file, extracted from modules/openat-tests. + * modules/openat-tests (Files): Remove tests/test-unlinkat.c, + tests/test-rmdir.h, tests/test-unlink.h. + (Depends-on): Remove unlinkdir. + (Makefile.am): Remove rules for test-unlinkat. + * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead + of module 'openat'. + * NEWS: Mention the change. + * modules/linkat-tests (Depends-on): Add unlinkat. + * modules/mkfifoat-tests (Depends-on): Likewise. + * modules/readlinkat-tests (Depends-on): Likewise. + +2011-11-02 Bruno Haible + + New module 'fchmodat', split off from module 'openat'. + * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is + defined. + * m4/fchmodat.m4: New file, extracted from m4/openat.m4. + * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test + for fchmodat, lchmod. Don't set HAVE_FCHMODAT. + * modules/fchmodat: New file, extracted from modules/openat. + * modules/openat (Files): Remove lib/fchmodat.c. + (configure.ac): Remove AC_LIBOBJ of fchmodat. + * modules/fchmodat-tests: New file, extracted from modules/openat-tests. + * modules/openat-tests (Files): Remove tests/test-fchmodat.c. + (Makefile.am): Remove rules for test-fchmodat. + * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead + of module 'openat'. + * NEWS: Mention the change. + +2011-11-02 Jim Meyering + + putenv: indent #definition of "environ" to placate cppi + * lib/putenv.c (environ): Make indentation reflect cpp nesting. + + gitlog-to-changelog: provide a ChangeLog-repair mechanism + Git logs are often treated as immutable, because editing them + changes the SHA1 checksums of all descendants. Thus, errors in + git logs tend to stay there forever. However, when we generate + a ChangeLog file -- typically for distribution -- from that git log, + we can actually make corrections in the generated file. The key + lies in recording in machine-readable/applicable form the desired + corrections. See --help for description and an example. + * build-aux/gitlog-to-changelog (parse_amend_file): New function. + (usage): Describe it; alphabetize option descriptions. + (main): Honor the new option, carefully. + +2011-11-01 Jim Meyering + + gitlog-to-changelog: avoid an infloop + * build-aux/gitlog-to-changelog: Don't infloop for a commit log + that ends up being empty. + +2011-11-01 Paul Eggert + + * MODULES.html.sh: Fix sed-script shell quoting and locale issues. + (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with + bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED + contains (possibly-quoted) backslashes. This should avoid + all-too-common shell bugs if COMPLICATED contains backslashes in + the "wrong" places. Reported by David Evans in + . + When 'sed' uses character ranges like A-Z, invoke it in the C locale, + because we want ASCII ranges. Is there some reason we don't use + the C locale everywhere in this script? + (func_module, top level): Avoid unwanted pathname expansion when + $repo_url_prefix or $repo_url_suffix_repl contain shell + metacharacters like '?' and '*'. + +2011-11-01 Bruno Haible + + fchownat: Improve description. + * modules/fchownat (Description): Add link to function. + +2011-11-01 Paul Eggert + + * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8. + mingw supports alignments only up to 8 (!). Reported by Bruno Haible in + . + * doc/posix-headers/stdalign.texi (stdalign.h): Document this. + +2011-11-01 Bruno Haible + + alignof: Avoid collision with stdalign module. + * lib/alignof.h (alignof): Remove macro. + * NEWS: Mention the change. + Reported by Paul Eggert. + +2011-11-01 Bruno Haible + + New module 'fchownat', split off from module 'openat'. + * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is + defined. + * m4/fchownat.m4: New file, extracted from m4/openat.m4. + * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't + invoke gl_FUNC_FCHOWNAT. + (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG, + gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4. + * modules/fchownat: New file, extracted from modules/openat. + * modules/openat (Files): Remove lib/fchownat.c. + (Depends-on): Remove lchown. + (configure.ac): Remove AC_LIBOBJ of fchownat. + * modules/fchownat-tests: New file, extracted from modules/openat-tests. + * modules/openat-tests (Files): Remove tests/test-fchownat.c, + tests/test-chown.h, tests/test-lchown.h, tests/nap.h. + (Depends-on): Remove mgetgroups, usleep, stat-time. + (configure.ac): Remove test for getegid. + (Makefile.am): Remove rules for test-fchownat. + * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead + of module 'openat'. + * NEWS: Mention the change. + +2011-10-31 Paul Eggert + + stdalign: port better to MSVC and to Sun C 5.11 + This fixes some of the problems reported by Bruno Haible in + . + * doc/posix-headers/stdalign.texi (stdalign.h): Document more + shortcomings of MSVC and of Sun C 5.11. + * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis + around __declspec arg. + * modules/stdalign-tests (Files): Add tests/macros.h. + * tests/test-stdalign.c: Do not include ; no longer needed. + Include macros.h, for ASSERT. + (DECLARE_ALIGNED): Remove. + (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely + to catch bug), and to 1 if not (simplifies the rest of the code). + (CHECK_STATIC): Always declare the alignment test vars; that's simpler. + (CHECK_AUTO): Remove. + (CHECK_ALIGNED): Check only the alignment of the static vars, + since auto var alignment isn't supported by Sun C 5.11. + (CHECK_TYPES): Remove. All uses replaced by inline code, so that + ASSERT failures are easier to diagnose. + +2011-10-31 Bruno Haible + + doc about some IRIX 5.3 problems. + * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration + on IRIX 5.3. + * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3. + * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX + 5.3. + * doc/posix-functions/grantpt.texi: Likewise. + * doc/posix-functions/unlockpt.texi: Likewise. + * doc/posix-functions/lgamma.texi: Likewise. + * doc/posix-functions/nextafter.texi: Likewise. + * doc/posix-functions/remainder.texi: Likewise. + * doc/posix-functions/select.texi: Mention misplaced declaration on + IRIX 5.3. + Reported by Tom G. Christensen . + +2011-10-31 Dmitry V. Levin + + gitlog-to-changelog: fix git-log invocation. + git-log mishandles date strings before 1970-01-01 UTC, and there is + no use to specify --since=1970-01-01 by default anyway. + * build-aux/gitlog-to-changelog: By default, when no --since option + was given, do not specify explicit --since option to git-log. + +2011-10-30 Dmitry V. Levin + + gitlog-to-changelog: new option --append-dot. + * build-aux/gitlog-to-changelog: New option --append-dot, makes the + first non-blank line of each commit message terminated with a dot. + +2011-10-30 Bruno Haible + + ffsl, ffsll: Avoid compilation error due to 'restrict'. + * lib/ffsl.h: Include . + Suggested by Tom G. Christensen . + +2011-10-30 Jim Meyering + + GNUmakefile: reenable "make syntax-check" for most projects + Since Friday's commit 05e2d798, "maint.mk: don't maintain a second + build-aux variable", "syntax-check" would do nothing but succeed with + the "No version control files detected..." diagnostic (unless you + happened to override _build-aux via cfg.mk). + * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions + to precede inclusion of maint.mk. Otherwise, these variables would + be used undefined in any project that does not override the default. + +2011-10-29 Dmitry V. Levin + + gitlog-to-changelog: treat a message with only blank lines as empty. + * build-aux/gitlog-to-changelog: Move the code that removes leading and + trailing blank lines before the code that issues a warning about an + empty commit message. + +2011-10-30 Jim Meyering + + test-parse-datetime.c: avoid new DST-related false positive test failure + * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset" + based on the time/date we'll convert, not the current time. + Otherwise, the moment we cross a DST boundary like today's in + Europe, (CEST to CET), that offset ends up being one hour off. + +2011-10-27 Bruno Haible + + fstat: Tweak documentation. + * modules/fstat (Description): More precise description. + +2011-10-27 Bruno Haible + + Update documentation regarding 'largefile' module. + * doc/posix-functions/fstat.texi: Tweak wording. + * doc/posix-functions/opendir.texi: Mention that the module fixes the + problems with huge directories and/or small ino_t types. + * doc/posix-functions/readdir.texi: Likewise. + * doc/posix-functions/rewinddir.texi: Likewise. + +2011-10-28 Gary V. Vaughan + + maint.mk: don't maintain a second build-aux variable. + * maint.mk (build_aux): Removed. The maintainer-makefile module + depends on GNUmakefile, which already maintains a cfg.mk + overridable $(_build-aux) for projects with a non-standard + build-aux directory location, although without the $(srcdir) + prefix. Use that variable consistently instead of introducing a + second one. Adjust all call sites. + +2011-10-27 Paul Eggert + + Add stdalign module and use it in other modules. + This is based on a previous proposal by Bruno Haible + . + + stdalign: new module + * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4: + * modules/stdalign: New files. + * MODULES.html.sh (c1x_core_properties): Add stdalign. + * doc/gnulib.texi (Header File Substitutes): Add stdalign. + + stdalign-tests: new module + * modules/stdalign-tests, tests/test-stdalign.c: New files. + + argp: use stdalign + * lib/argp-parse.c: Include . + (alignof): Remove. + * modules/argp (Depends-on): Add stdalign. + + crypto libraries: use stdalign + * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: + Include and . Do not include . + Do not include twice, in md4.c. + (UNALIGNED_P): Simplify by using alignof. Use uintptr_t, not size_t, + because we are accessing a pointer's bit-pattern, not a size. + * modules/crypto/gc-md4 (Depends-on): Add stdalign. + * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4: + * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256: + * modules/crypto/sha512: Likewise. + + sys_socket: use stdalign, not alignof + * lib/sys_socket.in.h: Include instead of . + * modules/sys_socket (Depends-on): Depend on stdalign, not alignof. + +2011-10-27 Bruno Haible + + raise test: Avoid a test failure on Linux/MIPS. + * tests/test-raise.c (main): Try raising signal 199, not 99. Needed + because 99 is a valid signal on Linux/MIPS. + +2011-10-27 Bruno Haible + + nonblocking tests: Fix test failure on Linux/MIPS. + * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]: + Set to 270000. + +2011-10-27 Bruno Haible + + utimensat: Work around problem on Linux/hppa. + * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec + values. + * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa. + +2011-10-25 Jim Meyering + + maint.mk: fix a bug in sc_prohibit_stddef_without_use + * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/ + after symbols like NULL, size_t, etc. + Reported by Alfred M. Szmidt. + + maint.mk: exempt ENODATA from a syntax-check rule + * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA + from the sc_prohibit_always-defined_macros syntax-check rule. + Add a comment. See this for more details: + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795 + +2011-10-23 Jim Meyering + + fts: close parent dir FD before returning from post-traversal fts_read + The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to + unlink A, even though an FD open on A remained. This is suboptimal + (holding a file descriptor open longer than needed), but otherwise not + a problem on Unix-like kernels. However, on Cygwin with certain Novell + file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html), + that represents a real problem: it causes the removal of A to fail + with e.g., "rm: cannot remove `A': Device or resource busy" + + fts visits each directory twice and keeps a cache (fts_fd_ring) of + directory file descriptors. After completing the final, FTS_DP, + visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD + cache, but then proceeded to add a new FD to it via the subsequent + FCHDIR (which calls cwd_advance_fd and i_ring_push). Before, the + final file descriptor would be closed only via fts_close's call to + fd_ring_clear. Now, it is usually closed earlier, via the final + FTS_DP-returning fts_read call. + * lib/fts.c (restore_initial_cwd): New function, converted from + the macro. Call fd_ring_clear *after* FCHDIR, not before it. + Update callers. + Reported by Franz Sirl via the above URL, with analysis by Eric Blake + in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739 + +2011-10-23 Gary V. Vaughan + Bruno Haible + Jim Meyering + + readme-release: improve safety of release prep instructions. + * README-release: Don't git pull all branches when only master + is needed for the release process. + Run make maintainer-clean before changing trees and merging. + Don't try to run ./configure right after git pull in case files + that influence the bootstrap process have changed, move the + ./configure step to after running ./bootstrap. + Don't bootstrap "one last time"... it's the first time! + +2011-10-22 Bruno Haible + + errno, strerror-override: Support for MSVC 10. + * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro. + (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP, + ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK, + EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT, + EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN, + ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT, + ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]: + Assign values compatible with MSVC 10. + (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER): + New macros. + (GNULIB_defined_EWINSOCK): New macro. + * lib/strerror-override.c (strerror_override): Update accordingly. + * lib/strerror-override.h: Likewise. + * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no + longer equal to the corresponding errno value. + Reported by Michael Goffioul . + +2011-10-22 Bruno Haible + + perror: Recognize when test program crashes. + * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to + strerror, set gl_cv_func_perror_works to no. + Reported by Daniel Richard G. . + + perror: Fix indentation. + * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation. + +2011-10-22 Bruno Haible + + isfinite, isinf, isnan, signbit: Don't define as a macro in C++. + * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1, + _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS. + (isfinite, isinf, isnan, signbit): In C++, define as overloaded + functions, not as a macro. + * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New + macros. + (isfinite, isinf, isnan, signbit): Check overloaded functions and + absence of macro. + Suggested by Eric Blake. + Reported by Michael Goffioul . + +2011-10-21 Bruno Haible + + relocatable-prog-wrapper: Don't leave object files behind. + * build-aux/install-reloc: Re-synchronize list of .o files to be + removed with list of compilation units. + +2011-10-20 Bruno Haible + + openpty, posix_openpt: Remove code duplication. + * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c. + * lib/openpty.c: Include . + (openpty): Use posix_openpt on all platforms except IRIX. + * modules/openpty (Depends-on): Add posix_openpt. Add conditions. + +2011-10-20 Bruno Haible + + unlockpt: Detect invalid argument. + * lib/unlockpt.c: Include . + (unlockpt): Check whether fd is valid, using fcntl(). + * modules/unlockpt (Depends-on): Add fcntl-h. + +2011-10-20 Bruno Haible + + openpty: Avoid compilation error on AIX 6.1. + * lib/pty.in.h [AIX]: Include , for 'struct winsize'. + +2011-10-20 Bruno Haible + + posix_openpt: Support for OpenBSD. + * lib/posix_openpt.c [OpenBSD]: Include , . + (posix_openpt) [OpenBSD]: New code. + * lib/grantpt.c: Include . + (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else. + * modules/grantpt (Depends-on): Add fcntl-h. + +2011-10-20 Bruno Haible + + posix_openpt test: Coding style. + * tests/test-posix_openpt.c: Use GNU coding style. + +2011-10-20 Bruno Haible + + grantpt: Support --avoid=pt_chown. + * modules/grantpt (Files): Add lib/pty-private.h. + +2011-10-20 Bruno Haible + + posix_openpt: Fix autoconf macro. + * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove + unneeded check for _getpty. + +2011-10-20 Bruno Haible + + openpty: Update comments. + * lib/openpty.c: Add comments about Minix. + +2011-10-19 Eric Blake + + openpty: relax license + * modules/openpty (License): Change from LGPLv3+ to LGPLv2+. + + pt_chown: use configmake to simplify build + * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake. + + ptsname and others: relax license + * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+. + * modules/unlockpt (License): Likewise. + * modules/pt_chown (License): Likewise. + * modules/ptsname (License): Likewise. + * modules/ttyname_r (License): Likewise. -2013-08-27 Michael Wisheu +2011-10-19 Jim Meyering - Interfaces: add /etc/network/interfaces.d/* as another commonly used location + posix_openpt: remove spurious #endif + * lib/posix_openpt.c (posix_openpt): Remove spurious #endif. -2013-08-06 Raphaël Pinson +2011-10-19 Gary V. Vaughan - Update NEWS + maint.mk: Respect $(build_aux) in web-manual rule. + * top/maint.mk (web-manual): Find gen-announce script in user's + $(build_aux) directory instead of hard-coding 'build-aux'. - Fix NaturalDocs comments in lenses +2011-10-19 Bruno Haible -2013-08-06 Stephen P. Schaefer + posix_openpt: Fix compilation error. + * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty. + * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code. + Mention the openpty module as an alternative. - Allow augeas to deal with one variant of /etc/sysconfig/network-scripts/route-* +2011-10-19 Bruno Haible -2013-08-01 Raphaël Pinson + Support for old NeXTstep 3.3 frexp(). + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the + execution time of the test to 5 seconds. + Reported by Daniel Richard G. . - Update NEWS +2011-10-19 Bruno Haible - Properties: Support multiline starting with an empty string, GH issue #19 + Support for old NeXTstep 3.3 sed. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address + part, use /.../, not \|...|. Escape periods in the header file name. + * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise. + Reported by Daniel Richard G. . - Dhcpd: support conditionals, GH issue #34 +2011-10-18 Daniel Richard G. (tiny change) - Update NEWS + Support for old NeXTstep 3.3 gcc. + * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write + 'defined __STRICT_ANSI__', not '__STRICT_ANSI__'. + * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise. + * lib/spawn.in.h (_Restrict_arr_): Likewise. + * lib/regex.h (_Restrict_arr_): Likewise. + * lib/regex_internal.h (re_token_t): Likewise. + * lib/regexec.c (check_node_accept_bytes): Likewise. + * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise. - PHP: Allow php-fpm syntax (GH issue #35) +2011-10-18 Eric Blake -2013-08-01 Patrick Adair + posix_openpt: new module + * modules/posix_openpt: New module. + * m4/posix_openpt.m4: New file. + * lib/posix_openpt.c: Likewise. + * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl. + (gl_STDLIB_H_DEFAULTS): Set defaults. + * modules/stdlib (Makefile.am): Substitute macros. + * lib/stdlib.in.h (posix_openpt): Declare. + * MODULES.html.sh (systems lacking POSIX:2008): Document it. + * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise. + * modules/posix_openpt-tests: New test module. + * tests/test-posix_openpt.c: New test. - Interfaces: add in support for the source stanza in /etc/network/interfaces files +2011-10-15 Bruno Haible -2013-07-30 Dominic Cleal + xstrtoll: Fix compilation failure. + * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken + from lib/strtol.c. + * doc/posix-headers/limits.texi: Mention missing numerical limits on + some platforms. + Reported by Tom G. Christensen . - Simplevars: adopt /etc/selinux/semanage.conf due to spaces around delimiters +2011-10-15 Bruno Haible -2013-07-30 Michael Scherer + vasnprintf: Optimize bit search operation. + * lib/vasnprintf.c (divide): Use optimizations from integer_length.c. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require + gl_DOUBLE_EXPONENT_LOCATION. + * modules/vasnprintf (Files): Add m4/exponentd.m4. + * modules/unistdio/u8-vasnprintf (Files): Likewise. + * modules/unistdio/u8-u8-vasnprintf (Files): Likewise. + * modules/unistdio/u16-vasnprintf (Files): Likewise. + * modules/unistdio/u16-u16-vasnprintf (Files): Likewise. + * modules/unistdio/u32-vasnprintf (Files): Likewise. + * modules/unistdio/u32-u32-vasnprintf (Files): Likewise. + * modules/unistdio/ulc-vasnprintf (Files): Likewise. + * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE. - Shellvars: add /etc/selinux/semanage.conf +2011-10-15 Bruno Haible -2013-07-30 Raphaël Pinson + vasnprintf: Fix comments. + * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments. - Start new NEWS section +2011-10-14 Bruno Haible - Fix documentation links in c_api naturaldocs menu + Tests for module 'integer_length_ll'. + * modules/integer_length_ll-tests: New file. + * tests/test-integer_length_ll.c: New file. -2013-07-24 Raphaël Pinson + New module 'integer_length_ll'. + * lib/integer_length_ll.c: New file. + * modules/integer_length_ll: New file. - Sshd: also indent comments by 2 spaces by default in Match groups +2011-10-14 Bruno Haible - Sshd: Indent Match entries by 2 spaces by default + Tests for module 'integer_length_l'. + * modules/integer_length_l-tests: New file. + * tests/test-integer_length_l.c: New file. -2013-06-27 Jan Vansteenkiste + New module 'integer_length_l'. + * lib/integer_length_l.c: New file. + * modules/integer_length_l: New file. - Fixes #27: Automounter lens does not handle hostnames with dashes in them +2011-10-14 Bruno Haible + + Tests for module 'integer_length'. + * modules/integer_length-tests: New file. + * tests/test-integer_length.c: New file. + + New module 'integer_length'. + * lib/integer_length.h: New file. + * lib/integer_length.c: New file. + * modules/integer_length: New file. + +2011-10-14 Daniel Richard G. (tiny change) + + popen: Fix dependency conditions. + * modules/popen (Depends-on, configure.ac): Fix shell syntax error. + +2011-10-14 Daniel Richard G. (tiny change) + + perror: Fix autoconf test. + * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include + and . + +2011-10-14 Bruno Haible + + ffsl: Optimize on 64-bit platforms. + * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop + unrolling. + +2011-10-13 Bruno Haible + + ffsl: Optimize on 32-bit platforms. + * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just + use ffs() without a loop. -2013-06-24 Jasper Lievisse Adriaanse + ffsl, ffsll: Optimize for GCC. + * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined. + * lib/ffsl.c (GCC_BUILTIN): New macro. + * lib/ffsll.c (GCC_BUILTIN): Likewise. - Fix my name +2011-10-13 Bruno Haible -2013-06-14 David Lutterkort + ffs, bcopy, memset: Support symbol renaming via config.h. + * lib/ffs.c: Include . + * lib/bcopy.c: Likewise. + * lib/memset.c: Likewise. - Version 1.1.0 +2011-10-10 Bruno Haible - Make tree_unlink safer to use - tree_unlink used to only remove nodes from the tree, leaving the - possibilities of dangling references from variables stored in the - symtab. The new incarnation is safer in that it cleans up the symtab first. + atanl: Simplify for platforms where 'long double' == 'double'. + * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New + alternative implementation. + * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/atanl (Depends-on): Add atan. Update conditions. -2013-06-14 David Lutterkort +2011-10-10 Bruno Haible - Do not interpret file names as path exprs during load - We used to interpret file names as path expressions at various points in - the process of loading the tree. That lead to nasty failures if the file - names contained characters that have a special meaning in path expressions, - like '!', '[' etc. + acosl: Simplify for platforms where 'long double' == 'double'. + * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New + alternative implementation. + * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/acosl (Depends-on): Add acos. Update conditions. - When the loading code now creates nodes or looks them up based on filenames - (e.g. to create the file's top level node in /files or the info node in - /augeas/files), we now use tree_fpath/tree_fpath_cr to do that. +2011-10-10 Bruno Haible - The workaround introduced into shellvars.aug to fix tiecket #246 is also no - longer needed. + asinl: Simplify for platforms where 'long double' == 'double'. + * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New + alternative implementation. + * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/asinl (Depends-on): Add asin. Update conditions. - Fixes https://fedorahosted.org/augeas/ticket/343 - Fixes https://fedorahosted.org/augeas/ticket/333 - Improves on the fix for https://fedorahosted.org/augeas/ticket/246 +2011-10-10 Bruno Haible -2013-06-14 David Lutterkort + tanl: Simplify for platforms where 'long double' == 'double'. + * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative + implementation. + * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/tanl (Depends-on): Add tan. Update conditions. + (configure.ac): Don't compile trigl.c if + HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + +2011-10-10 Bruno Haible + + cosl: Simplify for platforms where 'long double' == 'double'. + * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative + implementation. + * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/cosl (Depends-on): Add cos. Update conditions. + (configure.ac): Don't compile sincosl.c and trigl.c if + HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. - * src/transform.c (xfm_error): do not segfault when msg is NULL +2011-10-10 Bruno Haible - * src/try: make 'try gdb' work with emacs-24 and gdb-7.5.1 + sinl: Simplify for platforms where 'long double' == 'double'. + * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative + implementation. + * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/sinl (Depends-on): Add sin. Update conditions. + (configure.ac): Don't compile sincosl.c and trigl.c if + HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + +2011-10-10 Bruno Haible -2013-06-11 David Lutterkort + logl: Simplify for platforms where 'long double' == 'double'. + * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative + implementation. + * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/logl (Depends-on): Add log. Update conditions. - LVM: fix handling of quoted strings that contain quotes - Fixes https://github.com/hercules-team/augeas-do-not-use/issues/28 reported - by brianredbeard +2011-10-10 Bruno Haible -2013-06-11 Erik B. Andersen + expl: Simplify for platforms where 'long double' == 'double'. + * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative + implementation. + * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/expl (Depends-on): Add exp. Update conditions. + +2011-10-10 Bruno Haible + + sqrtl: Simplify for platforms where 'long double' == 'double'. + * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New + alternative implementation. + * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/sqrtl (Depends-on): Update conditions. + +2011-10-10 Bruno Haible + + ldexpl: Simplify for platforms where 'long double' == 'double'. + * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New + alternative implementation. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/ldexpl (Depends-on): Add ldexp. Update conditions. + +2011-10-10 Tom G. Christensen (tiny change) + + ffsll: set correct witness + * modules/ffsll (configure.ac): Fix typo. + +2011-10-10 Bruno Haible + + printf-frexpl: Simplify for platforms where 'long double' == 'double'. + * lib/printf-frexpl.c: Include . + (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include a + second time. + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require + gl_LONG_DOUBLE_VS_DOUBLE. + * modules/printf-frexpl (Depends-on): Add printf-frexp. Update + conditions. + +2011-10-10 Bruno Haible + + frexpl: Simplify for platforms where 'long double' == 'double'. + * lib/frexpl.c: Include . + (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include a second + time. + * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE. + * modules/frexpl (Depends-on): Add frexp. Update conditions. + * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update + conditions. + +2011-10-10 Jim Meyering + + test-renameat: don't leave behind a temporary file + * tests/test-renameat.c (main): Don't forget to remove a temporary file. + ERROR: files left in build directory after distclean: + ./gltests/test-renameat.too + make[1]: *** [distcleancheck] Error 1 + Reported by Tom G. Christensen. + +2011-10-09 Bruno Haible + + rint: Determine RINT_LIBM correctly on AIX 7. + * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also + directly, not only through a function pointer. Also accept an optional + 4th argument with extra code. + * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a + rintf() call by gcc when optimizing. + + mathfunc.m4: Refactor. + * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary + m4 variable. + +2011-10-09 Bruno Haible + + rintl: Simplify for platforms where 'long double' == 'double'. + * lib/rintl.c: Include . + (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/rint.c [!USE_LONG_DOUBLE]: Don't include a second + time. + * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/rintl (Depends-on): Add rint. Update conditions. + +2011-10-09 Bruno Haible + + roundl: Simplify for platforms where 'long double' == 'double'. + * lib/roundl.c: Include . + (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/round.c [!USE_LONG_DOUBLE]: Don't include a second + time. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/roundl (Depends-on): Add round. Update conditions. + +2011-10-09 Bruno Haible + + truncl: Simplify for platforms where 'long double' == 'double'. + * lib/truncl.c: Include . + (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include a second + time. + * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/truncl (Depends-on): Add trunc. Update conditions. + +2011-10-09 Bruno Haible + + ceill: Simplify for platforms where 'long double' == 'double'. + * lib/ceill.c: Include . + (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include a second + time. + * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/ceill (Depends-on): Add ceil. Update conditions. + +2011-10-09 Bruno Haible + + floorl: Simplify for platforms where 'long double' == 'double'. + * lib/floorl.c: Include . + (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/floor.c [!USE_LONG_DOUBLE]: Don't include a second + time. + * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/floorl (Depends-on): Add floor. Update conditions. + +2011-10-09 Bruno Haible + + rint: Fix ordering constraints. + * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS. + * m4/rintf.m4 (gl_FUNC_RINTF): Likewise. + * m4/rintl.m4 (gl_FUNC_RINTL): Likewise. + +2011-10-09 Bruno Haible + + copysignl: Simplify for platforms where 'long double' == 'double'. + * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New + alternative. + * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE. + Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. + * modules/copysignl (Depends-on): Add copysign. Update conditions. + +2011-10-09 Bruno Haible + + Tests for module 'rintl'. + * modules/rintl-tests: New file. + * tests/test-rintl.c: New file. + + New module 'rintl'. + * lib/math.in.h (rintl): New declaration. + * lib/rintl.c: New file. + * m4/rintl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL. + * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL. + * modules/rintl: New file. + * tests/test-math-c++.cc: Check the declaration of rintl. + * modules/math-c++-tests (Makefile.am): Link test-math-c++ against + $(RINTL_LIBM). Needed on IRIX 6.5 with cc. + * doc/posix-functions/rintl.texi: Mention the new module. + +2011-10-09 Bruno Haible + + Tests for module 'rintf'. + * modules/rintf-tests: New file. + * tests/test-rintf.c: New file. + + New module 'rintf'. + * lib/math.in.h (rintf): New declaration. + * lib/rintf.c: New file. + * m4/rintf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF. + * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF. + * modules/rintf: New file. + * tests/test-math-c++.cc: Check the declaration of rintf. + * doc/posix-functions/rintf.texi: Mention the new module. + +2011-10-09 Bruno Haible + + rint: Support for MSVC. + * lib/math.in.h (rint): New declaration. + * lib/rint.c: New file. + * m4/rint.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT. + * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT. + * modules/rint (Description): Fix. + (Files): Add lib/rint.c, m4/rint.m4. + (Depends-on): Add math. + (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ, + gl_MATH_MODULE_INDICATOR. + * tests/test-math-c++.cc: Check the declaration of rint. + * modules/math-c++-tests (Makefile.am): Link test-math-c++ against + $(RINT_LIBM). Needed on IRIX 6.5 with cc. + * doc/posix-functions/rint.texi: Mention the replacement provided by + the module. + + rint tests: More tests. + * tests/test-rint.c: Include , , isnand-nolibm.h, + minus-zero.h, infinity.h, nan.h. + (main): Skip the test if the current rounding mode is not standard. Add + tests for negative numbers, minus zero, infinity, NaN. + * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h, + tests/nan.h. + (Depends-on): Add isnand-nolibm. + +2011-10-09 Bruno Haible + + Tests for module 'copysignl'. + * modules/copysignl-tests: New file. + * tests/test-copysignl.c: New file. + + New module 'copysignl'. + * lib/math.in.h (copysignl): New declaration. + * lib/copysignl.c: New file. + * m4/copysignl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL. + * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL, + HAVE_COPYSIGNL. + * modules/copysignl: New file. + * tests/test-math-c++.cc: Check the declaration of copysignl. + * modules/math-c++-tests (Makefile.am): Link test-math-c++ against + $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc. + * doc/posix-functions/copysignl.texi: Mention the new module. + +2011-10-09 Bruno Haible + + Tests for module 'copysignf'. + * modules/copysignf-tests: New file. + * tests/test-copysignf.c: New file. + + New module 'copysignf'. + * lib/math.in.h (copysignf): New declaration. + * lib/copysignf.c: New file. + * m4/copysignf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF. + * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF, + HAVE_COPYSIGNF. + * modules/copysignf: New file. + * tests/test-math-c++.cc: Check the declaration of copysignf. + * doc/posix-functions/copysignf.texi: Mention the new module. + +2011-10-09 Bruno Haible + + Ensure that HAVE_* variables are set to 1 before they are set to 0. + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS. + * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS. + * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require + gl_SIGNAL_H_DEFAULTS. + +2011-10-09 Bruno Haible + + poll: Make macro safer. + * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H, + ac_cv_header_poll_h is not set. + +2011-10-09 Bruno Haible + + copysign: Provide replacement. + * lib/math.in.h (copysign): New declaration. + * lib/copysign.c: New file. + * m4/copysign.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN. + * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN, + HAVE_COPYSIGN. + * modules/copysign (Description): Clarify. + (Files): Add lib/copysign.c, m4/copysign.m4. + (Depends-on): Add math, signbit. + (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ, + gl_MATH_MODULE_INDICATOR. + * tests/test-math-c++.cc: Check the declaration of copysign. + * doc/posix-functions/copysign.texi: Mention the effects of the module + on Minix and MSVC. + +2011-10-09 Bruno Haible + + isinf: Ensure macro on AIX 5.1. + * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a + macro. + * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient. + +2011-10-09 Bruno Haible + + *printf-posix tests: Fix for platforms where 'long double' == 'double'. + * modules/snprintf-posix-tests (configure.ac): Require + gl_LONG_DOUBLE_VS_DOUBLE. + * modules/sprintf-posix-tests (configure.ac): Likewise. + * modules/vasnprintf-posix-tests (configure.ac): Likewise. + * modules/vasprintf-posix-tests (configure.ac): Likewise. + * modules/vsnprintf-posix-tests (configure.ac): Likewise. + * modules/vsprintf-posix-tests (configure.ac): Likewise. + * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double + tests on platforms where 'long double' is the same as 'double'. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-vasnprintf-posix.c (test_function): Likewise. + * tests/test-vasprintf-posix.c (test_function): Likewise. + + *printf: Fix for platforms where 'long double' == 'double'. + * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require + gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'. + * modules/dprintf-posix (Files): Add m4/math_h.m4. + * modules/fprintf-posix (Files): Likewise. + * modules/obstack-printf-posix (Files): Likewise. + * modules/snprintf-posix (Files): Likewise. + * modules/sprintf-posix (Files): Likewise. + * modules/vasnprintf (Files): Likewise. + * modules/vasnprintf-posix (Files): Likewise. + * modules/vasprintf-posix (Files): Likewise. + * modules/vdprintf-posix (Files): Likewise. + * modules/vfprintf-posix (Files): Likewise. + * modules/vsnprintf-posix (Files): Likewise. + * modules/vsprintf-posix (Files): Likewise. + * modules/unistdio/u8-vasnprintf (Files): Likewise. + * modules/unistdio/u8-u8-vasnprintf (Files): Likewise. + * modules/unistdio/u16-vasnprintf (Files): Likewise. + * modules/unistdio/u16-u16-vasnprintf (Files): Likewise. + * modules/unistdio/u32-vasnprintf (Files): Likewise. + * modules/unistdio/u32-u32-vasnprintf (Files): Likewise. + * modules/unistdio/ulc-vasnprintf (Files): Likewise. + + isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'. + * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'. + * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE. + (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit + 'long double'. + * modules/isnanl-nolibm (Files): Add m4/math_h.m4. + + isinf: Fix for platforms where 'long double' == 'double'. + * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE. + Don't blindly assume 80-bit 'long double'. + + isfinite: Fix for platforms where 'long double' == 'double'. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE. + Don't blindly assume 80-bit 'long double'. + + isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9. + * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro. + * modules/isfinite-tests (configure.ac): Require + gl_LONG_DOUBLE_VS_DOUBLE. + * modules/isinf-tests (configure.ac): Likewise. + * modules/isnan-tests (configure.ac): Likewise. + * modules/isnanl-tests (configure.ac): Likewise. + * modules/isnanl-nolibm-tests (configure.ac): Likewise. + * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double + tests on platforms where 'long double' is the same as 'double'. + * tests/test-isinf.c (test_isinfl): Likewise. + * tests/test-isnan.c (test_long_double): Likewise. + * tests/test-isnanl.h (main): Likewise. + +2011-10-08 Bruno Haible + + Tests for module 'tanhf'. + * modules/tanhf-tests: New file. + * tests/test-tanhf.c: New file. + + New module 'tanhf'. + * lib/math.in.h (tanhf): New declaration. + * lib/tanhf.c: New file. + * m4/tanhf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF. + * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF. + * modules/tanhf: New file. + * tests/test-math-c++.cc: Check the declaration of tanhf. + * doc/posix-functions/tanhf.texi: Mention the new module. + + tanh: Use a .m4 file. + * m4/tanh.m4: New file. + * modules/tanh (Files): Add it. + (configure.ac): Just invoke gl_FUNC_TANH. + +2011-10-08 Bruno Haible + + Tests for module 'coshf'. + * modules/coshf-tests: New file. + * tests/test-coshf.c: New file. + + New module 'coshf'. + * lib/math.in.h (coshf): New declaration. + * lib/coshf.c: New file. + * m4/coshf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF. + * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF. + * modules/coshf: New file. + * tests/test-math-c++.cc: Check the declaration of coshf. + * doc/posix-functions/coshf.texi: Mention the new module. + + cosh: Use a .m4 file. + * m4/cosh.m4: New file. + * modules/cosh (Files): Add it. + (configure.ac): Just invoke gl_FUNC_COSH. + +2011-10-08 Bruno Haible + + Tests for module 'sinhf'. + * modules/sinhf-tests: New file. + * tests/test-sinhf.c: New file. + + New module 'sinhf'. + * lib/math.in.h (sinhf): New declaration. + * lib/sinhf.c: New file. + * m4/sinhf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF. + * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF. + * modules/sinhf: New file. + * tests/test-math-c++.cc: Check the declaration of sinhf. + * doc/posix-functions/sinhf.texi: Mention the new module. + + sinh: Use a .m4 file. + * m4/sinh.m4: New file. + * modules/sinh (Files): Add it. + (configure.ac): Just invoke gl_FUNC_SINH. + +2011-10-08 Bruno Haible + + Tests for module 'atan2f'. + * modules/atan2f-tests: New file. + * tests/test-atan2f.c: New file. + + New module 'atan2f'. + * lib/math.in.h (atan2f): New declaration. + * lib/atan2f.c: New file. + * m4/atan2f.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F. + * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F. + * modules/atan2f: New file. + * tests/test-math-c++.cc: Check the declaration of atan2f. + * doc/posix-functions/atan2f.texi: Mention the new module. + + atan2: Use a .m4 file. + * m4/atan2.m4: New file. + * modules/atan2 (Files): Add it. + (configure.ac): Just invoke gl_FUNC_ATAN2. + +2011-10-08 Bruno Haible + + Tests for module 'atanf'. + * modules/atanf-tests: New file. + * tests/test-atanf.c: New file. + + New module 'atanf'. + * lib/math.in.h (atanf): New declaration. + * lib/atanf.c: New file. + * m4/atanf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF. + * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF. + * modules/atanf: New file. + * tests/test-math-c++.cc: Check the declaration of atanf. + * doc/posix-functions/atanf.texi: Mention the new module. + + atan: Use a .m4 file. + * m4/atan.m4: New file. + * modules/atan (Files): Add it. + (configure.ac): Just invoke gl_FUNC_ATAN. + +2011-10-08 Bruno Haible + + Tests for module 'acosf'. + * modules/acosf-tests: New file. + * tests/test-acosf.c: New file. + + New module 'acosf'. + * lib/math.in.h (acosf): New declaration. + * lib/acosf.c: New file. + * m4/acosf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF. + * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF. + * modules/acosf: New file. + * tests/test-math-c++.cc: Check the declaration of acosf. + * doc/posix-functions/acosf.texi: Mention the new module. + + acos: Use a .m4 file. + * m4/acos.m4: New file. + * modules/acos (Files): Add it. + (configure.ac): Just invoke gl_FUNC_ACOS. + +2011-10-08 Bruno Haible + + Tests for module 'asinf'. + * modules/asinf-tests: New file. + * tests/test-asinf.c: New file. + + New module 'asinf'. + * lib/math.in.h (asinf): New declaration. + * lib/asinf.c: New file. + * m4/asinf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF. + * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF. + * modules/asinf: New file. + * tests/test-math-c++.cc: Check the declaration of asinf. + * doc/posix-functions/asinf.texi: Mention the new module. + + asin: Use a .m4 file. + * m4/asin.m4: New file. + * modules/asin (Files): Add it. + (configure.ac): Just invoke gl_FUNC_ASIN. + +2011-10-08 Bruno Haible + + Tests for module 'tanf'. + * modules/tanf-tests: New file. + * tests/test-tanf.c: New file. + + New module 'tanf'. + * lib/math.in.h (tanf): New declaration. + * lib/tanf.c: New file. + * m4/tanf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF. + * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF. + * modules/tanf: New file. + * tests/test-math-c++.cc: Check the declaration of tanf. + * doc/posix-functions/tanf.texi: Mention the new module. + + tan: Use a .m4 file. + * m4/tan.m4: New file. + * modules/tan (Files): Add it. + (configure.ac): Just invoke gl_FUNC_TAN. + +2011-10-08 Bruno Haible + + Tests for module 'cosf'. + * modules/cosf-tests: New file. + * tests/test-cosf.c: New file. + + New module 'cosf'. + * lib/math.in.h (cosf): New declaration. + * lib/cosf.c: New file. + * m4/cosf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF. + * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF. + * modules/cosf: New file. + * tests/test-math-c++.cc: Check the declaration of cosf. + * doc/posix-functions/cosf.texi: Mention the new module. + + cos: Use a .m4 file. + * m4/cos.m4: New file. + * modules/cos (Files): Add it. + (configure.ac): Just invoke gl_FUNC_COS. + +2011-10-08 Bruno Haible + + Tests for module 'sinf'. + * modules/sinf-tests: New file. + * tests/test-sinf.c: New file. + + New module 'sinf'. + * lib/math.in.h (sinf): New declaration. + * lib/sinf.c: New file. + * m4/sinf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF. + * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF. + * modules/sinf: New file. + * tests/test-math-c++.cc: Check the declaration of sinf. + * doc/posix-functions/sinf.texi: Mention the new module. + + sin: Use a .m4 file. + * m4/sin.m4: New file. + * modules/sin (Files): Add it. + (configure.ac): Just invoke gl_FUNC_SIN. + +2011-10-08 Bruno Haible + + Tests for module 'powf'. + * modules/powf-tests: New file. + * tests/test-powf.c: New file. + + New module 'powf'. + * lib/math.in.h (powf): New declaration. + * lib/powf.c: New file. + * m4/powf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF. + * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF. + * modules/powf: New file. + * tests/test-math-c++.cc: Check the declaration of powf. + * doc/posix-functions/powf.texi: Mention the new module. + + pow: Use a .m4 file. + * m4/pow.m4: New file. + * modules/pow (Files): Add it. + (configure.ac): Just invoke gl_FUNC_POW. + +2011-10-08 Bruno Haible + + Tests for module 'log10f'. + * modules/log10f-tests: New file. + * tests/test-log10f.c: New file. + + New module 'log10f'. + * lib/math.in.h (log10f): New declaration. + * lib/log10f.c: New file. + * m4/log10f.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F. + * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F. + * modules/log10f: New file. + * tests/test-math-c++.cc: Check the declaration of log10f. + * doc/posix-functions/log10f.texi: Mention the new module. + + log10: Use a .m4 file. + * m4/log10.m4: New file. + * modules/log10 (Files): Add it. + (configure.ac): Just invoke gl_FUNC_LOG10. + +2011-10-08 Bruno Haible + + Tests for module 'logf'. + * modules/logf-tests: New file. + * tests/test-logf.c: New file. + + New module 'logf'. + * lib/math.in.h (logf): New declaration. + * lib/logf.c: New file. + * m4/logf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF. + * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF. + * modules/logf: New file. + * tests/test-math-c++.cc: Check the declaration of logf. + * doc/posix-functions/logf.texi: Mention the new module. + + log: Use a .m4 file. + * m4/log.m4: New file. + * modules/log (Files): Add it. + (configure.ac): Just invoke gl_FUNC_LOG. + +2011-10-08 Bruno Haible + + Tests for module 'expf'. + * modules/expf-tests: New file. + * tests/test-expf.c: New file. + + New module 'expf'. + * lib/math.in.h (expf): New declaration. + * lib/expf.c: New file. + * m4/expf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF. + * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF. + * modules/expf: New file. + * tests/test-math-c++.cc: Check the declaration of expf. + * doc/posix-functions/expf.texi: Mention the new module. + + exp: Use a .m4 file. + * m4/exp.m4: New file. + * modules/exp (Files): Add it. + (configure.ac): Just invoke gl_FUNC_EXP. + +2011-10-08 Bruno Haible + + Tests for module 'sqrtf'. + * modules/sqrtf-tests: New file. + * tests/test-sqrtf.c: New file. + + New module 'sqrtf'. + * lib/math.in.h (sqrtf): New declaration. + * lib/sqrtf.c: New file. + * m4/sqrtf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF. + * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF. + * modules/sqrtf: New file. + * tests/test-math-c++.cc: Check the declaration of sqrtf. + * doc/posix-functions/sqrtf.texi: Mention the new module. + +2011-10-08 Bruno Haible + + Tests: Avoid link failures w.r.t. libintl. + * modules/faccessat-tests (Makefile.am): Link test-faccessat against + $(LIBINTL). + * modules/fchdir-tests (Makefile.am): Link test-fchdir against + $(LIBINTL). + * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl + against $(LIBINTL). + * modules/getcwd-tests (Makefile.am): Link test-getcwd against + $(LIBINTL). + * modules/openat-tests (Makefile.am): Link test-fchmodat against + $(LIBINTL). + * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL). + +2011-10-08 Bruno Haible + + pow tests: Defeat compiler optimizations. + * tests/test-pow.c (main): Assign arguments to x and y before use. + +2011-10-08 Bruno Haible + + gnulib-tool: Improve last commit. + * gnulib-tool (func_modules_transitive_closure): Simplify code. + (func_emit_autoconf_snippets): Instead of invoking func_acceptable, + ignore dependencies that are not among the modules list. + +2011-10-07 Paul Eggert + + gnulib-tool: don't follow dependencies to avoided modules + This fixes a bug that is related to the previous one. + * gnulib-tool (func_modules_transitive_closure) + (func_emit_autoconf_snippets): + Check whether a dependency is acceptable before using it. + (--extract-dependencies): Report an error if --avoid is also used, + since this combination of options is not yet supported. + + gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0. + Problem reported by Peter Dyballa in + . + * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '', + when echoing "$condition". + +2011-10-07 Bruno Haible + + Fix documentation about math functions on MacOS X. + * doc/posix-functions/exp2.texi: Don't say the function is missing on + MacOS X 10.5. + * doc/posix-functions/fdim.texi: Likewise. + * doc/posix-functions/feclearexcept.texi: Likewise. + * doc/posix-functions/fegetenv.texi: Likewise. + * doc/posix-functions/fegetround.texi: Likewise. + * doc/posix-functions/feholdexcept.texi: Likewise. + * doc/posix-functions/feraiseexcept.texi: Likewise. + * doc/posix-functions/fesetenv.texi: Likewise. + * doc/posix-functions/fesetround.texi: Likewise. + * doc/posix-functions/fetestexcept.texi: Likewise. + * doc/posix-functions/feupdateenv.texi: Likewise. + * doc/posix-functions/fmax.texi: Likewise. + * doc/posix-functions/fmin.texi: Likewise. + * doc/posix-functions/log2.texi: Likewise. + * doc/posix-functions/modff.texi: Likewise. + * doc/posix-functions/nan.texi: Likewise. + * doc/posix-functions/nanf.texi: Likewise. + * doc/posix-functions/nextafterf.texi: Likewise. + * doc/posix-functions/remquo.texi: Likewise. + +2011-10-07 Bruno Haible + + modff: Drop assumption about library that defines modff. + * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of + AC_CHECK_FUNCS. + * modules/modff (Files): Add m4/mathfunc.m4. + +2011-10-07 Bernhard Voelker + + raise tests: Avoid a GCC warning. + * tests/test-raise.c (handler): Use _Noreturn. + +2011-10-07 Bruno Haible + + Tests for module 'ldexpf'. + * modules/ldexpf-tests: New file. + * tests/test-ldexpf.c: New file. + + New module 'ldexpf'. + * lib/math.in.h (ldexpf): New declaration. + * lib/ldexpf.c: New file. + * m4/ldexpf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF. + * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF. + * modules/ldexpf: New file. + * tests/test-math-c++.cc: Check the declaration of ldexpf. + * doc/posix-functions/ldexpf.texi: Mention the new module. + +2011-10-06 Bruno Haible + + frexpf: Work around problems on IRIX and mingw. + * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF. + * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro. + (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF. + * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF. + * modules/math (Makefile.am): Substitute REPLACE_FREXPF. + * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems. + +2011-10-06 Bruno Haible + + fabsf: Drop assumption about library that defines fabsf. + * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of + AC_CHECK_FUNCS. + * modules/fabsf (Files): Add m4/mathfunc.m4. + +2011-10-06 Bruno Haible + + frexpf: Drop assumption about library that defines frexpf. + * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types + 'int *', 'float *', 'long double *', 'float', 'long double'. + * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of + AC_CHECK_FUNCS. + * modules/frexpf (Files): Add m4/mathfunc.m4. + + Tests for module 'frexpf'. + * modules/frexpf-tests: New file. + * tests/test-frexpf.c: New file. + + New module 'frexpf'. + * lib/math.in.h (frexpf): New declaration. + * lib/frexpf.c: New file. + * m4/frexpf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF. + * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF. + * modules/frexpf: New file. + * tests/test-math-c++.cc: Check the declaration of frexpf. + * doc/posix-functions/frexpf.texi: Mention the new module. + +2011-10-06 Bruno Haible + + math: Sort function declarations of math.in.h. + * lib/math.in.h (frexp, logb): Move declarations. + +2011-10-05 Bruno Haible + + Tests for module 'modff'. + * modules/modff-tests: New file. + * tests/test-modff.c: New file. + + New module 'modff'. + * lib/math.in.h (modff): New declaration. + * lib/modff.c: New file. + * m4/modff.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF. + * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF. + * modules/modff: New file. + * tests/test-math-c++.cc: Check the declaration of modff. + * doc/posix-functions/modff.texi: Mention the new module. + + modf tests: Make test sharper. + * tests/test-modf.c (main): Strengthen upper bound. + + modf: Use a .m4 file. + * m4/modf.m4: New file. + * modules/modf (Files): Add it. + (configure.ac): Just invoke gl_FUNC_MODF. + +2011-10-05 Bruno Haible + + Tests for module 'fmodf'. + * modules/fmodf-tests: New file. + * tests/test-fmodf.c: New file. + + New module 'fmodf'. + * lib/math.in.h (fmodf): New declaration. + * lib/fmodf.c: New file. + * m4/fmodf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF. + * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF. + * modules/fmodf: New file. + * tests/test-math-c++.cc: Check the declaration of fmodf. + * doc/posix-functions/fmodf.texi: Mention the new module. + + fmod: Use a .m4 file. + * m4/fmod.m4: New file. + * modules/fmod (Files): Add it. + (configure.ac): Just invoke gl_FUNC_FMOD. + +2011-10-05 Bruno Haible + + Tests for module 'fabsf'. + * modules/fabsf-tests: New file. + * tests/test-fabsf.c: New file. + + New module 'fabsf'. + * lib/math.in.h (fabsf): New declaration. + * lib/fabsf.c: New file. + * m4/fabsf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF. + * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF. + * modules/fabsf: New file. + * tests/test-math-c++.cc: Check the declaration of fabsf. + * doc/posix-functions/fabsf.texi: Mention the new module. + + fabs: Use a .m4 file. + * m4/fabs.m4: New file. + * modules/fabs (Files): Add it. + (configure.ac): Just invoke gl_FUNC_FABS. + +2011-10-05 Jim Meyering + + file-has-acl: revert both recent changes, 80af92af and 95f7c57f + * lib/file-has-acl.c: While the 2011-10-03 change does fix the + ls -lL regression introduced in coreutils-8.12, it does so at the + cost of an additional stat call in the common case. Besides, now + that the kernel change that prompted commit 95f7c57f has been reverted + (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24) + we have no use for commit 95f7c57f, "file-has-acl: use + acl_extended_file_nofollow if available". + +2011-10-03 Kamil Dudka + + file-has-acl: revert unintended change in behavior of ls -L + * lib/file-has-acl.c (acl_extended_file_wrap): New function, + derived from... + (file_has_acl): ...code here. Call it. + This problem was introduced with 2011-07-22 commit 95f7c57f, + "file-has-acl: use acl_extended_file_nofollow if available". + See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538 + +2011-10-03 Bruno Haible + + poll: Avoid link errors on MSVC. + * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL. + * modules/poll (Depends-on): Add sockets. + (Link): New section. + * NEWS: Mention the change. + * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL). + * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against + $(LIB_POLL) instead of $(LIBSOCKET). + +2011-10-03 Bruno Haible + + sys_select tests: Fix link error on MSVC 9. + * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++ + with $(LIB_SELECT) instead of $(LIBSOCKET). + +2011-10-03 Bruno Haible + + sys_select: Fix compilation error on mingw. + * lib/sys_select.in.h: On native Windows, include . + +2011-10-03 Bruno Haible + + wmemset: Support for MSVC. + * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test + whether wmemset() exists. - AptCacherNGSecurity: new lens for /etc/apt-cacher-ng/security.conf +2011-10-03 Bruno Haible -2013-06-11 brian redbeard + wmemmove: Support for MSVC. + * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test + whether wmemmove() exists. - Added node config for OpenShift - When the intial lens was developed there was a missing transform - on /etc/openshift/node.conf +2011-10-03 Bruno Haible - This is a fix for bug hercules-team/augeas#22 + wmemcpy: Support for MSVC. + * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test + whether wmemcpy() exists. + +2011-10-03 Bruno Haible + + wmemcmp: Support for MSVC. + * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test + whether wmemcmp() exists. + +2011-10-03 Bruno Haible + + wmemchr: Support for MSVC. + * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test + whether wmemchr() exists. -2013-06-04 David Lutterkort +2011-10-03 Bruno Haible - Xorg: allow 'Screen' in Device section - Patch from merkela + glthread/*, strsignal: Support for MSVC. + * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid + including on MSVC 9. + * lib/glthread/lock.h: Likewise. + * lib/glthread/thread.h: Likewise. + * lib/glthread/tls.h: Likewise. + * lib/glthread/yield.h: Likewise. + * lib/strsignal.c: Include first. Don't include + if HAVE_UNISTD_H is false. + * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for . - Fixes bug https://fedorahosted.org/augeas/ticket/344 +2011-10-03 Bruno Haible -2013-06-03 David Lutterkort + nonblocking tests: Fix test failure on OpenBSD/SPARC64. + * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]: + Set to 100000. - Xorg: support extmod section - Patch by merkela +2011-10-03 Bruno Haible - Partial fix for https://fedorahosted.org/augeas/ticket/344 + acl: Fix specification. + * lib/file-has-acl.c (file_has_acl): Fix specification. -2013-05-30 Raphaël Pinson +2011-10-03 Bruno Haible - Yum: optimize regexp substractions + relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin. + * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro. + (compute_curr_prefix, shared_library_fullname, + find_shared_library_fullname, get_shared_library_fullname, relocate): + Use it together with PIC && INSTALLDIR. + Reported by + via Charles Wilson . - Nrpe: optimize regexp substractions +2011-10-01 Jim Meyering - Mdadm_Conf: optimize regexp substractions + maint.mk: adjust a release-related rule not to require use of gzip + * top/maint.mk (writable-files): Don't hard-code use of .tar.gz. + Instead, check each file in $(DIST_ARCHIVES). This is better for + projects that build only .tar.xz files. Also fix an erroneous test. - Fai_Diskconfig: Optimize regexp substractions + test-linkat: don't leave behind a temporary file + * tests/test-linkat.c (main): Don't forget to remove a temporary file. + Otherwise, coreutils' "make distcheck" would fail with this: + Only in /c/cu/tests/torture/coreutils/test/\ + coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too + make[2]: *** [my-distcheck] Error 1 - Shellvars: Optimize regexp substraction + float, math: add omitted file + * lib/itold.c: Add file, required for yesterday's float change. -2013-05-28 Dominic Cleal +2011-10-01 Bruno Haible - Automaster: accept spaces between options + isinf: Fix for OpenBSD/x86. + * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on + pseudo-NaNs, pseudo-Infinities, and other non-IEEE values. + * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86. -2013-05-24 Raphaël Pinson +2011-10-01 Bruno Haible - Update NEWS + isfinite: Fix syntax error in configure test. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error. - Add Rob Tucker to AUTHORS + isfinite: Fix typo. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set + gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works. - Add README as a symlink to README.md to make autogen relax +2011-10-01 Bruno Haible + + nonblocking tests: Fix test failure on Linux/IA-64. + * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]: + Set to 270000. + +2011-10-01 Bruno Haible + + mkfifoat tests: Fix a test failure on mingw. + * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail + with error ENOSYS. + +2011-09-30 Bruno Haible + + float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64. + * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to + 'long double'. Set REPLACE_ITOLD. + * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations. + * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations. + * lib/itold.c: New file. + * modules/float (Files): Add lib/itold.c. + (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c. + (Makefile.am): Substitute REPLACE_ITOLD. + * modules/math (Depends-on): Add float. + (Makefile.am): Substitute REPLACE_ITOLD. + * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64. + * doc/posix-headers/math.texi: Likewise. + * doc/posix-functions/logl.texi: Likewise. + +2011-09-30 Bruno Haible + + nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit). + * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]: + Set to 140000. + +2011-09-30 Bruno Haible + + gnulib-tool: Improve suggestion where to put gl_EARLY invocation. + * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC + invocation, say "right after AC_PROG_CC_STDC", not "right after + AC_PROG_CC". + Reported by Gary V. Vaughan . + +2011-09-30 Bruno Haible + + Centralize C99 requirement. + * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro. + * modules/stdarg (configure.ac-early): Invoke it instead of + AC_PROG_CC_STDC. + Reported by Gary V. Vaughan and Paul Eggert. + +2011-09-29 Bruno Haible + + float: Fix LDBL_MAX value on Linux/PowerPC. + * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also + on Linux/PowerPC. + * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC. + * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC. + * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected + platform. + Reported by Andreas Metzler . + +2011-09-29 Bruno Haible + + doc: Improve doc about gl_EARLY. + * doc/gnulib-tool.texi (Initial import): Mention where to place an + AC_PROG_CC_STDC invocation. + Reported by Gary V. Vaughan . + +2011-09-28 Bruno Haible + + fgetc, fputc, fread, fwrite tests: Fix link error. + * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler + on non-MSVC platforms. + * tests/test-fputc.c (main): Likewise. + * tests/test-fread.c (main): Likewise. + * tests/test-fwrite.c (main): Likewise. + Reported by Jim Meyering. + +2011-09-27 Bruno Haible + + fputc, fwrite tests: Avoid test failure on MSVC. + * tests/test-fgetc.c: Include msvc-inval.h. + (main): Invoke gl_msvc_inval_ensure_handler. + * tests/test-fputc.c: Include msvc-inval.h. + (main): Invoke gl_msvc_inval_ensure_handler. + * tests/test-fread.c: Include msvc-inval.h. + (main): Invoke gl_msvc_inval_ensure_handler. + * tests/test-fwrite.c: Include msvc-inval.h. + (main): Invoke gl_msvc_inval_ensure_handler. + * modules/fgetc-tests (Depends-on): Add msvc-inval. + * modules/fputc-tests (Depends-on): Likewise. + * modules/fread-tests (Depends-on): Likewise. + * modules/fwrite-tests (Depends-on): Likewise. + +2011-09-27 Bruno Haible + + raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'. + * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro. + (raise): Remove older, duplicated declaration. + (_gl_raise_SIGPIPE): New declaration. + * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function. + (rpl_raise): Remove function. + * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle + a gnulib-defined SIGPIPE here. + * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module + 'sigprocmask' has detected missing signal-blocking and the module + 'sigpipe' is enabled. + Reported by Tatsuro MATSUOKA . + +2011-09-26 Gijs van Tulder + + base64-tests: avoid memory leak + * tests/test-base64.c (main): Plug memory leak. + + base32: new module + * modules/base32: New module. + * lib/base32.c: New file. + * lib/base32.h: Likewise. + * m4/base32.m4: Likewise. + * modules/base32-tests: New test. + * tests/test-base32.c: Likewise. + * MODULES.html.sh (Misc): Mention it. + +2011-09-26 Paul Eggert + + gnulib: use more-standard license notice wording + * gnulib-tool (func_emit_copyright_notice): When emitting a + license notice into a file, use the standard wording as suggested + by the current information for GNU maintainers, except say "file" + rather than "program". The new wording gives a license version + number, which addresses an issue raised by Glenn Morris in + . + * m4/onceonly.m4: Use that same wording here, too. + + dup2: minor simplification + * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE, + as lib/dup2.c no longer uses 'inline'. + +2011-09-25 Bruno Haible + + strings: Fix compilation error on MSVC. + * lib/strings.in.h: Include for size_t. + +2011-09-25 Bruno Haible + + fflush et al.: Document limitation on MSVC. + * doc/posix-functions/fflush.texi: Document possible crash in handling + mode other than DEFAULT_HANDLING. + * doc/posix-functions/fgetc.texi: Likewise. + * doc/posix-functions/fputc.texi: Likewise. + * doc/posix-functions/fread.texi: Likewise. + * doc/posix-functions/fwrite.texi: Likewise. + +2011-09-25 Bruno Haible + + msvc-inval: Allow three invalid parameter handling modes. + * lib/msvc-inval.h: Don't include here. + (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New + macros. + (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL, + DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat + SANE_LIBRARY_HANDLING as a no-op. + * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include + . + (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING. + +2011-09-25 Bruno Haible + + msvc-inval: Make handler multithread-safe. + * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type. + (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove + declarations. + (gl_msvc_inval_current): New declaration. + (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]: + Operate on the structure returned by gl_msvc_inval_current(). + * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): + Remove varaiables. + (tls_index, tls_initialized): New variables. + (not_per_thread): New variable. + (gl_msvc_inval_current): New function. + (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure + returned by gl_msvc_inval_current(). + +2011-09-25 Bruno Haible + + msvc-inval: Install handler globally. + * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for + !_MSC_VER. + (gl_msvc_invalid_parameter_handler): Remove declaration. + (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New + declarations. + (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]: + Install the handler globally, don't uninstall it. + * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable. + (gl_msvc_invalid_parameter_handler): Make static. If the restart is not + currently valid, call RaiseException instead. + (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also + for !_MSC_VER. + +2011-09-25 Bruno Haible + + strerror_r-posix: Fix for MSVC 9. + * lib/strerror_r.c (local_snprintf): New function. + (snprintf): Define to local_snprintf, not to _snprintf. + +2011-09-25 Bruno Haible + + ftruncate: Support for MSVC 9. + * lib/ftruncate.c: Include errno.h, msvc-inval.h. + (chsize_nothrow): New function. + (chsize): Redefine as a macro. + * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE. + * modules/ftruncate (Depends-on): Add msvc-inval. + +2011-09-25 Bruno Haible + + New module 'fstat'. + * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set. + * lib/fstat.c: New file, based on a piece of lib/fchdir.c. + * lib/fchdir.c (rpl_fstat): Remove function. + * m4/fstat.m4: New file. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is + declared. + (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT. + * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT. + * modules/fstat: New file. + * modules/sys_stat-tests (Depends-on): Remove fstat-tests. + * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT + is set. + * doc/posix-functions/fstat.texi: Mention the new module and the + problem on MSVC. + * NEWS: Mention the change. + * modules/acl (Depends-on): Add fstat. + * modules/chdir-safer (Depends-on): Likewise. + * modules/chown (Depends-on): Likewise. + * modules/copy-file (Depends-on): Likewise. + * modules/fchdir (Depends-on): Likewise. + * modules/fdopendir (Depends-on): Likewise. + * modules/fopen (Depends-on): Likewise. + * modules/fts (Depends-on): Likewise. + * modules/getcwd (Depends-on): Likewise. + * modules/isapipe (Depends-on): Likewise. + * modules/linkat (Depends-on): Likewise. + * modules/lseek (Depends-on): Likewise. + * modules/mkdir-p (Depends-on): Likewise. + * modules/open (Depends-on): Likewise. + * modules/openat (Depends-on): Likewise. + * modules/read-file (Depends-on): Likewise. + * modules/renameat (Depends-on): Likewise. + * modules/utimens (Depends-on): Likewise. + +2011-09-25 Bruno Haible + + linkat: Fix compilation on MSVC 9. + * lib/linkat.c: Don't include . + +2011-09-25 Bruno Haible + + fclose: Support for MSVC 9. + * lib/fclose.c: Include msvc-inval.h. + (fclose_nothrow): New function. + (rpl_fclose): Use it. + * modules/fclose (Depends-on): Add msvc-inval. + * doc/posix-functions/fclose.texi: Mention the problem on MSVC. + +2011-09-24 Paul Eggert + + dup2: minor simplifications + * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear + that it's a performance win. + (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) && + ! defined __CYGWIN__)" to "ifdef F_GETFL". + +2011-09-24 Jim Meyering + + test-futimens: avoid a warning from gcc -Wshadow + * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/ + to avoid a shadowing warning. + +2011-09-24 Bruno Haible + + fdopen: Support for MSVC 9. + * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if + HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1. + * lib/fdopen.c: Include msvc-inval.h. + (fdopen_nothrow): New function. + (rpl_fdopen): Use it. + * modules/fdopen (Depends-on): Add msvc-inval. + * modules/fclose-tests (Depends-on): Add fdopen. + * modules/fflush-tests (Depends-on): Likewise. + * modules/fgetc-tests (Depends-on): Likewise. + * modules/fputc-tests (Depends-on): Likewise. + * modules/fread-tests (Depends-on): Likewise. + * modules/freopen-tests (Depends-on): Likewise. + * modules/fseeko-tests (Depends-on): Likewise. + * modules/ftello-tests (Depends-on): Likewise. + * modules/fwrite-tests (Depends-on): Likewise. + * doc/posix-functions/fdopen.texi: Mention the problem on MSVC. + +2011-09-24 Bruno Haible + + fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC. + * modules/fgetc-tests (Depends-on): Add unistd. + * modules/fputc-tests (Depends-on): Likewise. + * modules/fread-tests (Depends-on): Likewise. + * modules/fwrite-tests (Depends-on): Likewise. + +2011-09-24 Bruno Haible + + dup: Simplify autoconf test. + * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely + on gl_MSVC_INVAL's result. + +2011-09-24 Bruno Haible + + Tests for function fwrite(). + * modules/fwrite-tests: New file. + * tests/test-fwrite.c: New file. + * modules/stdio-tests (Depends-on): Add fwrite-tests. + + Tests for function fread(). + * modules/fread-tests: New file. + * tests/test-fread.c: New file. + * modules/stdio-tests (Depends-on): Add fread-tests. + + Activate fputc tests. + * modules/stdio-tests (Depends-on): Add fputc-tests. + + Enhance fgetc, fputc tests. + * tests/test-fgetc.c (main): Also test the stream's error indicator. + * tests/test-fputc.c (main): Likewise. + +2011-09-24 Bruno Haible + + write: Support for MSVC 9. + * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING + is not 1. + * lib/write.c (write_nothrow): New function. + (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is + not 1. Use write_nothrow. + * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an + invalid parameter handler. + (gl_PREREQ_WRITE): New macro. + * modules/write (Depends-on): Add msvc-inval. + (configure.ac): Invoke gl_PREREQ_WRITE. + * doc/posix-functions/write.texi: Mention the problem on MSVC. + +2011-09-24 Bruno Haible + + read: Fix last commit. + * lib/read.c (read_nothrow): Change return type to 'ssize_t'. + +2011-09-24 Bruno Haible + + dup2: Fix last commit. + * lib/dup2.c: Restore comments. Treat Cygwin like Unix. + (rpl_dup2): Disable fcntl workaround on native Windows. + + sigprocmask: Make code safer. + * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code + section that changes macro definitions for this compilation unit. + +2011-09-23 Paul Eggert + + dup2: clarify by coalescing Windows-specific material + * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include + "msvc-nothrow.h"' to the Windows-specific section, so that the + Emacs source need not contain these include files. + (ms_windows_dup2): Rename from dup2_nothrow, and move all the + Windows-specific fixes into this function rather than just the + nothrow fix, as this shortens and clarifies the code. Always + define as a function, as that's a bit cleaner than having it be + sometimes a function and sometimes a macro. + (rpl_dup2): Move the Windows-specific stuff out of here and into + ms_windows_dup2. Don't protect the Haiku-related fix with + "#if !defined __linux__", as the same code also works around + a Linux kernel bug, and it doesn't add any system calls on any + platform. Add comment about FreeBSD 6.1. + + sigprocmask: move #include directive + * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the + Windows-specific section, so that the Emacs source need not + contain msvc-inval.h. + +2011-09-23 Bruno Haible + + read: Support for MSVC 9. + * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING + is not 1. + * lib/read.c (read_nothrow): New function. + (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use + read_nothrow. + * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an + invalid parameter handler. + (gl_PREREQ_READ): New macro. + * modules/read (Depends-on): Add msvc-inval. + (configure.ac): Invoke gl_PREREQ_READ. + * doc/posix-functions/read.texi: Mention the problem on MSVC. + +2011-09-23 Bruno Haible + + close: Support for MSVC 9. + * lib/close.c: Include , msvc-inval.h. + (close_nothrow): New function. + (rpl_close): Use it. + * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an + invalid parameter handler. + * modules/close (Depends-on): Add msvc-inval. + * modules/dup2-tests (Depends-on): Add close. + * modules/dup3-tests (Depends-on): Likewise. + * modules/fcntl-tests (Depends-on): Likewise. + * modules/spawn-pipe-tests (Depends-on): Likewise. + * modules/unistd-safer-tests (Depends-on): Likewise. + * doc/posix-functions/close.texi: Mention the problem on MSVC. + +2011-09-23 Bruno Haible + + New module 'dup'. + * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use. + Allow replacement. + * lib/dup.c: New file. + * lib/fchdir.c (rpl_dup): Remove function. + * m4/dup.m4: New file. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here. + * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared. + (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP. + * modules/unistd (Makefile.am): Substitute GNULIB_DUP. + * modules/dup: New file. + * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the + 'dup' module is in use. + * modules/fdopendir (Depends-on): Add dup. + * modules/fdutimensat-tests (Depends-on): Likewise. + * modules/fts (Depends-on): Likewise. + * modules/futimens-tests (Depends-on): Likewise. + * modules/posix_spawnp-tests (Depends-on): Likewise. + * modules/unistd-safer-tests (Depends-on): Likewise. + * modules/utimens-tests (Depends-on): Likewise. + * doc/posix-functions/dup.texi: Mention the new module and the problem + on MSVC. + +2011-09-23 Bruno Haible + + getdtablesize: Support for MSVC 9. + * lib/getdtablesize.c: Include msvc-inval.h. + (_setmaxstdio_nothrow): New function. + (_setmaxstdio): Redefine it. + * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro. + * modules/getdtablesize (Depends-on): Add msvc-inval. + (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE. + +2011-09-23 Bruno Haible + + signal-h: Rename from signal. + * modules/signal-h: Renamed from modules/signal. + * modules/pthread_sigmask (Depends-on): Update. + * modules/raise (Depends-on): Likewise. + * modules/sigaction (Depends-on): Likewise. + * modules/sigpipe (Depends-on): Likewise. + * modules/sigprocmask (Depends-on): Likewise. + * modules/sys_select (Depends-on): Likewise. + * modules/signal-h-tests: Renamed from modules/signal-tests. + (Files, Depends-on, Makefile.am): Update. + * tests/test-signal-h.c: Renamed from tests/test-signal.c. + * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests. + (Files, Makefile.am): Update. + * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc. + * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc. + * modules/signal: New placeholder file. + * MODULES.html.sh (Support for systems lacking POSIX:2008): Update. + * doc/posix-headers/signal.texi: Update. + * NEWS: Mention the change. + +2011-09-23 Bruno Haible + + sigprocmask: Avoid crashes through signal() on MSVC 9. + * lib/sigprocmask.c: Include msvc-inval.h. + (signal_nothrow): New function. + (signal): Redefine it. + * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE. + * modules/sigprocmask (Depends-on): Add msvc-inval. + * doc/posix-functions/signal.texi: Mention the problem on MSVC. + +2011-09-23 Bruno Haible + + Tests for module 'raise'. + * modules/raise-tests: New file. + * tests/test-raise.c: New file. + + raise: Support for MSVC. + * lib/signal.in.h (raise): New declaration. + * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation + for native Windows platforms. + * m4/raise.m4: New file. + * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE, + HAVE_RAISE, REPLACE_RAISE. + * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE, + REPLACE_RAISE. + * modules/raise (Status, Notice): Remove fields. + (Files): Add m4/raise.m4. + (Depends-on): Add signal, msvc-inval. + (configure.ac): Use the common idioms. + (Maintainer): Add me. + * tests/test-signal-c++.cc: Check the signature of raise. + * doc/posix-functions/raise.texi: Mention the problem on MSVC. + +2011-09-23 Bruno Haible + + pipe2: Fix compilation on pre-C99 compilers. + * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces. + +2011-09-23 Bruno Haible + + New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9. + * lib/msvc-nothrow.h: New file. + * lib/msvc-nothrow.c: New file. + * m4/msvc-nothrow.m4: New file. + * modules/msvc-nothrow: New file. + * lib/dup2.c: Include msvc-nothrow.h. + (rpl_dup2): No need to protect _get_osfhandle call here. + * lib/accept4.c: Include msvc-nothrow.h. + * lib/error.c: Likewise. + * lib/fcntl.c: Likewise. + * lib/lseek.c: Likewise. + * lib/nonblocking.c: Likewise. + * lib/poll.c: Likewise. + * lib/read.c: Likewise. + * lib/select.c: Likewise. + * lib/sockets.h: Likewise. + * lib/sockets.c: Likewise. + * lib/stdio-read.c: Likewise. + * lib/stdio-write.c: Likewise. + * lib/write.c: Likewise. + * lib/w32sock.h: Likewise. + * lib/w32spawn.h: Likewise. + * lib/flock.c: Include msvc-nothrow.h instead of . + * lib/fsync.c: Likewise. + * lib/isapipe.c: Likewise. + * modules/dup2 (Depends-on): Add msvc-nothrow. + * modules/accept4 (Depends-on): Likewise. + * modules/error (Depends-on): Likewise. + * modules/fcntl (Depends-on): Likewise. + * modules/lseek (Depends-on): Likewise. + * modules/nonblocking (Depends-on): Likewise. + * modules/poll (Depends-on): Likewise. + * modules/read (Depends-on): Likewise. + * modules/select (Depends-on): Likewise. + * modules/sockets (Depends-on): Likewise. + * modules/sigpipe (Depends-on): Likewise. + * modules/write (Depends-on): Likewise. + * modules/accept (Depends-on): Likewise. + * modules/bind (Depends-on): Likewise. + * modules/connect (Depends-on): Likewise. + * modules/gethostname (Depends-on): Likewise. + * modules/getpeername (Depends-on): Likewise. + * modules/getsockname (Depends-on): Likewise. + * modules/getsockopt (Depends-on): Likewise. + * modules/ioctl (Depends-on): Likewise. + * modules/listen (Depends-on): Likewise. + * modules/recv (Depends-on): Likewise. + * modules/recvfrom (Depends-on): Likewise. + * modules/send (Depends-on): Likewise. + * modules/sendto (Depends-on): Likewise. + * modules/setsockopt (Depends-on): Likewise. + * modules/shutdown (Depends-on): Likewise. + * modules/socket (Depends-on): Likewise. + * modules/execute (Depends-on): Likewise. + * modules/spawn-pipe (Depends-on): Likewise. + * modules/flock (Depends-on): Likewise. + * modules/fsync (Depends-on): Likewise. + * modules/isapipe (Depends-on): Likewise. + * tests/test-cloexec.c: Include msvc-nothrow.h. + * tests/test-dup-safer.c: Likewise. + * tests/test-dup2.c: Likewise. + * tests/test-dup3.c: Likewise. + * tests/test-fcntl.c: Likewise. + * tests/test-pipe.c: Likewise. + * tests/test-pipe2.c: Likewise. + * modules/cloexec-tests (Depends-on): Add msvc-nothrow. + * modules/unistd-safer-tests (Depends-on): Likewise. + * modules/dup2-tests (Depends-on): Likewise. + * modules/dup3-tests (Depends-on): Likewise. + * modules/fcntl-tests (Depends-on): Likewise. + * modules/pipe-posix-tests (Depends-on): Likewise. + * modules/pipe2-tests (Depends-on): Likewise. + +2011-09-23 Bruno Haible + + dup2: Make code more maintainable. + * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2. + (rpl_dup2): Use it. + * m4/dup2.m4 (gl_PREREQ_DUP2): New macro. + * modules/dup2 (configure.ac): Invoke it. + Reported by Paul Eggert. + +2011-09-23 Bruno Haible + + msvc-inval: Fix compilation error. + * lib/msvc-inval.h: Include . + +2011-09-23 Bruno Haible + + mkdir: Tweak for MSVC 9. + * lib/sys_stat.in.h: Update comments. + * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9. + + Tests for module 'chdir'. + * modules/chdir-tests: New file. + * tests/test-chdir.c: New file. + + New module 'chdir'. + * modules/chdir: New file. + * lib/unistd.in.h: Include , also for chdir. + (chdir): New declaration. + * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared. + (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR. + * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR. + * tests/test-unistd-c++.cc: Check signature of chdir. + * doc/posix-functions/chdir.texi: Mention problem on native Windows. + * modules/chdir-long (Depends-on): Add chdir. + * modules/fchdir (Depends-on): Likewise. + * modules/rename (Depends-on): Likewise. + * modules/savewd (Depends-on): Likewise. + + rmdir: Support for mingw, MSVC 9. + * lib/unistd.in.h: Include and also for rmdir. + * doc/posix-functions/getcwd.texi: Mention problem on native Windows. + + getcwd: Tweak for MSVC 9. + * lib/unistd.in.h: Update comments. + * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9. + +2011-09-22 Bruno Haible + + strerror_r-posix: Avoid a link error on MSVC. + * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf. + * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist. + +2011-09-22 Bruno Haible + + select: Avoid link errors on MSVC. + * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT. + * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT). + * modules/pselect (Link): Likewise. + * NEWS: Mention the change. + * modules/select-tests (Makefile.am): Link test-select, test-select-fd, + test-select-stdin against $(LIB_SELECT). + * modules/pselect-tests (Makefile.am): Link test-pselect against + $(LIB_SELECT). + +2011-09-22 Bruno Haible + + select: Avoid compilation error on MSVC. + * lib/select.c: Don't include . + +2011-09-21 Bruno Haible + + Consolidate all uses of PATH_MAX in *.m4 files. + * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New + macros. + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ + and gl_PATHMAX_SNIPPET. + * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise. + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise. + * modules/chdir-long (Files): Add m4/pathmax.m4. + * modules/getcwd (Files): Likewise. + +2011-09-21 Bruno Haible + + ftruncate: Un-deprecate, concentrate on Win32 support. + * modules/ftruncate (Status, Notice): Remove sections. + (Depends-on): Add largefile. + * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on + non-mingw platforms. + * lib/ftruncate.c: Remove code for the older platforms. For Win32, + include . + * modules/perror-tests (Depends-on): Add ftruncate. + * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the + 'ftruncate' module. + +2011-09-21 Bruno Haible + + Add dependencies to new dirent related modules. + * modules/opendir (Depends-on): Add closedir. + * modules/getcwd (Depends-on): Add opendir, closedir. + * modules/dirent-safer-tests (Depends-on): Likewise. + * modules/fdopendir-tests (Depends-on): Likewise. + * modules/rename-tests (Depends-on): Add opendir, readdir, closedir. + * modules/renameat-tests (Depends-on): Likewise. + +2011-09-21 Bruno Haible + + opendir: Avoid compilation error on mingw. + * lib/opendir.c: Include always. Include as well. + * modules/opendir (Depends-on): Add unistd. + +2011-09-21 Bruno Haible + + ftruncate tests: Avoid a test failure on mingw. + * tests/test-ftruncate.c (main): Allow a failure with EACCES. + +2011-09-21 Bruno Haible + + select tests: Avoid test failures on OSF/1 5.1 and mingw. + * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and + native Windows. + +2011-09-21 Bruno Haible + + New module 'fdopen'. + * lib/stdio.in.h (fdopen): New declaration. + * lib/fdopen.c: New file. + * m4/fdopen.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN, + REPLACE_FDOPEN. + * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN, + REPLACE_FDOPEN. + * modules/fdopen: New file. + * modules/stdio-tests (Depends-on): Remove fdopen-tests. + * tests/test-stdio-c++.cc: Check signature of fdopen. + * doc/posix-functions/fdopen.texi: Mention the new module. + +2011-09-21 Bruno Haible + + unlockpt tests: Avoid test failure on NetBSD 5.1. + * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD. + * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD. + +2011-09-21 Bruno Haible + + getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC. + * tests/test-getlogin.c (main): Allow a failure with EINVAL. + * tests/test-getlogin_r.c (main): Likewise. + +2011-09-20 Bruno Haible + + time tests: Don't require pid_t. + * doc/posix-headers/time.texi: Revert last change. + * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change. + * tests/test-time.c: Comment out the check for pid_t. + +2011-09-20 Bruno Haible + + fsync tests: Avoid a test failure on mingw. + * tests/test-fsync.c (main): Allow a failure with EIO. + +2011-09-20 Bruno Haible + + euidaccess: Update comments. + * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments. + +2011-09-20 Bruno Haible + + Ensure EBADF returns for socket functions on mingw. + * lib/accept.c (rpl_accept): Fail with error EBADF if the file + descriptor is invalid. + * lib/bind.c (rpl_bind): Likewise. + * lib/connect.c (rpl_connect): Likewise. + * lib/getpeername.c (rpl_getpeername): Likewise. + * lib/getsockname.c (rpl_getsockname): Likewise. + * lib/getsockopt.c (rpl_getsockopt): Likewise. + * lib/listen.c (rpl_listen): Likewise. + * lib/recv.c (rpl_recv): Likewise. + * lib/recvfrom.c (rpl_recvfrom): Likewise. + * lib/send.c (rpl_send): Likewise. + * lib/sendto.c (rpl_sendto): Likewise. + * lib/setsockopt.c (rpl_setsockopt): Likewise. + * lib/shutdown.c (rpl_shutdown): Likewise. -2013-05-24 Rob Tucker +2011-09-20 Bruno Haible - Added augeas lens and test for the asterisk sip.conf file + select tests: EBADF tests. + * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait, + test_bad_fd): New functions. + (test_function): Invoke also test_bad_fd. -2013-05-22 Raphaël Pinson +2011-09-20 Bruno Haible - postfix_master: Allow [] in words (ticket #345) + Tests for module 'posix_spawn_file_actions_addopen. + * modules/posix_spawn_file_actions_addopen-tests: New file. + * tests/test-posix_spawn_file_actions_addopen.c: New file. -2013-05-17 David Lutterkort + Tests for module 'posix_spawn_file_actions_adddup2'. + * modules/posix_spawn_file_actions_adddup2-tests: New file. + * tests/test-posix_spawn_file_actions_adddup2.c: New file. - Update README.md - Reformat as GH-flavored markdown; add a License section + Tests for module 'posix_spawn_file_actions_addclose'. + * modules/posix_spawn_file_actions_addclose-tests: New file. + * tests/test-posix_spawn_file_actions_addclose.c: New file. - Rename README to README.md +2011-09-20 Bruno Haible -2013-05-17 David Lutterkort + Tests for module 'unlockpt'. + * modules/unlockpt-tests: New file. + * tests/test-unlockpt.c: New file. + * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem. - * tests/test-run.c (load_module): do not downcase the lensdir - We should not touch the lensdir, since it is user provided; we only want to - downcase the module name. + Tests for module 'grantpt'. + * modules/grantpt-tests: New file. + * tests/test-grantpt.c: New file. + * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem. - Patch by aponomarenko +2011-09-20 Bruno Haible - Fixes bug #332 + freopen tests: EBADF tests. + * tests/test-freopen.c: Include errno.h, unistd.h. + (main): Add tests for EBADF, commented out for the moment. -2013-05-17 Raphaël Pinson + fclose tests: EBADF tests. + * tests/test-fclose.c (main): Add tests for EBADF. - Add --echo alias to augtool manpage + fflush tests: EBADF tests. + * tests/test-fflush.c: Include errno.h, macros.h. + (main): Add tests for EBADF. - Add -t option to augtool manpage + ftello tests: EBADF tests. + * tests/test-ftello4.sh: New file. + * tests/test-ftello4.c: New file. + * modules/ftello-tests (Files): Add them. + (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh. -2013-05-17 Enrico Stahn + fseeko tests: EBADF tests. + * tests/test-fseeko4.sh: New file. + * tests/test-fseeko4.c: New file. + * modules/fseeko-tests (Files): Add them. + (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh. - PHPFPM Support + Tests for function fputc(). + * modules/fputc-tests: New file. + * tests/test-fputc.c: New file. + * modules/stdio-tests (Depends-on): Add fputc-tests. -2013-05-16 Francis Giraldeau + Tests for function fgetc(). + * modules/fgetc-tests: New file. + * tests/test-fgetc.c: New file. + * modules/stdio-tests (Depends-on): Add fgetc-tests. - Add Splunk lens - Lens to parse Splunk configuration. Based on IniFile lens, with few differences: + Tests for function fdopen(). + * modules/fdopen-tests: New file. + * tests/test-fdopen.c: New file. + * modules/stdio-tests (Depends-on): Add fdopen-tests. - * Accepts empty value in entry - * Entries without parent section are children of .anon node + Tests for module 'vdprintf'. + * modules/vdprintf-tests: New file. + * tests/test-vdprintf.c: New file. - Thanks to Tim Brigham for this contribution. + Tests for module 'dprintf'. + * modules/dprintf-tests: New file. + * tests/test-dprintf.c: New file. -2013-05-16 Francis Giraldeau +2011-09-20 Bruno Haible - Add CR as a white space char in RX.space_in - CR is used in the IniFile lens as of EOL. To avoid concat ambig between - IniFile.store_to_eol and IniFile.eol, CR has to be added to Rx.space_in. This - change do not break any existing lens in the repository. + Tests for module 'ioctl'. + * modules/ioctl-tests: New file. + * tests/test-ioctl.c: New file. -2013-05-16 Davide Guerri +2011-09-20 Bruno Haible - adds support for iptoute2 configuration files (/etc/iproute2/*) + fcntl tests: EBADF tests. + * tests/test-fcntl.c (main): Add more tests for EBADF. -2013-05-16 Simon Vocella +2011-09-20 Bruno Haible - JaaS: lens for the Java Authentication and Authorization Service + utimensat tests: EBADF tests. + * tests/test-utimensat.c (main): Add tests for EBADF. -2013-05-15 David Lutterkort + renameat tests: EBADF tests. + * tests/test-renameat.c (main): Add tests for EBADF. - Function composition: fix the typing of the generated lambda - When f and g are functions, 'f ; g' gets translated into - lambda x: g (f x) + mkfifoat tests: EBADF tests. + * tests/test-mkfifoat.c (main): Add tests for EBADF. - The resulting function wasn't typed right, which led to an internal error. + readlinkat tests: EBADF tests. + * tests/test-readlinkat.c (main): Add tests for EBADF. - This fixes bug #328 + symlinkat tests: EBADF tests. + * tests/test-symlinkat.c (main): Add tests for EBADF. -2013-05-08 Raphaël Pinson + linkat tests: EBADF tests. + * tests/test-linkat.c (main): Add tests for EBADF. - Update AUTHORS + Tests for module 'faccessat'. + * modules/faccessat-tests: New file. + * tests/test-faccessat.c: New file. -2013-05-08 Brian Harrington + fdopendir tests: EBADF tests. + * tests/test-fdopendir.c (main): Add more tests for EBADF. - Added support for OpenShift - Added a series of lenses to support the corresponding configuration - formats including conf, JSON, & HTTP. + openat tests: EBADF tests. + * tests/test-fchownat.c (main): Add tests for EBADF. + * tests/test-fstatat.c (main): Likewise. + * tests/test-mkdirat.c (main): Likewise. + * tests/test-openat.c (main): Likewise. + * tests/test-unlinkat.c (main): Likewise. + * tests/test-fchmodat.c: New file. + * modules/openat-tests (Files): Add tests/test-fchmodat.c. + (Makefile.am): Also run 'test-fchmodat'. -2013-05-08 Brian Harrington +2011-09-20 Bruno Haible - Add support for MongoDB Server - A basic lens and test to support the configuration of MongoDB + utimens, futimens, fdutimensat tests: EBADF tests. + * tests/test-futimens.h (test_futimens): Add more tests for EBADF. - Added infrastructure components for MongoDB + Tests for function fstat(). + * modules/fstat-tests: New file. + * tests/test-fstat.c: New file. + * modules/sys_stat-tests (Depends-on): Add fstat-tests. - Included references to MongoDBServer to handle the auto testing of - lenses on build & mention of lens in for autodoc generation. +2011-09-20 Bruno Haible - fixes hercules-team/augeas/#25 + test-ttyname_r tests: EBADF tests. + * tests/test-ttyname_r.c (main): Add tests for EBADF. - Improved documentation on MongoDBServer filter + Tests for module 'isatty'. + * modules/isatty-tests: New file. + * tests/test-isatty.c: New file. - Added improved reference and usage information for the lens + Tests for module 'write'. + * modules/write-tests: New file. + * tests/test-write.c: New file. - Mistyped port path in MongoDBServer lens usage + Tests for module 'read'. + * modules/read-tests: New file. + * tests/test-read.c: New file. - The port component was missing from the set command + pwrite tests: EBADF tests. + * tests/test-pwrite.c (main): Add tests for EBADF. - fixes herclues/team-augeas/#25 + pread tests: EBADF tests. + * tests/test-pread.c (main): Add tests for EBADF. -2013-05-08 Brian Harrington + lseek tests: EBADF tests. + * tests/test-lseek.c (main): Add more tests for EBADF. - Added support for ActiveMQ / Red Hat JBoss A-MQ - Added a series of lenses to support the file formats utilized with - the project ActiveMQ / Red Hat JBoss A-MQ. + Tests for module 'ftruncate'. + * modules/ftruncate-tests: New file. + * tests/test-ftruncate.sh: New file. + * tests/test-ftruncate.c: New file. - ActiveMQ is a standards-based, open source messaging platform - shipped by Red Hat (Formerly Fuse Source). + fsync tests: EBADF tests. + * tests/test-fsync.c (main): Add more tests for EBADF. - http://activemq.apache.org/ - http://www.redhat.com/products/jbossenterprisemiddleware/amq/ + fdatasync tests: EBADF tests. + * tests/test-fdatasync.c (main): Add more tests for EBADF. -2013-04-30 Mathieu Alorent + Tests for module 'fchown'. + * modules/fchown-tests: New file. + * tests/test-fchown.c: New file. - Add more flags - add other flags, and use regexp to check + Tests for module 'fchmod'. + * modules/fchmod-tests: New file. + * tests/test-fchmod.c: New file. -2013-04-30 Mathieu Alorent + fchdir tests: EBADF tests. + * tests/test-fchdir.c (main): Add more tests for EBADF. - implement Downtime feature - As seen in this thread, there is a downtime feature that is not - parsed by Augeas. + dup2 tests: EBADF tests. + * tests/test-dup2.c (main): Add more tests for EBADF. - http://lists.xymon.com/archive/2011-March/030998.html + Tests for module 'dup'. + * modules/dup-tests: New file. + * tests/test-dup.c: New file. -2013-04-20 Dominic Cleal + Tests for module 'close'. + * modules/close-tests: New file. + * tests/test-close.c: New file. - Rsyslog: support :omusrmsg: list of users in actions +2011-09-20 Bruno Haible -2013-04-15 Raphaël Pinson + Tests for module 'shutdown'. + * modules/shutdown-tests: New file. + * tests/test-shutdown.c: New file. - Passwd: allow period in user names in spec (fixes #337) + Tests for module 'setsockopt'. + * modules/setsockopt-tests: New file. + * tests/test-setsockopt.c: New file. - Passwd: allow overrides in nisentry + Tests for module 'sendto'. + * modules/sendto-tests: New file. + * tests/test-sendto.c: New file. -2013-03-31 Gonzalo Servat + Tests for module 'send'. + * modules/send-tests: New file. + * tests/test-send.c: New file. - Nrpe: accept any config option, remove predefined list + Tests for module 'recvfrom'. + * modules/recvfrom-tests: New file. + * tests/test-recvfrom.c: New file. -2013-03-30 Branan Purvine-Riley + Tests for module 'recv'. + * modules/recv-tests: New file. + * tests/test-recv.c: New file. - Add support for port ranges to /etc/services lens - The `/etc/services` file on AIX can contain entries with ranges of ports. This change allows Augeas to parse such files. + Tests for module 'listen'. + * modules/listen-tests: New file. + * tests/test-listen.c: New file. - Example from an AIX /etc/services file: -     x11                      6000-6063/tcp  # X Window System -     x11                      6000-6063/udp  # X Window System + Tests for module 'getsockopt'. + * modules/getsockopt-tests: New file. + * tests/test-getsockopt.c: New file. -2013-03-21 Dominic Cleal + Tests for module 'getsockname'. + * modules/getsockname-tests: New file. + * tests/test-getsockname.c: New file. - Shellvars: reinstate /etc/sysconfig/network - Fixes #330, RHBZ#904222, RHBZ#920609 + Tests for module 'getpeername'. + * modules/getpeername-tests: New file. + * tests/test-getpeername.c: New file. -2013-03-14 Gabriel + Tests for module 'connect'. + * modules/connect-tests: New file. + * tests/test-connect.c: New file. - Add some autodoc comments. + Tests for module 'bind'. + * modules/bind-tests: New file. + * tests/test-bind.c: New file. - Add a lens for LVM metadata. + accept4 tests: Fix for native Windows. + * tests/test-accept4.c: Include sockets.h. + (main): Invoke gl_sockets_startup. + * modules/accept4-tests (Depends-on): Add sockets. -2013-03-11 Raphaël Pinson + accept tests: Fix for native Windows. + * tests/test-accept.c: Include sockets.h. + (main): Invoke gl_sockets_startup. + * modules/accept-tests (Depends-on): Add sockets. - Update NEWS +2011-09-19 Bruno Haible + + msvc-inval: Require a semicolon after DONE_MSVC_INVAL. + * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a + do...while(0). + * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL. + Suggested by Paul Eggert. + +2011-09-19 Bruno Haible + + sched: Ensure pid_t is defined. + * m4/sched_h.m4 (gl_SCHED_H): Arrange to override if it does + not define pid_t. + * lib/sched.in.h: Include . + * doc/posix-headers/sched.texi: Mention the pid_t problem. + Reported by Tom G. Christensen . + +2011-09-19 Bruno Haible + + msvc-inval: Ensure the entire expansion is a single statement. + * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair + of braces. + +2011-09-19 Jim Meyering + + tests: use printf, not echo in init.sh's warn_ function + * tests/init.sh (warn_): Use printf, not echo. The latter would + misbehave when given strings containing a backslash or starting + with e.g., -n. James Youngman suggested setting IFS. + +2011-09-19 Eric Blake + + futimens: enhance test + * tests/test-futimens.h (test_futimens): Also check for EBADF on + closed non-negative fd. + + date: accept 'hence' as opposite of 'ago' + * lib/parse-datetime.y (relative_time_table): Add 'hence'. + * tests/test-parse-datetime.c (main): Enhance test. + Suggested by Jesse Wilson. + +2011-09-19 Jim Meyering + + getcwd: don't fail in a deep directory on a system without openat + Before this change, getcwd would fail when called from a directory + of depth PATH_MAX / 3 or greater. That was due to the fact that + the non-openat implementation used "..", "../..", "../../..", etc. + to access ancestor directories. With too many, that string would + be longer than PATH_MAX. + * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are + using gnulib's openat replacement. + * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when + we're using the replacement function. + +2011-09-14 Martin von Gagern + + maint.mk: avoid warnings from perl about missing files + * top/maint.mk (def_sym_regex): Ignore files listed in + $(gl_other_headers_) that do not exist, say because a project + does not use a corresponding module. + +2011-09-18 Paul Eggert + + stat: use pathmax.h only if needed + * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR. + This is better for Emacs, which does not have a mingw port and + therefore can avoid the pathmax module. + + utimens: remove dependency on dup2 + * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed + to work around the Linux kernel bug. + * modules/utimens (Depends-on): Remove dup2. + +2011-09-18 Bruno Haible + + inet_ntop, inet_pton: Look for it also in libresolv. + * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in + libnsl, search for it in libresolv. + * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise. + Needed on Solaris 7. + +2011-09-18 Bruno Haible + + accept, accept4 tests: Avoid link error on Solaris. + * modules/accept-tests (Makefile.am): Link test-accept against + $(LIBSOCKET). + * modules/accept4-tests (Makefile.am): Link test-accept4 against + $(LIBSOCKET). + + accept4: Avoid link error on Solaris. + * modules/accept4 (Link): New section. + + socket functions: Avoid link errors on Solaris. + * modules/accept (Depends-on): Add socketlib. + (Link): New section. + * modules/bind (Depends-on): Add socketlib. + (Link): New section. + * modules/connect (Depends-on): Add socketlib. + (Link): New section. + * modules/getpeername (Depends-on): Add socketlib. + (Link): New section. + * modules/getsockname (Depends-on): Add socketlib. + (Link): New section. + * modules/getsockopt (Depends-on): Add socketlib. + (Link): New section. + * modules/listen (Depends-on): Add socketlib. + (Link): New section. + * modules/recv (Depends-on): Add socketlib. + (Link): New section. + * modules/recvfrom (Depends-on): Add socketlib. + (Link): New section. + * modules/send (Depends-on): Add socketlib. + (Link): New section. + * modules/sendto (Depends-on): Add socketlib. + (Link): New section. + * modules/setsockopt (Depends-on): Add socketlib. + (Link): New section. + * modules/shutdown (Depends-on): Add socketlib. + (Link): New section. + * modules/socket (Depends-on): Add socketlib. + (Link): New section. + +2011-09-18 Bruno Haible + + ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1). + * tests/test-ptsname.c (main): Terminate the test if it takes longer + than 5 seconds. + * modules/ptsname-tests (configure.ac): Test for alarm. + +2011-09-18 Bruno Haible + + posix_spawn_file_actions_add*: Fix module dependencies. + * modules/posix_spawn_file_actions_addclose (Dependencies): Add + posix_spawn_file_actions_init. + * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise. + * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise. + +2011-09-18 Bruno Haible + + rename, renameat tests: Avoid test failures on FreeBSD 6.4. + * tests/test-rename.h (test_rename): Allow error code EEXIST. + * tests/test-renameat.c (main): Likewise. + +2011-09-18 Bruno Haible + + Tests for module 'accept4'. + * modules/accept4-tests: New file. + * tests/test-accept4.c: New file. + +2011-09-18 Bruno Haible + + Tests for module 'accept'. + * modules/accept-tests: New file. + * tests/test-accept.c: New file. + +2011-09-18 Bruno Haible + + dup2: Support for MSVC. + * lib/dup2.c: Include msvc-inval.h. + (rpl_dup2): Handle invalid parameter notifications during dup2 and + _get_osfhandle calls. + * modules/dup2 (Depends-on): Add msvc-inval. + * doc/posix-functions/dup2.texi: Mention problem on MSVC. + + New module 'msvc-inval'. + * lib/msvc-inval.h: New file. + * lib/msvc-inval.c: New file. + * m4/msvc-inval.m4: New file. + * modules/msvc-inval: New file. + +2011-09-17 Bruno Haible + + Tests for module 'pclose'. + * modules/pclose-tests: New file. + + New module 'pclose'. + * lib/stdio.in.h (pclose): New declaration. + * lib/pclose.c: New file. + * m4/pclose.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared. + (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE. + * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE. + * modules/pclose: New file. + * modules/popen-tests (Depends-on): Add pclose. + * modules/popen-safer-tests (Depends-on): Likewise. + * doc/posix-functions/pclose.texi: Mention the new module. + +2011-09-17 Bruno Haible + + popen: Support for MSVC. + * lib/stdio.in.h (popen): Declare it if the system lacks this function. + * lib/popen.c (popen): Provide alternate definition for native Windows. + * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN. + * modules/popen (Depends-on, configure.ac): Update condition. + * modules/stdio (Makefile.am): Substitute HAVE_POPEN. + * doc/posix-functions/popen.texi: Mention that the MSVC problem is + fixed. + +2011-09-17 Bruno Haible + + isnanl, isnand, isnanf: Work around MSVC bug. + * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity. + +2011-09-17 Bruno Haible + + sys_socket tests: Fix recent mistake. + * tests/test-sys_socket.c (t1): Avoid collision of identifiers. + +2011-09-17 Bruno Haible + + putenv: Support for MSVC. + * modules/putenv (Depends-on): Add environ. + * lib/putenv.c (environ): Disable declaration. + * lib/unistd.in.h: Update comment. + +2011-09-17 Bruno Haible + + math: Avoid macro redefinition warnings on MSVC. + * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl): + Undefine before redefining. + +2011-09-17 Bruno Haible + + doc: Mention functions which are declared as macros. + * doc/posix-functions/*[fl].texi: Mention that some functions are + defined as macros with arguments only. + +2011-09-17 Bruno Haible + + Add dependencies to new dirent related modules. + * modules/backupfile (Depends-on): Add opendir, readdir, closedir. + * modules/fts (Depends-on): Likewise. + * modules/glob (Depends-on): Likewise. + * modules/savedir (Depends-on): Likewise. + * modules/scandir (Depends-on): Likewise. + * modules/dirent-safer (Depends-on): Add opendir, closedir. + * modules/fdopendir (Depends-on): Add opendir. + +2011-09-17 Bruno Haible + + inet_pton: Support for MSVC on Windows Vista or newer. + * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON. + * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if + HAVE_DECL_INET_PTON is defined. + * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2. + On platforms with , test whether inet_pton is declared in + . If so, arrange to replace it. + * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize + REPLACE_INET_PTON. + * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON. + * modules/inet_pton (Files): Add m4/sys_socket_h.m4. + (Depends-on, configure.ac): Update condition. + * doc/posix-functions/inet_pton.texi: Mention the MSVC problem. + +2011-09-17 Bruno Haible + + inet_ntop: Support for MSVC on Windows Vista or newer. + * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP. + * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if + HAVE_DECL_INET_NTOP is defined. + * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2. + On platforms with , test whether inet_ntop is declared in + . If so, arrange to replace it. + * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize + REPLACE_INET_NTOP. + * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP. + * modules/inet_ntop (Files): Add m4/sys_socket_h.m4. + (Depends-on, configure.ac): Update condition. + * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem. + +2011-09-16 Eric Blake + + test-fsync: yet another enhancement + * tests/test-fsync.c (main): Also test behavior on read-only text + file. -2013-03-11 Serge Smetana +2011-09-16 Bruno Haible + + Enhance fsync, fdatasync tests. + * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO. + * tests/test-fdatasync.c (main): Likewise. + +2011-09-16 Bruno Haible + + Support for MSVC compiler: Ensure mode_t gets defined. + * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T. + * m4/spawn_h.m4 (gl_SPAWN_H): Likewise. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise. + * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise. + * tests/test-fcntl-h.c: Check that mode_t is defined. + * tests/test-sys_stat.c: Likewise. + * tests/test-sys_types.c: Likewise. + * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem. + * doc/posix-headers/sys_stat.texi: Likewise. + * doc/posix-headers/sys_types.texi: Likewise. + +2011-09-16 Bruno Haible + + sys_stat: Support for MSVC. + * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists. + * tests/test-sys_stat.c: Don't assume that S_IFBLK exists. + * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on + MSVC. + +2011-09-16 Bruno Haible + + Support for MSVC compiler: Ensure off_t gets defined. + * lib/unistd.in.h: Include . + * tests/test-fcntl-h.c: Check that off_t is defined. + * tests/test-sys_stat.c: Likewise. + * tests/test-sys_types.c: Likewise. + +2011-09-16 Eric Blake + + fdatasync: port to Solaris + * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC. + * modules/fdatasync (Link): Document it. + * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it. + + fdatasync: port to MacOS X 10.7 + * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not + declared. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default. + * modules/unistd (Makefile.am): Substitute it. + * lib/unistd.in.h (fdatasync): Declare on MacOS. + * doc/posix-functions/fdatasync.texi (fdatasync): Document it. + + fdatasync: minor improvements + * modules/fdatasync (Depends-on): Add condition for fsync. + * lib/fdatasync.c (fdatasync): Add comment. + * tests/test-unistd-c++.cc: Test fdatasync. + + unistd: update refs to newer POSIX + * lib/unistd.in.h: Prefer POSIX 2008 over 2001. + Suggested by Bruno Haible. + + fdatasync: new module + * modules/fsync (Description): Document difference to fdatasync. + * modules/fdatasync: New module. + * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file. + * lib/fdatasync.c (fdatasync): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up + defaults. + * modules/unistd (Makefile.am): Set witnesses. + * lib/unistd.in.h (fdatasync): Declare. + * MODULES.html.sh: Document it. + * doc/posix-functions/fdatasync.texi (fdatasync): Likewise. + * modules/fdatasync-tests: New test. + * tests/test-fdatasync.c: Likewise. + +2011-09-16 Eric Blake + + test-fsync: enhance tests + * modules/fsync-tests (Depends-on): Add errno, for mingw. + * tests/test-fsync.c (main): Enhance test. + +2011-09-15 Bruno Haible + + Support for MSVC compiler: Ensure ssize_t gets defined. + * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem. + * doc/posix-headers/stdio.texi: Likewise. + * modules/stdio (Depends-on): Add ssize_t. + * modules/sys_socket (Depends-on): Likewise. + * modules/sys_types (Depends-on): Likewise. + * modules/sys_uio (Depends-on): Likewise. + * modules/unistd (Depends-on): Likewise. + * tests/test-sys_socket.c: Check that size_t and ssize_t are defined. + * tests/test-sys_types.c: Check that ssize_t is defined. + +2011-09-14 Bruno Haible + + Avoid using #, the m4 comment starter character, near brackets. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as + delimiter character in sed expressions. + * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise. + Suggested by Eric Blake. + + Properly quote AC_CHECK_DECLS' 4th argument. + * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th + argument. + * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise. + * m4/ceill.m4 (gl_FUNC_CEILL): Likewise. + * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise. + * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise. + * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise. + * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise. + * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise. + * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise. + * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise. + * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise. + * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise. + * m4/isfinite.m4 (gl_ISFINITE): Likewise. + * m4/isinf.m4 (gl_ISINF): Likewise. + * m4/logb.m4 (gl_FUNC_LOGB): Likewise. + * m4/readutmp.m4 (gl_READUTMP): Likewise. + * m4/regex.m4 (gl_PREREQ_REGEX): Likewise. + * m4/round.m4 (gl_FUNC_ROUND): Likewise. + * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise. + * m4/signbit.m4 (gl_SIGNBIT): Likewise. + * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise. + * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise. + * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise. + * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise. + * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise. + * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise. + Reported by Eric Blake. + + Properly quote AC_CHECK_DECL's 4th argument. + * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th + argument. + * m4/argp.m4 (gl_ARGP): Likewise. + * m4/asinl.m4 (gl_FUNC_ASINL): Likewise. + * m4/atanl.m4 (gl_FUNC_ATANL): Likewise. + * m4/cosl.m4 (gl_FUNC_COSL): Likewise. + * m4/expl.m4 (gl_FUNC_EXPL): Likewise. + * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise. + * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise. + * m4/logl.m4 (gl_FUNC_LOGL): Likewise. + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise. + * m4/sinl.m4 (gl_FUNC_SINL): Likewise. + * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise. + * m4/tanl.m4 (gl_FUNC_TANL): Likewise. + Reported by Eric Blake. + +2011-09-14 Eric Blake + + opendir: avoid compile warning + * lib/opendir.c (includes): Always include errno.h. + Reported by Tatsuro MATSUOKA. + +2011-09-14 Jim Meyering + + maint.mk: sc_tight_scope: propagate failure from sub-make + * top/maint.mk (sc_tight_scope): Actually initialize and use $fail. + Reported by Martin von Gagern. + +2011-09-13 Bruno Haible + + tempname: Support for MSVC. + * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on + MSVC. + * modules/tempname (Depends-on): Add fcntl-h. + +2011-09-13 Bruno Haible + + sys_time: Support for MSVC. + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke + gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also + include . + * lib/sys_time.in.h: On MSVC, include and hide its + function declarations that collide with POSIX. + * modules/sys_time (Files): Add m4/sys_socket_h.m4. + (Makefile.am): Substitute HAVE_WINSOCK2_H. + +2011-09-13 Bruno Haible + + stat: Support for MSVC. + * lib/stat.c: Include pathmax.h. + * modules/stat (Depends-on): Add pathmax. + + pathmax: Support for native Windows. + * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows. + +2011-09-12 Bruno Haible + + New modules 'opendir', 'readdir', 'rewinddir', 'closedir'. + * lib/dirent.in.h (struct dirent): New type. + (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK, + DT_WHT): New macros. + (DIR): New type. + (opendir, closedir): Declare only if the module 'opendir' is enabled. + (readdir, rewinddir): New declarations. + * lib/dirent-private.h: New file. + * lib/opendir.c: New file. + * lib/readdir.c: New file. + * lib/rewinddir.c: New file. + * lib/closedir.c: New file. + * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions. + * m4/opendir.m4: New file. + * m4/readdir.m4: New file. + * m4/rewinddir.m4: New file. + * m4/closedir.m4: New file. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR, + REPLACE_CLOSEDIR here. + * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir, + readdir, rewinddir are declared. + (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR, + GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR, + HAVE_REWINDDIR, HAVE_CLOSEDIR. + * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR, + GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, + HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR. + * modules/opendir: New file. + * modules/readdir: New file. + * modules/rewinddir: New file. + * modules/closedir: New file. + * doc/posix-functions/opendir.texi: Mention the 'opendir' module. + * doc/posix-functions/readdir.texi: Mention the 'readdir' module. + * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module. + * doc/posix-functions/closedir.texi: Mention the 'closedir' module. + * NEWS: Mention the 'fchdir' change. + +2011-09-11 Bruno Haible + + asm-underscore.m4: Support for MSVC. + * m4/asm-underscore.m4 (gl_C_ASM): New macro. + (gl_ASM_SYMBOL_PREFIX): Require it. Use its results. + +2011-09-11 Reuben Thomas + + Doc about crypt functions. + * doc/posix-functions/crypt.texi: Expand range of glibc versions + needing for _GNU_SOURCE to get crypt. + * doc/posix-functions/encrypt.texi: Likewise. + * doc/posix-functions/setkey.texi: Likewise. + +2011-09-11 Bruno Haible + + doc: Update regarding MSVC 9. + * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely + tested". + * doc/posix-functions/*.texi: Update with info about MSVC 9. + * doc/posix-headers/*.texi: Likewise. + * doc/pastposix-functions/*.texi: Likewise. + * doc/glibc-functions/*.texi: Likewise. + * doc/glibc-headers/*.texi: Likewise. + +2011-09-11 Bruno Haible + + unistd et al.: Don't assume exists. + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include if it + does not exist. + * m4/environ.m4 (gl_ENVIRON): Don't include if it does not + exist. But include . + * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If does not exist, + include and instead. Don't test symbolink links if + symlink() does not exist. + * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If does not exist, + include instead. + * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows. + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If does not exist, + include instead. + * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise. + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise. + * m4/lseek.m4 (gl_FUNC_LSEEK): If does not exist, include + instead. + * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links + correctly if the system does not have hard links. + * m4/rmdir.m4 (gl_FUNC_RMDIR): If does not exist, include + instead. + * m4/unistd_h.m4 (gl_UNISTD_H): If does not exist, bypass + it when looking for function declarations. + * m4/unlink.m4 (gl_FUNC_UNLINK): If does not exist, include + and instead. + * doc/posix-headers/unistd.texi: More details about MSVC problem. + +2011-09-11 Bruno Haible + + strcase: Support for MSVC. + * modules/strcase (Status, Notice): Remove obsoletion mark. + * doc/posix-functions/strcasecmp.texi: Mention MSVC problem. + * doc/posix-functions/strncasecmp.texi: Likewise. + + strings: Don't assume exists. + * lib/strings.in.h: Include only if HAVE_STRINGS_H is 1. + * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H. + * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H. + * doc/posix-headers/strings.texi: Mention the MSVC problem. + +2011-09-11 Bruno Haible + + dirent: Don't assume exists. + * lib/dirent.in.h: Include only if HAVE_DIRENT_H is 1. + * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H. + * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H. + * doc/posix-headers/dirent.texi: Mention the MSVC problem. + +2011-09-11 Bruno Haible + + Fix wint_t on MSVC. + * lib/wchar.in.h (wint_t): On MSVC, override it. + * lib/wctype.in.h (wint_t): Likewise. + * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on + MSVC. + * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC. + * doc/posix-headers/wctype.texi: Likewise. + +2011-09-11 Bruno Haible + + sys_types: Fix typo. + * lib/sys_types.in.h: Fix typo in comment. + Reported by Paul Eggert. + + Support for MSVC compiler: Ensure size_t gets defined. + * modules/strings (Depends-on): Add 'sys_types'. + * modules/sys_uio (Depends-on): Likewise. + * lib/sys_uio.in.h: Update comment. + + C++ tests for module 'sys_types'. + * modules/sys_types-c++-tests: New file. + * tests/test-sys_types-c++.cc: New file. + + Tests for module 'sys_types'. + * modules/sys_types-tests: New file. + * tests/test-sys_types.c: New file. + + New module 'sys_types'. + * lib/sys_types.in.h: New file. + * m4/sys_types_h.m4: New file. + * modules/sys_types: New file. + * doc/posix-headers/sys_types.texi: Mention the new module and the + size_t problem on MSVC 9. + +2011-09-11 Bruno Haible + + Support for MSVC compiler: Avoid division by a literal 0. + * lib/math.in.h (NAN): Define through a function call also on MSVC. + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0. + * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A, + gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise. + (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L. + * tests/infinity.h: New file. + * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also + on MSVC. + * tests/test-ceilf1.c: Include infinity.h. + (main): Use Infinityf. + * tests/test-ceil1.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-ceill.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-dprintf-posix.c: Include infinity.h. + (test_function): Use Infinityd. + * tests/test-floorf1.c: Include infinity.h. + (main): Use Infinityf. + * tests/test-floor1.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-floorl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-fprintf-posix.c: Include infinity.h. + (test_function): Use Infinityd. + * tests/test-frexp.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-frexpl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-isfinite.c: Include infinity.h. + (test_isfinitef): Use Infinityf. + (test_isfinited): Use Infinityd. + (test_isfinitel): Use Infinityl. + * tests/test-isinf.c: Include infinity.h. + (test_isinff): Use Infinityf. + (test_isinfd): Use Infinityd. + (test_isinfl): Use Infinityl. + * tests/test-isnan.c: Include infinity.h. + (test_float): Use Infinityf. + (test_double): Use Infinityd. + (test_long_double): Use Infinityl. + * tests/test-isnanf.h: Include infinity.h. + (main): Use Infinityf. + * tests/test-isnand.h: Include infinity.h. + (main): Use Infinityd. + * tests/test-isnanl.h: Include infinity.h. + (main): Use Infinityl. + * tests/test-ldexpl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-printf-posix.h: Include infinity.h. + (test_function): Use Infinityd. + * tests/test-roundf1.c: Include infinity.h. + (main): Use Infinityf. + * tests/test-round1.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-roundl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-signbit.c: Include infinity.h. + (test_signbitf): Use Infinityf. + (test_signbitd): Use Infinityd. + (test_signbitl): Use Infinityl. + * tests/test-snprintf-posix.h: Include infinity.h. + (test_function): Use Infinityd, Infinityl. + * tests/test-sprintf-posix.h: Include infinity.h. + (test_function): Use Infinityd, Infinityl. + * tests/test-truncf1.c: Include infinity.h. + (main): Use Infinityf. + * tests/test-trunc1.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-truncl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-vasnprintf-posix.c: Include infinity.h. + (test_function): Use Infinityd, Infinityl. + * tests/test-vasprintf-posix.c: Include infinity.h. + (test_function): Use Infinityd, Infinityl. + * modules/ceilf-tests (Files): Add tests/infinity.h. + * modules/ceil-tests (Files): Likewise. + * modules/ceill-tests (Files): Likewise. + * modules/dprintf-posix-tests (Files): Likewise. + * modules/floorf-tests (Files): Likewise. + * modules/floor-tests (Files): Likewise. + * modules/floorl-tests (Files): Likewise. + * modules/fprintf-posix-tests (Files): Likewise. + * modules/frexp-tests (Files): Likewise. + * modules/frexp-nolibm-tests (Files): Likewise. + * modules/frexpl-tests (Files): Likewise. + * modules/frexpl-nolibm-tests (Files): Likewise. + * modules/isfinite-tests (Files): Likewise. + * modules/isinf-tests (Files): Likewise. + * modules/isnan-tests (Files): Likewise. + * modules/isnanf-tests (Files): Likewise. + * modules/isnanf-nolibm-tests (Files): Likewise. + * modules/isnand-tests (Files): Likewise. + * modules/isnand-nolibm-tests (Files): Likewise. + * modules/isnanl-tests (Files): Likewise. + * modules/isnanl-nolibm-tests (Files): Likewise. + * modules/ldexpl-tests (Files): Likewise. + * modules/printf-posix-tests (Files): Likewise. + * modules/roundf-tests (Files): Likewise. + * modules/round-tests (Files): Likewise. + * modules/roundl-tests (Files): Likewise. + * modules/signbit-tests (Files): Likewise. + * modules/snprintf-posix-tests (Files): Likewise. + * modules/sprintf-posix-tests (Files): Likewise. + * modules/truncf-tests (Files): Likewise. + * modules/trunc-tests (Files): Likewise. + * modules/truncl-tests (Files): Likewise. + * modules/vasnprintf-posix-tests (Files): Likewise. + * modules/vasprintf-posix-tests (Files): Likewise. + * modules/vdprintf-posix-tests (Files): Likewise. + * modules/vfprintf-posix-tests (Files): Likewise. + * modules/vprintf-posix-tests (Files): Likewise. + * modules/vsnprintf-posix-tests (Files): Likewise. + * modules/vsprintf-posix-tests (Files): Likewise. + * modules/xprintf-posix-tests (Files): Likewise. + +2011-09-11 Bruno Haible + + Ensure pid_t gets defined. + * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T. + * m4/sched_h.m4 (gl_SCHED_H): Likewise. + * m4/signal_h.m4 (gl_SIGNAL_H): Likewise. + * m4/spawn_h.m4 (gl_SPAWN_H): Likewise. + * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise. + * m4/termios_h.m4 (gl_TERMIOS_H): Likewise. + * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. + * tests/test-fcntl-h.c: Check that pid_t is defined. + * tests/test-sched.c: Likewise. + * tests/test-termios.c: Likewise. + * tests/test-time.c: Likewise. + * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform. + * doc/posix-headers/signal.texi: Likewise. + * doc/posix-headers/sys_types.texi: Likewise. + * doc/posix-headers/time.texi: Likewise. + +2011-09-11 Bruno Haible + + acl: Fix compilation on Solaris 10 (older version). + * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead + of ACE_EVERYONE. + * lib/set-mode-acl.c (qset_acl): Likewise. + Reported by Christian Jullien . + +2011-09-10 Bruno Haible + + iconv, unsetenv: Add support for MSVC compiler. + * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC. + * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers. + +2011-09-10 Bruno Haible + + *printf: Add support for MSVC compiler. + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that + handles the exception caused by the %n directive. When cross-compiling, + guess no on native Windows. + (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99, + gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing, + emulate it through vsnprintf. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment. + * doc/posix-functions/dprintf.texi: Update documentation regarding + MSVC 9. + * doc/posix-functions/fprintf.texi: Likewise. + * doc/posix-functions/printf.texi: Likewise. + * doc/posix-functions/snprintf.texi: Likewise. + * doc/posix-functions/sprintf.texi: Likewise. + * doc/posix-functions/swprintf.texi: Likewise. + * doc/posix-functions/vdprintf.texi: Likewise. + * doc/posix-functions/vfprintf.texi: Likewise. + * doc/posix-functions/vprintf.texi: Likewise. + * doc/posix-functions/vsnprintf.texi: Likewise. + * doc/posix-functions/vsprintf.texi: Likewise. + * doc/glibc-functions/asprintf.texi: Likewise. + * doc/glibc-functions/obstack_printf.texi: Likewise. + * doc/glibc-functions/obstack_vprintf.texi: Likewise. + * doc/glibc-functions/vasprintf.texi: Likewise. + +2011-09-10 Bruno Haible + + nocrash: Add support for native Windows. + * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows. + +2011-09-10 Michael Goffioul (tiny change) + Bruno Haible + + absolute-header, include-next: Add support for MSVC compiler. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require + AC_CANONICAL_HOST. On native Windows, recognize also backslash as + directory separator in #line directives. + * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows, + recognize also backslash as directory separator in #line directives. + +2011-09-08 Jim Meyering + + maint.mk: mark the post-release commit log with "maint: " prefix + * top/maint.mk (emit-commit-log): Add "maint: " prefix to the + one-line commit-log summary. + +2011-09-08 Reuben Thomas + Bruno Haible + + Doc about crypt functions. + * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc + systems. + * doc/posix-functions/encrypt.texi: Likewise. + * doc/posix-functions/setkey.texi: Likewise. + +2011-09-08 Simon Josefsson + + * lib/gc.h: Fix copyright header. + +2011-09-07 Bruno Haible + + pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1. + * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and + AC_LINK_IFELSE instead of AC_SEARCH_LIBS. + +2011-09-07 Bruno Haible + + openat: Work around compilation error with OSF/1 5.1 DTK cc. + * lib/fopen.c: Use different syntax for include of . + * lib/freopen.c: Likewise. + * lib/fstatat.c: Use different syntax for include of . + * lib/lstat.c: Likewise. + * lib/stat.c: Likewise. + * lib/open.c: Use different syntax for include of . + * lib/openat.c: Include fcntl.h again, explicitly. + +2011-09-04 J.T. Conklin + + parse-datetime: document the newly accepted format + * doc/parse-datetime.texi (Combined date and time of day items): + New section. + +2011-09-06 Bruno Haible + + acl: Fix a test failure on newer Solaris 10 with ZFS. + * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with + ENOSYS as no ACL. + Reported by Jim Meyering. + +2011-09-06 Bruno Haible + + acl: Update for AIX >= 5.3 with NFS. + * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with + ENOSYS as no ACL. + + acl: Fix a test failure on AIX >= 5.3 with NFS. + * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS + as no ACL. + +2011-09-06 Bruno Haible + + acl: Fix a test failure on IRIX 6.5 with NFS. + * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX. + * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead + of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always. + * lib/copy-acl.c (qcopy_acl): Likewise. + +2011-09-05 Paul Eggert + + openat: port to AIX 7.1 with large files + AIX 7.1 does a "#define openat open64at" if large files are in use, + so we can't simply #undef openat. Use the orig_openat trick (similar + to orig_open in lib/open.c) to work around the problem. Problem + reported by Kevin Brott for GNU tar, in the thread containing + . + * lib/openat.c (__need_system_fcntl_h): Define first. + Include and before undefining. + (orig_openat) [HAVE_OPENAT]: New inline function. + (openat) [HAVE_OPENAT]: Do not undef. + (rpl_openat): Use orig_openat, not openat. + +2011-09-05 Joachim Schmitz (tiny change) + Bruno Haible + + acl: Avoid errors on NonStop Kernel. + * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and + ENOTSUP errors. + +2011-09-05 Bruno Haible + + acl: Clean up Solaris code. + * lib/acl-internal.h: Remove no-op #if. + * lib/file-has-acl.c: Likewise. + * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code. + * lib/copy-acl.c (qcopy_acl): Likewise. + +2011-09-05 Bruno Haible + + acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in + binaries built on the original Solaris 10. + * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be + trivial. + +2011-09-05 Bruno Haible + + acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version). + * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris + 10. + * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10. + (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs. + * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl + instead of acl_get, facl_get, acl_set, facl_set. + +2011-09-05 Bruno Haible + + copy-file: Try unit tests on more file systems. + * tests/test-copy-file-1.sh: New file. + * tests/test-copy-file-2.sh: New file. + * modules/copy-file-tests (Files): Add them. + (Makefile.am): Add them to TESTS. + + acl: Try unit tests on more file systems. + * tests/test-file-has-acl-1.sh: New file. + * tests/test-file-has-acl-2.sh: New file. + * tests/test-set-mode-acl-1.sh: New file. + * tests/test-set-mode-acl-2.sh: New file. + * tests/test-copy-acl-1.sh: New file. + * tests/test-copy-acl-2.sh: New file. + * modules/acl-tests (Files): Add them. + (Makefile.am): Add them to TESTS. + +2011-09-04 Bruno Haible + + acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version). + * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris + 10. + (OLD_ALLOW, OLD_DENY): New macros. + (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from + ACE_ACCESS_ALLOWED_ACE_TYPE. + (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from + ACE_ACCESS_DENIED_ACE_TYPE. + (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros. + (NEW_ACE_EXECUTE): Fix value. + (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS, + NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD, + NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE, + NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER, + NEW_ACE_SYNCHRONIZE): New macros. + * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl + instead of acl_fromtext, acl_set, facl_set. + Fixes a coreutils/tests/cp/perm failure. + +2011-09-03 Paul Eggert + + openat: test for fstatat (..., 0) bug + Further testing with tar suggests that fstatat (..., 0) + does not work in general, on AIX 7.1; see + . + So, give up entirely on AIX 7.1's fstatat, and fall back on our + replacement fstatat (which is what older AIX releases were using + anyway). + * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef. The only + use is now changed to orig_fstatat. This was probably the right + thing to do anyway. + (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used. + (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove. + (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN. + (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat. + * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug + and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN, + if the bug is found. + + openat: test for fstatat (AT_FDCWD, ..., 0) bug + This tests for another fstatat bug on AIX 7.1: + fstatat (AT_FDCWD, ..., 0) does not work. See + . + * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN) + (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0. + (rpl_fstatat): Adjust so that it works around either (or both) + bugs if present. + * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug. + +2011-09-03 Karl Berry + + * doc/regex.texi (Character Class Operators): Avoid literal ":" + in index entries. + +2011-09-02 Bruno Haible + + Allow the user to override the choice of AR, ARFLAGS, RANLIB. + * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given + values of AR, ARFLAGS, RANLIB. + Reported by John W. Eaton for Octave. + +2011-09-02 Bruno Haible + + Find 'ar' program that fits with --host argument. + * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL. + +2011-09-02 Bruno Haible + + tests: init.sh: Support any non-GNU diff. + * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is + not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1, + Solaris 8. + +2011-09-02 Bruno Haible + + tests: init.sh: work also with any non-GNU diff that supports -u + * tests/init.sh: Relax check for diff -u support. + Rather than checking for GNU diff via --version, simply check + for support for -u itself. Useful at least on OpenBSD 4.9, + AIX 7.1, IRIX 6.5, and Solaris 10. + +2011-09-01 Bruno Haible + + strtoimax, strtoumax: Document problem on HP-UX 11. + * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem. + * doc/posix-functions/strtoumax.texi: Likewise. + +2011-09-01 Bruno Haible + + strtoumax: Avoid link error on OSF/1 with DTK cc. + * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is + defined as a function. + * modules/strtoumax (Depends-on, configure.ac): Test only whether + strtoumax is defined, not whether it is declared. + +2011-09-01 Bruno Haible + + strtoimax: Avoid link error on OSF/1 with DTK cc. + * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is + defined as a function. + * modules/strtoimax (Depends-on, configure.ac): Test only whether + strtoimax is defined, not whether it is declared. + +2011-09-01 Bruno Haible + + imaxdiv: Avoid link error on OSF/1 with DTK cc. + * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined + as a function. + * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not + whether it is declared. + +2011-09-01 Bruno Haible + + imaxabs: Avoid link error on OSF/1 with DTK cc. + * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined + as a function. + * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not + whether it is declared. + +2011-09-01 Bruno Haible + + Tests for module 'strtoumax'. + * modules/strtoumax-tests: New file. + * tests/test-strtoumax.c: New file. + + Tests for module 'strtoimax'. + * modules/strtoimax-tests: New file. + * tests/test-strtoimax.c: New file. + + Tests for module 'imaxdiv'. + * modules/imaxdiv-tests: New file. + * tests/test-imaxdiv.c: New file. + + Tests for module 'imaxabs'. + * modules/imaxabs-tests: New file. + * tests/test-imaxabs.c: New file. + +2011-09-01 Bruno Haible + + pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5. + * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not + pthread_create. + +2011-09-01 Paul Eggert + + openat: work around AIX 7.1 fstatat issue + This should fix the problem that was not properly fixed + in the previous change, dated 2011-08-30. + * lib/fstatat.c: Include twice, the first with + __need_system_stat_h defined. + (orig_fstatat) [HAVE_FSTATAT]: New function. + (rpl_fstatat): Go back to the old way of doing things, + except call orig_fstatat instead of fstatat. + * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat. + Remove unnecessary check whether fstatat fills in st_size etc. + +2011-09-01 Bruno Haible + + sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5. + * lib/sys_select.in.h [__sgi]: When included from , + just include the system's header. + +2011-08-31 Jim Meyering + + tests: avoid spurious assertion failure in test-float.c on ppc64 + * tests/test-float.c (test_long_double): Comment out an assertion, + LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64 + with gcc-4.4.4. + + maint: indent with spaces, not TABs + I need to get in the habit of running gnulib's "make check". + Both of these would have been caught. + * m4/largefile.m4: Indent with spaces, not TABs. + * lib/parse-datetime.y (iso_8601_time): Likewise. + Spotted by Pádraig Brady. + + test-parse-datetime.c: accommodate a relatively strict gcc warning + * tests/test-parse-datetime.c (gmt_offset): Declare function "static", + to avoid a warning from gcc's -Werror=missing-declarations. + Insert a few spaces-before-funcall-parenthesis. + +2011-08-17 J.T. Conklin + + parse-datetime: accept ISO 8601 date and time rep with "T" separator + The parser now accepts ISO 8601 date-time strings with "T" as the + separator. It has long parsed dates like "2004-02-29 16:21:42" + with a space between the date and time strings. Now it also parses + "2004-02-29T16:21:42" and fractional-second and time-zone-annotated + variants like "2004-02-29T16:21:42.333-07:00" + * lib/parse-datetime.y: Parse ISO 8601 extended date and time + of day representation using the 'T' separator character. + * doc/parse-datetime.texi (General date syntax): replace use of + deprecated --iso-8601 option with --rfc-3339 in example of date + command output formats that can be parsed. + * tests/test-parse-datetime.c (tm_diff): New function, taken from + lib/parse-datetime.y. + (gmt_offset): New function. + (main): Add additional test cases to validate ISO8601 extended + date and time of day parsing. + +2011-08-31 Bruno Haible + + freopen: Documentation. + * doc/posix-functions/freopen.texi: Document the bug with the NULL file + name. + Reported by Claudio Bley . + +2011-08-31 Claudio Bley (tiny change) + + freopen: Don't crash if the filename argument is NULL. + * lib/freopen.c (rpl_freopen): Don't compare the filename if it is + NULL. + +2011-08-30 Paul Eggert + + openat: work around AIX 7.1 fstatat bug + Problem reported by Kevin Brott for GNU tar, in the thread containing + . + * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if + FSTATAT_ST_SIZE_ETC_BROKEN. + (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to + rpl_fstatat. + * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant + part of gl_FUNC_OPENAT. Also, check for the AIX 7.1 bug, and use + AC_CHECK_FUNCS_ONCE for fstatat. + (gl_FUNC_OPENAT): Use it. Use AC_CHECK_FUNCS_ONCE for + fchmodat, mkdirat, openat and unlinkat. + +2011-08-30 Bruno Haible + + Avoid endless recursions if config.h includes some header files. + * lib/fopen.c (__need_FILE): Define already before including config.h. + * lib/freopen.c (__need_FILE): Likewise. + * lib/open.c (__need_system_fcntl_h): Likewise. + * lib/stat.c (__need_system_sys_stat_h): Likewise. + * lib/lstat.c (__need_system_sys_stat_h): Likewise. + Reported by Michael Goffioul . + +2011-08-25 Karl Berry + + * config/srclist.txt (ylwrap): new try. + * build-aux/ylwrap: new file. + +2011-08-23 Bruno Haible + + tmpdir: Use a good default directory on native Windows. + * lib/tmpdir.c: Include , pathmax.h. + (P_tmpdir): Default to _P_tmpdir on native Windows. + (path_search): On native Windows, try the value returned by GetTempPath + before trying P_tmpdir. + * modules/tmpdir (Depends-on): Add pathmax. + Suggested by John Darrington . + +2011-08-20 Reuben Thomas + + doc: fix typo in README-release + * top/README-release: Capitalize first word of a sentence. + +2011-08-19 Jim Meyering + + fts: do not exhaust memory when processing million-entry directories + Before this change, traversing (via rm -rf, find, du, etc.) an N-entry + directory would require about 256*N bytes of memory. Thus, it was + easy to construct a directory too large to be processed by any of + those tools. With this change, fts' maximum memory utilization is + now limited to around 30MB. + * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define. + (fts_read): When we've processed the final entry (i.e., when + ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build + using the parent entry to read any remaining entries. Dispatch + depending on what fts_build returns: + - NULL+stop, aka failure: stop + - NULL otherwise: move up in the dir hierarchy + - non-NULL: handle this new entry + (fts_build): Declare and use new local, continue_readdir. + Prepare to be called from fts_read, when the entries + from a partially-read directory have just been exhausted. + In that case, we'll skip the opendir and instead use the parent's + fts_dirp and derive dir_fd from that. + Finally, in the readdir loop, if we read max_entries entries, + exit the loop ensuring *not* to call closedir. This is required + so that fts_dirp can be reused on a subsequent call. + Prompted by Ben England's report of memory exhaustion in find + and rm -rf vs. NFS: https://bugzilla.redhat.com/719749. + + maint: fts: move decl of `dp' down into while loop; split a long line + * lib/fts.c (fts_build): No semantic change. + + fts: add/use new struct member, fts_dirp + We are about to use this to manage any directory with + too many entries to read all of them into memory at once. + To do that, we'll need to save the DIR* pointer in each + affected FTSENT struct. + * lib/fts_.h: Include . + (struct FTSENT) [fts_dirp]: New member. + * lib/fts.c (closedir_and_clear): Define. + Use it in place of closedir so that we are sure to + clear the new fts_dirp member when done with it. + (fts_alloc): Initialize the new member. + (fts_lfree): Free, if needed. + + maint: fts: give __opendir2 a new parameter and rename + * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather + than surreptitiously using sole caller's "dir_fd". + (fts_opendir): Rename from __opendir2. + + maint: fts.c: remove __opendir2's now-unused parameter, oflag + * lib/fts.c (__opendir2): Remove unused parameter, oflag. + + maint: fts.c: correct off-by-one indentation + * lib/fts.c (fts_build): Correct indentation, change style + of a couple of block comments, and bracing style. + + maint: fts.c: move __opendir2 #define "up" out of function body + * lib/fts.c (__opendir2): Move "up". No semantic change. + + maint: fts.c: remove #if-0'd FTS_WHITEOUT code + * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code. It's been #if-0'd + out for a long time and besides was useful only on BSD systems. + +2011-08-18 Paul Eggert + + regex: port to Stratus OpenVOS + * lib/regex_internal.h (internal_function) [!_LIBC]: Simply + define to empty, rather than attempting nonportable optimizations. + Problem reported by Paul Green in: + http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html + and fix suggested by Eric Blake in: + http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html + +2011-08-17 Eric Blake + + getcwd: fix test failures on mingw + * lib/getcwd.c (__getcwd): Early exit for ERANGE. + * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail + test if long directory cannot be created, and allow mingw errno. + + getcwd-lgpl: fix m4 to match relaxed test for BSD + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe. + (gl_FUNC_GETCWD_SIGNATURE): New macro. + (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it. + * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of + signature problem. + + getcwd: fix compilation on mingw64 + * lib/unistd.in.h (includes) [mingw]: Include for + getcwd. + Reported by Marc-André Lureau. + + pipe2: silence compiler warning + * lib/pipe2.c (pipe2): Hide label if it is not used. + +2011-08-15 Ben Pfaff + + relocatable-prog: fix link error + * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also + invoke AC_LIBOBJ([relocatable]). This invocation was previously + in the gl_RELOCATABLE_LIBRARY macro. That invocation was moved + into modules/relocatable-lib without noticing that + modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and + also needs to build relocatable.c. + +2011-08-12 Paul Eggert + + getaddrinfo: fix sh typo in gai_strerrorA decl checking + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated + shell code: it contained a 'break' that was not in a loop. + Apparently the macro assumed that AC_CHECK_DECLS is implemenented + via a shell-language loop; this may have been true in old Autoconf + versions, but it's not true in Autoconf 2.68. I found this bug + when testing coreutils git on Solaris 8, whose shell complains + about the syntax error. + +2011-08-12 Simon Josefsson - Added lens for Dovecot config files + * lib/base64.c: Fix comment to reference RFC 4648. + Suggested by Bruno Haible and Gijs van Tulder + . -2013-03-01 Dominic Cleal +2011-08-11 Paul Eggert - * src/augtool.c (usage): fix spelling error + * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch. -2013-02-07 Raphaël Pinson + po/Makefile.in.in: fix make -q problem + * build-aux/po/Makefile.in.in (check-macro-version): Remove this + rule, since there's no file named 'check-macro-version' and its + use as a file breaks make -q. + (all): Don't depend on check-macro-version. + (CHECK_MACRO_VERSION): New macro. + (stamp-po): Use it. + + configmake: fix make -q problem + * modules/configmake (configmake.h): Update configmake.h's time stamp + even if the file does not change. Otherwise, 'make -q' fails. + Problem reported by Simon Josefsson in + . - Krb5: Improve performances +2011-08-11 Jim Meyering -2013-02-07 Raphaël Pinson + git-version-gen: correct the advice in a comment + * build-aux/git-version-gen: Correct comment. + Don't recommend to list .tarball-version in .gitignore. - IniFile: Support dos eol - Subversion: Support dos eol - Desktop: Support dos eol - MySQL: Support dos eol - Samba: Support dos eol - Yum: Support dos eol - Krb5: Support dos eol +2011-08-10 Paul Eggert - IniFile: Add empty_generic_nocomment - Rx: make no_spaces compatible with doseol - Schroot: Use empty_generic_nocomment + base64: fix off-by-one buffer size bug + Problem and (trivial) fix reported by Gijs van Tulder in + . + * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte. + * tests/test-base64.c (main): Catch the bug. -2013-02-07 Raphaël Pinson +2011-08-10 Eric Blake - IniFile: Allow quotes inside bare values + closein: correct comments + * lib/closein.c (close_stdin): Improve comments. - IniFile: Multiline values can begin with a single newline +2011-08-09 Bruno Haible - IniFile: Add empty_generic and empty_noindent - Subversion: Use IniFile.empty_noindent + More tests for 'fseeko'. + * tests/test-fseeko3.c: New file, from Eric Blake. + * tests/test-fseeko3.sh: New file. + * modules/fseeko-tests (Files): Add them. + (TESTS): Add test-fseeko3.sh. + (check_PROGRAMS): Add test-fseeko3. - IniFile: Add entry_generic and entry_multiline_generic - Subversion: Use IniFile.entry_multiline_generic +2011-08-09 Eric Blake - IniFile: Allow spaces in entry_multiline* values + fseeko: remove unneeded hack + * lib/fseeko.c (fseeko): Don't special-case SEEK_END. -2013-02-07 Raphaël Pinson + fseeko: fix bug on glibc + * lib/fseeko.c (fseeko): Set stream offset to match fd offset. + Reported by John W. Eaton. - IniFile: Use Util.comment_generic and Util.empty - Add put test for ace +2011-08-08 Bruno Haible - Lightdm: empty comments are mapped as empty - PHP: empty comments are mapped as empty - Odbc: empty comments are mapped as empty - Samba: empty comments are mapped as empty - Krb5: Fix tests for new IniFile.empty - MySQL: Support smart quotes and empty comments - Yum: Use Util.empty instead of IniFile.empty - Subversion: Adapt to new IniFile.empty definition - Systemd: Fix tests for new IniFile.empty + unictype/base: Fix interoperability with preinstalled libunistring. + * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4. + Reported by Simon Josefsson. -2013-02-07 Raphaël Pinson +2011-08-08 Bruno Haible - IniFile: Support smart quotes - Add support for smart quotes in IniFile lenses. - Fix PHP lens to support smart quotes. - Subversion: Adapt to smart quotes but allow ; in values - Schroot: Support smart quotes + iswblank: Detect declaration correctly. + * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in + AC_CHECK_DECLS invocation. - IniFile: Add ready-to-use lns_loose and lns_loose_multiline lenses +2011-08-08 Bruno Haible -2013-02-06 Andrew Anderson + tcgetsid: Detect declaration correctly. + * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in + AC_CHECK_DECLS invocation. + Reported by Simon Josefsson. - Krb5: fix parse error with IPA generated krb5.conf +2011-08-08 Eric Blake -2013-02-06 Igor Pashev + largefile: fix typo that regressed large file support + * modules/largefile (configure.ac-early): Fix section name. - * configure.ac: better detection of how to pass version script to linker - This now also works on Illumos when using GNU ld +2011-08-06 Karl Berry - Fixes https://fedorahosted.org/augeas/ticket/289 + * MODULES.html.sh (func_all_files): _Noreturn is no longer + a separate module. -2013-02-06 Jan Pokorný +2011-08-05 Simon Josefsson - lenses.tex: fix typos, single-quote cleanup + openat: Fix warnings and commens when building unlinkat.c on Hurd. + * lib/unlinkat.c: Mention Hurd in comments. Include stdlib.h to + get prototype for free. -2013-01-23 Dominic Cleal +2011-08-04 Bruno Haible - Shellvars: ignore network configs with brackets in their name - SSIDs containing brackets would cause aug_init failures, as the characters are - parsed in path expressions. + Tests for module 'pathmax'. + * modules/pathmax-tests: New file. + * tests/test-pathmax.c: New file. - Fixes ticket #246 + canonicalize-lgpl: Support larger filenames on the Hurd. + * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192. + Reported by Paul Eggert. -2013-01-23 David Lutterkort + pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise. + * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd. + * lib/chdir-long.h: Include pathmax.h. + * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h. + * lib/getcwd.c: Include pathmax.h instead of . + (PATH_MAX): Remove code that is done by pathmax.h. + * lib/canonicalize.c (PATH_MAX): Provide a fallback value. + * lib/tmpfile.c: Add a comment. + * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf. + * modules/chdir-long (Depends-on): Add pathmax. + * modules/getcwd (Depends-on): Add pathmax. + * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX + is not defined. + * doc/posix-headers/limits.texi: Mention the pathmax module. + * NEWS: Mention the change. - augparse: add --trace option - Using --trace will print the filenames of all modules that are loaded. +2011-08-02 Bruno Haible - Shellvars: ignore network configs with ! in their name - NetworkManager would write such files, but that leads to problems during - aug_init, as the attempt to create the node - /augeas/files/etc/sysconfig/network-scripts/FILE!NAME will fail as that is - not a valid path expression + pthread_sigmask: Actually use results of gl_THREADLIB. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require + gl_THREADLIB, not gl_[]THREADLIB. + Reported by Eric Blake. + +2011-08-02 Jim Meyering + + maint.mk: relax the default _gl_TS_function_match regexp + * top/maint.mk (_gl_TS_function_match): Don't require at least one + space between function name and "(" in an "extern" declaration. + That would fail to match a decl with no space there: extern void foo(); + +2011-07-31 Iain Nicol + + git-version-gen: document that EXTRA_DIST must include .version + * build-aux/git-version-gen: In the how-to-use comment, document + that EXTRA_DIST must include .version. Otherwise, "make distcheck" + will fail when run from an unpacked distribution tarball. + +2011-08-01 Bruno Haible + + wctype-h: Fix last change. + * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set + REPLACE_TOWLOWER to 0. + Reported by Sam Steingold . + +2011-07-31 Bruno Haible - * .gitignore: ignore test result files (*.trs) + frexpl: Update autoconf test. + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of , + according to changes of 2011-06-20. + +2011-07-31 Bruno Haible + + sys_utsname: Add support for Minix. + * lib/sys_utsname.in.h [Minix]: Include before + . + * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise. + * doc/posix-headers/sys_utsname.texi: Document the Minix problem. + +2011-07-31 Bruno Haible + + strings: Add support for Minix. + * lib/strings.in.h [Minix]: Include before . + * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise. + * doc/posix-headers/strings.texi: Document the Minix problem. + +2011-07-31 Bruno Haible + + wctype-h: Add support for Minix. + * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set + REPLACE_TOWLOWER. + * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER. + * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not + REPLACE_ISWCNTRL. + +2011-07-31 Paul Eggert + + * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc. + This is a performance improvement for 64-bit hosts: it causes the + value of DEFAULT_MXFAST to track what's in glibc on such hosts. + +2011-07-31 Bruno Haible + + stdioext: Add support for Minix. + * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code. + * lib/fpurge.c (fpurge): Likewise. + * lib/freadahead.c (freadahead): Likewise. + * lib/freadable.c (freadable): Likewise. + * lib/freading.c (freading): Likewise. + * lib/freadptr.c (freadptr): Likewise. + * lib/freadseek.c (freadptrinc): Likewise. + * lib/fseeko.c (rpl_fseeko): Likewise. + * lib/fseterr.c (fseterr): Likewise. + * lib/fwritable.c (fwritable): Likewise. + * lib/fwriting.c (fwriting): Likewise. + * lib/fflush.c (clear_ungetc_buffer): Update comment. + * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix. + +2011-07-31 Bruno Haible + + errno: Port to Minix. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and + ECONNABORTED are defined. + * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED, + GNULIB_defined_ECONNABORTED): New macros. + * lib/strerror-override.h (strerror_override): Test also + GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED. + * lib/strerror-override.c (strerror_override): Handle also ENETRESET, + ECONNABORTED. + * doc/posix-headers/errno.texi: Mention the Minix problem. + +2011-07-31 Bruno Haible + + Work around declaration collisions on Minix. + * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not + defined, set REPLACE_MBSINIT. + * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not + defined, set REPLACE_MBRTOWC. + * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined, + set REPLACE_MBRLEN. + * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not + defined, set REPLACE_MBSRTOWCS. + * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not + defined, set REPLACE_WCRTOMB. + * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not + defined, set REPLACE_WCSRTOMBS. + +2011-07-31 Bruno Haible + + Add support for Minix with ACK compiler. + * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro. + * gnulib-tool (func_import, func_create_testdir): Emit invocation of + gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB. + +2011-07-31 Bruno Haible + + Documentation about Minix. + * doc/posix-headers/*.texi: Add info about Minix 3.1.8. + * doc/glibc-headers/*.texi: Likewise. + * doc/posix-functions/*.texi: Likewise. + * doc/glibc-functions/*.texi: Likewise. + +2011-07-31 Bruno Haible + + snippet/warn-on-use: Fix indentation. + * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation. + +2011-07-25 Jim Meyering + + tests: test-update-copyright.sh: remove unnecessary "rm" commands + * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak + commands. + +2011-07-27 Jim Meyering + + maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils + * top/maint.mk (gl_extract_significant_defines_): Now that + SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in + gnulib/lib/signal.in.h, and now that we recommend to + define-if-undefined those two symbols in application code, + we must filter them out of the "significant" list. + This avoids a "make syntax-check" failure in coreutils. + +2011-07-26 Eric Blake + + warnings: add comments about previous patch + * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation. + * m4/include_next.m4: Likewise. + * m4/warn-on-use.m4: Likewise. + * m4/warnings.m4: Likewise, and simplify use. + Suggested by Stefano Lattarini. + + include-next, warnings: support older autoconf + * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use + AS_VAR_PUSHDEF in a way that works with older autoconf. + * m4/warnings.m4 (gl_WARN_ADD): Likewise. + Reported by Daniel P. Berrange. + +2011-07-25 Bruno Haible + + fseek, ftell: Fix doc. + * doc/posix-functions/fseek.texi: Reword statement about + AC_SYS_LARGEFILE. + * doc/posix-functions/ftell.texi: Likewise. + +2011-07-25 Paul Eggert + Bruno Haible + + Add dependencies to the 'largefile' module. + * modules/fopen (Depends-on): Add 'largefile'. + * modules/freopen (Depends-on): Likewise. + * modules/fseeko (Depends-on): Likewise. + * modules/ftello (Depends-on): Likewise. + * modules/glob (Depends-on): Likewise. + * modules/lseek (Depends-on): Likewise. + * modules/lstat (Depends-on): Likewise. + * modules/mkostemp (Depends-on): Likewise. + * modules/mkostemps (Depends-on): Likewise. + * modules/mkstemp (Depends-on): Likewise. + * modules/mkstemps (Depends-on): Likewise. + * modules/open (Depends-on): Likewise. + * modules/openat (Depends-on): Likewise. + * modules/pread (Depends-on): Likewise. + * modules/pwrite (Depends-on): Likewise. + * modules/scandir (Depends-on): Likewise. + * modules/stat (Depends-on): Likewise. + * modules/tmpfile (Depends-on): Likewise. + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE, + since the containing module now depends on the largefile module. + * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise. + * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit + off_t is fixed by gnulib. + * doc/posix-functions/freopen.texi: Likewise. + * doc/posix-functions/fseeko.texi: Likewise. + * doc/posix-functions/fstatat.texi: Likewise. + * doc/posix-functions/ftello.texi: Likewise. + * doc/posix-functions/glob.texi: Likewise. + * doc/posix-functions/lseek.texi: Likewise. + * doc/posix-functions/lstat.texi: Likewise. + * doc/posix-functions/mkstemp.texi: Likewise. + * doc/posix-functions/open.texi: Likewise. + * doc/posix-functions/openat.texi: Likewise. + * doc/posix-functions/pread.texi: Likewise. + * doc/posix-functions/pwrite.texi: Likewise. + * doc/posix-functions/scandir.texi: Likewise. + * doc/posix-functions/stat.texi: Likewise. + * doc/posix-functions/tmpfile.texi: Likewise. + * doc/glibc-functions/mkostemp.texi: Likewise. + * doc/glibc-functions/mkostemps.texi: Likewise. + * doc/glibc-functions/mkstemps.texi: Likewise. + +2011-07-25 Bruno Haible + + fcntl: Move AC_LIBOBJ invocation to module description. + * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ. + * modules/fcntl (configure.ac): Invoke AC_LIBOBJ. + + fcntl: Remove call-in from fchdir.m4. + * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL. + + dup3: Remove potential call-in from fchdir.m4. + * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3. + + dup2: Move AC_LIBOBJ invocation to module description. + * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro. + (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1. + Don't invoke AC_LIBOBJ. + * modules/dup2 (configure.ac): Invoke AC_LIBOBJ. + + dup2: Remove call-in from fchdir.m4. + * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2. + + fclose: Move AC_LIBOBJ invocation to module description. + * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro. + (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE + to 1. + * modules/fclose (configure.ac): Invoke AC_LIBOBJ. + + fclose: Remove call-in from close.m4. + * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE. + * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE. + + close: Move AC_LIBOBJ invocation to module description. + * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro. + (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to + 1. + * modules/close (configure.ac): Invoke AC_LIBOBJ. + + close: Remove call-in from fchdir.m4. + * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE. + + open: Move AC_LIBOBJ invocation to module description. + * m4/open.m4 (gl_REPLACE_OPEN): Remove macro. + (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1. + * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN. + + open: Remove call-in from fchdir.m4. + * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN. + + fchdir: Start to remove gl_REPLACE_* idiom. + * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro. + (gl_FUNC_FCHDIR): Invoke it. + +2011-07-25 Paul Eggert + + * lib/ftell.c (ftell): Comment out cast. + + close: use gl_REPLACE_FCLOSE only if defined + * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it + is defined. The close module doesn't depend on the fclose module + any more, so gl_REPLACE_CLOSE's existence cannot be assumed. See + . + I reproduced the problem with "./gnulib-tool --test close sys_socket". + +2011-07-24 Jim Meyering + + test-select.h: avoid warning when using gcc's -Wmissing-declarations + * tests/test-select.h (test_function): Declare as "static". + +2011-07-24 Bruno Haible + + doc: Mention the effects of AC_SYS_LARGEFILE. + * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE + on this function. + * doc/posix-functions/aio_error.texi: Likewise. + * doc/posix-functions/aio_fsync.texi: Likewise. + * doc/posix-functions/aio_read.texi: Likewise. + * doc/posix-functions/aio_return.texi: Likewise. + * doc/posix-functions/aio_suspend.texi: Likewise. + * doc/posix-functions/aio_write.texi: Likewise. + * doc/posix-functions/fgetpos.texi: Likewise. + * doc/posix-functions/fopen.texi: Likewise. + * doc/posix-functions/freopen.texi: Likewise. + * doc/posix-functions/fsetpos.texi: Likewise. + * doc/posix-functions/fstatvfs.texi: Likewise. + * doc/posix-functions/ftruncate.texi: Likewise. + * doc/posix-functions/ftw.texi: Likewise. + * doc/posix-functions/getrlimit.texi: Likewise. + * doc/posix-functions/glob.texi: Likewise. + * doc/posix-functions/lio_listio.texi: Likewise. + * doc/posix-functions/lockf.texi: Likewise. + * doc/posix-functions/mkstemp.texi: Likewise. + * doc/posix-functions/mmap.texi: Likewise. + * doc/posix-functions/nftw.texi: Likewise. + * doc/posix-functions/openat.texi: Likewise. + * doc/posix-functions/opendir.texi: Likewise. + * doc/posix-functions/posix_fadvise.texi: Likewise. + * doc/posix-functions/posix_fallocate.texi: Likewise. + * doc/posix-functions/pread.texi: Likewise. + * doc/posix-functions/pwrite.texi: Likewise. + * doc/posix-functions/readdir.texi: Likewise. + * doc/posix-functions/readdir_r.texi: Likewise. + * doc/posix-functions/rewinddir.texi: Likewise. + * doc/posix-functions/scandir.texi: Likewise. + * doc/posix-functions/seekdir.texi: Likewise. + * doc/posix-functions/setrlimit.texi: Likewise. + * doc/posix-functions/statvfs.texi: Likewise. + * doc/posix-functions/telldir.texi: Likewise. + * doc/posix-functions/tmpfile.texi: Likewise. + * doc/posix-functions/truncate.texi: Likewise. + * doc/glibc-functions/fallocate.texi: Likewise. + * doc/glibc-functions/fstatfs.texi: Likewise. + * doc/glibc-functions/fts_children.texi: Likewise. + * doc/glibc-functions/fts_read.texi: Likewise. + * doc/glibc-functions/getdirentries.texi: Likewise. + * doc/glibc-functions/mkostemp.texi: Likewise. + * doc/glibc-functions/mkostemps.texi: Likewise. + * doc/glibc-functions/mkstemps.texi: Likewise. + * doc/glibc-functions/preadv.texi: Likewise. + * doc/glibc-functions/pwritev.texi: Likewise. + * doc/glibc-functions/sendfile.texi: Likewise. + * doc/glibc-functions/statfs.texi: Likewise. + +2011-07-24 Bruno Haible + + doc: Fix typo. + * doc/posix-functions/fstat.texi: Talk about fstat, not stat. + +2011-07-24 Bruno Haible + + doc: Mention fsusage. + * doc/posix-functions/statvfs.texi: Mention the fsusage module. + +2011-07-24 Bruno Haible + + doc: Mention new glibc headers and functions. + * doc/glibc-headers/gshadow.texi: New file. + * doc/glibc-functions/endsgent.texi: New file. + * doc/glibc-functions/fgetsgent.texi: New file. + * doc/glibc-functions/fgetsgent_r.texi: New file. + * doc/glibc-functions/getsgent.texi: New file. + * doc/glibc-functions/getsgent_r.texi: New file. + * doc/glibc-functions/getsgnam.texi: New file. + * doc/glibc-functions/getsgnam_r.texi: New file. + * doc/glibc-functions/putsgent.texi: New file. + * doc/glibc-functions/setsgent.texi: New file. + * doc/glibc-functions/sgetsgent.texi: New file. + * doc/glibc-functions/sgetsgent_r.texi: New file. + * doc/glibc-functions/malloc_info.texi: New file. + * doc/glibc-functions/preadv.texi: New file. + * doc/glibc-functions/pwritev.texi: New file. + * doc/glibc-functions/register_printf_modifier.texi: New file. + * doc/glibc-functions/register_printf_specifier.texi: New file. + * doc/glibc-functions/register_printf_type.texi: New file. + * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file. + * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file. + * doc/glibc-functions/pthread_getaffinity_np.texi: New file. + * doc/glibc-functions/pthread_getname_np.texi: New file. + * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file. + * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file. + * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file. + * doc/glibc-functions/pthread_setaffinity_np.texi: New file. + * doc/glibc-functions/pthread_setname_np.texi: New file. + * doc/glibc-functions/pthread_sigqueue.texi: New file. + * doc/glibc-functions/pthread_timedjoin_np.texi: New file. + * doc/glibc-functions/pthread_tryjoin_np.texi: New file. + * doc/glibc-functions/qsort_r.texi: New file. + * doc/glibc-functions/quick_exit.texi: New file. + * doc/glibc-functions/syncfs.texi: New file. + * doc/gnulib.texi: Include them. + (Glibc gshadow.h, Glibc sys/uio.h): New sections. + * doc/posix-functions/psiginfo.texi: Fix info about glibc version. + * doc/posix-functions/pthread_mutex_consistent.texi: Likewise. + * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise. + * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise. + * doc/glibc-functions/execvpe.texi: Likewise. + +2011-07-24 Paul Eggert + + ftell: don't include + * lib/ftell.c: Don't include . is now + guaranteed to define off_t, and the ftell module depends on the + stdio module. + + ftell: do not assume wraparound signed arithmetic + * lib/ftell.c: Include . + (ftell): Don't assume wraparound signed arithmetic. + +2011-07-24 Bruno Haible + + close: No longer depend on module 'fclose'. + * modules/close (Depends-on): Remove fclose. + * NEWS: Mention the change. + Suggested by Sam Steingold . + +2011-07-24 Bruno Haible + + fsusage: Enable large volume support on AIX >= 5.2. + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a + larger f_blocks field than 'struct statvfs', define STAT_STATVFS64 + instead of STAT_STATVFS. + * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64. + + fsusage: Restore previous behaviour on AIX, Cygwin, Interix. + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs + f_blocks field only on MacOS X. + + fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X. + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE. + * modules/fsusage (Depends-on): Add largefile. + +2011-07-24 Paul Eggert + + * README: Modernize discussion of signed integers. + Assuming overflow wraparound is no longer safe. + Mention ones' complement and signed magnitude. + +2011-07-22 Bruno Haible + + select tests, pselect tests: Refactor. + * tests/test-select.h: New file, extracted from tests/test-select.c. + (select_fn): New type. + (test, do_select, do_select_nowait, do_select_wait, test_tty, + test_connect_first, test_accept_first, test_pair, test_socket_pair, + test_pipe): Add my_select argument. + (test_function): Renamed from main. Add my_select argument. + * tests/test-select.c: Move most code to tests/test-select.h. Include + test-select.h. + * modules/select-tests (Files): Add tests/test-select.h. + * tests/test-pselect.c: Include test-select.h instead of test-select.c. + (my_select, main): New functions. + * modules/pselect-tests (Files): Add tests/test-select.h, + tests/macros.h, tests/signature.h. + (Depends-on): Remove select-tests. Add dependencies of test-select.h. + (configure.ac): Check for . + +2011-07-22 Bruno Haible + + sys_select tests: Check the signature of FD_*. + * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move + signature tests from here... + * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to + here. + * modules/sys_select-tests (Files): Add tests/signature.h. + +2011-07-22 Paul Eggert + + largefile: new module, replacing large-inode + Pádraig Brady suggested this in . + * MODULES.html.sh: Add largefile, remove large-inode. + * modules/largefile, m4/largefile.m4: New files. + * modules/large-inode, m4/large-inode.m4: Remove. + + fsusage: port to MacOS X 10.7 with 4 TiB file systems + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs + implementations that use only 32 bits to count blocks. + On typical hosts with 1024-byte blocks, this fails with file + systems as small as 4 TiB. Problem reported by Herb Wartens + and this should also fix a similar + problem reported by Tim Spriggs . + + large-inode: New module + * MODULES.html.sh: Add it. + * modules/large-inode, m4/large-inode.m4: New files. + + extensions: Enable extensions on MacOS X 10.5 and later. + * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE. + +2011-07-22 Kamil Dudka + + file-has-acl: use acl_extended_file_nofollow if available + * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro. + (acl_extended_file): New macro. + * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow. + * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow. + +2011-07-21 Bruno Haible + + Declare system functions in a way that works with C++. + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program, + declare fdopendir as extern "C". + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program, + declare frexpl as extern "C". + * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program, + declare gai_strerror as extern "C". + * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test + programs, declare gai_strerror as extern "C". + * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program, + declare getlogin_r as extern "C". + * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl + as extern "C". + * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program, + declare ldexpl as extern "C". + * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb + as extern "C". + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test + program, declare getmntinfo as extern "C". + * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare + stpncpy as extern "C". + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test + program, declare __xpg_strerror_r as extern "C". + * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare + strndup as extern "C". + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program, + declare memset and bzero as extern "C". + Reported by Sam Steingold . + +2011-07-12 Jim Meyering + + maint.mk: prohibit inclusion of "verify.h" without use + * top/maint.mk (sc_prohibit_verify_without_use): New rule. + +2011-07-19 Pádraig Brady + + timer-time: A new module to check for timer_settime() + * m4/timer_time.m4: Check for the posix function. + * modules/timer-time: Add the new module. + * MODULES.html.sh (Compat checks for POSIX:2008 functions): + Mention it. + +2011-07-19 Paul Eggert + Bruno Haible + + pthread_sigmask: assume POSIX threads if --avoid=threadlib + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is + not defined, assume POSIX threads and look for pthread_sigmask in + $LIBS, without changing $CPPFLAGS. + +2011-07-19 Bruno Haible + + strstr: Update cross-compilation guess. + * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64 + CPUs, guess no, in view of glibc + BZ #12100 . + Suggested by Eric Blake. Reported by Reuben Thomas. + +2011-07-19 Pádraig Brady + + getopt-gnu: suppress core dumps from detection code + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module + to suppress core dumps that may well occur on glibc systems. + * modules/getopt-gnu: Depend on nocrash. + +2011-07-16 Paul Eggert + + pthread_sigmask: ensure usleep is declared + * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]: + Include , to declare usleep. Needed on Solaris 8, + +2011-07-15 Paul Eggert + + doc: Document NonStop portability issues. + * doc/posix-functions/sigaction.texi (sigaction): + * doc/posix-headers/signal.texi (signal.h): + Document NonStop. See Joachim Schmitz in + http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html + +2011-07-15 Bruno Haible + + ffsl, ffsll: Avoid unportable behaviour. + * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'. + +2011-07-15 Bruno Haible + + ffs: More tests. + * tests/test-ffs.c (NBITS): New macro. + (main): Add more tests. + * tests/test-ffsl.c (NBITS): New macro. + (main): Add more tests. + * tests/test-ffsll.c (NBITS): New macro. + (main): Add more tests. + +2011-07-15 Eric Blake + + ffsl, ffsll: new modules + * modules/ffsl: New file. + * modules/ffsll: Likewise. + * m4/ffsl.m4: Likewise. + * m4/ffsll.m4: Likewise. + * lib/ffsl.c: Likewise. + * lib/ffsl.h: Likewise. + * lib/ffsll.c: Likewise. + * m4/string_h.m4 (gl_HEADER_STRING_H_BODY) + (gl_HEADER_STRING_H_DEFAULTS): Add defaults. + * modules/string (Makefile.am): Substitute witnesses. + * lib/strings.in.h (ffsl, ffsll): Declare. + * modules/ffsl-tests: New test file. + * modules/ffsll-tests: Likewise. + * tests/test-ffsl.c: Likewise. + * tests/test-ffsll.c: Likewise. + * MODULES.html.sh (Integer arithmetic functions): Mention it. + * doc/glibc-functions/ffsl.texi (ffsl): Likewise. + * doc/glibc-functions/ffsll.texi (ffsll): Likewise. + + ffs: fix m4 prerequisite + * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults. + + ffs: avoid undefined behavior + * lib/ffs.c (ffs): Provide fallback for non-32-bit int. + * tests/test-ffs.c (naive, main): Avoid signed shifts. + Reported by Bruno Haible. + +2011-07-12 Bruno Haible + + pthread_sigmask: Rely on module 'threadlib'. + * modules/pthread_sigmask (Depends-on): Add threadlib. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB + is defined. + +2011-07-12 Bruno Haible + + regex: Depend on module 'strcase'. + * modules/regex (Depends-on): Add strcase, for strcasecmp(). + +2011-07-12 Jim Meyering + + warn-on-use: fix typo in file name + * modules/snippet/warn-on-use (Files): Correct file name: + include /snippet/ component in "build-aux/snippet/warn-on-use.h". + +2011-07-12 Bruno Haible + + strings: Document module. + * doc/posix-headers/strings.texi: Mention module 'strings'. + +2011-07-12 Bruno Haible + + Rename module '_Noreturn' to 'snippet/_Noreturn'. + * modules/snippet/_Noreturn: Renamed from modules/_Noreturn. + (Files, Makefile.am): Update. + * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h. + * modules/stdlib (Depends-on): Update. + +2011-07-12 Bruno Haible + + * NEWS: Mention the changes. + + Rename module 'warn-on-use' to 'snippet/warn-on-use'. + * modules/snippet/warn-on-use: Renamed from modules/warn-on-use. + (Files, Makefile.am): Update. + * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h. + * modules/arpa_inet (Depends-on): Update. + * modules/ctype (Depends-on): Update. + * modules/dirent (Depends-on): Update. + * modules/fcntl-h (Depends-on): Update. + * modules/glob (Depends-on): Update. + * modules/iconv-h (Depends-on): Update. + * modules/inttypes-incomplete (Depends-on): Update. + * modules/langinfo (Depends-on): Update. + * modules/locale (Depends-on): Update. + * modules/math (Depends-on): Update. + * modules/netdb (Depends-on): Update. + * modules/poll-h (Depends-on): Update. + * modules/pty (Depends-on): Update. + * modules/search (Depends-on): Update. + * modules/signal (Depends-on): Update. + * modules/spawn (Depends-on): Update. + * modules/stdio (Depends-on): Update. + * modules/stdlib (Depends-on): Update. + * modules/string (Depends-on): Update. + * modules/strings (Depends-on): Update. + * modules/sys_file (Depends-on): Update. + * modules/sys_ioctl (Depends-on): Update. + * modules/sys_select (Depends-on): Update. + * modules/sys_socket (Depends-on): Update. + * modules/sys_stat (Depends-on): Update. + * modules/sys_time (Depends-on): Update. + * modules/sys_times (Depends-on): Update. + * modules/sys_utsname (Depends-on): Update. + * modules/sys_wait (Depends-on): Update. + * modules/termios (Depends-on): Update. + * modules/time (Depends-on): Update. + * modules/unistd (Depends-on): Update. + * modules/wchar (Depends-on): Update. + * modules/wctype-h (Depends-on): Update. + * MODULES.html.sh (Support for building libraries and executables): + Update. + + Rename module 'unused-parameter' to 'snippet/unused-parameter'. + * modules/snippet/unused-parameter: Renamed from + modules/unused-parameter. + (Files, Makefile.am): Update. + * build-aux/snippet/unused-parameter.h: Renamed from + build-aux/unused-parameter.h. + * modules/selinux-h (Depends-on): Update. + * modules/unistr/base (Depends-on): Update. + * MODULES.html.sh (Core language properties): Update. + + Rename module 'link-warning' to 'snippet/link-warning'. + * modules/snippet/link-warning: Renamed from modules/link-warning. + (Files, Makefile.am): Update. + * build-aux/snippet/link-warning.h: Renamed from + build-aux/link-warning.h. + * MODULES.html.sh (Support for building libraries and executables): + Update. + + Rename module 'c++defs' to 'snippet/c++defs'. + * modules/snippet/c++defs: Renamed from modules/c++defs. + (Files, Makefile.am): Update. + * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h. + * modules/arpa_inet (Depends-on): Update. + * modules/ctype (Depends-on): Update. + * modules/dirent (Depends-on): Update. + * modules/fcntl-h (Depends-on): Update. + * modules/glob (Depends-on): Update. + * modules/iconv-h (Depends-on): Update. + * modules/langinfo (Depends-on): Update. + * modules/locale (Depends-on): Update. + * modules/math (Depends-on): Update. + * modules/netdb (Depends-on): Update. + * modules/poll-h (Depends-on): Update. + * modules/pty (Depends-on): Update. + * modules/search (Depends-on): Update. + * modules/signal (Depends-on): Update. + * modules/spawn (Depends-on): Update. + * modules/stdio (Depends-on): Update. + * modules/stdlib (Depends-on): Update. + * modules/string (Depends-on): Update. + * modules/strings (Depends-on): Update. + * modules/sys_ioctl (Depends-on): Update. + * modules/sys_select (Depends-on): Update. + * modules/sys_socket (Depends-on): Update. + * modules/sys_stat (Depends-on): Update. + * modules/sys_time (Depends-on): Update. + * modules/sys_wait (Depends-on): Update. + * modules/termios (Depends-on): Update. + * modules/time (Depends-on): Update. + * modules/unistd (Depends-on): Update. + * modules/wchar (Depends-on): Update. + * modules/wctype-h (Depends-on): Update. + + Rename module 'arg-nonnull' to 'snippet/arg-nonnull'. + * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull. + (Files, Makefile.am): Update. + * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h. + * modules/argv-iter (Depends-on): Update. + * modules/arpa_inet (Depends-on): Update. + * modules/dirent (Depends-on): Update. + * modules/fcntl-h (Depends-on): Update. + * modules/fnmatch (Depends-on): Update. + * modules/getopt-posix (Depends-on): Update. + * modules/glob (Depends-on): Update. + * modules/iconv-h (Depends-on): Update. + * modules/inttypes-incomplete (Depends-on): Update. + * modules/locale (Depends-on): Update. + * modules/math (Depends-on): Update. + * modules/netdb (Depends-on): Update. + * modules/search (Depends-on): Update. + * modules/signal (Depends-on): Update. + * modules/spawn (Depends-on): Update. + * modules/stdio (Depends-on): Update. + * modules/stdlib (Depends-on): Update. + * modules/string (Depends-on): Update. + * modules/strings (Depends-on): Update. + * modules/sys_socket (Depends-on): Update. + * modules/sys_stat (Depends-on): Update. + * modules/sys_time (Depends-on): Update. + * modules/sys_times (Depends-on): Update. + * modules/sys_utsname (Depends-on): Update. + * modules/time (Depends-on): Update. + * modules/unistd (Depends-on): Update. + * modules/wchar (Depends-on): Update. + * MODULES.html.sh (Support for building libraries and executables): + Update. + +2011-07-12 Paul Eggert + + Improvements on _Noreturn and related modules. + + modules/_Exit-tests: test _Noreturn too + * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the + old tests/test-stdnoreturn.c. This tests the _Noreturn keyword a bit. + (main): Use them. + + stdnoreturn, stdnoreturn-tests: remove modules + They're not needed here and a bit premature for use elsewhere. See + . + * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests: + * tests/test-stdnoreturn.c: Remove files. + * MODULES.html.sh (_Noreturn ): Remove section. + * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h: + * lib/xstrtol.h: Use _Noreturn rather than including + and using noreturn. + * modules/openat, modules/sigpipe-die, modules/xalloc: + * modules/xmemdup0, modules/xstrtol: + Remove dependency on stdnoreturn. + + _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER. + * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__. + Reparenthesize to avoid GCC warning. + Support Microsoft's syntax. + * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise. + + _Noreturn-tests: remove module + * modules/_Noreturn-tests: Remove. + * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c. + * tests/test-_Noreturn.c: Remove. + * tests/test-stdnoreturn.c: Merge from the old + tests/test-_Noreturn.c, testing both noreturn and _Noreturn. + +2011-07-12 Paul Eggert + + _Noreturn, stdnoreturn, and related modules. + + * top/maint.mk: Adjust to new noreturn support. + (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN. + (def_sym_regex): Do not remove ATTRIBUTE_NORETURN. + + xalloc: use stdnoreturn.h + * lib/xalloc.h: Include . + (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn. + * modules/xalloc (Depends-on): Add stdnoreturn. + + xstrtol: use stdnoreturn.h + * lib/xstrtol.h: Include . + (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn. + * modules/xstrtol (Depends-on): Add stdnoreturn. + + xmemdup0: use stdnoreturn.h + * lib/xmemdup0.h: Include . + (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn. + * modules/xmemdup0 (Depends-on): Add stdnoreturn. + + sigpipe-die: use stdnoreturn.h + * lib/sigpipe-die.h: Include . + (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn. + * modules/sigpipe-die (Depends-on): Add stdnoreturn. + + openat: use stdnoreturn.h + * lib/openat.h: Include . + (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn. + * modules/openat (Depends-on): Add stdnoreturn. + + * lib/openat-die.c (openat_save_fail): Modernize comment. + + * lib/xalloc-die.c (xalloc_die): Modernize comment. + + * lib/glthread/thread.h: Modernize comment. + + obstack: use _Noreturn + * lib/obstack.c (__attribute__): Remove macro. + (print_and_abort): Use _Noreturn. + + c-stack: use _Noreturn + * lib/c-stack.c (die, overflow_handler, segv_handler): + Use _Noreturn rather than __attribute__((noreturn)). + + argmatch-tests, exclude_tests: use _Noreturn + * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): + Remove. + (ARGMATCH_DIE_DECL): Use _Noreturn instead. + + stdlib: use _Noreturn + * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove. + (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN. + * modules/stdlib (Depends-on): Add _Noreturn. + (stdlib.h): Depend on $(_NORETURN_H), and copy it in. + + stdnoreturn-tests: new module + * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files. + + stdnoreturn: new module + * MODULES.html.sh (Noreturn ): New section. + * m4/stdnoreturn.m4, modules/stdnoreturn: New files. + + _Noreturn-tests: new module + * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files. + + _Noreturn: new module + * MODULES.html.sh (Support for systems lacking draft ISO C 1X): + New section, mentioning it. + * build-aux/_Noreturn.h, modules/_Noreturn: New files. + + * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn. + +2011-07-11 Eric Blake + + ffs: new module + * modules/ffs: New file. + * m4/ffs.m4: Likewise. + * lib/ffs.c: Likewise. + * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default. + * modules/strings (Makefile.am): Substitute witness. + (Depends-on): Add c++defs. + * lib/strings.in.h (ffs): Declare. + * modules/ffs-tests: New test file. + * tests/test-ffs.c: Test new module. + * MODULES.html.sh (Integer arithmetic functions): Mention it. + * doc/posix-functions/ffs.texi (ffs): Likewise. + + regex: avoid compiler warning + * lib/regex.c (includes): Include , for use of + strcasecmp in regcomp.c. + Reported by Joachim Schmitz. + +2011-07-09 Paul Eggert + + stdint: respect system's intmax_t if INTMAX_MAX + * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines + INTMAX_MAX, assume its intmax_t is OK. Similarly for and + uintmax_t. This is for some Mac OS X builds, where intmax_t is + long but int64_t is long long, and where we will clash with the + system intmax_t if we override it. See + . + (INTMAX_C, UINTMAX_C): For consistency, respect the system's + INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and + similarly for UINTMAX_C. + +2011-07-08 Bruno Haible + + pthread_sigmask tests: Avoid a compiler warning. + * tests/test-pthread_sigmask1.c (main): Complain if system() returns + non-zero. + + sigprocmask tests: A better way to avoid a compiler warning. + * tests/test-sigprocmask.c: Don't include "ignore-value.h". + (main): Complain if system() returns non-zero. + * modules/sigprocmask-tests (Depends-on): Remove ignore-value. + +2011-07-08 Bruno Haible + + pthread_sigmask: Work around IRIX bug. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX + bug. + * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when + there may be unblocked pending signals. + * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug. + +2011-07-08 Bruno Haible + + pthread_sigmask: Work around Cygwin bug. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin + bug. + * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from + the system's pthread_sigmask function. + * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug. + +2011-07-08 Bruno Haible + + pthread_sigmask: Work around bug in single-threaded implementation. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the + FreeBSD, HP-UX, Solaris bug. + (gl_PREREQ_PTHREAD_SIGMASK): New macro. + * lib/pthread_sigmask.c: Include . + (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around + the system's pthread_sigmask function. + * modules/pthread_sigmask (configure.ac): Invoke + gl_PREREQ_PTHREAD_SIGMASK. + * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD, + HP-UX, Solaris. + +2011-07-08 Eric Blake + + test-sigprocmask: avoid compiler warning + * modules/sigprocmask-tests (Depends-on): Add ignore-value. + * tests/test-sigprocmask.c (main): Use it to silence warning. + Reported by Jim Meyering. + + test-snprintf: avoid compiler warning + * tests/test-snprintf.c (main): Avoid shadowed declaration. + * tests/test-vsnprintf.c (main): Likewise. + Reported by Jim Meyering. + +2011-07-08 Bruno Haible + + Tests for module 'pthread_sigmask'. + * modules/pthread_sigmask-tests: New file. + * tests/test-pthread_sigmask1.c: New file, based on + tests/test-sigprocmask.c. + * tests/test-pthread_sigmask2.c: New file. + +2011-07-08 Jim Meyering + + test-getopt.h: avoid warning about an unused variable + * tests/test-getopt.h (test_getopt): Remove unused variable, "c". + +2011-07-07 Jim Meyering + + maint: reduce list of files exempt from sc_prohibit_leading_TABs + * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4, + now that it no longer contains leading TABs. + Remove unused "url=FIXME" statement. + +2011-07-08 Paul Eggert + + pthread_sigmask: Assume POSIX when not gl_THREADLIB. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): + When gl_THREADLIB is not in use, assume that the POSIX sematics + are desired. This is better for Emacs, which uses POSIX semantics + on GNUish and/or POSIXish platforms, and does not use threads at + all otherwise. + + pthread_sigmask: fix typo when testing for libraries + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): + AC_LINK_IFELSE, not AC_COMPILE_IFELSE. + +2011-07-08 Eric Blake + + fts: introduce FTS_NOATIME + * lib/fts_.h (FTS_NOATIME): New bit flag. + (FTS_OPTIONMASK): Adjust. + * lib/fts.c (diropen, fts_open, fts_build): Honor it. + (fd_ring_check): Debug code unconditionally uses O_NOATIME. - * acinclude.m4: only turn on FORTIFY_SOURCE if it won't anger gcc - Following libvirt commits cf9bced0 and 1c2edf0f +2011-07-08 Bruno Haible -2013-01-10 Raphaël Pinson + Tests for module 'thread'. + * modules/thread-tests: New file. + * tests/test-thread_self.c: New file. + * tests/test-thread_create.cc: New file. + +2011-07-08 Bruno Haible + + thread: Avoid gcc warnings when using gl_thread_self(). + * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a + 'void *'. + (gl_thread_self_pointer): Update. + +2011-07-07 Bruno Haible + + signal-c++-tests: Check declaration of pthread_sigmask. + * tests/test-signal-c++.cc: Check declaration of pthread_sigmask. + * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against + $(LIB_PTHREAD_SIGMASK). + +2011-07-07 Bruno Haible - Quote: Allow multiple spaces in quote_spaces + pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth. + * lib/signal.in.h (pthread_sigmask): Override if + REPLACE_PTHREAD_SIGMASK is 1. + * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize + REPLACE_PTHREAD_SIGMASK. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also + REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK. + * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK. + * modules/pthread_sigmask (Depends-on, configure.ac): Update condition. + (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD). -2013-01-10 Jasper Lievisse Adriaanse +2011-07-07 Bruno Haible + + pthread_sigmask: Ensure declaration in . + * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6, + include . + * doc/posix-functions/pthread_sigmask.texi: Mention the header file + problem. + +2011-07-07 Bruno Haible - Add two files found on OpenBSD to the simplevars lens. + pthread_sigmask: Document the module. + * doc/posix-functions/pthread_sigmask.texi: Mention the new module. -2013-01-08 Jasper Lievisse Adriaanse +2011-07-07 Bruno Haible - The nagios filters work for Icinga too + pthread_sigmask: Follow gnulib conventions. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from + gl_PTHREAD_SIGMASK. + * modules/pthread_sigmask (configure.ac): Update. - Modify the Nagios lens to handle resources.cfg too. - Fixes ticket #312 +2011-07-07 Bruno Haible -2013-01-04 Raphaël Pinson + pthread_sigmask: Make declaration C++ safe. + * lib/signal.in.h: In two special conditions, just do an #include_next. + (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK. + Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN. + * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize + HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK. + * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK, + not REPLACE_PTHREAD_MASK. + * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK, + not REPLACE_PTHREAD_MASK. + * modules/pthread_sigmask (Depends-on, configure.ac): Update condition. - AptPreferences: adjust a little bit to simplified lens +2011-07-07 Bruno Haible - AptPreferences: Simplify/Standardize the module + pthread_sigmask: Fix return value. + * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro. + * lib/pthread_sigmask.c: New file. + * modules/pthread_sigmask (Files): Add it. + (configure.ac): Invoke AC_LIBOBJ. -2013-01-04 Jasper Lievisse Adriaanse +2011-07-07 Eric Blake - Make sure the usage shows up properly formated. + getopt: more portable argv creation + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away + const, use char arrays rather than strings. + Suggested by Paul Eggert. + +2011-07-07 Bruno Haible + + Tests for module 'sigprocmask'. + * modules/sigprocmask-tests: New file. + * tests/test-sigprocmask.c: New file. + +2011-07-07 Bruno Haible + + float tests: Tweak. + * tests/test-float.c (main): Tweak skip message. - sync another comment with ND definition +2011-07-07 Eric Blake + + getopt: avoid compiler warning during configure + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with + assigning string literals to non-const pointer. + + getopt-gnu: avoid crash in glibc getopt + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem. + * tests/test-getopt.h (test_getopt): Enhance test. + * tests/test-getopt_long.h (test_getopt_long): Likewise. + * doc/posix-functions/getopt.texi (getopt): Document it. + * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise. + * doc/glibc-functions/getopt_long_only.texi (getopt_long_only): + Likewise. + +2011-07-07 Ulrich Drepper + + getopt: handle W; without long options in getopt [BZ #12922] + * lib/getopt.c (_getopt_internal_r): When "W;" is in short options + but no long options are defined, just return 'W'. + +2011-07-07 Bruno Haible + + Avoid literal tabs. + * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell + variable containing a tab instead of a literal tab. + Reported by Jim Meyering. + +2011-07-07 Bruno Haible + + Comments. + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw. + +2011-07-06 Bruno Haible + + sys_select: Fix compilation error on mingw, introduced on 2011-06-30. + * lib/sys_select.in.h: Don't include . Instead, include + . + (rpl_fd_isset, FD_ISSET): New definitions, copied from + lib/sys_socket.in.h. + (close, gethostname): Hide declarations from . + (socket, connect, accept, bind, getpeername, getsockname, getsockopt, + listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise. + * lib/sys_socket.in.h (close, gethostname): Tweak indentation. + (select): Don't override if gnulib's was already + included. + * lib/unistd.in.h (socket, connect, accept, bind, getpeername, + getsockname, getsockopt, listen, recv, send, recvfrom, sendto, + setsockopt, shutdown, select): Tweak indentation. + +2011-07-06 Paul Eggert + + * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR + and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed + in an application that does not use the sys_select module. + +2011-07-06 Erik Faye-Lund + + poll: do not return 0 on timeout=-1 + * lib/poll.c: Loop with yield if no events occurred. + +2011-07-06 Eric Blake + + pthread_sigmask: always replace when not using pthread + * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask + replacement when using some threading other than pthread. Fix + logic bug. + +2011-07-06 Bruno Haible + + Comments. + * m4/printf.m4: Update comments about mingw. + +2011-07-06 Paul Eggert + + sys_select: define sigset_t more portably + * lib/sys_select.in.h: Always include , since + we now need sigset_t and mingw defines it there. + Include before split inclusion guard, to avoid + mishaps on Solaris, whose eventually includes us. + * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T. + (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of + which come from ... + * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require + gl_CHECK_TYPE_SIGSET_T. + (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T + does the real work. + * modules/sys_select (Depends-on): Add 'signal'. + + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect. + Suggested by Bruno Haible. + + pselect: Use pthread_sigmask, not sigprocmask. + * lib/pselect.c (pselect): Use pthread_sigmask, as it supports + multithreaded apps better than sigprocmask does. + * modules/pselect (Depends-on): Depend on pthread_sigmask, not + sigprocmask directly. + +2011-07-05 Paul Eggert + + * lib/pselect.c (pselect): Use plain name, without "rpl_". + Don't #undef, since we don't need any underlying pselect. + * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT. + (Depends-on): Add select. + (Link): Add $(LIBSOCKET). + These changes suggested by Bruno Haible. + + pselect: document better + * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it. + * doc/posix-functions/pselect.texi (pselect): Document new module. + + pthread_sigmask: new module + * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it. + * doc/posix-functions/pthread_sigmask.texi: Document new module. + * lib/signal.in.h (pthread_sigmask): Arrange for replacement. + This is done only as a macro; I don't know how well that'll + work for C++. Move include before the include_next, + to avoid mishap on Solaris. + * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it. + * modules/signal (Makefile.am): Substitute the check's results. + * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files. + + test-pselect: new module + * modules/pselect-tests, tests/test-pselect.c: New files. + * tests/test-select.c, tests/test-sys_select-c++.cc: + If TEST_PSELECT is defined, test pselect instead of testing select. + + * tests/test-sys_select.c (sigset_t): Test for it, too. + Suggested by Bruno Haible. + +2011-07-05 Eric Blake + + snprintf: guarantee %1$d, for libintl + * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support. + * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise. + * doc/posix-functions/snprintf.texi (snprintf): Update. + * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise. + * tests/test-snprintf.c (main): Enhance test. + * tests/test-vsnprintf.c (main): Likewise. + +2011-07-05 Jim Meyering + + maint: exempt stdio-read.c and stdio-write.c from the cppi check + * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c + per Bruno's request, to accommodate this idiom (no space after "#") + even when the function is inside an #if block: + char * + gets (char *s) + #undef gets + { + ... + } - Sync View comment with actual definition. +2011-07-04 Jim Meyering - Properly document this lens. + maint: indent with spaces, not TABs, and add a rule to check this + * tests/test-userspec.c: Indent with spaces, not TABs. + * tests/test-argp.c: Likewise. + * tests/test-c-stack2.sh: Likewise. + * tests/test-parse-duration.sh: Likewise + * m4/strtod.m4: Likewise. + * m4/alloca.m4: Likewise. + * m4/pselect.m4: Likewise. + * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs. - Basic documentation for final apt lenses and sync Menu.txt +2011-07-03 Jim Meyering - regen Menu.txt after recent changes. + maint.mk: correct omissions in prohibit_argmatch_without_use check + This rule would mistakenly report that argmatch.h is included without + use even when both the argmatch and invalid_arg macro were used. + * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses + of argmatch and invalid_arg. - Move the 'coding' comment to the end of the file to fix the menu entry. +2011-07-03 Bruno Haible - Fix some more broken module names + Comments about EINTR. + * lib/safe-read.h: Explain the purpose of this module. + * lib/safe-write.h: Likewise. + * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read' + module. + * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write' + module. + Reported by Ralf Wildenhues . + +2011-06-30 Paul Eggert + + xnanosleep: Rewrite to use new dtotimespec module. + It has the conversion code that used to be in xnanosleep. + * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h, + assert.h, sys/types.h, or intprops.h. Include timespec.h instead. + (TIME_T_MAX): Remove. + (xnanosleep): Rewrite in terms of dtotimespec. + * modules/xnanosleep (Depends-on): Add dtotimespec. + Remove intprops, stdbool. + + timespec-add, timespec-sub: new modules + * lib/timespec.h (timespec_add, timespec_sub): New decls. + * lib/timespec-add.c, lib/timespec-sub.c: + * modules/timespec-add, modules/timespec-sub: New files. + + dtotimespec: new module + * lib/timespec.h (dtotimespec): New decl. + * lib/dtotimespec.c, modules/dtotimespec: New files. + + * lib/timespec.h (timespec_sign, timespectod): New inline functions. + + pselect: new module + * lib/sys_select.in.h: Include , for 'sigset_t'. + (pselect): New decls. + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT, + since the standard pselect decl uses 'restrict'. + (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT, + HAVE_PSELECT, REPLACE_PSELECT. + * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT, + HAVE_PSELECT, REPLACE_PSELECT. + * lib/pselect.c, m4/pselect.m4, modules/pselect: New files. + + sys_select: don't depend on sys_socket + This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see + . + This fix works on GNU and GNU-like platforms, but has not been tested + on native Windows. + * lib/sys_select.in.h: Include only if native Windows. + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require + gl_HEADER_SYS_SOCKET. + * modules/sys_select (Files): Add m4/sys_socket_h.m4, for + gl_PREREQ_SYS_H_WINSOCK2. + +2011-06-29 Eric Blake + + pipe2: fix C89 compile problem + * lib/pipe2.c (pipe2): Avoid C99 array initialization. + Reported by Bruno Haible. + + pipe, pipe2: don't corrupt fd on error + * lib/pipe.c (pipe): Leave fd unchanged on error. + * lib/pipe2.c (pipe2): Likewise. + * doc/posix-functions/pipe.texi (pipe): Document cygwin issue. + * doc/glibc-functions/pipe2.texi (pipe2): Likewise. + +2011-06-27 Paolo Bonzini + + mmap-anon: do not use regular expressions inadvertently + * m4/mmap-anon.m4: Remove trailing period from strings sought + in the output. + +2011-06-25 Paul Eggert + + nanosleep: fix integer overflow problem + * lib/nanosleep.c (my_usleep): Don't assume signed integer + arithmetic wraps around on overflow. + + nanosleep: simplify carrying + * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the + first call to the underyling nanosleep, not for the last one. + This doesn't fix any bugs, but it simplifies the computation of + the remaining delay. Found while auditing integer overflow issues. + + dup2: remove test for existence of fcntl + * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not + "#if HAVE_FCNTL", in the configure-time test program. + This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]), + and therefore speeds up "configure" a bit. Found while + adding the dup2 module to Emacs. + +2011-06-24 Eric Blake + + maint.mk: enhance useless header checks + * top/maint.mk (_sc_header_without_use): Check both include + styles. + (sc_prohibit_assert_without_use) + (sc_prohibit_close_stream_without_use) + (sc_prohibit_getopt_without_use) + (sc_prohibit_quotearg_without_use) + (sc_prohibit_quote_without_use) + (sc_prohibit_long_options_without_use) + (sc_prohibit_inttostr_without_use) + (sc_prohibit_ignore_value_without_use) + (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use) + (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use) + (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use) + (sc_prohibit_hash_pjw_without_use) + (sc_prohibit_safe_read_without_use) + (sc_prohibit_argmatch_without_use) + (sc_prohibit_canonicalize_without_use) + (sc_prohibit_root_dev_ino_without_use) + (sc_prohibit_openat_without_use) + (sc_prohibit_c_ctype_without_use) + (sc_prohibit_signal_without_use) + (sc_prohibit_stdio--_without_use) + (sc_prohibit_stdio-safer_without_use) + (sc_prohibit_strings_without_use) + (sc_prohibit_intprops_without_use) + (sc_prohibit_stddef_without_use) + (sc_prohibit_xfreopen_without_use): Update clients. + +2011-06-24 Jim Meyering + + syntax-check: keep one maint.mk rule in sync with its header + * Makefile (sc_check_sym_list): Add a rule to prevent a repeat + of the bug Eric has just fixed, with today's commit 25e4c2ec. + I prefer to avoid temporary files here, so use <(...), but that + is not supported by /bin/sh, so... + (SHELL): Define to /bin/bash. + +2011-06-24 Eric Blake + + maint.mk: update sc_prohibit_intprops_without_use + * top/maint.mk (_intprops_names): Match recent changes. + +2011-06-24 Bruno Haible + + strerror-override: No-op tweak. + * lib/strerror-override.h (strerror_override): Reorder conditions, + for consistency with lib/strerror-override.c. + +2011-06-23 Eric Blake + + maint.mk: test further PATH_MAX issues + * top/maint.mk (sc_prohibit_path_max_array): Rename... + (sc_prohibit_path_max_allocation): ...and also test alloca. + Suggested by Jim Meyering. - Small fixes to improve documentation: - - Declare a module name in test_yum, so that gets taken instead of Yum.lns - - Filter is a view, not a variable in ntpd.aug - - Properly declare the module name nginx.aug +2011-06-22 Eric Blake + + maint.mk: add syntax-check to avoid char[PATH_MAX] + * top/maint.mk (sc_prohibit_path_max_array): New rule. + + stat: be robust to PATH_MAX definition + * lib/stat.c (rpl_stat): Require reasonable PATH_MAX. + * modules/stat (Depends-on): Add verify. + + link: work around IRIX bug + * m4/link.m4 (gl_FUNC_LINK): Expose the bug. + * lib/link.c (rpl_link): Work around it. + * tests/test-link.h (test_link): Enhance test. + * doc/posix-functions/link.texi (link): Document the bug. + + getopt: silence clang warning + * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL + dereference. + Reported by Gustavo Martin Domato. + +2011-06-22 Jim Meyering + + bootstrap: do not insert a blank line into each .gitignore file + * build-aux/bootstrap (sort_patterns): Filter out blank lines. + +2011-06-21 Eric Blake + + perror: test for output mismatch + * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace + perror on IRIX. + + strerror_r: fix OpenBSD behavior on out-of-range + * lib/strerror_r.c (strerror_r): Always use maximal string. + * doc/posix-functions/strerror_r.texi (strerror_r): Document it. + + strerror_r: fix OpenBSD behavior on 0 + * lib/strerror-override.c (strerror_override): Also override 0 + when needed. + * lib/strerror-override.h (strerror_override): Likewise. + * lib/strerror.c (strerror): Simplify, now that 0 override is done + earlier. + * lib/strerror_r.c (strerror_r): Likewise. + * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0 + behavior... + (gl_FUNC_STRERROR_0): ...into new macro. + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0 + is overridden. + (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken. + * modules/strerror-override (Files): Add strerror.m4. + (configure.ac): Also provide override for 0 when needed. + * doc/posix-functions/strerror.texi (strerror): Document this. + * doc/posix-functions/perror.texi (perror): Likewise. + + perror: adjust array size + * modules/perror (Depends-on): Add strerror-override. + * lib/perror.c (perror): Use it to avoid magic number. + + strerror-override: reduce size + * lib/strerror-override.c (strerror_override): Use fewer lines. + +2011-06-20 Bruno Haible + + pathmax: Ensure correct value for PATH_MAX on HP-UX. + * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024. + +2011-06-20 Paul Eggert + + alloca: port to compilers that can optimize like GCC 4.6.0 + * lib/alloca.c (find_stack_direction): New signature, taken from + Autoconf git. This works with GCC 4.6.0. This code should never + be used with GCC 4.6.0 itself, as GCC has alloca, but it might + be used with other compilers that optimize as well as GCC 4.6.0 does. + (alloca): Adjust to new signature. + * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]: + New macro, which patches Autoconf in a similar way. + + c-stack: stop worrying about stack direction + * lib/c-stack.c (find_stack_direction): Remove. + (segv_handler): Don't worry about stack direction growth, as it's + too much of a pain to configure this correctly, given how compilers + are optimizing-away our stack-growth detection code. Instead, assume + that any access to just before or just after the stack is OK. + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): + Don't require AC_FUNC_ALLOCA; no longer needed. + +2011-06-20 Eric Blake + + test-stat: don't allocate PATH_MAX bytes + * tests/test-stat.h (test_stat_func): Don't stack-allocate a + PATH_MAX-sized buffer. + * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax. + * modules/stat-tests (Depends-on): Likewise. + * tests/test-fstatat.c (includes): Drop pathmax.h. + * tests/test-stat.c (includes): Likewise. + Reported by Bruno Haible. + +2011-06-20 Bruno Haible + + float: Work around bugs on FreeBSD/x86, AIX with GCC, IRIX. + * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX. + * lib/float.c: New file. + * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set + REPLACE_FLOAT_LDBL. + * modules/float (Files): Add lib/float.c. + (configure.ac): Invoke AC_LIBOBJ. + * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX. + +2011-06-20 Bruno Haible + + Tests for module 'float'. + * modules/float-tests: New file. + * tests/test-float.c: New file. + +2011-06-19 Bruno Haible + + isinf: Coding style. + * lib/isinf.c: Use GNU coding style. + +2011-06-19 Bruno Haible + + linkat test: Avoid test failure on AIX 7.1. + * tests/test-linkat.c (main): Allow EINVAL as alternate error value. + * tests/test-link.h (test_link): Likewise. + +2011-06-19 Bruno Haible + + pread test: Avoid test failure on OpenBSD 4.9. + * tests/test-pread.c (main): Allow EFBIG instead of EINBAL. + +2011-06-19 Bruno Haible + + sprintf-posix: Fix test failure on AIX 7.1. + * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug. + * doc/posix-functions/dprintf.texi: Mention limited precision problem + on AIX. + * doc/posix-functions/fprintf.texi: Likewise. + * doc/posix-functions/printf.texi: Likewise. + * doc/posix-functions/snprintf.texi: Likewise. + * doc/posix-functions/sprintf.texi: Likewise. + * doc/posix-functions/vdprintf.texi: Likewise. + * doc/posix-functions/vfprintf.texi: Likewise. + * doc/posix-functions/vprintf.texi: Likewise. + * doc/posix-functions/vsnprintf.texi: Likewise. + * doc/posix-functions/vsprintf.texi: Likewise. + +2011-06-19 Bruno Haible + + roundl-ieee: Fix test failure on AIX 7.1. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L). + * doc/posix-functions/roundl.texi: Mention problem with negative + arguments. + +2011-06-19 Bruno Haible + + round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1. + * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee. + * doc/posix-functions/round.texi: Mention problem with negative + arguments. + * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1. + +2011-06-19 Bruno Haible + + roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1. + * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f). + * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee. + * doc/posix-functions/roundf.texi: Mention problem with negative + arguments. + * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1. + +2011-06-19 Bruno Haible + + ceilf-ieee: Work around bug on MacOS X 10.5. + * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem. + + floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks. + * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is + IEEE compliant, avoid compiler optimizations. + * m4/floor.m4 (gl_FUNC_FLOOR): Likewise. + * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise. + * m4/ceil.m4 (gl_FUNC_CEIL): Likewise. + * m4/ceill.m4 (gl_FUNC_CEILL): Likewise. + * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise. + * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise. + * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise. + * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise. + * m4/round.m4 (gl_FUNC_ROUND): Likewise. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise. + +2011-06-19 Bruno Haible + + ceilf-ieee: Work around bug on AIX 7.1. + * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f). + * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem. + +2011-06-19 Bruno Haible + + ceil-ieee: Work around bug on AIX 7.1. + * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3). + * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem. + +2011-06-18 Bruno Haible + + fsync test: Avoid test failure on MacOS X and AIX. + * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of + EINVAL. + +2011-06-18 Bruno Haible + + openat, fdopendir tests: Fix link errors. + * modules/openat-tests (Depends-on): Add progname. + * modules/fdopendir-tests (Depends-on): Likewise. + * tests/test-fchownat.c: Include progname.h. + (main): Call set_program_name. + * tests/test-fstatat.c: Include progname.h. + (main): Call set_program_name. + * tests/test-mkdirat.c: Include progname.h. + (main): Call set_program_name. + * tests/test-openat.c: Include progname.h. + (main): Call set_program_name. + * tests/test-unlinkat.c: Include progname.h. + (main): Call set_program_name. + * tests/test-fdopendir.c: Include progname.h. + (main): Call set_program_name. + +2011-06-18 Bruno Haible + + Doc update. + * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding + HP-UX. + * doc/posix-functions/pthread_attr_setstack.texi: Likewise. + +2011-06-18 Bruno Haible + + getcwd tests: Avoid compilation error on HP-UX 11.31. + * modules/getcwd-tests (Depends-on): Add pathmax. + * tests/test-getcwd.c: Include pathmax.h. + +2011-06-18 Bruno Haible + + isfinite, isinf: Fix link error on AIX 6 and 7. + * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is + needed, also test the macro with a 'float' argument. + * m4/isinf.m4 (gl_ISINF): Likewise. + +2011-06-18 Bruno Haible + + getloadavg: Don't clobber LIBS. Regression from previous commit. + * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use + AC_CHECK_LIB from here... + (gl_GETLOADAVG): ... to here, inside the experiment with LIBS. + (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to + gl_func_getloadavg_done. + Reported by Tom G. Christensen . + +2011-06-18 Bruno Haible + + clean-temp: Improve documentation. + * lib/clean-temp.h: Explain better how to use this module. + Reported by John Darrington . + +2011-06-17 Bruno Haible + + pread, pwrite: Avoid cc warning on AIX. + * lib/unistd.in.h (pread): Undefine before defining as a macro. + (pwrite): Likewise. + +2011-06-17 Bruno Haible + + spawn-pipe tests: Fix link error. + * tests/test-spawn-pipe-child.c: Undefine fprintf. + Reported by Tom G. Christensen . + +2011-06-17 Bruno Haible + + Tests: Remove unnecessary dependency. + * modules/canonicalize-tests (Depends-on): Remove progname. + * modules/chown-tests (Depends-on): Likewise. + * modules/dirname-tests (Depends-on): Likewise. + * modules/fdopendir-tests (Depends-on): Likewise. + * modules/fdutimensat-tests (Depends-on): Likewise. + * modules/hash-tests (Depends-on): Likewise. + * modules/lchown-tests (Depends-on): Likewise. + * modules/linkat-tests (Depends-on): Likewise. + * modules/renameat-tests (Depends-on): Likewise. + * modules/spawn-pipe-tests (Depends-on): Likewise. + * modules/utimensat-tests (Depends-on): Likewise. + +2011-06-17 Bruno Haible + + spawn-pipe tests: Fix link error. + * tests/test-spawn-pipe-child.c: Undefine fflush. + +2011-06-17 Bruno Haible - Correctly set the module name, and let it actually test the Lightdm lens. + Fix tests link errors. + * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM. + * modules/chown-tests (Makefile.am): Don't link test-chown with + LIBINTL. + * modules/lchown-tests (Makefile.am): Don't link test-lchown with + LIBINTL. + * modules/utimens-tests (Makefile.am): Don't link test-utimens with + LIBINTL. + * modules/futimens-tests (Makefile.am): Don't link test-futimens with + LIBINTL. + +2011-06-16 Bruno Haible + + crypto/gc-sha1: Fix recent regression. + * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here. + * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1. + + crypto/gc-md5: Fix recent regression. + * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here. -2013-01-04 David Lutterkort + crypto/gc-md4: Fix recent regression. + * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here. + * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty. - Xml test (input1): modify to mildly check handling DOS line endings + crypto/gc-arctwo: Fix recent regression. + * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here. + * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty. -2013-01-04 Jasper Lievisse Adriaanse + crypto/gc-rijndael: Fix recent regression. + * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4. + (configure.ac): Invoke AC_LIBOBJ here. + * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL. + Reported by Tom G. Christensen . - Add support for handling the "client-output-buffer-limit" to the Redis lens. + crypto/gc-hmac-sha1: Fix recent regression. + * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4. + (configure.ac): Invoke AC_LIBOBJ here. + * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1. + Reported by Tom G. Christensen . -2013-01-03 Jasper Lievisse Adriaanse + crypto/gc-hmac-md5: Fix recent regression. + * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4. + (configure.ac): Invoke AC_LIBOBJ here. + * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5. + Reported by Tom G. Christensen . - Some small Rx tweaks: include regexes for octal and hex and simplify ipv4 matching. - Fixes ticket #327 + crypto/gc-des: Fix recent regression. + * modules/crypto/gc-des (Files): Remove m4/des.m4. + (configure.ac): Invoke AC_LIBOBJ here. + * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES. + Reported by Tom G. Christensen . - Add a lens for OpenNTPD's config file (ntpd.conf). - Extend rx.aug with some helpful regexes while here. - Fixes ticket #324 + crypto/gc-arcfour: Fix recent regression. + * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4. + (configure.ac): Invoke AC_LIBOBJ here. + * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR. + Reported by Tom G. Christensen . - Adjust the fonts lens' exclusion rule to ignore all README files - Fixes ticket #323 +2011-06-16 Paul Eggert -2013-01-03 Raphaël Pinson + * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite. + After the 2011-05-21 change, this macro requires + gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not + AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. - Quote: improve lens usage +2011-06-16 Bruno Haible - Quote: lens usage + fprintftime: Move AC_LIBOBJ invocations to module description. + * m4/fprintftime.m4: Remove file. + * modules/fprintftime (Files): Remove m4/fprintftime.m4. + (configure.ac): Remove gl_FPRINTFTIME call. + (Makefile.am): Augment lib_SOURCES. + Reported by Jim Meyering. - Quote: Improve documentation for functions +2011-06-16 Bruno Haible - Xorg: Fix filter + tmpfile-safer: Finish 2011-05-23 commit. + * m4/stdio-safer.m4: Really remove file. + Reported by Jim Meyering. -2013-01-03 Jasper Lievisse Adriaanse +2011-06-16 Bruno Haible - Also handle /etc/monitrc - Fixes ticket #326 + syntax-check: Fix typo. + * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not + printf-posix.m4. + Reported by Jim Meyering. -2013-01-03 Jasper Lievisse Adriaanse +2011-06-13 Jim Meyering - Remove bogus use of Util.stdexcl. - It should only be used for wildcard includes. - Add an exclude to Util.stdexcl for "#*#" while here. + syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy + * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule. - Fixes ticket #325 +2011-05-23 Bruno Haible -2013-01-03 Raphaël Pinson + yesno: Move AC_LIBOBJ invocations to module description. + * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation. + * modules/yesno (Makefile.am): Augment lib_SOURCES. - Erlang and Quote are generic lenses +2011-05-23 Bruno Haible -2013-01-02 Jasper Lievisse Adriaanse + xstrtol: Move AC_LIBOBJ invocations to module description. + * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations. + * modules/xstrtol (Makefile.am): Augment lib_SOURCES. - Add a new lens for OpenBSD's /etc/boot.conf. - Fixes ticket #322 +2011-05-23 Bruno Haible -2013-01-02 Raphaël Pinson + xstrtold: Move AC_LIBOBJ invocations to module description. + * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation. + * modules/xstrtold (Makefile.am): Augment lib_SOURCES. - Networks: networks can have weird submasks, too +2011-05-23 Bruno Haible - Sysctl: exclude /etc/sysctl.d/README.sysctl + xstrtod: Move AC_LIBOBJ invocations to module description. + * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation. + * modules/xstrtod (Makefile.am): Augment lib_SOURCES. - Sudoers: Allow user aliases in specs +2011-05-23 Bruno Haible - Systemd: Allow backslashes inside values + xnanosleep: Move AC_LIBOBJ invocations to module description. + * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation. + * modules/xnanosleep (Makefile.am): Augment lib_SOURCES. - Systemd: Simplify expression +2011-05-23 Bruno Haible - Systemd: Don't use multiple negates in regexps + xgetcwd: Move AC_LIBOBJ invocations to module description. + * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation. + * modules/xgetcwd (Makefile.am): Augment lib_SOURCES. -2012-12-30 Jasper Lievisse Adriaanse +2011-05-23 Bruno Haible - * tests/cutest.c: include sys/wait.h for WIFEXITED and WEXITSTATUS. - Fixes ticket #321 + xalloc: Move AC_LIBOBJ invocations to module description. + * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation. + * modules/xalloc (Makefile.am): Augment lib_SOURCES. -2012-12-30 Dominic Cleal +2011-05-23 Bruno Haible - Inetd: support IPv6 addresses - Fixes ticket #320 + write-any-file: Move AC_LIBOBJ invocations to module description. + * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ + invocation. + * modules/write-any-file (Makefile.am): Augment lib_SOURCES. -2012-12-30 Jasper Lievisse Adriaanse +2011-05-23 Bruno Haible - Shellvars: parse /etc/rc.conf.local which is found on OpenBSD. - Fixes ticket #320 + utimens: Move AC_LIBOBJ invocations to module description. + * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation. + * modules/utimens (Makefile.am): Augment lib_SOURCES. - Dhclient: on OpenBSD dhclient.conf lives in /etc/dhclient.conf - Fixes ticket #320 +2011-05-23 Bruno Haible - Resolv: Add two new views (family and lookup) - Fixes ticket #320 + utimecmp: Move AC_LIBOBJ invocations to module description. + * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation. + * modules/utimecmp (Makefile.am): Augment lib_SOURCES. -2012-12-29 Dominic Cleal +2011-05-23 Bruno Haible - * src/augrun.c: fix spelling in defnode help + userspec: Move AC_LIBOBJ invocations to module description. + * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation. + * modules/userspec (Makefile.am): Augment lib_SOURCES. -2012-12-28 Raphaël Pinson +2011-05-23 Bruno Haible - AptPreferences: Add "n" to pin keys + unlinkdir: Move AC_LIBOBJ invocations to module description. + * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation. + * modules/unlinkdir (Makefile.am): Augment lib_SOURCES. -2012-12-23 Dominic Cleal +2011-05-23 Bruno Haible - Xinetd: handle missing values in lists - Fixes ticket #307 + unistd-safer: Move AC_LIBOBJ invocations to module description. + * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations. + * modules/unistd-safer (Makefile.am): Augment lib_SOURCES. -2012-12-22 Dominic Cleal +2011-05-23 Bruno Haible - Update NEWS and AUTHORS + tempname: Move AC_LIBOBJ invocations to module description. + * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation. + * modules/tempname (Makefile.am): Augment lib_SOURCES. -2012-12-21 David Lutterkort +2011-05-23 Bruno Haible - Version 1.0.0 + strftime: Move AC_LIBOBJ invocations to module description. + * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation. + * modules/strftime (Makefile.am): Augment lib_SOURCES. -2012-12-21 Dominic Cleal +2011-05-23 Bruno Haible - Krb5: support semicolon comments, allow empty lines within subsections - Fixes ticket #288 + stdlib-safer: Move AC_LIBOBJ invocations to module description. + * m4/stdlib-safer.m4: Remove file. + * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4. + (configure.ac): Remove gl_STDLIB_SAFER call. + (Makefile.am): Augment lib_SOURCES. -2012-12-21 Pat Riehecky +2011-05-23 Bruno Haible - Krb5: support host { } subsections inside v4_name_convert, handle multiple arguments to *_enctypes settings, support ticket_lifetime - Contains a minor incompatible lens change for permitted_enctypes, - default_tgs_enctypes and default_tkt_enctypes settings, where labels are now - lower-cased. + tmpfile-safer: Move AC_LIBOBJ invocations to module description. + * m4/stdio-safer.m4: Remove file. + * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4. + (configure.ac): Remove gl_TMPFILE_SAFER call. + (Makefile.am): Augment lib_SOURCES. - Fixes ticket #274 +2011-05-23 Bruno Haible -2012-12-21 Raphaël Pinson + popen-safer: Move AC_LIBOBJ invocations to module description. + * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro. + * modules/popen-safer (Files): Remove m4/stdio-safer.m4. + (configure.ac): Remove gl_POPEN_SAFER call. + (Makefile.am): Augment lib_SOURCES. - Update NEWS and AUTHORS +2011-05-23 Bruno Haible - Merge branch 'master' of ssh://git.fedorahosted.org/git/augeas into dev/nginx + freopen-safer: Move AC_LIBOBJ invocations to module description. + * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro. + * modules/freopen-safer (Files): Remove m4/stdio-safer.m4. + (configure.ac): Remove gl_FREOPEN_SAFER call. + (Makefile.am): Augment lib_SOURCES. - Add Nginx lens to parse /etc/nginx/nginx.conf, bug #319 +2011-05-23 Bruno Haible -2012-12-21 David Lutterkort + fopen-safer: Move AC_LIBOBJ invocations to module description. + * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro. + * modules/fopen-safer (Files): Remove m4/stdio-safer.m4. + (configure.ac): Remove gl_FOPEN_SAFER call. + (Makefile.am): Augment lib_SOURCES. - * src/Makefile.am: add $(top_builddir)/gnulib/lib to GNULIB_CFLAGS - Needed for building under IllumOS +2011-05-23 Bruno Haible - Fixes https://fedorahosted.org/augeas/ticket/270 + crypto/sha512: Move AC_LIBOBJ invocations to module description. + * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation. + * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES. -2012-12-19 Matthaus Owens +2011-05-23 Bruno Haible - Add /etc/puppetlabs/puppet path to puppet lenses - In Puppet Enterprise, puppet is rooted in /etc/puppetlabs/puppet instead of - /etc/puppet, so that is also a valid location for puppet.conf, fileserver.conf, - and auth.conf. This commit also adds /usr/local/etc/puppet/auth.conf as a - filter for the puppet auth lens. + crypto/sha256: Move AC_LIBOBJ invocations to module description. + * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation. + * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES. -2012-12-17 Marc Fournier +2011-05-23 Bruno Haible - Redis: new lens and tests + crypto/sha1: Move AC_LIBOBJ invocations to module description. + * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation. + * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES. -2012-12-17 Raphaël Pinson +2011-05-23 Bruno Haible - Quote: Add tests for *_nil entries + settime: Move AC_LIBOBJ invocations to module description. + * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation. + * modules/settime (Makefile.am): Augment lib_SOURCES. -2012-12-17 Marc Fournier +2011-05-23 Bruno Haible - Add Quote.*quote_opt_nil variables and functions - ... which are exactly the same as Quote.*quote_opt, except they don't - set quotes by default. + savedir: Move AC_LIBOBJ invocations to module description. + * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation. + * modules/savedir (Makefile.am): Augment lib_SOURCES. - This patch also completes a couple of existing comments. +2011-05-23 Bruno Haible -2012-12-17 Marc Fournier + save-cwd: Move AC_LIBOBJ invocations to module description. + * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation. + * modules/save-cwd (Makefile.am): Augment lib_SOURCES. - augeas.vim: added a couple of keywords recently introduced. +2011-05-23 Bruno Haible -2012-12-17 Raphaël Pinson + same: Move AC_LIBOBJ invocations to module description. + * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation. + * modules/same (Makefile.am): Augment lib_SOURCES. - Dhcpd: force double quotes for filename attribute, bug #311 +2011-05-23 Bruno Haible -2012-12-16 Marc Fournier + safe-write: Move AC_LIBOBJ invocations to module description. + * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro. + * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE + instead of gl_SAFE_WRITE. + (Makefile.am): Augment lib_SOURCES. - Postgresql: properly support quotes - Fixes trac#317 +2011-05-23 Bruno Haible -2012-12-14 Raphaël Pinson + safe-read: Move AC_LIBOBJ invocations to module description. + * m4/safe-read.m4 (gl_SAFE_READ): Remove macro. + * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead + of gl_SAFE_READ. + (Makefile.am): Augment lib_SOURCES. - Postfix_Transport: allow host:port and [host]:port syntaxes, bug #303 +2011-05-23 Bruno Haible - Really test Avahi.lns in test_avahi.aug + safe-alloc: Move AC_LIBOBJ invocations to module description. + * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation. + * modules/safe-alloc (Makefile.am): Augment lib_SOURCES. - Update NEWS +2011-05-23 Bruno Haible -2012-12-14 Athir Nuaimi + crypto/rijndael: Move AC_LIBOBJ invocations to module description. + * m4/rijndael.m4: Remove file. + * modules/crypto/rijndael (Files): Remove it. + (configure.ac): Remove gl_RIJNDAEL call. + (Makefile.am): Augment lib_SOURCES. - Add new Avahi lens to manage /etc/avahi/avahi-daemon.conf +2011-05-23 Bruno Haible -2012-12-14 Raphaël Pinson + readtokens: Move AC_LIBOBJ invocations to module description. + * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation. + * modules/readtokens (Makefile.am): Augment lib_SOURCES. - Merge branch 'trac#281' of git://github.com/mfournier/augeas into review/pr4 +2011-05-23 Bruno Haible -2012-12-14 Marc Fournier + read-file: Move AC_LIBOBJ invocations to module description. + * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro. + * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead + of gl_FUNC_READ_FILE. + (Makefile.am): Augment lib_SOURCES. - Add a path to pg_hba.aug, fixes Trac ticket #281. +2011-05-23 Bruno Haible - Htpasswd: new lens and tests + quotearg: Move AC_LIBOBJ invocations to module description. + * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation. + * modules/quotearg (Makefile.am): Augment lib_SOURCES. -2012-12-13 Raphaël Pinson +2011-05-23 Bruno Haible - Update NEWS + quote: Move AC_LIBOBJ invocations to module description. + * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation. + * modules/quote (Makefile.am): Augment lib_SOURCES. - src/augtool.c: honor --echo in run_args +2011-05-23 Bruno Haible - src/augtool.c: print_aug_error when run_args fails + posixver: Move AC_LIBOBJ invocations to module description. + * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation. + * modules/posixver (Makefile.am): Augment lib_SOURCES. - src/augtool.c: run_args is successful if code >= 0, bug #316 +2011-05-23 Bruno Haible -2012-12-12 Raphaël Pinson + posixtm: Move AC_LIBOBJ invocations to module description. + * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation. + * modules/posixtm (Makefile.am): Augment lib_SOURCES. - Update AUTHORS +2011-05-23 Bruno Haible - Prepare NEWS for 1.0 release + physmem: Move AC_LIBOBJ invocations to module description. + * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation. + * modules/physmem (Makefile.am): Augment lib_SOURCES. - Add Quote.dquote_spaces and Quote.squote_spaces +2011-05-23 Bruno Haible - Use Quote.quote_spaces in pg_hba.aug + pagealign_alloc: Move AC_LIBOBJ invocations to module description. + * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ + invocation. + * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES. - Add Quote.quote_spaces +2011-05-23 Bruno Haible - Automagically manage quotes in pg_hba.aug + mpsort: Move AC_LIBOBJ invocations to module description. + * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation. + * modules/mpsort (Makefile.am): Augment lib_SOURCES. -2012-12-11 Raphaël Pinson +2011-05-23 Bruno Haible - pg_hba.aug: Support multiple options (ticket #313) + modechange: Move AC_LIBOBJ invocations to module description. + * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation. + * modules/modechange (Makefile.am): Augment lib_SOURCES. - Add test for ticket 313 +2011-05-23 Bruno Haible - pg_hba.aug: fix method to avoid clashing with hostname + mkdir-p: Move AC_LIBOBJ invocations to module description. + * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations. + * modules/mkdir-p (Makefile.am): Augment lib_SOURCES. -2012-12-11 Andreas Ntaflos +2011-05-23 Bruno Haible - Support hostnames/FQDNs and FQDN suffixes in pg_hba.conf - In pg_hba.conf the "address" column may also be a hostname, FQDN or part - of an FQDN starting with a dot, in addition to IP addresses. This adds - support for such hostnames and hostname suffixes. + mkancesdirs: Move AC_LIBOBJ invocations to module description. + * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation. + * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES. -2012-12-09 Raphaël Pinson +2011-05-23 Bruno Haible - Merge branch 'master' of ssh://git.fedorahosted.org/git/augeas into dev/shellvars_newlines + mgetgroups: Move AC_LIBOBJ invocations to module description. + * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation. + * modules/mgetgroups (Makefile.am): Augment lib_SOURCES. -2012-12-09 Dominic Cleal +2011-05-23 Bruno Haible - Shellvars: add locale.conf, vconsole.conf systemd configs - Fixes BZ#881841 + memxor: Move AC_LIBOBJ invocations to module description. + * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation. + * modules/memxor (Makefile.am): Augment lib_SOURCES. -2012-12-09 Raphaël Pinson +2011-05-23 Bruno Haible - Fix support for empty comments after comments + memcoll: Move AC_LIBOBJ invocations to module description. + * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation. + * modules/memcoll (Makefile.am): Augment lib_SOURCES. - shellvars.aug: Fix newlines after comments being mapped as Util.empty +2011-05-23 Bruno Haible -2012-12-06 Dominic Cleal + memcasecmp: Move AC_LIBOBJ invocations to module description. + * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation. + * modules/memcasecmp (Makefile.am): Augment lib_SOURCES. - Shellvars: add locale.conf, vconsole.conf systemd configs - Fixes BZ#881841 +2011-05-23 Bruno Haible -2012-12-03 Raphaël Pinson + crypto/md5: Move AC_LIBOBJ invocations to module description. + * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation. + * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES. - Add rsyslog.aug +2011-05-23 Bruno Haible -2012-11-29 Raphaël Pinson + crypto/md4: Move AC_LIBOBJ invocations to module description. + * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation. + * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES. - No need for comment in rabbitmq.aug (managed in erlang.aug) +2011-05-23 Bruno Haible - Support comments in erlang.aug and rabbitmq.aug + crypto/md2: Move AC_LIBOBJ invocations to module description. + * m4/md2.m4: Remove file. + * modules/crypto/md2 (Files): Remove it. + (configure.ac): Remove gl_MD2 call. + (Makefile.am): Augment lib_SOURCES. -2012-11-28 Raphaël Pinson +2011-05-23 Bruno Haible - Add rabbitmq.aug + long-options: Move AC_LIBOBJ invocations to module description. + * m4/long-options.m4: Remove file. + * modules/long-options (Files): Remove it. + (configure.ac): Remove gl_LONG_OPTIONS call. + (Makefile.am): Augment lib_SOURCES. - Add erlang.aug +2011-05-23 Bruno Haible -2012-11-22 Raphaël Pinson + i-ring: Move AC_LIBOBJ invocations to module description. + * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation. + * modules/i-ring (Makefile.am): Augment lib_SOURCES. - Add /etc/audit/auditd.conf to simplevars.aug +2011-05-23 Bruno Haible -2012-11-20 Domen Kožar + idcache: Move AC_LIBOBJ invocations to module description. + * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation. + * modules/idcache (Makefile.am): Augment lib_SOURCES. - correctly parse escaped string literals in vim syntax file +2011-05-23 Bruno Haible -2012-11-20 Francois Lebel + human: Move AC_LIBOBJ invocations to module description. + * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation. + * modules/human (Makefile.am): Augment lib_SOURCES. - Add a lens for logwatch. +2011-05-23 Bruno Haible -2012-11-20 Raphaël Pinson + crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description. + * m4/hmac-sha1.m4: Remove file. + * modules/crypto/hmac-sha1 (Files): Remove it. + (configure.ac): Remove gl_HMAC_SHA1 call. + (Makefile.am): Augment lib_SOURCES. - Add tests for regexp builtin with flag +2011-05-23 Bruno Haible - Add support for an 'i' flag in regexp builtin function + crypto/hmac-md5: Move AC_LIBOBJ invocations to module description. + * m4/hmac-md5.m4: Remove file. + * modules/crypto/hmac-md5 (Files): Remove it. + (configure.ac): Remove gl_HMAC_MD5 call. + (Makefile.am): Augment lib_SOURCES. -2012-11-20 David Lutterkort +2011-05-23 Bruno Haible - * src/pathx.c: pass the number of actual arguments to the func implementation + hash: Move AC_LIBOBJ invocations to module description. + * m4/hash.m4: Remove file. + * modules/hash (Files): Remove it. + (configure.ac): Remove gl_HASH call. + (Makefile.am): Augment lib_SOURCES. - * src/pathx.c: match functions by name and arity - This makes it possible to have different numbers of arguments for the same - function, e.g. count() and count(nodeset) +2011-05-23 Bruno Haible - * src/pathx.c: disallow ',' in names in path expressions - Note that this breaks backwards compatibility, since, when searching for a - node 'a,b' you now must write "match a\,b" rather than "match a,b" + hard-locale: Move AC_LIBOBJ invocations to module description. + * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation. + * modules/hard-locale (Makefile.am): Augment lib_SOURCES. -2012-11-14 Raphaël Pinson +2011-05-23 Bruno Haible - Add Puppet_Auth lens + getugroups: Move AC_LIBOBJ invocations to module description. + * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation. + * modules/getugroups (Makefile.am): Augment lib_SOURCES. -2012-11-09 Raphaël Pinson +2011-05-23 Bruno Haible - Add aug_label to retrieve the label from a path. + gettime: Move AC_LIBOBJ invocations to module description. + * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation. + * modules/gettime (Makefile.am): Augment lib_SOURCES. -2012-11-09 David Lutterkort +2011-05-23 Bruno Haible - Sysconfig: handle end of line comments and semicolons; strip quotes - Fixes RHBZ #761246 + getndelim2: Move AC_LIBOBJ invocations to module description. + * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation. + * modules/getndelim2 (Makefile.am): Augment lib_SOURCES. - square lens: correctly process skeletons during put - The current code would identify a L_SQUARE skeleton to match even when it - did not, meaning we would not trigger a create in all instances where it - was needed. +2011-05-23 Bruno Haible - Shellvars: add tests for semicolon handling + crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description. + * m4/gc-pbkdf2-sha1.m4: Remove file. + * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it. + (configure.ac): Remove gl_GC_PBKDF2_SHA1 call. + (Makefile.am): Augment lib_SOURCES. - * lenses/tests/test_sysconfig.aug: use a variable 'lns' for Sysconfig.lns +2011-05-23 Bruno Haible - * lenses/tests/test_sysconfig.aug: use a variable 'lns' for Shellvars.lns + fts: Move AC_LIBOBJ invocations to module description. + * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here... + * modules/fts (configure.ac): ... to here. - * tests/Makefile.am (lens_tests): add quote test +2011-05-23 Bruno Haible -2012-10-29 Raphaël Pinson + file-type: Move AC_LIBOBJ invocations to module description. + * m4/file-type.m4: Remove file. + * modules/file-type (Files): Remove it. + (configure.ac): Remove gl_FILE_TYPE call. + (Makefile.am): Augment lib_SOURCES. - Use the Quote module in dhcpd.aug +2011-05-23 Bruno Haible - Use the Quote module in openvpn.aug + filenamecat*: Respect rules for use of AC_LIBOBJ. + * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL): + Remove AC_LIBOBJ invocation. + * modules/filenamecat (Makefile.am): Augment lib_SOURCES. + * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES. - Add quote.aug to easily manage quotes +2011-05-23 Bruno Haible -2012-10-27 Raphaël Pinson + filemode: Move AC_LIBOBJ invocations to module description. + * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation. + * modules/filemode (Makefile.am): Augment lib_SOURCES. - vmware_config: use square lens to manage quotes +2011-05-23 Bruno Haible -2012-10-26 David Lutterkort + openat-safer: Move AC_LIBOBJ invocations to module description. + * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation. + * modules/openat-safer (Makefile.am): Augment lib_SOURCES. - square: properly handle first lens matching empty string - The rewriting of the ctype of (square l1 l2 l3) introduced in commit - 1484afc3 was not correct when the ctype of l1 matched the empty string: the - rewritten ctype did not match the empty string any more. +2011-05-23 Bruno Haible - This patch fixes that by making sure that fa_enumerate includes the empty - word if the language contains it. + fcntl-safer: Move AC_LIBOBJ invocations to module description. + * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations. + * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES. -2012-10-26 Marc Fournier +2011-05-23 Bruno Haible - improved documentation for carbon/mcollective/memcached/thttpd lenses. + exclude: Move AC_LIBOBJ invocations to module description. + * m4/exclude.m4: Remove file. + * modules/exclude (Files): Remove it. + (configure.ac): Remove gl_EXCLUDE call. + (Makefile.am): Augment lib_SOURCES. -2012-10-26 Raphaël Pinson +2011-05-23 Bruno Haible - VMware_Config accepts values without quotes + dirname*: Respect rules for use of AC_LIBOBJ. + * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ + invocations. + * modules/dirname (Makefile.am): Augment lib_SOURCES. + * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES. -2012-10-23 Francis Giraldeau +2011-05-23 Bruno Haible - Xml: support single _and_ double quoted attribute values - Fixes RHBZ #799885 - Fixes ticket #258 + dirent-safer: Move AC_LIBOBJ invocations to module description. + * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation. + * modules/dirent-safer (Makefile.am): Augment lib_SOURCES. -2012-10-23 David Lutterkort +2011-05-23 Bruno Haible - Use precise ctype of a square lens if it is indeed regular + crypto/des: Move AC_LIBOBJ invocations to module description. + * m4/des.m4: Remove file. + * modules/crypto/des (Files): Remove it. + (configure.ac): Remove gl_DES call. + (Makefile.am): Augment lib_SOURCES. - libfa (fa_enumerate): new function - Function to enumerate FA's with a finite language, given a preset limit of - words. +2011-05-23 Bruno Haible - * src/syntax.c (compile_test): print which test failed when missing exception - Tests which should produce an exception, but produce a regular value didn't - print their line info when they failed. + cycle-check: Move AC_LIBOBJ invocations to module description. + * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation. + * modules/cycle-check (Makefile.am): Augment lib_SOURCES. - * tests/modules/fail_shadow_union.aug: fix unintended test failure +2011-05-23 Bruno Haible -2012-10-19 David Lutterkort + c-strtold: Move AC_LIBOBJ invocations to module description. + * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation. + * modules/c-strtold (Makefile.am): Augment lib_SOURCES. - Gdm: also read /etc/gdm/custom.conf by default +2011-05-23 Bruno Haible -2012-10-19 Filip Andres + c-strtod: Move AC_LIBOBJ invocations to module description. + * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation. + * modules/c-strtod (Makefile.am): Augment lib_SOURCES. - cgconfig.aug adds space between group and id +2011-05-23 Bruno Haible -2012-10-19 David Lutterkort + crc: Move AC_LIBOBJ invocations to module description. + * m4/crc.m4: Remove file. + * modules/crc (Files): Remove it. + (configure.ac): Remove gl_CRC call. + (Makefile.am): Augment lib_SOURCES. - Lightdm: new lens and tests - Fixes ticket #302 - Contributed by David Salmen +2011-05-23 Bruno Haible -2012-10-19 jmccann + close-stream: Move AC_LIBOBJ invocations to module description. + * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation. + * modules/close-stream (Makefile.am): Augment lib_SOURCES. - Ntp: add tos directive - Fixes ticket #297 +2011-05-23 Bruno Haible -2012-10-19 David Lutterkort + closeout: Move AC_LIBOBJ invocations to module description. + * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation. + * modules/closeout (Makefile.am): Augment lib_SOURCES. - Phpvars: support classes and public/var values - Fixes ticket #299 +2011-05-23 Bruno Haible - Patch by aheahe + closein: Move AC_LIBOBJ invocations to module description. + * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation. + * modules/closein (Makefile.am): Augment lib_SOURCES. -2012-10-19 Marc Fournier +2011-05-23 Bruno Haible - Memcached: new lens and tests + cloexec: Move AC_LIBOBJ invocations to module description. + * m4/cloexec.m4: Remove file. + * modules/cloexec (Files): Remove it. + (configure.ac): Remove gl_CLOEXEC call. + (Makefile.am): Augment lib_SOURCES. - Thttpd: new lens and tests +2011-05-23 Bruno Haible - Carbon: new lens and tests for Carbon cache. + check-version: Move AC_LIBOBJ invocations to module description. + * m4/check-version.m4: Remove file. + * modules/check-version (Files): Remove it. + (configure.ac): Remove gl_CHECK_VERSION call. + (Makefile.am): Augment lib_SOURCES. - MCollective: new lens and tests +2011-05-23 Bruno Haible -2012-09-24 Dominic Cleal + chdir-safer: Move AC_LIBOBJ invocations to module description. + * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation. + * modules/chdir-safer (Makefile.am): Augment lib_SOURCES. - Revert f04d7dfb3fe7c54b0be650e68aa7778eaf02ea66 - This was a subtle feature which uses counters named after the setting key to - index the values beneath it, over all instances of the setting key. This allows - for path expressions such as /files/etc/ssh/sshd/AllowEnv/10 to map to the - tenth value, irrespective of how many setting lines they are split over. +2011-05-23 Bruno Haible - Modprobe: revert inner lens name change, fixes Modules_conf - Modules: define own entry regexp as referenced Modprobe inner lens doesn't - match file format + canonicalize: Move AC_LIBOBJ invocations to module description. + * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove + AC_LIBOBJ invocation. + * modules/canonicalize (Makefile.am): Augment lib_SOURCES. -2012-09-21 Dominic Cleal +2011-05-23 Bruno Haible - Modprobe: support multiline split commands - Fixes Ubuntu bug #1054306 + canon-host: Move AC_LIBOBJ invocations to module description. + * m4/canon-host.m4 (gl_CANON_HOST): Remove macro. + * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST + instead of gl_CANON_HOST. + (Makefile.am): Augment lib_SOURCES. -2012-09-17 Dominic Cleal +2011-05-23 Bruno Haible - Sshd: reset seq counter for each array setting + backupfile: Move AC_LIBOBJ invocations to module description. + * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation. + * modules/backupfile (Makefile.am): Augment lib_SOURCES. -2012-09-13 Raphaël Pinson +2011-05-23 Bruno Haible - Fix test_syslog.aug + argmatch: Move AC_LIBOBJ invocations to module description. + * m4/argmatch.m4: Remove file. + * modules/argmatch (Files): Remove it. + (configure.ac): Remove gl_ARGMATCH call. + (Makefile.am): Augment lib_SOURCES. - Capital letters are allowed in tokens in syslog.aug +2011-05-23 Bruno Haible - Add collectd.aug and associated test + crypto/arctwo: Move AC_LIBOBJ invocations to module description. + * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation. + * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES. -2012-09-10 Raphaël Pinson +2011-05-23 Bruno Haible - Add postfix_virtual.aug and associated test + crypto/arcfour: Move AC_LIBOBJ invocations to module description. + * m4/arcfour.m4: Remove file. + * modules/crypto/arcfour (Files): Remove it. + (configure.ac): Remove gl_ARCFOUR call. + (Makefile.am): Augment lib_SOURCES. - Remove /etc/postfix/virtual from postfix_transport.aug +2011-05-22 Bruno Haible -2012-09-04 Dominic Cleal + write: Move AC_LIBOBJ invocations to module description. + * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here... + * modules/write (configure.ac): ... to here. - Sshd: permit hyphens in subsystem names +2011-05-22 Bruno Haible -2012-09-03 Raphaël Pinson + wmemset: Move AC_LIBOBJ invocations to module description. + * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from + here... + * modules/wmemset (configure.ac): ... to here. - Add apt_update_manager.aug and test +2011-05-22 Bruno Haible - Add vmware_config.aug and test + wmemmove: Move AC_LIBOBJ invocations to module description. + * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from + here... + * modules/wmemmove (configure.ac): ... to here. - Allow empty lines in gtkbookmarks.aug +2011-05-22 Bruno Haible - Use label instead of seq in gtkbookmarks.aug + wmemcpy: Move AC_LIBOBJ invocations to module description. + * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from + here... + * modules/wmemcpy (configure.ac): ... to here. - Add gtkbookmarks.aug and test +2011-05-22 Bruno Haible -2012-08-27 Pat Riehecky + wmemcmp: Move AC_LIBOBJ invocations to module description. + * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from + here... + * modules/wmemcmp (configure.ac): ... to here. - Cachefilesd: new lens for /etc/cachefilesd.conf +2011-05-22 Bruno Haible -2012-08-23 jmccann + wmemchr: Move AC_LIBOBJ invocations to module description. + * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from + here... + * modules/wmemchr (configure.ac): ... to here. - fixes #278 multipath: allow devices to override defaults +2011-05-22 Bruno Haible -2012-08-22 Michal Filka + wcswidth: Move AC_LIBOBJ invocations to module description. + * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from + here... + * modules/wcswidth (configure.ac): ... to here. - Fixed logrotate.aug. - Logrotate accepts integers prefixed by a sign. Added real world - ntp config file example from SLES into test_logrotate.aug. +2011-05-22 Bruno Haible -2012-08-21 Jeroen van Meeuwen (Kolab Systems) + wcwidth: Respect rules for use of AC_LIBOBJ. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ + invocation from here... + * modules/wcwidth (configure.ac): ... to here. + (Depends-on): Update conditions. - Add a lens for Cyrus IMAP configuration file /etc/imapd.conf (includes /etc/imap/*.conf) - Fixes ticket #296 +2011-05-22 Bruno Haible -2012-08-14 Francis Giraldeau + wctype: Move AC_LIBOBJ invocations to module description. + * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ + invocation from here... + * modules/wctype (configure.ac): ... to here. + (Depends-on): Update conditions. - Generic square lens v4 - Lens square now takes lenses instead of regular expressions as arguments, as follow: +2011-05-22 Bruno Haible - square left body right + wctrans: Move AC_LIBOBJ invocations to module description. + * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ + invocation from here... + * modules/wctrans (configure.ac): ... to here. - The left and right lenses must accept the same language. The left lens can be - either key or del, while the right lens must be del. +2011-05-22 Bruno Haible - This patch changes the semantic of the square lens and is thus not backward - compatible. Modules must be updated accordingly. The definition of the square - lens should now be definitive, and later addition may add support for - additionnal lenses for left and right sides. + wctomb: Move AC_LIBOBJ invocations to module description. + * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB + invocations from here... + * modules/wctomb (configure.ac): ... to here. - * builtin.c: change definition of the square lens. - * get.c: use the AST to recover the left and right strings matched by the - square lens.Regular lenses are handled with regexp registers. - * put.c: the variable state->override is used to indicate to a del part of a - square lens that it should use the provided value instead of the saved - string in the skel or the default value. - * lens.c: change the lns_make_square to match the new structure. +2011-05-22 Bruno Haible - Update square lens test to use lens arguments instead of regexp. The change - consists to replace "square re lens" into "square right lens left", where right - and left are lenses. Hence, legacy lens is converted this way: + wctob: Move AC_LIBOBJ invocations to module description. + * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and + gl_PREREQ_WCTOB invocations from here... + * modules/wctob (configure.ac): ... to here. + (Depends-on): Update conditions. - Legacy: - let x = square re body +2011-05-22 Bruno Haible - New definition: - let x = - let right = key re in - let left = del re "" in - square right body left + wcsxfrm: Move AC_LIBOBJ invocations to module description. + * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from + here... + * modules/wcsxfrm (configure.ac): ... to here. - This patch splits pass_square.aug into regular and recursive tests. Other tests - are added to verify constraints on the square lens arguments and typechecking. +2011-05-22 Bruno Haible - Finally, this patch updates httpd and xml lens according to square args + wcstok: Move AC_LIBOBJ invocations to module description. + * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here... + * modules/wcstok (configure.ac): ... to here. - Changes in v2: - * protect arg with parenthesis in child_first and child_last macros - * drop flag in_square, avoid lens copy, drop square_left/right strings - replaced by ast for rec lens and regs for regular lens. This - processing is more general than the previous approach, and thus - will help to extends the square lens more in the future. - Changed in v3: - * Split the patch into smaller units - Changed in v4: - * Rejoin patches to avoid breaking make check +2011-05-22 Bruno Haible -2012-08-14 Francis Giraldeau + wcsstr: Move AC_LIBOBJ invocations to module description. + * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here... + * modules/wcsstr (configure.ac): ... to here. - Build AST while visiting the parse v2 - The AST records the structure of the parse according to the lens tree. The - indices of the text matched is recorded for later use. +2011-05-22 Bruno Haible - Changed in v2: - * Additional checks for correctness - * Create the root node in rec_process() - * Merge ast_add_child() and ast_append() + wcsspn: Move AC_LIBOBJ invocations to module description. + * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here... + * modules/wcsspn (configure.ac): ... to here. -2012-08-14 Francis Giraldeau +2011-05-22 Bruno Haible - Fix memory leak in dbg_visit - dbg_visit() calls format_lens() to display the lens information. The caller of - format_lens() must free the memory allocated, just do it. + wcsrtombs: Move AC_LIBOBJ invocations to module description. + * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and + gl_PREREQ_WCSRTOMBS invocations from here... + * modules/wcsrtombs (configure.ac): ... to here. - Ignore Eclipse settings directory +2011-05-22 Bruno Haible -2012-08-12 Dominic Cleal + wcsrchr: Move AC_LIBOBJ invocations to module description. + * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from + here... + * modules/wcsrchr (configure.ac): ... to here. - Simplevars: use to parse /etc/default/grub_installdevice - Ticket #290 +2011-05-22 Bruno Haible - Hosts_Access: add hosts_options(5) support - Fixes ticket #256 + wcspbrk: Move AC_LIBOBJ invocations to module description. + * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from + here... + * modules/wcspbrk (configure.ac): ... to here. -2012-08-12 Dominic Cleal +2011-05-22 Bruno Haible - Hosts_Access: permit more client list formats - * whitespace separated lists - * @netgroups - * IPv6 hosts, inc. zone indices - * paths to lists of clients - * wildcards + wcsnrtombs: Move AC_LIBOBJ invocations to module description. + * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and + gl_PREREQ_WCSNRTOMBS invocations from here... + * modules/wcsnrtombs (configure.ac): ... to here. - Mostly fixes ticket #256 +2011-05-22 Bruno Haible -2012-08-11 Dominic Cleal + wcsnlen: Move AC_LIBOBJ invocations to module description. + * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from + here... + * modules/wcsnlen (configure.ac): ... to here. - Fix regression in permissions of created files - Commit 16387744 changed temporary file creation to use mkstemp, resulting in - new files being created with 0600 permissions. For brand new files created - through Augeas, their permissions stayed at 0600 rather than being set by the - umask as before. +2011-05-22 Bruno Haible - * src/transform.c (transform_save): chmod after creating new files to - permissions implied by the umask + wcsncpy: Move AC_LIBOBJ invocations to module description. + * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from + here... + * modules/wcsncpy (configure.ac): ... to here. -2012-08-11 Dominic Cleal +2011-05-22 Bruno Haible - Fix issues reported by clang static analyser - * src/transform.c (text_retrieve): initialise variable before use - * src/transform.c (filter_generate): remove duplicate variable assignment - * src/jmt.c (parse_add_item): ensure return is defined on goto error + wcsncmp: Move AC_LIBOBJ invocations to module description. + * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from + here... + * modules/wcsncmp (configure.ac): ... to here. - Fix augtool --transform documentation - * src/augtool.c (usage): -t syntax is now same as 'transform' command - * src/augrun.c (cmd_transform_def): improve description +2011-05-22 Bruno Haible - Arrange commands into groups for better help - * src/augrun.c: create group definitions, move commands into arrays per - group, update help output to iterate over and announce each group + wcsncat: Move AC_LIBOBJ invocations to module description. + * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from + here... + * modules/wcsncat (configure.ac): ... to here. - Ldif: new lens to read LDIF files per RFC2849 +2011-05-22 Bruno Haible - * src/augtool.c (add_transforms): move free() to prevent free(NULL) and run on each iteration + wcsncasecmp: Move AC_LIBOBJ invocations to module description. + * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation + from here... + * modules/wcsncasecmp (configure.ac): ... to here. -2012-08-10 Raphaël Pinson +2011-05-22 Bruno Haible - Add a way to specify explict transforms - Allow specifying transforms in three different ways: - - an aug_transform API call - - a transform command for aug_srun - - a -t|--transform option to augtool + wcslen: Move AC_LIBOBJ invocations to module description. + * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here... + * modules/wcslen (configure.ac): ... to here. -2012-08-10 David Lutterkort +2011-05-22 Bruno Haible - * src/augeas.c: use constants for "lens", "incl" and "excl" + wcsdup: Move AC_LIBOBJ invocations to module description. + * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here... + * modules/wcsdup (configure.ac): ... to here. -2012-08-10 Francis Giraldeau +2011-05-22 Bruno Haible - Fix typo in previous commit - Adjust comment and remove duplicated test case for primary statement in - dhcpd.conf lens. + wcscspn: Move AC_LIBOBJ invocations to module description. + * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from + here... + * modules/wcscspn (configure.ac): ... to here. - Fix bug #293 primary statement in dhcpd.conf - The "primary" statement does not support any arguments, while it should when - it's used in the "zone" block statement. The solution is to add the primary - statement in the statements that requires a string argument. The primary - statement can thus take a value or not, and thus do not cause any ambiguity in - the put direction. +2011-05-22 Bruno Haible -2012-08-08 Raphaël Pinson + wcscpy: Move AC_LIBOBJ invocations to module description. + * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here... + * modules/wcscpy (configure.ac): ... to here. - Add entry_list and entry_list_nocomment to inifile.aug Use entry_list_nocomment in subversion.aug +2011-05-22 Bruno Haible -2012-08-07 Raphaël Pinson + wcscoll: Move AC_LIBOBJ invocations to module description. + * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from + here... + * modules/wcscoll (configure.ac): ... to here. - Add aug_rename to rename node labels without moving them in the tree. +2011-05-22 Bruno Haible -2012-08-07 Francis Giraldeau + wcscmp: Move AC_LIBOBJ invocations to module description. + * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here... + * modules/wcscmp (configure.ac): ... to here. - Escape double quotes when dumping regexp - Graphviz DOT is using double quotes to quotes the string of a label. Escape - double quotes to avoid parsing errors with graphviz when the regexp of the lens - includes double quotes. +2011-05-22 Bruno Haible -2012-08-02 Raphaël Pinson + wcschr: Move AC_LIBOBJ invocations to module description. + * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here... + * modules/wcschr (configure.ac): ... to here. - Update doc/naturaldocs/conf/lenses/Menu.txt +2011-05-22 Bruno Haible -2012-08-01 Raphaël Pinson + wcscat: Move AC_LIBOBJ invocations to module description. + * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here... + * modules/wcscat (configure.ac): ... to here. - Update email address for Raphaël Pinson in AUTHORS +2011-05-22 Bruno Haible -2012-07-31 Raphaël Pinson + wcscasecmp: Move AC_LIBOBJ invocations to module description. + * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from + here... + * modules/wcscasecmp (configure.ac): ... to here. - Make get_square case insensitive on the ending key. +2011-05-22 Bruno Haible -2012-07-29 Dominic Cleal + wcrtomb: Move AC_LIBOBJ invocations to module description. + * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB + invocations from here... + * modules/wcrtomb (configure.ac): ... to here. - * src/augrun.c (cmd_retrieve_help): tidy line wrapping +2011-05-22 Bruno Haible - NetworkManager: support semicolons in values, spaces and brackets in entry names + wcpncpy: Move AC_LIBOBJ invocations to module description. + * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from + here... + * modules/wcpncpy (configure.ac): ... to here. - * src/transform.c (xread_file): catch failed fopen, e.g. EACCES +2011-05-22 Bruno Haible - Fix Valgrind memcheck errors - * src/augtool.c (main_loop): free memory allocated by readline - * src/augrun.c (aug_srun): free command opts after use + wcpcpy: Move AC_LIBOBJ invocations to module description. + * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here... + * modules/wcpcpy (configure.ac): ... to here. -2012-07-27 Raphaël Pinson +2011-05-22 Bruno Haible - Notify #augeas channel + waitpid: Move AC_LIBOBJ invocations to module description. + * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ + invocation from here... + * modules/waitpid (configure.ac): ... to here. - Add valgrind test in .travis.yml +2011-05-22 Bruno Haible - Add Travis CI file + utimensat: Move AC_LIBOBJ invocations to module description. + * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from + here... + * modules/utimensat (configure.ac): ... to here. - Shellvars.aug fix empty comments +2011-05-22 Bruno Haible - Shellvars.aug: Allow double quotes around variables in case statements + usleep: Move AC_LIBOBJ invocations to module description. + * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from + here... + * modules/usleep (configure.ac): ... to here. - Shellvars.aug: Add shift and exit builtins, with optional args +2011-05-22 Bruno Haible - Shellvars.aug: Fix empty lines after comments + unlockpt: Move AC_LIBOBJ invocations to module description. + * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and + gl_PREREQ_UNLOCKPT invocations from here... + * modules/unlockpt (configure.ac): ... to here. - Shellvars.aug: Support matching keys in var_action (ticket #290) +2011-05-22 Bruno Haible - Shellvars.aug: Add dbquot for double bquoted values + unlink: Respect rules for use of AC_LIBOBJ. + * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here... + * modules/unlink (configure.ac): ... to here. - Shellvars.aug: eol_comments must begin with a space char can contain # +2011-05-22 Bruno Haible - Shellvars.aug: Add bquot and dollar-assigned tests + uname: Move AC_LIBOBJ invocations to module description. + * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from + here... + * modules/uname (configure.ac): ... to here. - shellvars.aug: Allow semi-colons in bquot and dollar_assign Fix wrong test using bquot and eol_comment +2011-05-22 Bruno Haible - Allow newlines in quoted values + ttyname_r: Move AC_LIBOBJ invocations to module description. + * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and + gl_PREREQ_TTYNAME_R invocations from here... + * modules/ttyname_r (configure.ac): ... to here. - Add lns_norec to shellvars.aug and fix ambiguities in the lens. +2011-05-22 Bruno Haible - Fix ambiguity in shellvars.aug by making semi-colons illegal in bquot and arrays. + tsearch: Move AC_LIBOBJ invocations to module description. + * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH + invocations from here... + * modules/tsearch (configure.ac): ... to here. -2012-07-26 Raphaël Pinson +2011-05-22 Bruno Haible - Allow end of line comments in fstab.aug + towctrans: Move AC_LIBOBJ invocations to module description. + * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move + AC_LIBOBJ invocation from here... + * modules/towctrans (configure.ac): ... to here. -2012-07-23 Michal Filka +2011-05-22 Bruno Haible - Cron: records can be prefixed by '-'. + tmpfile: Move AC_LIBOBJ invocations to module description. + * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE + invocations from here... + * modules/tmpfile (configure.ac): ... to here. -2012-07-19 Danny Yates +2011-05-22 Bruno Haible - vsftpd.aug: Add require_ssl_reuse option + times: Move AC_LIBOBJ invocations to module description. + * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here... + * modules/times (configure.ac): ... to here. -2012-07-19 David Lutterkort +2011-05-22 Bruno Haible - * augeas.spec.in: add bundled(gnulib) provides - Fixes BZ 821745 + time_r: Move AC_LIBOBJ invocations to module description. + * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R + invocations from here... + * modules/time_r (configure.ac): ... to here. -2012-07-19 Dominic Cleal +2011-05-22 Bruno Haible - Prevent cross-mountpoint attacks via .augsave during saving - Previously Augeas would open PATH.augsave for writing if a rename from PATH to - PATH.augsave failed, then write the file contents in. Now if the rename fails, - it tries to unlink PATH.augsave and open it with O_EXCL first. + timegm: Move AC_LIBOBJ invocations to module description. + * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM + invocations from here... + * modules/timegm (configure.ac): ... to here. - Mountpoints remain permitted at either PATH or PATH.augnew provided - /augeas/save/copy_if_rename_fails exists. +2011-05-22 Bruno Haible - * src/transform.c (clone_file): - add argument to perform unlink and O_EXCL on destination filename after a - rename failure to prevent PATH.augsave being a mountpoint - * src/transform.c (transform_save, remove_file): - always try to unlink PATH.augsave if rename fails, only allowing PATH to be - a mountpoint; allow PATH or PATH.augnew to be mountpoints - * tests/ - test-put-mount: check PATH being a mountpoint is supported - test-put-mount-augnew.sh: check PATH.augnew being a mountpoint is supported - test-put-mount-augsave.sh: check unlink error when PATH.augsave is a mount + tcgetsid: Move AC_LIBOBJ invocations to module description. + * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ + and gl_PREREQ_TCGETSID invocations from here... + * modules/tcgetsid (configure.ac): ... to here. + (Depends-on): Update conditions. - Fixes BZ 772261 +2011-05-22 Bruno Haible -2012-07-19 Dominic Cleal + symlinkat: Move AC_LIBOBJ invocations to module description. + * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from + here... + * modules/symlinkat (configure.ac): ... to here. - Prevent symlink attacks via .augnew during saving - Instead of saving into a predictable PATH.augnew file, save into a securely - created PATH.augnew.XXXXXX +2011-05-22 Bruno Haible - * src/transform.c (transform_save): - write changes to a temporary file in the same directory as the destination - (either the file's canonical path or the path of .augnew), before renaming + symlink: Move AC_LIBOBJ invocations to module description. + * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from + here... + * modules/symlink (configure.ac): ... to here. - * src/transform.c (transfer_file_attrs): - use fchown, fchmod etc. on the same file handles to ensure consistent - permission changes +2011-05-22 Bruno Haible - * bootstrap: add mkstemp gnulib module - * tests/ - test-put-symlink-augnew.sh: test symlink attack when writing .augnew - test-put-symlink-augsave.sh: test symlink attack when writing .augsave - test-put-symlink-augtemp.sh: test symlink attack via temp .augnew - test-put-symlink.sh: also test file modification + strverscmp: Move AC_LIBOBJ invocations to module description. + * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations + from here... + * modules/strverscmp (configure.ac): ... to here. - Fixes BZ 772257 +2011-05-22 Bruno Haible -2012-07-18 Dan Prince + strtok_r: Move AC_LIBOBJ invocations to module description. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ + and gl_PREREQ_STRTOK_R invocations from here... + * modules/strtok_r (configure.ac): ... to here. + (Depends-on): Update conditions. - Pythonpaste: new lens for Python Paste configs. - Added a new lense file for Python Paste configs. This is useful - for editing a variety of Openstack config files including, - Nova api-paste.ini, Glance *.ini files, keystone.conf, and the - swift config files. +2011-05-22 Bruno Haible -2012-07-18 David Lutterkort + strtoumax: Move AC_LIBOBJ invocations to module description. + * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations + from here... + * modules/strtoumax (configure.ac): ... to here. - Xinetd: slight formatting improvements +2011-05-22 Bruno Haible - Case-insensitive regexps: fix a problem with number of groups - When we expand a regexp to a case-sensitive regexp in regexp_expand_nocase, - it is possible that the number of groups in that regexp changes, - e.g. /(a)|(b)/i becomes /[AaBb]/. That confuses the parser when that regexp - is used in a union or concatenation, since it expects the match following - the match for this regexp to be in group 3, not group 1. + strtoimax: Move AC_LIBOBJ invocations to module description. + * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations + from here... + * modules/strtoimax (configure.ac): ... to here. - * src/regexp.c (regexp_union_n, regexp_concat_n): fix bad memory access - Avoid calling strlen on a possibly unintialized string (since we overwrite - the trailing '\0' with a '(' just before calling REALLOC +2011-05-22 Bruno Haible -2012-07-18 Michal Filka + strtoull: Move AC_LIBOBJ invocations to module description. + * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations + from here... + * modules/strtoull (configure.ac): ... to here. - made xinetd.aug case insensitive on attribute names +2011-05-22 Bruno Haible -2012-07-18 David Lutterkort + strtoll: Move AC_LIBOBJ invocations to module description. + * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from + here... + * modules/strtoll (configure.ac): ... to here. - Update gnulib to commit cabce6b8 +2011-05-22 Bruno Haible -2012-07-18 David Lutterkort + strtoul: Move AC_LIBOBJ invocations to module description. + * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here... + * modules/strtoul (configure.ac): ... to here. - * src/builtin.c (pr_tree): new primitive print_tree - Useful in 'put' tests, as in +2011-05-22 Bruno Haible - test lns put ".." after - set .. ; - print_tree; - set .. - = ? + strtol: Move AC_LIBOBJ invocations to module description. + * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here... + * modules/strtol (configure.ac): ... to here. -2012-07-17 David Lutterkort +2011-05-22 Bruno Haible - aug_text_store, aug_text_retrieve: fix segfault when passed in node was NULL - When the node existed, but had a NULL value, we segfaulted instead of - reporting an error. We now report ENOMATCH. + strtod: Move AC_LIBOBJ invocations to module description. + * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD + invocations from here... + * modules/strtod (configure.ac): ... to here. - Fixes https://fedorahosted.org/augeas/ticket/283 +2011-05-22 Bruno Haible -2012-07-15 Dominic Cleal + strstr*: Move AC_LIBOBJ invocations to module description. + * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ + invocations from here... + * modules/strstr-simple (configure.ac): ... to here. + * modules/strstr (configure.ac): ... and here. - Fstab: options field is optional +2011-05-22 Bruno Haible -2012-07-13 Dominic Cleal + strsignal: Move AC_LIBOBJ invocations to module description. + * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move + AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here... + * modules/strsignal (configure.ac): ... to here. + (Depends-on): Update conditions. - Authorized_Keys: add more tests +2011-05-22 Bruno Haible -2012-07-13 Raphaël Pinson + strsep: Move AC_LIBOBJ invocations to module description. + * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from + here... + * modules/strsep (configure.ac): ... to here. - Add authorized_keys.aug and associated test. +2011-05-22 Bruno Haible -2012-07-04 Raphaël Pinson + strptime: Move AC_LIBOBJ invocations to module description. + * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and + gl_PREREQ_STRPTIME invocations from here... + * modules/strptime (configure.ac): ... to here. - simplevars.aug: Add /etc/zabbix/*.conf to includes +2011-05-22 Bruno Haible - simplevars.aug: Allow quotes in variables that do not begin with a quote + strpbrk: Move AC_LIBOBJ invocations to module description. + * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from + here... + * modules/strpbrk (configure.ac): ... to here. -2012-06-28 Dominic Cleal +2011-05-22 Bruno Haible - Shellvars: exclude directories from /etc/sysconfig/* wildcard - This prevents a bug where Augeas maps a directory such as - /etc/sysconfig/network-scripts to a lens via a matching transform and fails - to save if the user edits /etc/sysconfig/network-scripts/ifcfg-eth0. + strnlen: Move AC_LIBOBJ invocations to module description. + * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN + invocations from here... + * modules/strnlen (configure.ac): ... to here. -2012-06-19 Micah Anderson +2011-05-22 Bruno Haible - escape all possible regular expressions before they are sent to sed + strndup: Move AC_LIBOBJ invocations to module description. + * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ + invocations from here... + * modules/strndup (configure.ac): ... to here. + (Depends-on): Update conditions. -2012-06-12 David Lutterkort +2011-05-22 Bruno Haible - Modprobe: allow spaces around '=' in option - Fixes https://bugzilla.redhat.com/show_bug.cgi?id=826752 + strncat: Move AC_LIBOBJ invocations to module description. + * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT + invocations from here... + * modules/strncat (configure.ac): ... to here. -2012-06-05 David Lutterkort +2011-05-22 Bruno Haible - * man/augtool.pod: update mentions of default load path + strdup, strdup-posix: Move AC_LIBOBJ invocations to module description. + * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP + invocations from here... + * modules/strdup (configure.ac): ... to here. + * modules/strdup-posix (configure.ac): ... and here. -2012-06-01 Luc Didry +2011-05-22 Bruno Haible - Add su logrotate.conf option in logrotate.aug + strcspn: Move AC_LIBOBJ invocations to module description. + * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from + here... + * modules/strcspn (configure.ac): ... to here. -2012-05-31 David Lutterkort +2011-05-22 Bruno Haible - Tests for aug_text_store and aug_text_retrieve + strchrnul: Move AC_LIBOBJ invocations to module description. + * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and + gl_PREREQ_STRCHRNUL invocations from here... + * modules/strchrnul (configure.ac): ... to here. - aug_text_store, aug_text_retrieve: expose in augtool and aug_srun +2011-05-22 Bruno Haible - aug_text_store, aug_text_retrieve: new API functions + strcasestr*: Move AC_LIBOBJ invocations to module description. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR): + Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here... + * modules/strcasestr-simple (configure.ac): ... to here. + * modules/strcasestr (configure.ac): ... and here. - * src/transform.c (text_retrieve): new function to turn tree into text +2011-05-22 Bruno Haible - * src/transform.c (text_store): new function to write string to tree + strcase: Move AC_LIBOBJ invocations to module description. + * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP. + (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead + of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP, + gl_PREREQ_STRNCASECMP invocations from here... + * modules/strcase (configure.ac): ... to here. - * tests/test-run.c: allow loading of a module with 'use' +2011-05-22 Bruno Haible -2012-05-31 David Lutterkort + stpncpy: Move AC_LIBOBJ invocations to module description. + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from + here... + * modules/stpncpy (configure.ac): ... to here. - Allow running individual tests with test-run - Invoking 'test-run t1 t2 t3' will only run tests t1, t2 and t3 +2011-05-22 Bruno Haible - * tests/test-xpath.c: move checking if a test is mentioned in argv to - cutest - * tests/cutest.c, tests/cutest.h: add should_run - * Makefile.am: test-xpath now uses cutest.[ch] - * tests/test-run.c (run_tests): check if tests is mentioned on cmd line + stpcpy: Move AC_LIBOBJ invocations to module description. + * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from + here... + * modules/stpcpy (configure.ac): ... to here. -2012-05-31 Raphaël Pinson +2011-05-21 Bruno Haible - Add postgresql lens + stat: Move AC_LIBOBJ invocations to module description. + * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT. + (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from + here... + * modules/stat (configure.ac): ... to here. - Allow eol comments in simplevars.aug +2011-05-21 Bruno Haible - Add lens for cups + sleep: Move AC_LIBOBJ invocations to module description. + * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here... + * modules/sleep (configure.ac): ... to here. - Add lens for samba's smbusers +2011-05-21 Bruno Haible -2012-05-21 David Lutterkort + signbit: Move AC_LIBOBJ invocations to module description. + * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here... + * modules/signbit (configure.ac): ... to here. - * src/augrun.c (cmd_span): better synopsis +2011-05-21 Bruno Haible - * tests/run.tests: fix lines with trailing whitespace + sigprocmask: Move AC_LIBOBJ invocations to module description. + * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and + gl_PREREQ_SIGPROMASK invocations from here... + * modules/sigprocmask (configure.ac): ... to here. - * tests/test-run.c (errtokens): bring in sync with actual error codes +2011-05-21 Bruno Haible -2012-05-17 David Lutterkort + sigaction: Move AC_LIBOBJ invocations to module description. + * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and + gl_PREREQ_SIGACTION invocations from here... + * modules/sigaction (configure.ac): ... to here. - * src/transform.c (load_file): remove unused variable file +2011-05-21 Bruno Haible -2012-05-16 David Lutterkort + sig2str: Move AC_LIBOBJ invocations to module description. + * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from + here... + * modules/sig2str (configure.ac): ... to here. - Fix behavior of set with empty strings - * src/augrun.c (cmd_set, cmd_setm): distinguish between empty string and - NULL value - * tests/run.tests (set-args): adapt to new behavior +2011-05-21 Bruno Haible -2012-05-12 Dominic Cleal + setlocale: Move AC_LIBOBJ invocations to module description. + * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and + gl_PREREQ_SETLOCALE invocations from here... + * modules/setlocale (configure.ac): ... to here. - * src/try: don't overwrite gdbcmds.txt if it exists +2011-05-21 Bruno Haible -2012-05-11 Dominic Cleal + unsetenv: Move AC_LIBOBJ invocations to module description. + * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ + and gl_PREREQ_UNSETENV invocations from here... + * modules/unsetenv (configure.ac): ... to here. + (Depends-on): Update. - Fstab: handle options with empty values ("password=") +2011-05-21 Bruno Haible -2012-05-06 Tim Bishop + setenv: Move AC_LIBOBJ invocations to module description. + * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from + here... + * modules/setenv (configure.ac): ... to here. - Puppet, PuppetFileserver: add /usr/local/etc/puppet paths +2011-05-21 Bruno Haible -2012-04-26 Raphaël Pinson + selinux-h: Move AC_LIBOBJ invocations to module description. + * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move + AC_LIBOBJ invocation from here... + * modules/selinux-h (configure.ac): ... to here. - Shellvars: various edge cases in case entries +2011-05-21 Bruno Haible - AptPreferences: #comments are accepted within entries + select: Respect rules for use of AC_LIBOBJ. + * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from + here... + * modules/select (configure.ac): ... to here. - NagiosCfg: /etc/nagios3/commands.cfg and /etc/nagios3/resource.cfg have their own syntax, allow spaces in values. +2011-05-21 Bruno Haible - /etc/default/whoopsie is an IniFile + scandir: Move AC_LIBOBJ invocations to module description. + * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR + invocations from here... + * modules/scandir (configure.ac): ... to here. - Merge branch 'master' of ssh://git.fedorahosted.org/git/augeas +2011-05-21 Bruno Haible - Mke2fs: Add support for default_mntopts, enable_periodic_fsck, and auto_64-bit_support. + rpmatch: Move AC_LIBOBJ invocations to module description. + * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from + here... + * modules/rpmatch (configure.ac): ... to here. -2012-04-26 Dominic Cleal +2011-05-21 Bruno Haible - Make creating NULL value nodes more intuitive - * src/augrun.c: add "touch" command to create node if it doesn't exist, make - argument to "set" and "setm" optional + rmdir: Respect rules for use of AC_LIBOBJ. + * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here... + * modules/rmdir (configure.ac): ... to here. - Fixes ticket #276 +2011-05-21 Bruno Haible -2012-04-23 David Lutterkort + renameat: Move AC_LIBOBJ invocations to module description. + * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from + here... + * modules/renameat (configure.ac): ... to here. - * src/augeas.h: include 'extern "C"' wrapper for C++ - Fixes https://fedorahosted.org/augeas/ticket/272 +2011-05-21 Bruno Haible - Patch from Igor Pashev + rename: Respect rules for use of AC_LIBOBJ. + * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from + here... + * modules/rename (configure.ac): ... to here. -2012-04-22 Raphaël Pinson +2011-05-21 Bruno Haible - Use Sys.getenv("HOME") in dput.aug + remove: Move AC_LIBOBJ invocations to module description. + * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from + here... + * modules/remove (configure.ac): ... to here. -2012-04-19 Raphaël Pinson +2011-05-21 Bruno Haible - PHPVars: map arrays with @arraykey subnodes to make working paths + relocatable-lib: Move AC_LIBOBJ invocations to module description. + * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove + macro. + (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here... + * modules/relocatable-lib (configure.ac): ... to here. + * modules/relocatable-prog-wrapper (configure.ac): Invoke + gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE. -2012-04-12 Michal Filka +2011-05-21 Bruno Haible - Shellvars: handle bash's implicit concatenation of quoted strings + relocatable-prog: Move AC_LIBOBJ invocations to module description. + * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from + here... + * modules/relocatable-prog (configure.ac): ... to here. -2012-04-12 Josh +2011-05-21 Bruno Haible - Grub: add /boot/grub/grub.conf to transform + regex: Move AC_LIBOBJ invocations to module description. + * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX + invocations from here... + * modules/regex (configure.ac): ... to here. -2012-04-12 Luc Didry +2011-05-21 Bruno Haible - Use Sys.getenv('HOME') in filter instead of ~ since it's not expanded + realloc-*: Move AC_LIBOBJ invocations to module description. + * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro. + (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move + AC_LIBOBJ invocations from here... + * modules/realloc-gnu (configure.ac): ... to here. + * modules/realloc-posix (configure.ac): ... and here. -2012-04-12 Brett Porter +2011-05-21 Bruno Haible - Properties: improve handling of whitespace, empty props, and underscores in keys - This brings the lens closer to the Java specification + readutmp: Move AC_LIBOBJ invocations to module description. + * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here... + * modules/readutmp (configure.ac): ... to here. - With help from Carlos Sanchez and Dominic Cleal - +2011-05-21 Bruno Haible -2012-04-11 Raphaël Pinson + readlinkat: Move AC_LIBOBJ invocations to module description. + * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from + here... + * modules/readlinkat (configure.ac): ... to here. - Use a more standard way of writing LGPL v2+ in lens headers +2011-05-21 Bruno Haible -2012-04-10 Raphaël Pinson + readlink: Move AC_LIBOBJ invocations to module description. + * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and + gl_PREREQ_READLINK invocations from here... + * modules/readlink (configure.ac): ... to here. - postfix_transport.aug also applies to virtual (5) +2011-05-21 Bruno Haible - Add postfix_transport.aug and associated test. + readline: Move AC_LIBOBJ invocations to module description. + * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and + gl_PREREQ_READLINE invocations from here... + * modules/readline (configure.ac): ... to here. - Add subversion lens and associated test. +2011-05-21 Bruno Haible - Add networkmanager lens to tests and doc + read: Move AC_LIBOBJ invocations to module description. + * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here... + * modules/read (configure.ac): ... to here. - Add networkmanager.aug and associated test file. +2011-05-21 Bruno Haible -2012-04-09 Dominic Cleal + rawmemchr: Move AC_LIBOBJ invocations to module description. + * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations + from here... + * modules/rawmemchr (configure.ac): ... to here. - Sudoers: allow quoted strings in Defaults parameters - Fixes bug #263 +2011-05-21 Bruno Haible -2012-04-08 Dominic Cleal + random_r: Move AC_LIBOBJ invocations to module description. + * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and + gl_PREREQ_RANDOM_R invocations from here... + * modules/random_r (configure.ac): ... to here. - Debctrl: allow control extensions for Python packages - Fixes bug #267 +2011-05-21 Bruno Haible - Debctrl: fixed package paragraph keywords, allow variables for version numbers in dependency lists, allow DM-Upload-Allowed keyword - Fixes Debian bug #650887 + pwrite: Move AC_LIBOBJ invocations to module description. + * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here... + * modules/pwrite (configure.ac): ... to here. -2012-04-06 Dominic Cleal +2011-05-21 Bruno Haible - AUTHORS: updated from recent commits + putenv: Move AC_LIBOBJ invocations to module description. + * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here... + * modules/putenv (configure.ac): ... to here. -2012-04-06 Jason Kincl +2011-05-21 Bruno Haible - Xymon: new lens for Xymon config files - Fixes ticket #266 + login_tty: Move AC_LIBOBJ invocations to module description. + * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here... + * modules/login_tty (configure.ac): ... to here. -2012-04-06 Jim Meyering +2011-05-21 Bruno Haible - compile_exp: don't return an uninitialized pointer upon failure - As a result of its improved flow analysis gcc-4.7.0 20111202 reported: + openpty: Move AC_LIBOBJ invocations to module description. + * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here... + * modules/openpty (configure.ac): ... to here. - syntax.c: In function 'compile_exp': - syntax.c:1694:5: warning: 'v' may be used uninitialized in this \ - function [-Wmaybe-uninitialized] +2011-05-21 Bruno Haible - However, compile_exp calls many functions that return values that are - then assigned to "v". Only two of those had a problem: in each there - is an error path by which the returned pointer is not initialized. - * src/syntax.c (compile_concat): Initialize "v". - (compile_minus): Likewise. + forkpty: Move AC_LIBOBJ invocations to module description. + * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here... + * modules/forkpty (configure.ac): ... to here. -2012-04-04 Duncan Mac-Vicar P +2011-05-21 Bruno Haible - bootloader is also present in shellvars_list, exclude from shellvars. + ptsname: Move AC_LIBOBJ invocations to module description. + * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME + invocations from here... + * modules/ptsname (configure.ac): ... to here. -2012-04-01 Dominic Cleal +2011-05-21 Bruno Haible - Sudoers: allow "!" as a type of Defaults entry - Fixes Debian bug #650079 + pread: Move AC_LIBOBJ invocations to module description. + * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here... + * modules/pread (configure.ac): ... to here. - Modprobe: support softdep command - Fixes Debian bug #641813 +2011-05-21 Bruno Haible -2012-03-29 Dominic Cleal + posix_spawn*: Move AC_LIBOBJ invocations to module description. + * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from + gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here... + * modules/posix_spawn (configure.ac): ... to here. + * modules/posix_spawnp (configure.ac): ... and here. - * src/augrun.c (nexttoken): support \t and \n in aug_srun tokens - Fixes bug #265 +2011-05-21 Bruno Haible -2012-03-23 Raphaël Pinson + popen: Move AC_LIBOBJ invocations to module description. + * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN + invocations from here... + * modules/popen (configure.ac): ... to here. - Add netmask to hosts_access.aug +2011-05-21 Bruno Haible -2012-03-18 Dominic Cleal + poll: Move AC_LIBOBJ invocations to module description. + * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL + invocations from here... + * modules/poll (configure.ac): ... to here. - Shellvars: add systemd's /etc/os-release file +2011-05-21 Bruno Haible - Systemd: new lens to parse systemd unit files + pipe-posix: Move AC_LIBOBJ invocations to module description. + * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here... + * modules/pipe-posix (configure.ac): ... to here. - * src/augeas.c (aug_save): remove loop that added a second iteration around children of /files, causing multiple saves in newfile and noop modes when editing under /files/boot - Fixes ticket #264 +2011-05-21 Bruno Haible -2012-03-17 Dominic Cleal + openat: Respect rules for use of AC_LIBOBJ. + * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here... + * modules/openat (configure.ac): ... to here. - Qpid: new lens to read Apache Qpid daemon/client configs - Contributed by Andrew Replogle. +2011-05-21 Bruno Haible -2012-03-12 David Lutterkort + obstack-printf*: Move AC_LIBOBJ invocations to module description. + * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ + invocation from here... + * modules/obstack-printf (configure.ac): ... to here. + * modules/obstack-printf-posix (configure.ac): ... and here. - Make sure reloading discards changes after save with mode 'newfile' +2011-05-21 Bruno Haible -2012-03-10 Dominic Cleal + nl_langinfo: Move AC_LIBOBJ invocations to module description. + * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations + from here... + * modules/nl_langinfo (configure.ac): ... to here. - Util: add *.bak and *.old to stdexcl, to match files in /etc/sysconfig +2011-05-21 Bruno Haible - Fix excl filters that only specify a filename or wildcard - * src/transform.c (transform_validate): only normalise excl paths with - directory separators into absolute paths - * src/transform.c (filter_generate): don't apply root prefix to excl filter - values when only comparing the base filename + nanosleep: Move AC_LIBOBJ invocations to module description. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and + gl_PREREQ_NANOSLEEP invocations from here... + * modules/nanosleep (configure.ac): ... to here. - Shellvars: exclude non-shell files in tests/root/etc/sysconfig +2011-05-21 Bruno Haible - Shellvars: add /etc/selinux/config + mountlist: Move AC_LIBOBJ invocations to module description. + * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and + gl_PREREQ_MOUNTLIST_EXTRA invocations from here... + * modules/mountlist (configure.ac): ... to here. -2012-03-06 Dominic Cleal +2011-05-21 Bruno Haible - Shellvars: include /etc/{default,sysconfig}/* and list exceptions instead + mktime: Respect rules for use of AC_LIBOBJ. + * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro. + (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move + AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here... + (gl_FUNC_MKTIME_INTERNAL): ... and here... + * modules/mktime (configure.ac): ... to here. + * modules/mktime-internal (configure.ac): ... and here. + * m4/timegm.m4 (gl_FUNC_TIMEGM): Update. -2012-03-03 Tim Mooney +2011-05-21 Bruno Haible - src/augtool.c: rename echo to echo_commands to fix differing types reported with Solaris linker - Fixes ticket #262 + mkstemps: Move AC_LIBOBJ invocations to module description. + * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from + here... + * modules/mkstemps (configure.ac): ... to here. -2012-02-24 Dominic Cleal +2011-05-21 Bruno Haible - Up2date: change tree to distinguish between empty values and empty lists + mkstemp: Move AC_LIBOBJ invocations to module description. + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and + gl_PREREQ_MKSTEMP invocations from here... + * modules/mkstemp (configure.ac): ... to here. - Up2date: change tree to fix ambiguity during put, remove list of known config options and separation of possible values +2011-05-21 Bruno Haible -2012-02-22 Dominic Cleal + mkostemps: Move AC_LIBOBJ invocations to module description. + * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from + here... + * modules/mkostemps (configure.ac): ... to here. - Protocols: change tree to support protocols named "a/n" and "tp++" +2011-05-21 Bruno Haible - Shellvars: remove non-shell files, up2date now has a lens, move updatedb.conf to Simplevars - Fonts: exclude README + mkostemp: Move AC_LIBOBJ invocations to module description. + * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and + gl_PREREQ_MKOSTEMP invocations from here... + * modules/mkostemp (configure.ac): ... to here. - Sep: add semicolon +2011-05-21 Bruno Haible - Ntp: allow deprecated 'authenticate' setting + mknod: Move AC_LIBOBJ invocations to module description. + * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here... + * modules/mknod (configure.ac): ... to here. -2012-02-21 Raphaël Pinson +2011-05-21 Bruno Haible - Add up2date.aug and associated test file + mkfifoat: Move AC_LIBOBJ invocations to module description. + * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from + here... + * modules/mkfifoat (configure.ac): ... to here. -2012-02-17 Raphaël Pinson +2011-05-21 Bruno Haible - Support \r in httpd.aug + mkfifo: Respect rules for use of AC_LIBOBJ. + * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from + here... + * modules/mkfifo (configure.ac): ... to here. - Support \r in comments in util.aug +2011-05-21 Bruno Haible - Support \r\n in xml.aug + mkdtemp: Move AC_LIBOBJ invocations to module description. + * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP + invocations from here... + * modules/mkdtemp (configure.ac): ... to here. - Do not allow \r in comment_or_eol +2011-05-21 Bruno Haible - Add Util.doseol + mkdir: Move AC_LIBOBJ invocations to module description. + * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here... + * modules/mkdir (configure.ac): ... to here. -2012-02-13 David Lutterkort +2011-05-21 Bruno Haible - * src/transform.c (clone_file): do not leak from_fp + memset: Move AC_LIBOBJ invocations to module description. + * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from + here... + * modules/memset (configure.ac): ... to here. -2012-02-13 Raphaël Pinson +2011-05-21 Bruno Haible - Allow commands without full path if they begin with a lowcase letter in sudoers.aug + memrchr: Move AC_LIBOBJ invocations to module description. + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from + here... + * modules/memrchr (configure.ac): ... to here. - Allow = in commands in sudoers.aug (but force ! or / as first character if not an alias) +2011-05-21 Bruno Haible - Use Build.opt_list in sudoers.aug + mempcpy: Move AC_LIBOBJ invocations to module description. + * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from + here... + * modules/mempcpy (configure.ac): ... to here. -2012-02-13 Dominic Cleal +2011-05-21 Bruno Haible - Shellvars: add BSD's /etc/rc.conf - Fixes ticket #255 + memmove: Move AC_LIBOBJ invocations to module description. + * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from + here... + * modules/memmove (configure.ac): ... to here. -2012-02-12 Dominic Cleal +2011-05-21 Bruno Haible - Improve aug_srun quoting to permit concatenation and better detect bad quoting - * src/augrun.c (nexttoken): permit shell-like concatenation of quoted and - unquoted strings, detect unmatched quotes and raise AUG_ECMDRUN. - * tests/run.tests: add lots of tests to cover quoting mismatches, single and - double quote combinations, courtesy of David Schmitt + memmem*: Move AC_LIBOBJ invocations to module description. + * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from + here... + (gl_FUNC_MEMMEM): ... and here... + * modules/memmem-simple (configure.ac): ... to here. + * modules/memmem (configure.ac): ... and here. - Passwd: allow asterisk in password field - Fixes ticket #255 +2011-05-21 Bruno Haible - Pam: exclude /etc/pam.d/README - Fixes ticket #255 + memcpy: Move AC_LIBOBJ invocations to module description. + * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from + here... + * modules/memcpy (configure.ac): ... to here. -2012-02-10 Raphaël Pinson +2011-05-21 Bruno Haible - Simplify Sudoers.sto_to_com_user to improve performance. Use more standard constructs. + memcmp: Simplify autoconf macro. + * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into + the AC_RUN_IFELSE invocation. Set gl_func_memcmp. + * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp. - Add continued lines to rx.aug and sep.aug +2011-05-21 Bruno Haible -2012-02-09 Raphaël Pinson + memcmp: Move AC_LIBOBJ invocations to module description. + * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro. + (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move + AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here... + * modules/memcmp (configure.ac): ... to here. + (Depends-on): Update conditions. - Improve grub.aug's performances slightly +2011-05-21 Bruno Haible - Improve keepalived.aug: cut typechecking time and resident size by 2. + memchr: Respect rules for use of AC_LIBOBJ. + * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR + invocations from here... + * modules/memchr (configure.ac): ... to here. - Use Cron.shellvar in anacron.aug +2011-05-21 Bruno Haible - Simplify Cron.key_re to improve typechecking of cron.aug + mbtowc: Move AC_LIBOBJ invocations to module description. + * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC + invocations from here... + * modules/mbtowc (configure.ac): ... to here. - Allow # and ; in quoted values in inifile.aug (Fix ticket #243) +2011-05-21 Bruno Haible -2012-02-08 Terence Haddock + mbsrtowcs: Move AC_LIBOBJ invocations to module description. + * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and + gl_PREREQ_MBSRTOWCS invocations from here... + * modules/mbsrtowcs (configure.ac): ... to here. - * lenses/tests/test_iptables.aug: test that we accept blank lines +2011-05-21 Bruno Haible -2012-02-08 Francis Giraldeau + mbsnrtowcs: Move AC_LIBOBJ invocations to module description. + * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and + gl_PREREQ_MBSNRTOWCS invocations from here... + * modules/mbsnrtowcs (configure.ac): ... to here. - Allocate exception instead of static const value - The static const value returned by exn_error() may cause SIGSEGV in case - the value is further changed. To avoid this situation, the structure is - allocated early in aug_init instead and released in aug_close, and is - accessible via aug->error->exn. The resulting exception value can be - modified without adverse effect. +2011-05-21 Bruno Haible -2012-02-08 Duncan Mac-Vicar P + mbsinit: Move AC_LIBOBJ invocations to module description. + * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT + invocations from here... + * modules/mbsinit (configure.ac): ... to here. - Shellvars: autoload some SuSe and RHN specific files +2011-05-21 Bruno Haible -2012-02-07 David Lutterkort + mbrlen: Move AC_LIBOBJ invocations to module description. + * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN + invocations from here... + * modules/mbrlen (configure.ac): ... to here. - Add very simplistic leak test +2011-05-21 Bruno Haible - Fix some memory leaks - * src/augeas.c (tree_from_transform): do not do unneeded strdups which - lead to leaks - * src/lens.h: any lens can carry a jmt when it is recursive; this was a - pretty serious issue which could have lead to memory corruptions, since - struct lens was not right for that - * src/lens.c (free_lens, lens_release): call jmt_free for all lenses + mbrtowc: Respect rules for use of AC_LIBOBJ. + * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC + invocations from here... + * modules/mbrtowc (configure.ac): ... to here. -2012-02-07 Raphaël Pinson +2011-05-21 Bruno Haible - Fix test-save by allowing (empty | comment)* in yum.aug. + malloc-*: Move AC_LIBOBJ invocations to module description. + * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro. + (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move + AC_LIBOBJ invocations from here... + * modules/malloc-gnu (configure.ac): ... to here. + * modules/malloc-posix (configure.ac): ... and here. -2012-02-07 Dominic Cleal +2011-05-21 Bruno Haible - CronAllow: remove accompanying test, moved into Simplelines test earlier + lstat, openat: Respect rules for use of AC_LIBOBJ. + * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from + AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable + gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ. + (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT. + (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code. + * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT + here. + * m4/openat.m4 (gl_FUNC_OPENAT): Update. -2012-02-06 David Lutterkort +2011-05-21 Bruno Haible - * src/transform.c (transform_save): different errors for parse and put failure + lseek: Move AC_LIBOBJ invocations to module description. + * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro. + (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here... + * modules/lseek (configure.ac): ... to here. -2012-02-06 David Lutterkort +2011-05-21 Bruno Haible - Graphviz: remove since it can not be typechecked - Typechecking for the Graphviz lens requires too much memory right now, - which makes it impossible to run 'mke check' on a reasonably sized machine - (6GB memory) + linkat: Move AC_LIBOBJ invocations to module description. + * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from + here... + * modules/linkat (configure.ac): ... to here. - Backing out the lens until we can figure out a way to fix it so that 'make - check' works with it in practice. +2011-05-21 Bruno Haible -2012-02-06 Raphaël Pinson + link: Respect rules for use of AC_LIBOBJ. + * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here... + * modules/link (configure.ac): ... to here. - Disable recursive mode in graphviz.aug since it fails in the put direction. +2011-05-21 Bruno Haible - Pass Util.empty with entry in Build.block_generic. Fix ambiguity with Util.empty in graphviz.aug. + lchown: Move AC_LIBOBJ invocations to module description. + * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here... + * modules/lchown (configure.ac): ... to here. -2012-02-03 Raphaël Pinson +2011-05-21 Bruno Haible - graphviz.aug: space is optional before options + iswctype: Move AC_LIBOBJ invocations to module description. + * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from + here... + * modules/iswctype (configure.ac): ... to here. - graphviz.aug: names can be empty +2011-05-21 Bruno Haible - Support crazy example in graphviz.aug + iswblank: Move AC_LIBOBJ invocations to module description. + * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from + here... + * modules/iswblank (configure.ac): ... to here. - Add a simple graphviz.aug and associated test +2011-05-21 Bruno Haible - Use Build.block_newlines in keepalived.aug + atanl: Move AC_LIBOBJ invocations to module description. + * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here... + * modules/atanl (configure.ac): ... to here. - Build.block_newlines takes a comment parameter, newline is optional +2011-05-21 Bruno Haible - Add variables for default delimiters and regexps in build.aug + acosl: Move AC_LIBOBJ invocations to module description. + * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here... + * modules/acosl (configure.ac): ... to here. -2012-02-02 David Lutterkort +2011-05-21 Bruno Haible - * src/transform.c (filter_generate): take root into account for excludes - When matching an exclude pattern against a path, only try to match against - the part of path after the root. The paths found by globbing include - patterns contain the root. + asinl: Respect rules for use of AC_LIBOBJ. + * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here... + * modules/asinl (configure.ac): ... to here. - Fixes bug #252 +2011-05-21 Bruno Haible -2012-02-02 Raphaël Pinson + tanl: Move AC_LIBOBJ invocations to module description. + * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here... + * modules/tanl (configure.ac): ... to here. - Improve logrotate, use Build, Rx, Sep +2011-05-21 Bruno Haible - Add lbracket and rbracket to sep.aug + cosl: Move AC_LIBOBJ invocations to module description. + * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here... + * modules/cosl (configure.ac): ... to here. - Add tests for build.aug +2011-05-21 Bruno Haible - Add Build.block_newlines and use it in xinetd.aug + sinl: Move AC_LIBOBJ invocations to module description. + * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here... + * modules/sinl (configure.ac): ... to here. - Rewrite xinetd.aug with Build, Sep, Rx +2011-05-21 Bruno Haible - Allow to set lbracket_re and rbracket_re in Build.block_generic + logl: Move AC_LIBOBJ invocations to module description. + * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here... + * modules/logl (configure.ac): ... to here. - Add Util.delim and use it in Sep.space_equal +2011-05-21 Bruno Haible - Add Build.block_setdefault + expl: Move AC_LIBOBJ invocations to module description. + * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here... + * modules/expl (configure.ac): ... to here. - Add default_lbracket and default_rbracket to Build.block_generic +2011-05-21 Bruno Haible - Add blocks to build.aug, add comment_noindent to util.aug Add test_build.aug + roundl: Move AC_LIBOBJ invocations to module description. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here... + * modules/roundl (configure.ac): ... to here. -2012-02-01 Raphaël Pinson +2011-05-21 Bruno Haible - Support dollar assignment ($(bar)) in shellvars.aug + round: Move AC_LIBOBJ invocations to module description. + * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here... + * modules/round (configure.ac): ... to here. - Parse functions in shellvars.aug +2011-05-21 Bruno Haible - Shellvars.aug allows multiple elif statements + roundf: Move AC_LIBOBJ invocations to module description. + * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here... + * modules/roundf (configure.ac): ... to here. - Add test_fonts.aug +2011-05-21 Bruno Haible -2012-01-31 Dominic Cleal + truncl: Move AC_LIBOBJ invocations to module description. + * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here... + * modules/truncl (configure.ac): ... to here. - CronAllow: remove lens, add files to the Simplelines lens +2011-05-21 Bruno Haible -2012-01-31 Raphaël Pinson + trunc: Move AC_LIBOBJ invocations to module description. + * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here... + * modules/trunc (configure.ac): ... to here. - Add fonts.aug +2011-05-21 Bruno Haible - Add ldso.aug and test + truncf: Move AC_LIBOBJ invocations to module description. + * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here... + * modules/truncf (configure.ac): ... to here. - Fix author +2011-05-21 Bruno Haible - Add /etc/sysctl.d to sysctl.aug, improve lens and add it to docs. + ceill: Move AC_LIBOBJ invocations to module description. + * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here... + * modules/ceill (configure.ac): ... to here. - Add protocols.aug and associated test +2011-05-21 Bruno Haible - Add /etc/wgetrc to simplevars.aug + ceil: Move AC_LIBOBJ invocations to module description. + * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here... + * modules/ceil (configure.ac): ... to here. - Add simplelines.aug and test +2011-05-21 Bruno Haible - Add simplevars.aug and associated test + ceilf: Move AC_LIBOBJ invocations to module description. + * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here... + * modules/ceilf (configure.ac): ... to here. - Add inputrc.aug and associated test +2011-05-21 Bruno Haible - Add anacron.aug and associated test + floorl: Respect rules for use of AC_LIBOBJ. + * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here... + * modules/floorl (configure.ac): ... to here. - cowpoke.conf +2011-05-21 Bruno Haible -2012-01-30 Raphaël Pinson + floor: Respect rules for use of AC_LIBOBJ. + * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here... + * modules/floor (configure.ac): ... to here. - Ignore allow.pamlist from pam.aug +2011-05-21 Bruno Haible - Add a few files to shellvars.aug + floorf: Move AC_LIBOBJ invocations to module description. + * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here... + * modules/floorf (configure.ac): ... to here. - Add fuse.aug and associated test +2011-05-20 Bruno Haible -2012-01-27 Dominic Cleal + sqrtl: Respect rules for use of AC_LIBOBJ. + * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here... + * modules/sqrtl (configure.ac): ... to here. - Vfstab: new lens for /etc/vfstab config on Solaris +2011-05-20 Bruno Haible -2012-01-22 Dominic Cleal + ldexpl: Respect rules for use of AC_LIBOBJ. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here... + * modules/ldexpl (configure.ac): ... to here. - Automounter: exclude /etc/auto_master for Solaris, small tidyup +2011-05-20 Bruno Haible - Automounter: exclude /etc/auto.master + frexpl*: Respect rules for use of AC_LIBOBJ. + * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ + invocation from here... + * modules/frexpl (configure.ac): ... to here. + * modules/frexpl-nolibm (configure.ac): ... and here. - Automaster: change to lowercase for consistency with Automounter +2011-05-20 Bruno Haible - Automounter: new lens to parse automounter maps (/etc/auto.*) + frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description. + * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ + invocation from here... + * modules/frexp (configure.ac): ... to here. + * modules/frexp-nolibm (configure.ac): ... and here. -2012-01-21 Dominic Cleal +2011-05-20 Bruno Haible - AutoMaster: new lens to parse autofs auto.master files + isnan: Respect rules for use of AC_LIBOBJ. + * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN* + invocations here. + * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test + REPLACE_ISNAN. + * modules/isnand (configure.ac): Likewise. + * modules/isnanl (configure.ac): Likewise. - CronAllow: new lens to parse both cron/at allow/deny files - Cron: exclude cron allow/deny files +2011-05-20 Bruno Haible - Nsswitch: remove long list of databases, match by regexp + isnanl*: Respect rules for use of AC_LIBOBJ. + * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ + invocation from here... + * modules/isnanl (configure.ac): ... to here. + * modules/isnanl-nolibm (configure.ac): ... and here. - PamConf: new lens to parse /etc/pam.conf with the additional service field +2011-05-20 Bruno Haible - Pam: allow uppercase chars in 'types', remove /etc/pam.conf from filter - PamConf: new lens to parse /etc/pam.conf with the additional service field + isnand*: Move AC_LIBOBJ invocations to module description. + * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ + invocation from here... + * modules/isnand (configure.ac): ... to here. + * modules/isnand-nolibm (configure.ac): ... and here. - Networks: handle multiple missing network octets, fix sequencing of aliases +2011-05-20 Bruno Haible - Nsswitch: add extra databases used on Solaris + isnanf*: Move AC_LIBOBJ invocations to module description. + * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ + invocation from here... + * modules/isnanf (configure.ac): ... to here. + * modules/isnanf-nolibm (configure.ac): ... and here. - Shells: permit same-line comments +2011-05-20 Bruno Haible -2012-01-20 Dominic Cleal + isnan*: Separate the AC_LIBOBJ invocations. + * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove + AC_LIBOBJ invocation. + (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ + here. + * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove + AC_LIBOBJ invocation. + (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ + here. + * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove + AC_LIBOBJ invocation. + (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ + here. + * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here. + +2011-05-08 Bruno Haible + + isinf: Move AC_LIBOBJ invocations to module description. + * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here... + * modules/isinf (configure.ac): ... to here. + +2011-05-08 Bruno Haible + + isfinite: Move AC_LIBOBJ invocations to module description. + * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here... + * modules/isfinite (configure.ac): ... to here. + +2011-05-08 Bruno Haible + + isblank: Move AC_LIBOBJ invocations to module description. + * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from + here... + * modules/isblank (configure.ac): ... to here. + +2011-05-08 Bruno Haible + + isapipe: Move AC_LIBOBJ invocations to module description. + * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and + gl_PREREQ_ISAPIPE invocations from here... + * modules/isapipe (configure.ac): ... to here. + (Depends-on): Update condition. + +2011-05-08 Bruno Haible + + ioctl: Move AC_LIBOBJ invocations to module description. + * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ + invocations from here... + * modules/ioctl (configure.ac): ... to here. + (Depends-on): Update condition. + +2011-05-08 Bruno Haible + + imaxdiv: Move AC_LIBOBJ invocations to module description. + * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV + invocations from here... + * modules/imaxdiv (configure.ac): ... to here. + +2011-05-08 Bruno Haible + + imaxabs: Move AC_LIBOBJ invocations to module description. + * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS + invocations from here... + * modules/imaxabs (configure.ac): ... to here. + +2011-05-08 Bruno Haible + + getaddrinfo: Move AC_LIBOBJ invocations to module description. + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move + AC_LIBOBJ invocations from here... + * modules/getaddrinfo (configure.ac): ... to here. + (Depends-on): Add conditions. + +2011-05-08 Bruno Haible + + inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ. + * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call + AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke + gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here... + (gl_PREREQ_INET_PTON): ... from here. + * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and + gl_PREREQ_INET_PTON here. + (Depends-on): Update condition. + +2011-05-08 Bruno Haible + + inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ. + * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call + AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke + gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here... + (gl_PREREQ_INET_NTOP): ... from here. + * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and + gl_PREREQ_INET_NTOP here. + (Depends-on): Update condition. + +2011-05-08 Bruno Haible + + iconv_open: Move AC_LIBOBJ invocations to module description. + * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move + AC_LIBOBJ invocations from here... + * modules/iconv_open (configure.ac): ... to here. + +2011-05-08 Bruno Haible + + iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ. + If module 'iconv_open' is among the main modules and module + 'iconv_open-utf' is among the tests dependencies, then + REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may + return the special iconv_t values. Therefore iconv() and iconv_close() + must support these special iconv_t values, already in lib, not only in + tests. + * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4. + * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke + gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present. + (gl_FUNC_ICONV_OPEN_UTF): Remove macro. + * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c. + (Depends-on): Add the dependencies of iconv_open-utf. + * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove + m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c. + (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c. + +2011-05-08 Bruno Haible + + group-member: Move AC_LIBOBJ invocations to module description. + * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and + gl_PREREQ_GROUP_MEMBER invocations from here... + * modules/group-member (configure.ac): ... to here. + +2011-05-08 Bruno Haible + + grantpt: Move AC_LIBOBJ invocations to module description. + * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT + invocations from here... + * modules/grantpt (configure.ac): ... to here. + +2011-05-08 Bruno Haible + + glob: Move AC_LIBOBJ invocations to module description. + * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations + from here... + * modules/glob (configure.ac): ... to here. + +2011-05-08 Bruno Haible + + getusershell: Move AC_LIBOBJ invocations to module description. + * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL. + Move AC_LIBOBJ invocation from here... + * modules/getusershell (configure.ac): ... to here. + (Depends-on): Update condition. + +2011-05-08 Bruno Haible + + gettimeofday: Move AC_LIBOBJ invocations to module description. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY, + gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and + gl_PREREQ_GETTIMEOFDAY invocations from here... + * modules/gettimeofday (configure.ac): ... to here. + +2011-05-08 Bruno Haible + + gettimeofday, tzset: Respect rules for use of AC_LIBOBJ. + * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER, + just gl_FUNC_TZSET. + * m4/tzset.m4 (gl_FUNC_TZSET): New macro. + (gl_FUNC_TZSET_CLOBBER): Remove actions. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke + gl_FUNC_TZSET_CLOBBER and its actions here, if present. + +2011-05-08 Bruno Haible + + getsubopt: Move AC_LIBOBJ invocations to module description. + * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and + gl_PREREQ_GETSUBOPT invocations from here... + * modules/getsubopt (configure.ac): ... to here. + +2011-05-08 Bruno Haible + + getpass-gnu: Move AC_LIBOBJ invocations to module description. + * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move + AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here... + * modules/getpass-gnu (configure.ac): ... to here. - Netmasks: new lens for parsing /etc/inet/netmasks on Solaris +2011-05-08 Bruno Haible -2012-01-19 Travis Groth + getpass: Move AC_LIBOBJ invocations to module description. + * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and + gl_PREREQ_GETPASS invocations from here... + * modules/getpass (configure.ac): ... to here. - Nsswitch: add passwd_compat, group_compat and shadow_compat GNU extensions +2011-05-08 Bruno Haible -2012-01-18 Raphaël Pinson + getpagesize: Move AC_LIBOBJ invocations to module description. + * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation + from here... + * modules/getpagesize (configure.ac): ... to here. - Add channels.aug and associated test. +2011-05-08 Bruno Haible -2012-01-14 Dominic Cleal + getopt: Move AC_LIBOBJ invocations to module description. + * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro. + (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT + invocations from here... + * modules/getopt-gnu (configure.ac): ... to here. + * modules/getopt-posix (configure.ac): ... and here. + (Depends-on): Update condition. - Grub: parse "password --encrypted" properly, add tests for file subnode - Fixes ticket #250 +2011-05-08 Bruno Haible -2012-01-11 Francis Giraldeau + getopt, argp: Respect rules for use of AC_LIBOBJ. + * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT. + (gl_REPLACE_GETOPT_ALWAYS): New macro. + * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether + gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT. - Fix fatest linking with libfa - fatest requires libfa symbols which are not exported by libaugeas library. +2011-05-08 Bruno Haible -2012-01-09 Lubomir Rintel + getlogin_r: Move AC_LIBOBJ invocations to module description. + * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and + gl_PREREQ_GETLOGIN_R invocations from here... + * modules/getlogin_r (configure.ac): ... to here. - Correctly parse empty object and arrays in JSON - Add a test case. - Fix from David Lutterkort . +2011-05-08 Bruno Haible - https://fedorahosted.org/augeas/ticket/248 + getlogin: Move AC_LIBOBJ invocations to module description. + * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from + here... + * modules/getlogin (configure.ac): ... to here. -2012-01-09 Lubomir Rintel +2011-05-08 Bruno Haible - Allow JSON number literals to be followed by whitespace - Add a test case. + getloadavg: Move AC_LIBOBJ invocations to module description. + * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move + AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here... + * modules/getloadavg (configure.ac): ... to here. - Fixes https://fedorahosted.org/augeas/ticket/247 +2011-05-08 Bruno Haible -2012-01-09 David Lutterkort + gethrxtime: Move AC_LIBOBJ invocations to module description. + * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines + LIB_GETHRXTIME from here... + (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME + invocations from here... + * modules/gethrxtime (configure.ac): ... to here. - * build/aux/move-if-change: refresh with latest from gnulib - Taken from gnulib commit 1602f0af +2011-05-08 Bruno Haible -2012-01-02 Dominic Cleal + gethostname: Move AC_LIBOBJ invocations to module description. + * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and + gl_PREREQ_GETHOSTNAME invocations from here... + * modules/gethostname (configure.ac): ... to here. - * src/augtool.c (main_loop): re-open rl_outstream/stdout only when stdout isn't a tty (fixes -e -i); use /dev/tty instead of /dev/stdout when re-opening to prevent permission errors - Fixes ticket #241 +2011-05-08 Bruno Haible -2011-12-31 Dominic Cleal + getgroups: Move AC_LIBOBJ invocations to module description. + * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from + here... + * modules/getgroups (configure.ac): ... to here. - * tests/test-augtool.sh: fix broken gsed check +2011-05-08 Bruno Haible -2011-12-30 Dominic Cleal + getdtablesize: Move AC_LIBOBJ invocations to module description. + * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ + invocation from here... + * modules/getdtablesize (configure.ac): ... to here. - Remove Linux-isms so tests can run on Solaris - * tests/test-augtool-modify-root.sh: /bin/sh -> /bin/bash - * tests/test-augtool.sh: /bin/sh -> /bin/bash, use 'gsed' if available (GNU sed - is required) - * tests/test-load.c: don't use GNU sed in-place extension - * tests/test-preserve.sh: handle Solaris `ls -il` output +2011-05-08 Bruno Haible - * bootstrap: add strchrnul gnulib module (for Solaris) + getdomainname: Move AC_LIBOBJ invocations to module description. + * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and + gl_PREREQ_GETDOMAINNAME invocations from here... + * modules/getdomainname (configure.ac): ... to here. -2011-12-24 Jim Meyering +2011-05-08 Bruno Haible - Don't use variables uninitialized upon error - * src/transform.c (filter_generate): Move declarations and - initializations of pathv and pathc to precede possible - "goto error;" via which those variables are used. + getline: Move AC_LIBOBJ invocations to module description. + * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE + invocations from here... + * modules/getline (configure.ac): ... to here. -2011-12-23 Francis Giraldeau +2011-05-08 Bruno Haible - fix fatest linking + getline: Simplify. + * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM. + It's already handled through the module dependency. -2011-12-19 Raphaël Pinson +2011-05-08 Bruno Haible - Rebase yum.aug on inifile.aug, support comments (except in lists) Fix ticket #217 + getdelim: Move AC_LIBOBJ invocations to module description. + * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ + and gl_PREREQ_GETDELIM invocations from here... + * modules/getdelim (configure.ac): ... to here. + (Depends-on): Fix condition. - Add @return to shellvars.aug +2011-05-08 Bruno Haible -2011-12-19 Erinn Looney-Triggs + getcwd: Move AC_LIBOBJ invocations to module description. + * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD + invocations from here... + * modules/getcwd (configure.ac): ... to here. - Create lens and tests for sssd.conf heavily based on mysql and php lenses. +2011-05-08 Bruno Haible -2011-12-18 Raphaël Pinson + getcwd-lgpl: Move AC_LIBOBJ invocations to module description. + * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from + here... + * modules/getcwd-lgpl (configure.ac): ... to here. - aliases.aug: commands can be fully enclosed in quotes (Fix ticket #229) +2011-05-07 Bruno Haible -2011-12-18 Erinn Looney-Triggs + crypto/gc: Move AC_LIBOBJ invocations to module description. + * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here... + * modules/crypto/gc (configure.ac): ... to here. - Add in single-request-reopen into lens and tests. +2011-05-07 Bruno Haible -2011-12-16 Michael Chapman + fwriting: Move AC_LIBOBJ invocations to module description. + * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from + here... + * modules/fwriting (configure.ac): ... to here. - Add missing argument to escape() - Fixes ticket #242. +2011-05-07 Bruno Haible -2011-12-10 Dominic Cleal + fwritable: Move AC_LIBOBJ invocations to module description. + * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from + here... + * modules/fwritable (configure.ac): ... to here. - * src/augeas.c (tree_root_ctx): create context path if it doesn't exist +2011-05-07 Bruno Haible -2011-12-09 Raphaël Pinson + futimens: Move AC_LIBOBJ invocations to module description. + * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from + here... + * modules/futimens (configure.ac): ... to here. - Add libxml2-devel to requirements in HACKING +2011-05-07 Bruno Haible -2011-12-08 Raphaël Pinson + ftruncate: Move AC_LIBOBJ invocations to module description. + * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and + gl_PREREQ_FTRUNCATE invocations from here... + * modules/ftruncate (configure.ac): ... to here. - Debian-based distributions use /etc/mdadm/mdadm.conf +2011-05-07 Bruno Haible -2011-12-05 Raphaël Pinson + fsync: Move AC_LIBOBJ invocations to module description. + * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC + invocations from here... + * modules/fsync (configure.ac): ... to here. - Support include() in phpvars.aug +2011-05-07 Bruno Haible - Add unit test for bug #239 + fsusage: Move AC_LIBOBJ invocations to module description. + * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and + gl_PREREQ_FSUSAGE_EXTRA invocations from here... + * modules/fsusage (configure.ac): ... to here. - In aug_to_xml: do not replace pathin with '/*' unless the length is 0 or pathin is '/' (Fix ticket #239) +2011-05-07 Bruno Haible -2011-12-03 Richard W.M. Jones + freopen: Move AC_LIBOBJ invocations to module description. + * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN + invocations from here... + * modules/freopen (configure.ac): ... to here. - pkg-config: Augeas requires libxml2. +2011-05-07 Bruno Haible -2011-12-02 David Lutterkort + free: Move AC_LIBOBJ invocations to module description. + * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE + invocations from here... + * modules/free (configure.ac): ... to here. - Version 0.10.0 +2011-05-07 Bruno Haible -2011-12-02 Dominic Cleal + freadable: Move AC_LIBOBJ invocations to module description. + * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from + here... + * modules/freadable (configure.ac): ... to here. - Implement escape sequences for whitespace, quotes and square brackets in command arguments to match Puppet provider. - * \ or \ will be escaped if not in quotes, else literal - * \' or \" will be escaped if in the same type of quotes, else literal - * \\ will be escaped - * \[ or \] will be passed through so they're escaped in path expressions +2011-05-07 Bruno Haible - * src/augrun.c: implement escape sequences - * tests/run.tests: add covering tests + fpurge: Move AC_LIBOBJ invocations to module description. + * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ + invocations from here... + * modules/fpurge (configure.ac): ... to here. -2011-12-02 Raphaël Pinson +2011-05-07 Bruno Haible - Add approx.aug and test to Menu.txt + fpending: Move AC_LIBOBJ invocations to module description. + * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from + gl_FUNC_FPENDING. + (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING + invocations from here... + * modules/fpending (configure.ac): ... to here. - Document approx.aug +2011-05-07 Bruno Haible - Fix nocommand as nocomma in test_aliases.aug + fopen: Move AC_LIBOBJ invocations to module description. + * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN + invocations from here... + * modules/fopen (configure.ac): ... to here. - Add documentation to test_aliases.aug +2011-05-07 Bruno Haible -2011-12-01 David Lutterkort + fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description. + * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from + gl_FUNC_FNMATCH_POSIX. + (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH + invocations from here... + * modules/fnmatch (configure.ac): ... to here. + * modules/fnmatch-gnu (configure.ac): ... and here. - * src/augtool.c (print_aug_error): print newline after error details +2011-05-07 Bruno Haible - augtool: rename 'print-xml' to 'dump-xml' - That way, 'p' tab-completes to print as before. + flock: Move AC_LIBOBJ invocations to module description. + * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK + invocations from here... + * modules/flock (configure.ac): ... to here. - * src/augeas.c (tree_from_transform): handle alloc failure better +2011-05-07 Bruno Haible - * src/augeas.c (aug_init): make more robust - - propagate errors from aug_set and similar - - only call api_exit if we called api_enter before + fileblocks: Move AC_LIBOBJ invocations to module description. + * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and + gl_PREREQ_FILEBLOCKS invocations from here... + * modules/fileblocks (configure.ac): ... to here. - * src/augeas.c (aug_init): pull logic to set up loadpath into separate function +2011-05-06 Bruno Haible - * src/augeas.c (init_root): properly report out-of-memory + fflush: Move AC_LIBOBJ invocations to module description. + * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro. + (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH + invocations from here... + * modules/fflush (configure.ac): ... to here. - * tests/test-api.c (testToXml): swap expected/actual values in assertions +2011-05-06 Bruno Haible - * src/augeas.c (aug_to_xml): rename 'path' attr on root to 'match' - The attribute contains a path expression, not just a path. + fdopendir: Move AC_LIBOBJ invocations to module description. + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from + here... + * modules/fdopendir (configure.ac): ... to here. + (Depends-on): Improve conditions. -2011-12-01 David Lutterkort +2011-05-06 Bruno Haible - Make it possible for aug_init to report initialization errors - Sometimes initialization fails for mundane reasons, like syntax errors in - lens files. So far, it was not possible for callers to report details for - these errors, because they always got a NULL augeas handle back. + _Exit: Move AC_LIBOBJ invocations to module description. + * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT + invocations from here... + * modules/_Exit (configure.ac): ... to here. - The new flag AUG_NO_ERR_CLOSE causes aug_init to return a handle even if - initialization fails, so that callers can use the aug_error* functions to - extract error details before calling aug_close. +2011-05-21 Bruno Haible - * src/augeas.c (aug_init): return a partially initialized struct augeas - if AUG_NO_ERR_CLOSE is set - * src/augeas.h (aug_flags): add AUG_NO_ERR_CLOSE - * src/augtool.c: call aug_init with AUG_NO_ERR_CLOSE and print errors on - initialization failure + euidaccess: Respect rules for use of AC_LIBOBJ. + * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations + from here... + * modules/euidaccess (configure.ac): ... to here. -2011-12-01 David Lutterkort +2011-05-06 Bruno Haible - Update documentation for augtool/augrun and man page + error: Move AC_LIBOBJ invocations to module description. + * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove + AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR + invocations from here... + * modules/error (configure.ac): ... to here. - Adjust more copyright notices +2011-05-06 Bruno Haible - Fstab: allow ',' in file names - Fixes BZ https://bugzilla.redhat.com/show_bug.cgi?id=751342 + duplocale: Move AC_LIBOBJ invocations to module description. + * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and + gl_PREREQ_DUPLOCALE invocations from here... + * modules/duplocale (configure.ac): ... to here. - * man/augtool.pod: update copyright years, regenerate +2011-05-05 Bruno Haible -2011-12-01 Raphaël Pinson + dirfd: Move AC_LIBOBJ invocations to module description. + * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from + gl_FUNC_DIRFD. + (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from + here... + * modules/dirfd (configure.ac): ... to here. + (Depends-on): Fix condition. - Sub::Install is not necessary to override functions in Augeas.pm +2011-05-05 Bruno Haible - Fix white_spaces into with_spaces in test_faidiskconfig.aug + chown: Respect rules for use of AC_LIBOBJ. + * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here... + * modules/chown (configure.ac): ... to here. - Add documentation to test_fai_diskconfig.aug +2011-05-05 Bruno Haible - Extend copyright to 2011 in src/* + chdir-long: Move AC_LIBOBJ invocations to module description. + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and + gl_PREREQ_CHDIR_LONG invocations from here... + * modules/chdir-long (configure.ac): ... to here. - Add test_xml.aug to the lens Menu.txt +2011-05-05 Bruno Haible - Improve documentation in test_xml.aug + canonicalize-lgpl: Move AC_LIBOBJ invocations to module description. + * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation + from here... + * modules/canonicalize-lgpl (configure.ac): ... to here. - Add test_keepalived.aug doc to lens Menu.txt and keepaved.aug +2011-05-05 Bruno Haible - Add documentation to test_keepalived.aug + calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description. + * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro. + (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set + REPLACE_CALLOC. + * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here. + * modules/calloc-gnu (configure.ac): Likewise. - Improve documentation for sep.aug +2011-05-05 Bruno Haible - Improve documentation for rx.aug + btowc: Move AC_LIBOBJ invocations to module description. + * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC + invocations from here... + * modules/btowc (configure.ac): ... to here. -2011-12-01 Dominic Cleal +2011-05-21 Bruno Haible - src/augrun.c: fix parsing of commands with trailing whitespace tests/test-run.c: use : to write tests with trailing whitespace + atexit: Move AC_LIBOBJ invocations to module description. + * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of + AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from + here... + * modules/atexit (configure.ac): ... to here. -2011-12-01 Raphaël Pinson +2011-05-05 Bruno Haible - Improve documentation for access.aug and test_access.aug + atoll: Move AC_LIBOBJ invocations to module description. + * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL + invocations from here... + * modules/atoll (configure.ac): ... to here. - Fix examples note in inifile.aug +2011-05-05 Bruno Haible - Add examples note to reprepro_uploaders.aug + argz: Move AC_LIBOBJ invocations to module description. + * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here... + * modules/argz (configure.ac): ... to here. - Finalize doc for test_reprepro_uploaders.aug +2011-05-05 Bruno Haible -2011-12-01 Dominic Cleal + alphasort: Move AC_LIBOBJ invocations to module description. + * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and + gl_PREREQ_ALPHASORT invocations from here... + * modules/alphasort (configure.ac): ... to here. - Fix path context with trailing slash or whitespace +2011-06-15 Paul Eggert - Add tests from Puppet's Augeas provider, some commented out until fixed. + verify: new macro verify_expr; verify_true deprecated + * NEWS: Mention this. + * doc/verify.texi (Compile-time Assertions): Document this. + * lib/verify.h (verify_true): Deprecate. + (verify_expr): New macro. + * tests/test-verify.c (function): Test verify_expr. -2011-12-01 Raphaël Pinson +2011-06-14 Jim Meyering - Fix test_inifile.aug's typo + init.sh: give more portable redirection-related advice in a comment + * tests/init.sh (stderr_fileno_): Update the advice in comments. + See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488 + for lots of discussion. Stefano Lattarini suggested the solution + of putting "9>&2" after the command. Reported by Bruno Haible. - Add documentation to test_inifile.aug +2011-06-13 Bruno Haible - Better integration of tests in NaturalDocs, verbatim code display in doc. + locale-zh: Reject zh_CN.GB18030 locale on Solaris 8. + * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to + 'none'. -2011-11-30 Raphaël Pinson +2011-06-13 Paul Eggert - Add unit tests for aug_to_xml + ftoastr: use strtof only if HAVE_STRTOF + This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report + . + * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF. + * modules/ftoastr (configure.ac): Check for strtof. - libaugeas must now be linked to libxml, too. +2011-06-13 Bruno Haible -2011-11-30 Dominic Cleal + gnulib-tool: Addendum to 2011-06-08 commit. + * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name + and --witness-c-macro have been given, augment AM_CPPFLAGS. + +2011-06-13 Bruno Haible + + fseeko: Provide a non-inline replacement of fseek(). + * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used. + * modules/fseeko (Depends-on): Add fseek. + * modules/fseek (License): Change to LGPLv2+. + +2011-06-13 Bruno Haible + + ftello: Provide a non-inline replacement of ftell(). + * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used. + * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does + not have ftello() (such as on mingw). + * modules/ftello (Depends-on): Add ftell. + * modules/ftell (License): Change to LGPLv2+. + +2011-05-07 Bruno Haible + + ftell: Move AC_LIBOBJ invocations to module description. + * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here... + * modules/ftell (configure.ac): ... to here. + +2011-05-07 Bruno Haible + + ftello: Respect rules for use of AC_LIBOBJ. + * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro. + (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from + here... + * modules/ftello (configure.ac): ... to here. + +2011-05-07 Bruno Haible + + fseeko: Simplify. + * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro. + (gl_FUNC_FSEEKO): Inline it here. + +2011-05-07 Bruno Haible + + fseek: Move AC_LIBOBJ invocations to module description. + * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro. + (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here... + * modules/fseek (configure.ac): ... to here. + +2011-05-07 Bruno Haible + + fseek: Respect rules for use of AC_LIBOBJ. + * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from + here... + * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here. + +2011-05-07 Bruno Haible + + fseeko: Respect rules for use of AC_LIBOBJ. + * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro. + (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from + here... + * modules/fseeko (configure.ac): ... to here. + +2011-06-13 Bruno Haible + + gnulib-tool: Allow comments in the 'Depends-on' section. + * doc/gnulib.texi (Module description): Mention comment syntax in the + Depends-on section. + * gnulib-tool (func_get_dependencies): Filter out comment lines. + +2011-06-13 Bruno Haible + + file-set.h: guard __attibute__ use, now that it's not always defined + * lib/file-set.h (record_file): Use __attribute__ only with compiler + versions that support it. This fixes a coreutils build failure with + the vendor cc on HP-UX 11.31. + +2011-06-12 Bruno Haible + + acl: Add support for HP-UX >= 11.11 JFS ACLs. + * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX. + * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API. + * lib/acl-internal.h [HP-UX 11.11]: Include . + (acl, aclsort): New declarations. + (aclv_nontrivial): New declaration. + * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function. + (file_has_acl): Read also the second kind of HP-UX ACLs. + * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second + kind of HP-UX ACLs if the first kind fails. + * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the + second kind of HP-UX ACLs. + * tests/test-sameacls.c [HP-UX 11.11]: Include . + (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs + agree. + * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to + hpuxjfs. + Handle hpuxjfs. + * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to + hpuxjfs. + Handle hpuxjfs. + * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs. + (func_test_same_acls): Use both lsacl and getacl. + Handle hpuxjfs. + * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs. + (func_test_same_acls): Use both lsacl and getacl. + Handle hpuxjfs. + +2011-06-12 Bruno Haible + + acl: Complete the 2010-08-10 fix. + * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP. + * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise. + * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values + explicitly. + * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP. + Reported in . + +2011-06-12 Bruno Haible + + spawn-pipe tests: Comments. + * tests/test-spawn-pipe-child.c (main): Update comment. + Reported by James Youngman . + +2011-06-11 James Youngman + + New module 'stat-size'. + * modules/stat-size: New module. Provides macros for accessing + file size information in instances of struct stat. Depends on the + fileblocks module because it calls st_blocks. + * lib/stat-size.h: New file, adapted from coreutils' system.h. + * doc/gnulib.texi: Include stat-size.texi. + * doc/stat-size.texi: Documentation for this module. + * m4/stat-size.m4: New file; defines gl_STAT_SIZE. + * m4/fileblocks.m4: Mention that stat-size depends on the call to + AC_STRUCT_ST_BLOCKS. + +2011-06-09 Bruno Haible + + thread: Support pthreads-win32. + * lib/glthread/thread.h (gl_thread_self): Define differently on + pthreads-win32. + (gl_null_thread): New declaration. + (gl_thread_self_pointer): New macro. + * lib/glthread/thread.c (gl_null_thread): New constant. + * tests/test-lock.c: Use gl_thread_self_pointer instead of + gl_thread_self. + * tests/test-tls.c: Likewise. + Suggested by Paul Eggert. Reported by Eric Blake. + +2011-06-09 Bruno Haible + + thread: Fix confusion between NULL and 0. + * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately. + Reported by Paul Eggert. + +2011-06-09 Bruno Haible + + spawn-pipe tests: Avoid test failure on HP-UX 11. + * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2 + is closed. + +2011-06-09 Bruno Haible + + acl tests: Fix compilation error on HP-UX 11. + * tests/test-sameacls.c: Include also on HP-UX. + +2011-06-09 Bruno Haible + + rmdir: Avoid test failure on HP-UX 10.20. + * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like + EEXIST. + +2011-06-08 Eric Blake + + perror: fix test on mingw + * modules/perror-tests (Depends-on): Add dup2. + + strerror_r-posix: fix on MacOS + * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug. + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix + logic bug. + * lib/strerror_r.c (strerror_r): Fix the bug. + * lib/strerror.c (strerror): Likewise. + * doc/posix-functions/strerror_r.texi (strerror_r): Document the + problem. + * doc/posix-functions/strerror.texi (strerror): Likewise. + * doc/posix-functions/perror.texi (perror): Likewise. + * tests/test-strerror.c (main): Enhance test. + * tests/test-strerror_r.c (main): Likewise. + +2011-06-08 Bruno Haible + + gnulib-tool: Better isolation between different gnulib-tool invocations. + * gnulib-tool: New option --witness-c-macro. + (witness_c_macro): New variable. + (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let + AM_CPPFLAGS define it as a C macro. + (func_emit_tests_Makefile_am): Likewise. + (func_import): Store witness_c_macro setting in gnulib-cache.m4 and + read it from there. + * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through + m4_define, not AC_DEFUN. + (gl_MODULE_INDICATOR_SET_VARIABLE_AUX, + gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros. + (gl_MODULE_INDICATOR_SET_VARIABLE): Use them. + * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not + s|...|...|, to substitute the values of the GNULIB_* module indicator + variables. + * modules/dirent (Makefile.am): Likewise. + * modules/fcntl-h (Makefile.am): Likewise. + * modules/iconv-h (Makefile.am): Likewise. + * modules/langinfo (Makefile.am): Likewise. + * modules/locale (Makefile.am): Likewise. + * modules/math (Makefile.am): Likewise. + * modules/netdb (Makefile.am): Likewise. + * modules/poll-h (Makefile.am): Likewise. + * modules/pty (Makefile.am): Likewise. + * modules/search (Makefile.am): Likewise. + * modules/signal (Makefile.am): Likewise. + * modules/spawn (Makefile.am): Likewise. + * modules/stdio (Makefile.am): Likewise. + * modules/stdlib (Makefile.am): Likewise. + * modules/string (Makefile.am): Likewise. + * modules/sys_ioctl (Makefile.am): Likewise. + * modules/sys_select (Makefile.am): Likewise. + * modules/sys_socket (Makefile.am): Likewise. + * modules/sys_stat (Makefile.am): Likewise. + * modules/sys_times (Makefile.am): Likewise. + * modules/sys_utsname (Makefile.am): Likewise. + * modules/sys_wait (Makefile.am): Likewise. + * modules/termios (Makefile.am): Likewise. + * modules/time (Makefile.am): Likewise. + * modules/unistd (Makefile.am): Likewise. + * modules/wchar (Makefile.am): Likewise. + +2011-06-08 Eric Blake + + strerror: simplify replacement + * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete. + * modules/strerror (configure.ac): No prereqs needed here... + * modules/strerror-override (configure.ac): ...but this needs it. + (Files): Add file for needed prereq macro. + +2011-06-08 Bruno Haible + + strerror_r-posix: Tweaks. + * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests + gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present. + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK + message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here... + (gl_FUNC_STRERROR_R): ... to here. + (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r. + +2011-06-07 Eric Blake + + perror: document fixed bugs + * doc/posix-functions/perror.texi (perror): Document recent + patches. + +2011-06-07 Paul Eggert + + stat-time: get_stat_birthtime failure is better-defined + * lib/stat-time.h (get_stat_birthtime): If the time is not available, + return a timestamp whose tv_sec and tv_nsec values are both -1. + Previously, the spec said only that the tv_nsec value was negative. + This upward-compatible change simplifies GNU tar a bit. + +2011-06-07 Eric Blake + + strerror_r-posix: work around cygwin 1.7.9 + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split... + (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin + bug without replacing strerror_r. + * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if + strerror_r is buggy, but without requiring strerror_r compilation. + * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs. + + test-perror: relax test to ignore cygwin bug + * tests/test-perror2.c (main): Relax test on requiring detection + of stream errors, and use unbuffered stream. + * doc/posix-functions/dprintf.texi (dprintf): Document bug. + * doc/posix-functions/fprintf.texi (fprintf): Likewise. + * doc/posix-functions/fputc.texi (fputc): Likewise. + * doc/posix-functions/fputs.texi (fputs): Likewise. + * doc/posix-functions/fputws.texi (fputws): Likewise. + * doc/posix-functions/fwprintf.texi (fwprintf): Likewise. + * doc/posix-functions/fwrite.texi (fwrite): Likewise. + * doc/posix-functions/getopt.texi (getopt): Likewise. + * doc/posix-functions/perror.texi (perror): Likewise. + * doc/posix-functions/printf.texi (printf): Likewise. + * doc/posix-functions/psiginfo.texi (psiginfo): Likewise. + * doc/posix-functions/psignal.texi (psignal): Likewise. + * doc/posix-functions/putc.texi (putc): Likewise. + * doc/posix-functions/putc_unlocked.texi (putc_unlocked): + Likewise. + * doc/posix-functions/putchar.texi (putchar): Likewise. + * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked): + Likewise. + * doc/posix-functions/puts.texi (puts): Likewise. + * doc/posix-functions/putwc.texi (putwc): Likewise. + * doc/posix-functions/putwchar.texi (putwchar): Likewise. + * doc/posix-functions/vdprintf.texi (vdprintf): Likewise. + * doc/posix-functions/vfprintf.texi (vfprintf): Likewise. + * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise. + * doc/posix-functions/vprintf.texi (vprintf): Likewise. + * doc/posix-functions/vwprintf.texi (vwprintf): Likewise. + * doc/posix-functions/wordexp.texi (wordexp): Likewise. + * doc/posix-functions/wprintf.texi (wprintf): Likewise. + +2011-05-22 Bruno Haible + + strerror: Move AC_LIBOBJ invocations to module description. + * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and + gl_PREREQ_STRERROR invocations from here... + * modules/strerror (configure.ac): ... to here. + +2011-05-21 Bruno Haible + + perror: Use common idiom. + * modules/perror (configure.ac): Reorder statements. + +2011-06-07 Stefano Lattarini + + tests: fix usage message in 'mktempd_' + * tests/init.sh (mktempd_): In the usage message, use literal + 'mktempd_', not '$ME' (which is even undefined), as the name of + the subroutine. + +2011-06-07 Stefano Lattarini + + tests init: new function 'fatal_', for hard errors + Before this patch, the only way offered by tests/init.sh to + properly signal a hard error was the `framework_failure_' + function. But the error message issued by that function, + as its name would suggest, refers to a set-up failure in the + testsuite, while hard errors can obviously also be due to + other reasons. The best way to fix this inconsistency is to + introduce a new function with a more general error message. + * tests/init.sh (fatal_): New function. + +2011-06-06 Eric Blake + + canonicalize-lgpl: use common idiom + * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf + over newer POSIX -Rf. + Reported by Bruno Haible. + + canonicalize-lgpl: work around AIX realpath bug + * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug. + * doc/posix-functions/realpath.texi (realpath): Document it. + Reported by Bruno Haible. + + strerror: work around FreeBSD bug + * lib/strerror.c (strerror): Special case 0. + Reported by Bruno Haible. + + strerror-override: avoid bloating errno module + * modules/errno (Files, configure.ac): Move replacement strings... + * modules/strerror-override: ...to new module. + * modules/strerror (Depends-on): Add strerror-override. + * modules/strerror_r-posix (Depends-on): Likewise. + * MODULES.html.sh: Document new module. + Reported by Bruno Haible. + +2011-06-06 Bruno Haible + + spawn-pipe tests: Rename program. + * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c. + * tests/test-spawn-pipe-child.c: Update comment. + * tests/test-spawn-pipe.sh: Update. + * modules/spawn-pipe-tests (Files, Makefile.am): Update. + + spawn-pipe tests: Link the child program only against libc. + * tests/test-spawn-pipe-child.c: New file, extracted from + tests/test-spawn-pipe.c. + (main): Expect only one argument. + (is_open): New function, copied from tests/test-pipe.c. + * tests/test-spawn-pipe.c: Don't include . + (child_main): Remove function. + (test_pipe): Pass only one argument to the child program. + (main): Remove child process code. Expect the child program's name as + first argument. + * tests/test-spawn-pipe.sh: Pass the child program's name as first + argument. + * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c. + (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link + test-spawn-pipe-child against no libraries. + +2011-06-06 Bruno Haible - * augeas.spec.in: add build req on libxml2-devel + careadlinkat: Avoid mismatch between ssize_t and int. + * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always. + * lib/careadlinkat.c (careadlinkatcwd): Define always. -2011-11-29 Raphaël Pinson +2011-06-06 Jim Meyering - Add an Examples section to reprepro_uploaders.aug's header + gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE + * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of + _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE. - ARG_CHECK errors when condition is met. Invert conditions in aug_to_xml. +2011-06-05 Bruno Haible -2011-11-29 Francis Giraldeau + ansi-c++-opt: Interoperability with libtool. + * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found, + set the variable to "no", not to ":". + * NEWS: Mention the change. - Sudoers: add more parameter flags/options - Fixes bug #143 +2011-06-05 Bruno Haible -2011-11-29 Raphaël Pinson + acl: Fix test failure on AIX 7. + * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation. + Based on a patch by Jørn Amundsen . - Add aug_to_xml to public API +2011-06-05 Bruno Haible -2011-11-29 David Lutterkort + pipe-filter-ii: Fix test failure on AIX and IRIX. + * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails + with EAGAIN, retry with a smaller buffer size. - New error code AUG_EBADARG and ARG_CHECK macro - Use ARG_CHECK to check arguments passed through the public API for - validity; invalid paramters lead to an error of AUG_EBADARG. +2011-06-05 Bruno Haible - * src/augeas.h (aug_errcode_t): new error code AUG_EBADARG - * src/augeas.c (errcodes): human-readable text for AUG_EBADARG - * src/errcode.h (ARG_CHECK): new macro + localename: Fix link dependencies. + * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD). + * modules/localename-tests (Makefile.am): Link test-localename with + $(LIBTHREAD). -2011-11-29 Raphaël Pinson +2011-06-05 Bruno Haible - Improve doc in test_reprepro_uploaders.aug and update Menu.txt for lenses. + error: Avoid gcc warning. + * lib/error.c (strerror_r): Declare also when its return type is 'int'. - Fix parsing of tests in Augeas.pm, add a test doc to test_reprepro.aug +2011-06-05 Bruno Haible - Fix parsing of 'in[ \t\r\n]+let' in Augeas.pm + unsetenv: Avoid gcc warning. + * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it. -2011-11-29 David Lutterkort +2011-06-05 Bruno Haible - Normalize lens filters to absolute paths - It doesn't really make sense to specify relative paths in lens filters; we - treat them as absolute to avoid unpleasant surprises for users who think - relative paths are relative to AUGEAS_ROOT. With this change, they are. + setenv: Avoid gcc warning. + * lib/setenv.c (setenv): Provide declaration if system lacks it. - Fixes bug #238 +2011-06-05 Bruno Haible -2011-11-29 David Lutterkort + sys_select: Ensure memset is declared also on AIX 7. + * lib/sys_select.in.h: Include also on AIX. + * doc/posix-headers/sys_select.texi: Mention that is not + self-contained also on AIX 7.1. - * tests/cutest.c: run one test when CUTEST env var is set +2011-06-04 Jim Meyering -2011-11-29 Raphaël Pinson + maint.mk: sc_unmarked_diagnostics: don't hard-code "error" + * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the + function name, "error". + (_gl_translatable_diag_func_re): New configurable variable. - Add support for 'not' in reprepro_uploaders.aug +2011-06-04 Bruno Haible + + getopt: Avoid gcc warning. + * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'. - Improve CSS for NaturalDocs +2011-06-04 Bruno Haible -2011-11-28 Dominic Cleal + strerror_r: Fix comments. + * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01 + commit. - augtool: change readline tab completion to be context-aware +2011-06-04 Bruno Haible + + perror: Fix compilation error. + * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h. + Undefine fprintf, not sprintf. + * modules/perror (Depends-on): Remove intprops, verify. + +2011-06-04 Bruno Haible + + setlocale: Enable replacement on Cygwin 1.5. + * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on + Cygwin 1.5.x. + * doc/posix-functions/setlocale.texi: Mention that the problem with the + LC_CTYPE category also exists on Cygwin 1.5.x. + +2011-06-04 Bruno Haible + + strerror-override: Don't disable symbol renamings. + * lib/strerror-override.h: Include errno.h and stddef.h, not string.h. + * lib/strerror-override.c: Include config.h. + (strerror_override): Don't undefine. - path expressions: prepend context from /augeas/context to all relative paths - A path context is prepended to all paths that do not begin at the root, - changing relative paths into absolute paths. The context is stored in - /augeas/context and defaults to the value "/files". +2011-06-03 Bruno Haible + + Copyright: Use LGPL 2.1 instead of LGPL 2.0. + * lib/localename.h: Update copyright header. + * lib/localename.c: Likewise. + * lib/relocatable.h: Likewise. + * lib/relocatable.c: Likewise. + +2011-06-02 Bruno Haible + + doc: Fix a module name. + * doc/posix-functions/open.texi: Fix module name 'nonblocking'. + +2011-06-02 Bruno Haible + + pipe2: Remove dependency on 'nonblocking' module. + * lib/pipe2.c: Include verify.h. Include nonblocking.h only if + O_NONBLOCK is defined by gnulib. + (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it + is zero. + * modules/pipe2 (Depends-on): Add verify. Remove nonblocking. + * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is + defined by gnulib. + (get_nonblocking_flag): New function. + (main): Test O_NONBLOCK flag only if it is nonzero. + * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module. + +2011-06-03 Jim Meyering + + maint: three new prohibit-header-without-use rules + Prohibit use of cloexec.h, posixver.h, same.h without use. + * top/maint.mk (sc_prohibit_cloexec_without_use): New rule. + (sc_prohibit_posixver_without_use): Likewise. + (sc_prohibit_same_without_use): Likewise. + +2011-06-02 Paul Eggert + + allocator: 'die' routine is now given requested size + * lib/allocator.h (struct allocator.die): New size arg. + * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function. + If the actual problem is an ssize_t limitation, not a size_t or + malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'. + +2011-06-01 Eric Blake + + strerror: drop strerror_r dependency + * lib/strerror_r.c (strerror_r): Move gnulib replacement strings... + * lib/strerror-override.c (strerror_override): ...to new file. + * lib/strerror-override.h: Add prototype. + * lib/strerror-impl.h: Delete. + * lib/strerror.c (strerror): New implementation. + * modules/errno (Files): Add new files. + (configure.ac): Compile new file as appropriate. + * modules/strerror (Files): Drop unused file. + (Depends-on): Drop strerror_r-posix. + * MODULES.html.sh: Document strerror_r-posix. + Requested by Sam Steingold. + + perror: call strerror_r directly + * modules/perror (Files): Drop strerror-impl.h. + * lib/perror.c (perror): Use our own stack buffer, rather than + calling a wrapper that uses static storage. + * doc/posix-functions/perror.texi (perror): Document a limitation + of our replacement. + + strerror_r: fix includes for FreeBSD + * lib/strerror_r.c (includes): Use unconditionally, + since we use abort on some platforms. + Reported by Matthias Bolte. + +2011-05-31 Bruno Haible + + Fix link errors in tests: openat-die uses gettext-h. + * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat + against $(LIBINTL). + * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer + against $(LIBINTL). + * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against + $(LIBINTL). + * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat + against $(LIBINTL). + * modules/linkat-tests (Makefile.am): Link test-linkat against + $(LIBINTL). + * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against + $(LIBINTL). + * modules/openat-safer-tests (Makefile.am): Link test-openat-safer + against $(LIBINTL). + * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat, + test-mkdirat, test-openat, test-unlinkat against $(LIBINTL). + * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against + $(LIBINTL). + * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against + $(LIBINTL). + * modules/utimensat-tests (Makefile.am): Link test-utimensat against + $(LIBINTL). + Reported by Tom G. Christensen . + +2011-05-31 Bruno Haible + + Fix link errors in tests: wait-process uses gettext-h. + * modules/nonblocking-pipe-tests (Makefile.am): Set + test_nonblocking_pipe_main_LDADD. + * modules/nonblocking-socket-tests (Makefile.am): Link + test-nonblocking-socket-main against $(LIBINTL). + Reported by Tom G. Christensen . + +2011-05-29 Paul Eggert + + assert-h: work around 'verify' incompatibility + * lib/verify.h: Use @...@ directives, not ifdef. + * modules/assert-h (assert.h): Implement the directives. + (assert.h): Substitute the symbol-prefix more consistently. + +2011-05-29 Jim Meyering + + trim: remove three superfluous assignments + * lib/trim.c (trim2): Remove three superfluous assignments + and correct brace positioning. + +2011-05-29 Bruno Haible + + wctype-h: Avoid namespace pollution on Solaris 2.6. + * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other + identifiers. + * doc/posix-headers/wctype.texi: Mention the problem. + Reported by Tom G. Christensen . + +2011-05-28 Jim Meyering + + parse-datetime.y: accommodate -Wstrict-overflow + * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to + placate -Wstrict-overflow. + + trim: avoid a warning from -O2 -Wstrict-overflow + * lib/trim.c (trim2): Declare local to be "unsigned int", not "int". + +2011-05-29 Bruno Haible + + gnulib-tool: Fix bug in yesterday's commit. + * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs + twice. + +2011-05-29 Bruno Haible + + Allow multiple gnulib generated include files to be combined. + * gnulib-tool (func_compute_include_guard_prefix): New function. + (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also + ${gl_include_guard_prefix} references. + (func_import, func_create_testdir): Invoke + func_compute_include_guard_prefix. + * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder. + * lib/ctype.in.h: Likewise. + * lib/dirent.in.h: Likewise. + * lib/errno.in.h: Likewise. + * lib/fcntl.in.h: Likewise. + * lib/float.in.h: Likewise. + * lib/getopt.in.h: Likewise. + * lib/iconv.in.h: Likewise. + * lib/langinfo.in.h: Likewise. + * lib/locale.in.h: Likewise. + * lib/math.in.h: Likewise. + * lib/netdb.in.h: Likewise. + * lib/netinet_in.in.h: Likewise. + * lib/poll.in.h: Likewise. + * lib/pthread.in.h: Likewise. + * lib/pty.in.h: Likewise. + * lib/sched.in.h: Likewise. + * lib/se-selinux.in.h: Likewise. + * lib/search.in.h: Likewise. + * lib/signal.in.h: Likewise. + * lib/spawn.in.h: Likewise. + * lib/stdarg.in.h: Likewise. + * lib/stddef.in.h: Likewise. + * lib/stdint.in.h: Likewise. + * lib/stdio.in.h: Likewise. + * lib/stdlib.in.h: Likewise. + * lib/string.in.h: Likewise. + * lib/strings.in.h: Likewise. + * lib/sys_file.in.h: Likewise. + * lib/sys_ioctl.in.h: Likewise. + * lib/sys_select.in.h: Likewise. + * lib/sys_socket.in.h: Likewise. + * lib/sys_stat.in.h: Likewise. + * lib/sys_time.in.h: Likewise. + * lib/sys_times.in.h: Likewise. + * lib/sys_uio.in.h: Likewise. + * lib/sys_utsname.in.h: Likewise. + * lib/sys_wait.in.h: Likewise. + * lib/sysexits.in.h: Likewise. + * lib/termios.in.h: Likewise. + * lib/time.in.h: Likewise. + * lib/unistd.in.h: Likewise. + * lib/wchar.in.h: Likewise. + * lib/wctype.in.h: Likewise. + * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@. + * modules/ctype (Makefile.am): Likewise. + * modules/dirent (Makefile.am): Likewise. + * modules/errno (Makefile.am): Likewise. + * modules/fcntl-h (Makefile.am): Likewise. + * modules/float (Makefile.am): Likewise. + * modules/getopt-posix (Makefile.am): Likewise. + * modules/iconv-h (Makefile.am): Likewise. + * modules/langinfo (Makefile.am): Likewise. + * modules/locale (Makefile.am): Likewise. + * modules/math (Makefile.am): Likewise. + * modules/netdb (Makefile.am): Likewise. + * modules/netinet_in (Makefile.am): Likewise. + * modules/poll-h (Makefile.am): Likewise. + * modules/pthread (Makefile.am): Likewise. + * modules/pty (Makefile.am): Likewise. + * modules/sched (Makefile.am): Likewise. + * modules/search (Makefile.am): Likewise. + * modules/selinux-h (Makefile.am): Likewise. + * modules/signal (Makefile.am): Likewise. + * modules/spawn (Makefile.am): Likewise. + * modules/stdarg (Makefile.am): Likewise. + * modules/stddef (Makefile.am): Likewise. + * modules/stdint (Makefile.am): Likewise. + * modules/stdio (Makefile.am): Likewise. + * modules/stdlib (Makefile.am): Likewise. + * modules/string (Makefile.am): Likewise. + * modules/strings (Makefile.am): Likewise. + * modules/sys_file (Makefile.am): Likewise. + * modules/sys_ioctl (Makefile.am): Likewise. + * modules/sys_select (Makefile.am): Likewise. + * modules/sys_socket (Makefile.am): Likewise. + * modules/sys_stat (Makefile.am): Likewise. + * modules/sys_time (Makefile.am): Likewise. + * modules/sys_times (Makefile.am): Likewise. + * modules/sys_uio (Makefile.am): Likewise. + * modules/sys_utsname (Makefile.am): Likewise. + * modules/sys_wait (Makefile.am): Likewise. + * modules/sysexits (Makefile.am): Likewise. + * modules/termios (Makefile.am): Likewise. + * modules/time (Makefile.am): Likewise. + * modules/unistd (Makefile.am): Likewise. + * modules/wchar (Makefile.am): Likewise. + * modules/wctype-h (Makefile.am): Likewise. + * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially. + +2011-05-29 Bruno Haible + + assert-h: Allow multiple gnulib generated replacements to coexist. + * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition. + +2011-05-29 Bruno Haible + + argp: Allow coexistence with strerror_r-posix module. + * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro + (either to __xpg_strerror_r by glibc's or to rpl_strerror_r + by gnulib's replacement), assume it has the POSIX signature, + not the glibc signature. + +2011-05-28 Bruno Haible + + gnulib-tool: Alternative structure of testdirs, similar to --import. + * gnulib-tool: New option --single-configure. + (func_usage): Document it. + (single_configure): New variable. + (func_modules_transitive_closure_separately, + func_modules_transitive_closure_separately, + func_determine_use_libtests, func_modules_add_dummy_separately, + func_modules_to_filelist_separately): New functions, extracted from + func_import. + (func_emit_tests_Makefile_am): Handle $single_configure = true case. + (func_import): Use the new functions. + (func_create_testdir): Set final_modules. Handle $single_configure = + true case. + +2011-05-28 Bruno Haible + + getloadavg: Remove an unreliable safety check. + * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether + getloadavg.c is in place. + * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG. + Reported by Sam Steingold . + +2011-05-28 Bruno Haible + + doc: Cleanup yet another file produced by texinfo.tex. + * doc/Makefile (mostlyclean): Remove also gnulib.cn. + +2011-05-28 Bruno Haible + + Finish the conditional dependencies mechanism. + * gnulib-tool: New option --no-conditional-dependencies. + (func_usage): Document it. Don't mark --conditional-dependencies as + experimental. + (cond_dependencies): The possible values can now be true, false, empty. + (func_modules_transitive_closure, func_emit_autoconf_snippets): Update. + (func_import): Store setting in gnulib-cache.m4 and read it from there. + * doc/gnulib-tool.texi (Conditional dependencies): New section. + +2011-05-28 Bruno Haible + + doc: Use a recent texinfo.tex. + * doc/Makefile (tex_opts): New variable. + (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf. + +2011-05-28 Jim Meyering + + intprops.h: adjust comment to match code change + * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used + only once, it *may* have side effects. Also fix an unrelated typo. + (_GL_INT_SIGNED): Likewise. + +2011-05-26 Simon Josefsson + + * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently. + +2011-05-26 Bruno Haible + + mbsrchr: Avoid collision with system function on Interix. + * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix. + Reported by Markus Duft . + +2011-05-15 James Youngman + + getopt: for ambiguous options, enumerate the possibilities. + * lib/getopt.c (_getopt_internal_r): Merge glibc change printing + the ambiguous options when an ambiguous prefix is given. This was + http://sourceware.org/bugzilla/show_bug.cgi?id=7101. The merged + glibc change was + http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780. + +2011-05-25 Eric Blake + + getcwd: work around mingw bug + * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error. + * doc/posix-functions/getcwd.texi (getcwd): Document it. + Reported by Matthias Bolte. -2011-11-28 David Lutterkort +2011-05-24 Paul Eggert - * src/transform.c (load_file): fix segfault when storing span in NULL tree + test-intprops: disable -Wtype-limits diagnostics + * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits + diagnostics. Otherwise, the integer overflow macros generate many + diagnostics. Reported by Jim Meyering in + . - * src/syntax.c (print_tree): print something for a NULL tree + intprops: shorten, to pacify gcc -Woverlength-strings + * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT): + (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)", + so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less + likely to run afoul of C compiler limits for string constant lengths. + See . -2011-11-28 Raphaël Pinson +2011-05-24 Eric Blake - Add header to shellvars.aug + docs: document recently fixed glibc printf bug + * doc/posix-functions/fprintf.texi (fprintf): Document it. + * doc/posix-functions/printf.texi (printf): Likewise. + * doc/posix-functions/vfprintf.texi (vfprintf): Likewise. + * doc/posix-functions/vprintf.texi (vprintf): Likewise. - Add Kdump and Ssh to Menu.txt + closein-tests: convert to init.sh + * modules/closein-tests (Files): Add init.sh + * tests/test-closein.sh Use it. - Fix NaturalDocs CSS a bit + yesno-tests: convert to init.sh + * modules/yesno-tests (Files): Add init.sh. + * tests/test-yesno.sh: Use it. - Add a Tests and Examples group in naturaldocs + atexit-tests: ensure reliable exit status + * tests/test-atexit.sh: Prefer 'Exit' over 'exit'. + Reported by Bruno Haible. - Improve documentation for reprepro_uploaders.aug +2011-05-24 Bruno Haible - Add 'contain' subnodes to reprepro_uploaders.aug and improve documentation. + strerror_r-posix: Respect rules for use of AC_LIBOBJ. + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and + gl_PREREQ_STRERROR_R invocations from here... + * modules/strerror_r-posix (configure.ac): ... to here. - Simplify logical tree in reprepro_uploaders.aug +2011-05-24 Eric Blake - Improve parameter parsing in reprepro_uploaders.aug + strerror_r: fix missing header + * lib/strerror_r.c: Avoid compiler warning about snprintf. - Add reprepro.aug and associated test. + strerror_r: fix AIX test failures + * lib/strerror_r.c (strerror_r): Convert silent truncation to + ERANGE failure. - Fix small type in comment + strerror_r: fix Solaris test failures + * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE + failures. + * doc/posix-functions/strerror_r.texi (strerror_r): Document this. -2011-11-23 Raphaël Pinson + strerror_r: enforce POSIX recommendations + * lib/strerror_r.c (safe_copy): New helper method. + (strerror_r): Guarantee a non-empty string. + * tests/test-strerror_r.c (main): Enhance tests to incorporate + recent POSIX rulings and to match our strerror guarantees. + * doc/posix-functions/strerror_r.texi (strerror_r): Document this. - Add support for until and select loops in shellvars.aug +2011-05-24 Jim Meyering - Add elif support to shellvars.aug + test-perror2.c: avoid warning about unused variable + * tests/test-perror2.c (main): Remove declaration of unused "fp". -2011-11-22 Raphaël Pinson +2011-05-24 Eric Blake - Add big WARNING to aptconf.aug + perror: avoid spurious test failure on HP-UX + * tests/test-perror.sh: Use Exit to avoid wrong exit status. - Register modules.aug with naturaldocs + tests: fix logic bug in init.sh + * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful + shell. -2011-11-22 Tom Limoncelli +2011-05-24 Jim Meyering - Xendconfsxp: new lens and tests for Xen configuration + utimensat: do not reference an out-of-scope buffer + Otherwise, with __linux__ defined, "times" would point to a buffer, "ts" + declared in an inner scope, yet "times" would be dereferenced outside + the scope in which "ts" was valid. + * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration + of ts[2] "out/up", so that the use of aliased "times" (via + "times = ts;") does not end up referencing an out-of-scope "ts" -2011-11-22 David Lutterkort + opendir-safer.c: don't clobber errno; don't close negative FD + * lib/opendir-safer.c (opendir_safer): + [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative + file descriptor, and more importantly, don't clobber the + offending errno value with EINVAL. Before, upon failure + of dup_safer, we would pass the negative file descriptor to + fdopendir, which would clobber errno. - * tests/Makefile.am (lens_tests): add missing tests +2011-05-23 Bruno Haible -2011-11-22 Raphaël Pinson + idcache: Fix module description. + * modules/idcache (Include): Set to "idcache.h". - Add modules.aug and associated test file (Fix ticket #236) +2011-05-23 Paul Eggert - Add backuppchosts.aug and test (Fix ticket #233) + gnulib-tool: fix portability problem with MacOS sed + A sed command like "/x/{s/a/b/}" is not portable; a newline is needed + before the "}". Problem reported by Leo in + . + * gnulib-tool (func_modules_transitive_closure): Insert newlines in + sed_extract_condition1, sed_extract_condition2. - mdadm.aug: dev_device cannot match dev_partitions_re +2011-05-23 Bruno Haible - Fix test_phpvars.aug as per using Util.empty_c_style + hash: Simplify autoconf macro. + * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H. - Clean wrong lines in modprobe.aug's header +2011-05-23 Bruno Haible - Update tests and documentation for new lenses + getugroups: Fix module description. + * modules/getugroups (Include): Set to "getugroups.h". - Add desktop.aug and associated test. +2011-05-23 Bruno Haible - Add aptconf.aug and associated test. + linkat: Simplify autoconf macro. + * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK. - Use Util.empty_c_style in phpvars.aug and don't map empty comments in Util.comment_multiline +2011-05-23 Bruno Haible + Eric Blake - Add support for case in shellvars.aug + linkat, renameat: Update dependencies. + * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy. + * modules/linkat (Depends-on): Likewise. Remove also readlink, + symlinkat. - Add for and while loops to shellvars.aug +2011-05-23 Jim Meyering - Adapt modules_conf.aug and test file to refect the changes in modprobe.aug + maint.mk: more tight_scope improvements + * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too. + (_gl_TS_headers): Define only in if-0'd block. + (_gl_TS_dir): Omit the $(srcdir)/ prefix. Sometimes we need it, + sometimes we must *not* use it. Adjust uses accordingly. + (sc_tight_scope): Use much simpler grep-based test to determine + whether we skip this rule. - Refactor modprobe.aug: * Parse commands in install/remove stanzas; * Drop support for include as it is not documented in manpages and no unit tests are shipped. + maint.mk: generalize/improve the tight-scope rule + * top/maint.mk: Emit a warning when the test is skipped. + (_gl_TS_dir): Add $(srcdir)/ prefix. + (_gl_TS_function_match): Simplify, rather than trying + to enumerate common types. Otherwise, it would fail to match an + "extern unsigned char const *" declaration in idutils. + (_gl_TS_extern): Do not endorse use of "XTERN", but do provide + a way to support use of that type of macro. + (_gl_TS_var_match): Simplify regexp. + (_gl_TS_obj_files): New configurable variable. + (_gl_TS_headers): Likewise. -2011-11-21 Raphaël Pinson +2011-05-22 Paul Eggert - Fix unpriviliged into unpriviliged in test_postfix_master.aug, too. + verify: fix bug when gnulib is also included + * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H + is defined, not if _GL_STATIC_ASSERT_H is not defined. + Perhaps there's a better way, but this fixes the immediate problem. + Problem reported by Bruno Haible in + . - Add one-liner unit test for shellvars.aug +2011-05-22 Bruno Haible - shellvars.aug: Refactor lens, add end-of-line comment support, if/then/else/fi conditionals, one-liners support + xgetcwd: Simplify autoconf macro. + * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD. - phpvars.aug: Add test for bash-style comment, improve eol comments, use generic_function in simple_function definition +2011-05-22 Bruno Haible - Parse /etc/mailname with hostname.aug + New module 'mktime-internal'. + * modules/mktime-internal: New file. + * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ... + * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define + mktime_internal as a C macro if libc has __mktime_internal. + * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add + conditions. + * MODULES.html.sh (Date and time ): Add mktime-internal. - Add hosts_access.aug to parse /etc/hosts.{allow,deny} and associated test. +2011-05-22 Bruno Haible -2011-11-18 Raphaël Pinson + timegm: Correct mktime replacement statements. + * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of + defining mktime as a C macro. This completes a 2009-07-28 commit. - Double quotes are allowed in variable names in phpvars.aug +2011-05-22 Bruno Haible - Refactor entries in phpvars.aug + timegm: Simplify autoconf macro. + * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R. - PHP tags are case-insensitive in phpvars.aug +2011-05-21 Paul Eggert - Add include_once() to phpvars.aug + clock-time: change to LGPLv2+. + * modules/clock-time: Change from GPL to LGPLv2+. Actually, it's + BSD-like but we have no mark for that; this is good enough for now. - Fix typo in postfix_master.aug (Fix ticket 234) +2011-05-21 Bruno Haible - Allow empty lines at end of files in phpvars.aug + strerror_r: Fix comments. + * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr. - Better define() support in phpvars.aug +2011-05-21 Bruno Haible - Support bash-style comments and define() functions in phpvars.aug + relocatable-prog-wrapper: Fix possible link error. + * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of + HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here... + (gl_FUNC_SETENV): ... to here. + * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment. + * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise. - Implement end-of-line comments in phpvars.aug and add tests. In order to add this, I had to forbig the use of /.*;[ \t]*\/\/.*/ in values. There might be a way to make this regexp more strict to be less intrusive, but I believe this pattern is not very common anyway, so I think it's safe to keep it this way for now. +2011-05-21 Bruno Haible - Cleanup phpvars.aug, rebase it on sep.aug and util.aug and prepare the way to support end-of-line comments + relocatable-prog-wrapper: Assume strerror() exists. + * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c, + m4/strerror.m4. + (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE. + * lib/relocwrapper.c: Remove mention of strerror module. + * lib/strerror.c: Assume REPLACE_STRERROR is 1. + * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro. + (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a + C macro. + +2011-05-21 Bruno Haible + + select: Simplify replacement idiom. + * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native + Win32 platforms. + * lib/sys_select.in.h (select): Simplify accordingly. + * modules/select (Depends-on): Likewise. + +2011-05-21 Bruno Haible + + mkdir-p: Simplify autoconf macro. + * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD, + gl_FUNC_LCHOWN. + +2011-05-21 Eric Blake + + strerror_r: avoid clobbering strerror on cygwin + * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r; + fall back instead to sys_errlist. + * modules/strerror (configure.ac): Add witness. + * tests/test-strerror_r.c (main): Enhance test. + * doc/posix-functions/strerror_r.texi (strerror_r): Document it. + * tests/test-perror2.c (main): Free memory before exit. + +2011-05-21 Bruno Haible + + mkdtemp: Use gnulib naming conventions. + * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP. + * modules/mkdtemp (configure.ac): Update. + +2011-05-20 Eric Blake - Fix comment_multiline and add a test file for util.aug + strerror_r: avoid corrupting errno on Solaris + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior. + * doc/posix-functions/strerror_r.texi (strerror_r): Document it. + + strerror_r: avoid compiler warning + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*. - Spaces are not mandatory around = in phpvars.aug + strerror_r: simplify AIX code + * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front. - Fix open_php and close_php tags in phpvars.aug (Fix ticket 232) + test-perror: avoid spurious failure on FreeBSD + * modules/perror-tests (Depends-on): Add strerror, now that + strerror_r no longer pulls it in. -2011-11-17 Jim Meyering +2011-05-20 Bruno Haible - avoid double-free upon fclose failure - * src/transform.c (transform_save): Upon initial fclose failure, set "fp - = NULL;" so that we don't attempt to free/close "fp" while cleaning up - upon "goto done". + strerror_r-posix: Remove unused dependencies. + * modules/strerror_r-posix (Depends-on): Remove strerror. + Reported by Eric Blake. + +2011-05-20 Paul Eggert + + intprops: remove assumption about A|B representation + * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B + is a valid integer if both A and B are. Although this is true for + all known practical hosts, the C standard doesn't guarantee it, + and the code need not assume it. Also, this change may work around + HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in + . + +2011-05-20 Eric Blake + + perror: work around FreeBSD bug + * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r + is broken. Move AC_LIBOBJ... + * modules/perror (configure.ac): Here. + * doc/posix-functions/perror.texi (perror): Document this. + * tests/test-perror2.c (main): Enhance test. + + test-perror: check for strerror interactions + * tests/macros.h (STREQ): Add macro. + * modules/perror-tests (Files): Add second test. + * tests/test-perror2.c (main): New file. + * doc/posix-functions/perror.texi (perror): Document glibc bug. + + test-perror: rewrite to use init script + * modules/perror-tests (Files): Add init.sh. + * tests/test-perror.sh: Use temporary directory. + +2011-05-20 Jim Meyering + + maint: replace misused "a" with "an" + * doc/intprops.texi: "a integer" + * doc/regex.texi: "a explanation" + * lib/alignof.h: "a object" + * lib/argmatch.h: "a explanation" + * lib/argp-help.c: "a option" and "a OPTION_DOC" + * lib/stdint.in.h: "a integer" + * lib/userspec.c: "a owner" + * doc/gnulib.texi: Fix "a idea", and reword. + +2011-05-19 Jim Meyering + + maint: correct misuse of "a" and "an" + * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/ + * lib/argp-help.c: "an docum...": s/an/a/ + * lib/argp-parse.c: "An vector": s/An/A/ + * lib/execute.c: "an native": s/an/a/ + * lib/spawn-pipe.c: Likewise. + * lib/gc.h: "an Gc_rc": s/an/a/ + * lib/unigbrk.in.h: "an grapheme": s/an/a/ + * lib/fts.c: "an stat.st_dev": s/an/a/ + +2011-05-19 Paul Eggert + + intprops-tests: work around HP-UX 11.23 cc bug with constants + * tests/test-intprops.c (VERIFY): New macro. + (main): Use it, instead of verify, to work around the compiler bug; see + . + + intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1 + See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html + * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro. + (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW): + (_GL_REMAINDER_OVERFLOW): Use it. + + intprops-tests: revert unsigned part of previous change + * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1): + Remove; they weren't actually needed. All uses of U0 and U1 removed, + and other casts to 'unsigned int' reverted to 'u' suffixes. See + . + +2011-05-19 Bruno Haible + + strerror_r: Work around strerror_r() change in Cygwin 1.7.8. + * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's + strerror_r() returned without filling the buffer. + Reported by Eric Blake. + +2011-05-19 Eric Blake + + strerror_r: guarantee unchanged errno + * lib/strerror_r.c (strerror_r): Guarantee unchanged errno. + * lib/strerror-impl.h (strerror): Set errno to match strerror_r + failure. + * tests/test-strerror_r.c (main): Enhance test. + +2011-05-19 Bruno Haible + + strerror_r: Reorder #if blocks. + * lib/strerror_r.c (strerror_r): Reorder conditionals in the function + for consistency with the previous commit. + +2011-05-19 Bruno Haible + + perror: Avoid clobbering the strerror buffer when possible. + * lib/strerror-impl.h: New file, extracted from lib/strerror.c. + * lib/strerror.c: Include it. + * modules/strerror (Files): Add lib/strerror-impl.h. + * lib/perror.c: Include , intprops.h, verify.h. + (my_strerror): New function, defined through lib/strerror-impl.h. + (perror): Use it instead of strerror. + * modules/perror (Files): Add lib/strerror-impl.h. + (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix. + +2011-05-19 Eric Blake + + strerror_r: fix on newer cygwin + * lib/strerror_r.c (strerror_r): Cygwin now has + __xpg_strerror_r, use it. + +2011-05-19 Bruno Haible + + strerror_r: Avoid clobbering the strerror buffer when possible. + * lib/strerror.c: Define _NETBSD_SOURCE. Include . + (sys_nerr, sys_errlist): New declarations. + (strerror_r): Be careful not to clobber the strerror buffer on NetBSD, + HP-UX, native Win32, IRIX, and 32-bit Solaris. + * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists. + +2011-05-19 Bruno Haible + + strerror_r: Fix test failure on mingw. + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define + EXTEND_STRERROR_R. + * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_* + macros from errno.in.h instead. + +2011-05-19 Eric Blake + + strerror: relax test for Solaris + * tests/test-strerror.c (main): Permit Solaris behavior. + * tests/test-strerror_r.c (main): Likewise. + + strerror: enforce POSIX ruling on strerror(0) + * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug. + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise. + * lib/strerror_r.c (rpl_strerror_r): Work around it. + * doc/posix-functions/strerror.texi (strerror): Document it. + * doc/posix-functions/strerror_r.texi (strerror_r): Likewise. + * tests/test-strerror.c (main): Strengthen test. + * tests/test-strerror_r.c (main): Likewise. + +2011-05-19 Paul Eggert + + intprop-tests: port to older and more-pedantic compilers + * modules/intprops-tests (Files): Add tests/macros.h. + * tests/test-intprops.c: Include macros.h. + (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as + it's no longer documented to expand to an integer constant expression. + (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the + argument is floating point, as it's no longer documented to expand + to an integer constant expression in that case. + (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around + compiler bugs reported by Bruno Haible. See + . + (U0, U1): New constants, to work around the same bugs. Also, + in tests, use e.g., "(unsigned int) 39" rather than "39u". + + intprops: work around C compiler bugs + * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler + bug in Sun C 5.11 2010/08/13 and other compilers; see + . + + intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs + * doc/intprops.texi (Integer Type Determination): Fix + documentation for TYPE_IS_INTEGER: it returns an constant + expression, not an integer constant expression. Fix doc for + TYPE_SIGNED: it returns an integer constant expression only if its + argument is an integer type. (TYPE_IS_INTEGER is the same, but is + hardly worth documented that way....) + +2011-05-18 Bruno Haible + + strerror_r: Avoid clobbering the strerror buffer when possible. + * lib/strerror_r.c (strerror_r): Merge the three implementations. + Handle gnulib defined errno values here. When strerror() returns NULL + or an empty string, return EINVAL. + * lib/strerror.c (strerror): Always call strerror_r. Don't handle + gnulib defined errno values here. + * modules/strerror (Depends-on): Add verify, strerror_r-posix. + +2011-05-18 Eric Blake + + fnmatch: avoid compiler warning + * lib/fnmatch_loop.c (FCT): Use correct type. + Reported by Matthias Bolte. + +2011-05-13 Jim Meyering + + maint.mk: three new prohibit__without_use rules + * top/maint.mk (sc_prohibit_stdio--_without_use): New rule. + (sc_prohibit_stdio-safer_without_use): Likewise. + (sc_prohibit_xfreopen_without_use): Likewise. + +2011-05-17 Jim Meyering + + announce-gen: fail if the NEWS delta is empty + If there's nothing noteworthy in NEWS, then either you forgot + or you shouldn't be releasing. + * build-aux/announce-gen: Die if the NEWS delta is effectively empty. + +2011-05-17 Pádraig Brady + + * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler + reserved symbols starting with double underscore from the check. + +2011-05-17 Paul Eggert + + intprops: add doc + * doc/intprops.texi: New file, documenting intprops. + * doc/gnulib.texi (Particular Modules): Include it. + + verify: add doc to gnulib manual and fix example + * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'. + * doc/verify.texi (Compile-time Assertions): Update 'assert' doc. + (Compile-time Assertions): Fix example so it can't overflow. + +2011-05-17 Jim Meyering + + warnings.m4: don't usurp save_CPPFLAGS variable name + * m4/warnings.m4: Prefix local temporary variable name with gl_. + + doc: fix typo + * doc/gnulib-intro.texi (Target Platforms): s/is/are/ + +2011-05-16 Paul Eggert + Bruno Haible + + doc: Tweak recent change. + * README (Portability guidelines): Tweak new text. + * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention + Interix 6.1. + +2011-05-16 Eric Blake + + inttypes: avoid autoconf warning + * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once. + * m4/stdint.m4 (gl_STDINT_H): Likewise. + +2011-05-16 Sam Steingold + and Eric Blake + + vc-list-files: accept multiple directory operands + * build-aux/vc-list-files: Iterate over all remaining operands. + +2011-05-16 Bruno Haible + + Fix confusion regarding deprecated modules. + * modules/calloc (Status, Notice): Mark module as deprecated, not + obsolete. + * modules/fnmatch-posix (Status, Notice): Likewise. + * modules/getdate (Status, Notice): Likewise. + * modules/getopt (Status, Notice): Likewise. + * modules/malloc (Status, Notice): Likewise. + * modules/pipe (Status, Notice): Likewise. + * modules/realloc (Status, Notice): Likewise. + * modules/rename-dest-slash (Status, Notice): Likewise. + * modules/unictype/bidicategory-all (Status, Notice): Likewise. + * modules/unictype/bidicategory-byname (Status, Notice): Likewise. + * modules/unictype/bidicategory-name (Status, Notice): Likewise. + * modules/unictype/bidicategory-of (Status, Notice): Likewise. + * modules/unictype/bidicategory-test (Status, Notice): Likewise. + +2011-05-16 Bruno Haible + + doc: List the target platforms. + * doc/gnulib-intro.texi (Target Platforms): New section. + * doc/gnulib.texi (Introduction): Update menu. + * README (Portability guidelines): Refer to the new section. Update + statement about oldest supported environment. Remove rationale why + , , are assumed. Update example of an + unportable C89 function. + Reported by Bastien Roucariès and + Charles Wilson . Feedback from Paul Eggert. + +2011-05-16 Paul Eggert + + * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better. + +2011-05-13 Paul Eggert + + intprops-tests: new module + * modules/intprops-tests, tests/test-intprops.c: New files. + + intprops: add safe, portable integer overflow checking + * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT): + (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM): + (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW): + (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW): + (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW): + (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW): + (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW): + (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW): + (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW): + (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW): + (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros. + +2011-05-12 James Youngman + + Add a test for glibc's Bugzilla bug #12378. + * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch + doesn't allow the literal matching of a lone "[" (which is + required by POSIX). + * tests/test-fnmatch.c (main): Check that "[/b" matches itself. + +2011-05-11 Ulrich Drepper + + Sync glibc change fixing Bugzilla bug #12378. + * lib/fnmatch_loop.c (FCT): When matching '[' keep track of + beginning and fall back to matching as normal character if the + string ends before the matching ']' is found. This is what POSIX + requires. + +2011-05-13 Eric Blake + + getcwd-lgpl: relax test for FreeBSD + * doc/posix-functions/getcwd.texi (getcwd): Document portability + issue. + * tests/test-getcwd-lgpl.c (main): Relax test. + Reported by Matthias Bolte. + +2011-05-11 Eric Blake + + test-fflush: silence compiler warning + * tests/test-fflush.c (main): Don't fclose a NULL pointer. + +2011-05-11 Bruno Haible + + canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X. + * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code. + * modules/canonicalize (Depends-on): Add 'nocrash'. + * modules/canonicalize-lgpl (Depends-on): Likewise. + * doc/posix-functions/realpath.texi: Update platforms list. + Reported by Ryan Schmidt . + +2011-05-11 Bruno Haible + + group-member: Declare function in . + * lib/unistd.in.h (group_member): New declaration. + * lib/group-member.h: Remove file. + * lib/group-member.c: Include instead of group-member.h. + * tests/test-unistd-c++.cc: Check signature of group_member. + * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require + gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER. + * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared. + (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER, + HAVE_GROUP_MEMBER. + * modules/group-member (Files): Remove lib/group-member.h. + (Depends-on): Add unistd. Specify conditions. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Include): Change to . + * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER, + HAVE_GROUP_MEMBER. + * NEWS: Mention the change. + * lib/euidaccess.c: Don't include group-member.h. + +2011-05-11 Bruno Haible + + group-member: Document module. + * doc/glibc-functions/group_member.texi: Mention the 'group-member' + module. -2011-11-17 David Lutterkort +2011-05-11 Bruno Haible - * lenses/util.aug: do not set caml mode for Emacs + fclose: Fix mistake earlier today. + * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0. - * lenses/rx.aug: delete trailing whitespace +2011-05-11 Eric Blake -2011-11-17 Raphaël Pinson + fclose: preserve fflush errors + * lib/fclose.c (rpl_fclose): Don't lose fflush errors. + Reported by Jim Meyering. - Parse pam.conf in pam.aug + bootstrap: support a prereq of 'rpcgen -' on RHEL5 + * build-aux/bootstrap (check_versions): When no specific version + is required, merely check that the app produces an exit status + that indicates its existence. - Add hostname.aug + maint.mk: drop redundant check + * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does + the same but better. - Add networks.aug lens +2011-05-11 Bruno Haible - Add host_conf.aug lens + fclose: Fix possible link error. + * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not + unregister_shadow_fd. Improve comments. + * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by + Eric Blake. - Add flag_line to build.aug +2011-05-11 Jim Meyering - Add blkid.conf to shellvars.aug + maint.mk: improve "can not" detection and generalize rule name + * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from + sc_prohibit_can_not, since we'll probably add a few more word pairs here. + Use the same technique as in sc_prohibit_doubled_word, so that + we recognize "can not" also when the words are separated by a newline. + Suggested by Eric Blake. + (perl_filename_lineno_text_): Define. Factored out of... + (prohibit_doubled_word_): ...here. Use the new definition. + (prohibit_undesirable_word_seq_): New var. Use it here, too. + (prohibit_undesirable_word_seq_RE_): New overridable variable. + (ignore_undesirable_word_sequence_RE_): New overridable variable. -2011-11-16 Raphaël Pinson +2011-05-10 Eric Blake - Add doc to grub.aug (ticket 33) + fclose: avoid double close race when possible + * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on + all but WINDOWS_SOCKETS. - Support debug flag in keepalived.aug +2011-05-10 Bastien Roucariès - Fix origin entries in aptpreferences.aug + openat: correct new comment + * lib/openat-proc.c (openat_proc_name): Correct the comment. -2011-11-15 Dominic Cleal +2011-05-10 Jim Meyering - Resolv: Permit end-of-line comments - Fixes ticket #223 + openat: add comments + * lib/openat-proc.c (openat_proc_name): Add comments, + mostly from Eric Blake. - Krb5: Allow a [pam] section for pam_krb5 (possibly deprecated) - Fixes ticket #225 +2011-05-09 Eric Blake -2011-11-15 Roman Rakus + openat: reduce syscalls in first probe of /proc + * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd + be a directory. Simplify the probe for .. bugs. + * modules/openat (Depends-on): Drop same-inode. + Reported by Bastien ROUCARIES. - Kdump: new lens and tests +2011-05-09 Jim Meyering -2011-11-15 Dominic Cleal + maint.mk: change semantics/name of tight_scope variables + * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match): + Rename variables to align with semantics that make them more useful. - aug_srun: add 'insert' and 'move' command aliases to 'ins' and 'mv' + maint.mk: tweak new rule's name not to impinge + * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0. + (sc_tight_scope): Use new rule name rather than $@-0. -2011-11-15 Michael Chapman + maint.mk: add a syntax-check rule to ensure tightly-scoped symbols + * top/maint.mk (sc_tight_scope): New rule. + (sc_tight_scope-0): New rule, ifdef'd out. + (_gl_TS_dir): Default. + (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define. + (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define. - Dhcpd: slashes must be double-quoted - In dhcpd.conf, tokens containing slashes must be double-quoted. +2011-05-09 Simon Josefsson - Fixes the following dhcpd error: + * m4/gc.m4: Remove gl_PREREQ_GC (not used). Reported by Bruno + Haible . - /etc/dhcpd.conf line 4: filename string expected. - include / - ^ - Configuration file errors encountered -- exiting +2011-05-08 Bruno Haible -2011-11-15 Michael Chapman + Comments. + * m4/isnanf.m4: Add comment. + * m4/isnanl.m4: Likewise. - Access: parse user@host and (group) in users field - pam_access matches the hostname in user@host against the system's own - hostname, which allows a single access.conf to be shared amongst - multiple machines yet still contain per-server rules. +2011-05-08 Bruno Haible - pam_access also allows group names to be optionally enclosed in - parentheses to disambiguate them from user names. + glob: Remove obsolete macro. + * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro. -2011-11-15 Michael Chapman +2011-05-08 Paul Eggert - Access: field separator need not be surrounded by spaces - For compatibility with the old behaviour and to match the examples in - the PAM documentation, new entries are still emitted with spaces. + intprops: Sun C 5.11 supports __typeof__ + * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set + for either GCC 2 or later, as before, or for Sun C 5.11 or later, + which is new. + (_GL_SIGNED_TYPE_OR_EXPR): Use it. - Dhcpd: add Red Hat's dhcpd.conf locations - RHEL 5 uses /etc/dhcpd.conf. - RHEL 6 uses /etc/dhcp/dhcpd.conf. + intprops: switch to usual gnulib indenting and naming + * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H. + (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__. -2011-11-15 David Lutterkort + * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming. - Mdadm: use case-insensitive regexps +2011-05-08 Jim Meyering -2011-11-15 David Lutterkort + maint.mk: suppress "Entering/Leaving directory" diag in announcement + * top/maint.mk (release-prep): Use make's --no-print-directory + option when generating the announcement. This eliminates the + pesky "make[2]: Entering/Leaving directory" diagnostics in the + generated announcement template. - * src/fa.c (totalize): handle case-insensitive FA's properly - The convention for case-insensitive FA's is that they do not contain any - transitions on [A-Z], effectively removing upper case letters from the - alphabet. +2011-05-08 Bruno Haible - totalize used to create transitions into the crash state that did - transition on upper case letters, violating the convention. + tzset: Fix gettimeofday wrapper on Solaris 2.6. + * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking + gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY. -2011-11-13 David Lutterkort +2011-05-07 Paul Eggert - * src/builtin.c (regexp_match): new helper to test a regexp + ignore-value, verify: Omit include files from lib_SOURCES. + * modules/ignore-value, modules/verify (Makefile.am): + Don't put ignore-value.h, or verify.h, into lib_SOURCES, as + that leads Automake to duplicate use of am__objects_... variables + in Makefile.in. See + . -2011-11-13 Matthew Booth +2011-05-07 Bruno Haible - Mdadm_conf: new lens for /etc/mdadm.conf + fclose: Simplify autoconf macro. + * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is + defined. -2011-11-13 David Lutterkort +2011-05-07 Bruno Haible - * lenses/tests/test_iptables.aug: fix syntax error + canonicalize-lgpl: Fix autoconf macro ordering bug. + * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require + gl_STDLIB_H_DEFAULTS. + +2011-05-06 Eric Blake + + maintainer-makefile: make sc_po_check easier to tune + * top/maint.mk (sc_po_check): Allow overriding which non-VC files + to probe for strings, such as an alternate location for gnulib. + + fclose: guarantee behavior on seekable stdin + * modules/fclose (Depends-on): Add fflush. + * doc/posix-functions/fclose.texi (fclose): Document this. + * tests/test-fclose.c (main): Make test for this unconditional. + +2011-05-06 Bruno Haible + + fflush, fpurge: Relicense under LGPLv2+. + * modules/fflush (License): Change from LGPLv3+ to LGPLv2+. + * modules/fpurge (License): Likewise. + With permission from Eric Blake and Jim Meyering. + Suggested by Eric Blake. + +2011-05-06 Karl Berry + + * MODULES.html.sh (func_all_modules): remove exit. + +2011-05-06 Jim Meyering + + maint.mk: use info-gnu@ as the default only for a stable release + * top/maint.mk: Don't default to info-gnu for alpha or beta releases. + For those, just use $(PACKAGE_BUGREPORT), in which case we don't have + to set the Mail-Followup-To header. Prompted by Reuben Thomas in + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488 + +2011-05-05 Paul Eggert + + assert-h: new module, which supports C1X-style static_assert + * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files. + * lib/verify.h: Revamp so that this can be copied into assert.h, + while retaining the ability to use it standalone as before. + Rename private identifiers so as not to encroach on the + standard C namespace, since this is now used by assert.h. + (_GL_VERIFY_TYPE): New macro, factoring out differing parts of + the old verify_true. + (_GL_VERIFY_TRUE): New macro, with much of the contents of + the old verify_true. Use _GL_VERIFY_TYPE. + (_GL_VERIFY): New macro, with much of the contents of the old verify. + (static_assert): New macro, if _GL_STATIC_ASSERT_H + is defined and static_assert is not; _GL_STATIC_ASSERT_H is + defined when this file is copied into the replacement assert.h. + (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined + and _Static_assert is not built in. + (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not + defined, and use the new macros mentioned above. + * doc/posix-headers/assert.texi: Document this. + +2011-05-05 Bruno Haible + + fclose, fflush: Respect rules for use of AC_LIBOBJ. + * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE. + * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and + gl_REPLACE_FCLOSE here. + * modules/fflush (Depends-on): Remove fclose. + * doc/posix-functions/fclose.texi: Mention module 'fflush' only in + combination with module 'fclose'. + +2011-05-05 Bruno Haible + + fflush, fseeko: Respect rules for use of AC_LIBOBJ. + * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from + gl_FUNC_FFLUSH. + (gl_FUNC_FFLUSH): Use it. + (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO. + * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and + gl_REPLACE_FSEEKO here. + +2011-05-05 Bruno Haible + + tzset: Relicense under LGPL. + * modules/tzset (License): Change to LGPL. + No agreement needed; it's a no-op. + + strtoimax, strtoumax: Relicense under LGPL. + * modules/strtoimax (License): Change to LGPL. + * modules/strtoumax (License): Likewise. + With permission from Jim Meyering, Paul Eggert: + + + + getgroups: Relicense under LGPL. + * modules/getgroups (License): Change to LGPL. + With permission from Jim Meyering, Paul Eggert, Eric Blake: + + + + + nanosleep: Relicense under LGPL. + * modules/nanosleep (License): Change to LGPL. + With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno + Haible: + + + + + + futimens: Relicense under LGPL. + * modules/futimens (License): Change to LGPL. + With permission from Eric Blake: + + + fflush: Relicense under LGPL. + * modules/fflush (License): Change to LGPL. + With permission from Eric Blake, Bruno Haible, Jim Meyering: + + + + + tmpfile: Relicense under LGPL. + * modules/tmpfile (License): Change to LGPL. + With permission from Ben Pfaff: + + + isfinite: Relicense under LGPL. + * modules/isfinite (License): Change to LGPL. + With permission from Ben Pfaff, Bruno Haible: + + + + acosl..tanl: Relicense under LGPL. + * modules/acosl (License): Change to LGPL. + * modules/asinl (License): Likewise. + * modules/atanl (License): Likewise. + * modules/cosl (License): Likewise. + * modules/expl (License): Likewise. + * modules/logl (License): Likewise. + * modules/sinl (License): Likewise. + * modules/sqrtl (License): Likewise. + * modules/tanl (License): Likewise. + Source code originally from glibc and Paolo Bonzini. Agreements: + + + +2011-05-05 Bruno Haible + + signal: Define sighandler_t. + * lib/signal.in.h (sighandler_t): New type. + * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test + whether sighandler_t is defined. + (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T. + * modules/signal (Depends-on): Add extensions. + (Makefile.am): Substitute HAVE_SIGHANDLER_T. + * doc/posix-headers/signal.texi: Mention the problem with sighandler_t. + Suggested by Markus Steinborn . + +2011-05-05 Eric Blake + + maint: remove useless REPLACE_*_H macros + * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete. + * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise. + * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise. + * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise. + * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise. + * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise. + * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise. + * m4/btowc.m4: Update callers. + * m4/dirfd.m4: Likewise. + * m4/duplocale.m4: Likewise. + * m4/fchdir.m4: Likewise. + * m4/fdopendir.m4: Likewise. + * m4/inet_ntop.m4: Likewise. + * m4/inet_pton.m4: Likewise. + * m4/ioctl.m4: Likewise. + * m4/mbrlen.m4: Likewise. + * m4/mbrtowc.m4: Likewise. + * m4/mbsinit.m4: Likewise. + * m4/mbsnrtowcs.m4: Likewise. + * m4/mbsrtowcs.m4: Likewise. + * m4/poll.m4: Likewise. + * m4/setlocale.m4: Likewise. + * m4/wcrtomb.m4: Likewise. + * m4/wcsnrtombs.m4: Likewise. + * m4/wcsrtombs.m4: Likewise. + * m4/wctob.m4: Likewise. + * m4/wcwidth.m4: Likewise. + * modules/posix_spawn: Likewise. + * modules/posix_spawn_file_actions_addclose: Likewise. + * modules/posix_spawn_file_actions_adddup2: Likewise. + * modules/posix_spawn_file_actions_addopen: Likewise. + * modules/posix_spawn_file_actions_destroy: Likewise. + * modules/posix_spawn_file_actions_init: Likewise. + * modules/posix_spawnattr_destroy: Likewise. + * modules/posix_spawnattr_getflags: Likewise. + * modules/posix_spawnattr_getpgroup: Likewise. + * modules/posix_spawnattr_getschedparam: Likewise. + * modules/posix_spawnattr_getschedpolicy: Likewise. + * modules/posix_spawnattr_getsigdefault: Likewise. + * modules/posix_spawnattr_getsigmask: Likewise. + * modules/posix_spawnattr_init: Likewise. + * modules/posix_spawnattr_setflags: Likewise. + * modules/posix_spawnattr_setpgroup: Likewise. + * modules/posix_spawnattr_setschedparam: Likewise. + * modules/posix_spawnattr_setschedpolicy: Likewise. + * modules/posix_spawnattr_setsigdefault: Likewise. + * modules/posix_spawnattr_setsigmask: Likewise. + * modules/posix_spawnp: Likewise. + +2011-05-04 Reuben Thomas + + Add option to do-release-commit-and-tag to specify branch. + * build-aux/do-release-commit-and-tag: Add --branch. + +2011-05-03 Bruno Haible + + Avoid unnecessary compilation units, through conditional dependencies. + * modules/accept (Depends-on): Add conditions to the dependencies. + * modules/acosl (Depends-on): Likewise. + * modules/argz (Depends-on): Likewise. + * modules/asinl (Depends-on): Likewise. + * modules/atanl (Depends-on): Likewise. + * modules/atoll (Depends-on): Likewise. + * modules/bind (Depends-on): Likewise. + * modules/btowc (Depends-on): Likewise. + * modules/canonicalize-lgpl (Depends-on): Likewise. + * modules/ceil (Depends-on): Likewise. + * modules/ceilf (Depends-on): Likewise. + * modules/ceill (Depends-on): Likewise. + * modules/chdir-long (Depends-on): Likewise. + * modules/chown (Depends-on): Likewise. + * modules/close (Depends-on): Likewise. + * modules/connect (Depends-on): Likewise. + * modules/cosl (Depends-on): Likewise. + * modules/dirfd (Depends-on): Likewise. + * modules/dprintf (Depends-on): Likewise. + * modules/dprintf-posix (Depends-on): Likewise. + * modules/error (Depends-on): Likewise. + * modules/euidaccess (Depends-on): Likewise. + * modules/expl (Depends-on): Likewise. + * modules/faccessat (Depends-on): Likewise. + * modules/fchdir (Depends-on): Likewise. + * modules/fclose (Depends-on): Likewise. + * modules/fcntl (Depends-on): Likewise. + * modules/fdopendir (Depends-on): Likewise. + * modules/fflush (Depends-on): Likewise. + * modules/floor (Depends-on): Likewise. + * modules/floorf (Depends-on): Likewise. + * modules/floorl (Depends-on): Likewise. + * modules/fnmatch (Depends-on): Likewise. + * modules/fopen (Depends-on): Likewise. + * modules/fprintf-posix (Depends-on): Likewise. + * modules/frexp (Depends-on): Likewise. + * modules/frexp-nolibm (Depends-on): Likewise. + * modules/frexpl (Depends-on): Likewise. + * modules/frexpl-nolibm (Depends-on): Likewise. + * modules/fseek (Depends-on): Likewise. + * modules/fsusage (Depends-on): Likewise. + * modules/ftell (Depends-on): Likewise. + * modules/ftello (Depends-on): Likewise. + * modules/futimens (Depends-on): Likewise. + * modules/getcwd (Depends-on): Likewise. + * modules/getcwd-lgpl (Depends-on): Likewise. + * modules/getdelim (Depends-on): Likewise. + * modules/getdomainname (Depends-on): Likewise. + * modules/getgroups (Depends-on): Likewise. + * modules/gethostname (Depends-on): Likewise. + * modules/getline (Depends-on): Likewise. + * modules/getlogin_r (Depends-on): Likewise. + * modules/getopt-posix (Depends-on): Likewise. + * modules/getpeername (Depends-on): Likewise. + * modules/getsockname (Depends-on): Likewise. + * modules/getsockopt (Depends-on): Likewise. + * modules/getsubopt (Depends-on): Likewise. + * modules/getusershell (Depends-on): Likewise. + * modules/glob (Depends-on): Likewise. + * modules/grantpt (Depends-on): Likewise. + * modules/iconv_open (Depends-on): Likewise. + * modules/iconv_open-utf (Depends-on): Likewise. + * modules/inet_ntop (Depends-on): Likewise. + * modules/inet_pton (Depends-on): Likewise. + * modules/ioctl (Depends-on): Likewise. + * modules/isapipe (Depends-on): Likewise. + * modules/isfinite (Depends-on): Likewise. + * modules/isinf (Depends-on): Likewise. + * modules/lchown (Depends-on): Likewise. + * modules/ldexpl (Depends-on): Likewise. + * modules/link (Depends-on): Likewise. + * modules/linkat (Depends-on): Likewise. + * modules/listen (Depends-on): Likewise. + * modules/logl (Depends-on): Likewise. + * modules/lstat (Depends-on): Likewise. + * modules/mbrlen (Depends-on): Likewise. + * modules/mbrtowc (Depends-on): Likewise. + * modules/mbsinit (Depends-on): Likewise. + * modules/mbsnrtowcs (Depends-on): Likewise. + * modules/mbsrtowcs (Depends-on): Likewise. + * modules/mbtowc (Depends-on): Likewise. + * modules/memcmp (Depends-on): Likewise. + * modules/mkdir (Depends-on): Likewise. + * modules/mkdtemp (Depends-on): Likewise. + * modules/mkfifo (Depends-on): Likewise. + * modules/mkfifoat (Depends-on): Likewise. + * modules/mknod (Depends-on): Likewise. + * modules/mkostemp (Depends-on): Likewise. + * modules/mkostemps (Depends-on): Likewise. + * modules/mkstemp (Depends-on): Likewise. + * modules/mkstemps (Depends-on): Likewise. + * modules/mktime (Depends-on): Likewise. + * modules/nanosleep (Depends-on): Likewise. + * modules/open (Depends-on): Likewise. + * modules/openat (Depends-on): Likewise. + * modules/perror (Depends-on): Likewise. + * modules/poll (Depends-on): Likewise. + * modules/popen (Depends-on): Likewise. + * modules/posix_spawn (Depends-on): Likewise. + * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise. + * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise. + * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise. + * modules/posix_spawnp (Depends-on): Likewise. + * modules/pread (Depends-on): Likewise. + * modules/printf-posix (Depends-on): Likewise. + * modules/ptsname (Depends-on): Likewise. + * modules/putenv (Depends-on): Likewise. + * modules/pwrite (Depends-on): Likewise. + * modules/readline (Depends-on): Likewise. + * modules/readlink (Depends-on): Likewise. + * modules/readlinkat (Depends-on): Likewise. + * modules/recv (Depends-on): Likewise. + * modules/recvfrom (Depends-on): Likewise. + * modules/regex (Depends-on): Likewise. + * modules/remove (Depends-on): Likewise. + * modules/rename (Depends-on): Likewise. + * modules/renameat (Depends-on): Likewise. + * modules/rmdir (Depends-on): Likewise. + * modules/round (Depends-on): Likewise. + * modules/roundf (Depends-on): Likewise. + * modules/roundl (Depends-on): Likewise. + * modules/rpmatch (Depends-on): Likewise. + * modules/select (Depends-on): Likewise. + * modules/send (Depends-on): Likewise. + * modules/sendto (Depends-on): Likewise. + * modules/setenv (Depends-on): Likewise. + * modules/setlocale (Depends-on): Likewise. + * modules/setsockopt (Depends-on): Likewise. + * modules/shutdown (Depends-on): Likewise. + * modules/sigaction (Depends-on): Likewise. + * modules/signbit (Depends-on): Likewise. + * modules/sigprocmask (Depends-on): Likewise. + * modules/sinl (Depends-on): Likewise. + * modules/sleep (Depends-on): Likewise. + * modules/snprintf (Depends-on): Likewise. + * modules/snprintf-posix (Depends-on): Likewise. + * modules/socket (Depends-on): Likewise. + * modules/sprintf-posix (Depends-on): Likewise. + * modules/sqrtl (Depends-on): Likewise. + * modules/stat (Depends-on): Likewise. + * modules/strchrnul (Depends-on): Likewise. + * modules/strdup-posix (Depends-on): Likewise. + * modules/strerror (Depends-on): Likewise. + * modules/strerror_r-posix (Depends-on): Likewise. + * modules/strndup (Depends-on): Likewise. + * modules/strnlen (Depends-on): Likewise. + * modules/strptime (Depends-on): Likewise. + * modules/strsep (Depends-on): Likewise. + * modules/strsignal (Depends-on): Likewise. + * modules/strstr-simple (Depends-on): Likewise. + * modules/strtod (Depends-on): Likewise. + * modules/strtoimax (Depends-on): Likewise. + * modules/strtok_r (Depends-on): Likewise. + * modules/strtoumax (Depends-on): Likewise. + * modules/symlink (Depends-on): Likewise. + * modules/symlinkat (Depends-on): Likewise. + * modules/tanl (Depends-on): Likewise. + * modules/tcgetsid (Depends-on): Likewise. + * modules/tmpfile (Depends-on): Likewise. + * modules/trunc (Depends-on): Likewise. + * modules/truncf (Depends-on): Likewise. + * modules/truncl (Depends-on): Likewise. + * modules/uname (Depends-on): Likewise. + * modules/unlink (Depends-on): Likewise. + * modules/unlockpt (Depends-on): Likewise. + * modules/unsetenv (Depends-on): Likewise. + * modules/usleep (Depends-on): Likewise. + * modules/utimensat (Depends-on): Likewise. + * modules/vasprintf (Depends-on): Likewise. + * modules/vdprintf (Depends-on): Likewise. + * modules/vdprintf-posix (Depends-on): Likewise. + * modules/vfprintf-posix (Depends-on): Likewise. + * modules/vprintf-posix (Depends-on): Likewise. + * modules/vsnprintf (Depends-on): Likewise. + * modules/vsnprintf-posix (Depends-on): Likewise. + * modules/vsprintf-posix (Depends-on): Likewise. + * modules/wcrtomb (Depends-on): Likewise. + * modules/wcscasecmp (Depends-on): Likewise. + * modules/wcscspn (Depends-on): Likewise. + * modules/wcsdup (Depends-on): Likewise. + * modules/wcsncasecmp (Depends-on): Likewise. + * modules/wcsnrtombs (Depends-on): Likewise. + * modules/wcspbrk (Depends-on): Likewise. + * modules/wcsrtombs (Depends-on): Likewise. + * modules/wcsspn (Depends-on): Likewise. + * modules/wcsstr (Depends-on): Likewise. + * modules/wcstok (Depends-on): Likewise. + * modules/wcswidth (Depends-on): Likewise. + * modules/wctob (Depends-on): Likewise. + * modules/wctomb (Depends-on): Likewise. + * modules/wctype (Depends-on): Likewise. + * modules/wcwidth (Depends-on): Likewise. + * modules/write (Depends-on): Likewise. + +2011-05-03 Bruno Haible + + Support for conditional dependencies. + * doc/gnulib.texi (Module description): Document the syntax of + conditional dependencies. + * gnulib-tool: New option --conditional-dependencies. + (func_usage): Document it. + (cond_dependencies): New variable. + (func_get_automake_snippet_conditional, + func_get_automake_snippet_unconditional): New functions, extracted from + func_get_automake_snippet. + (func_get_automake_snippet): Use them. + (sed_first_32_chars): New variable. + (func_module_shellfunc_name): New function. + (func_module_shellvar_name): New function. + (func_module_conditional_name): New function. + (func_uncond_add_module, func_conddep_add_module, func_cond_module_p, + func_cond_module_condition): New functions. + (func_modules_transitive_closure): Add support for conditional + dependencies. + (func_emit_lib_Makefile_am): For a conditional module, enclose the + conditional automake snippet in an automake conditional. + (func_emit_autoconf_snippets): Emit shell functions that contain the + code for conditional modules. + (func_import, func_create_testdir): Update specification. + +2011-05-03 Eric Blake + + test-getaddrinfo: report error information + * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf. + +2011-05-03 Jim Meyering + + bootstrap: avoid build failure when $GZIP is set + * build-aux/bootstrap (check_versions): Do not treat $GZIP as a + program name. If defined at all, it is supposed to list gzip options. + Reported by Alan Curry in http://debbugs.gnu.org/8609 + +2011-05-03 Reuben Thomas + + readme-release: new module with release instructions + * modules/readme-release: New module. + * top/README-release: New file, from coreutils, grep, diffutils. + * MODULES.html.sh (Support for maintaining and releasing): Add it. + +2011-05-02 Eric Blake + + fflush: also replace fclose when fixing fflush + * modules/fflush (Depends-on): Add fclose. + * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose. + * lib/fclose.c (rpl_fclose): Don't cause spurious failures on + memstreams with no backing fd. + * doc/posix-functions/fclose.texi (fclose): Document the use of + fflush module to fix the bug. + * tests/test-fclose.c (main): Relax test when fclose is used in + isolation. + + fclose: add some tests + * modules/fclose-tests: New test module. + * tests/test-fclose.c: New file. + * doc/posix-functions/fclose.texi (fclose): Document the bug. + + fclose: reduced dependencies + * modules/fclose (Depends-on): Switch from fflush/fseeko to + simpler lseek. + * lib/fclose.c (rpl_fclose): Likewise. + Reported by Simon Josefsson. + + exit: drop remaining clients + * modules/argmatch (Depends-on): Replace exit with stdlib. + * modules/copy-file (Depends-on): Likewise. + * modules/execute (Depends-on): Likewise. + * modules/exitfail (Depends-on): Likewise. + * modules/obstack (Depends-on): Likewise. + * modules/pagealign_alloc (Depends-on): Likewise. + * modules/pipe-filter-gi (Depends-on): Likewise. + * modules/pipe-filter-ii (Depends-on): Likewise. + * modules/savewd (Depends-on): Likewise. + * modules/spawn-pipe (Depends-on): Likewise. + * modules/wait-process (Depends-on): Likewise. + * modules/xsetenv (Depends-on): Likewise. + * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE. + * modules/git-merge-changelog (Depends-on): Likewise. + * modules/long-options (Depends-on): Likewise. + * modules/pt_chown (Depends-on): Likewise. + * modules/sysexits (Depends-on): Likewise. + + freading: relax license from LGPLv3+ to LGPLv2+ + * modules/freading (License): Relax LGPL version. + +2011-05-02 Bruno Haible + + fchdir: Remove unused dependencies. + * modules/fchdir (Depends-on): Remove include_next. + +2011-05-02 Bruno Haible + + gnulib-tool: Refactor. + * gnulib-tool (func_emit_autoconf_snippet): New function, extracted + from func_emit_autoconf_snippets. + (func_emit_autoconf_snippets): Use it. + +2011-05-02 Simon Josefsson + + * NEWS: Document removal of 'exit'. + * modules/exit: Remove file. + +2011-05-01 Bruno Haible + + Update DEPENDENCIES. + * DEPENDENCIES (gettext): Recommend the newest release. + Reported by Simon Josefsson. + +2011-05-01 Bruno Haible + + gnulib-tool: Reduce code duplication. + * gnulib-tool (func_emit_autoconf_snippets): New function. + (func_import, func_create_testdir): Use it. + +2011-04-30 Eric Blake + + fclose: don't fail on non-seekable input stream + * modules/fclose (Depends-on): Add freading, fflush, fseeko. + * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input, + since fflush is allowed to fail in that case. -2011-10-31 Raphaël Pinson +2011-04-30 Bruno Haible - Allow digits in ipt_match keys (bug #224) + dup3: cleanup + * lib/dup3.c: Remove old code, leftover from 2009-12-16. -2011-10-18 David Lutterkort +2011-04-30 Bruno Haible + + netdb: Make it work in C++ mode. + * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct. + (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs + module. + * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR_FOR_TESTS. + * modules/netdb-tests (Depends-on): Add netdb-c++-tests. + * modules/netdb-c++-tests: New file. + * tests/test-netdb-c++.cc: New file. - * src/syntax.c: fix composition of unit and function - For a composition with types 'unit ; a -> b' we tricked ourselves into - doing function composition, when we should do unit composition. +2011-04-30 Bruno Haible - * src/syntax.c (type_names): fix order of names + New modules 'vfscanf', 'vscanf'. + * modules/vfscanf: New file. + * modules/vscanf: New file. + * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF + here. + * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'. + * doc/posix-functions/vscanf.texi: Mention module 'vscanf'. -2011-10-17 Michael Chapman +2011-04-30 Bruno Haible - Fix regular expression escaping - This patch fixes: + passfd: Add comments. + * lib/passfd.c: Add comments about platforms. - /[\/]/ +2011-04-30 Bruno Haible - Previously, this matched either a backslash or a slash, since \/ was not - an escape sequence known to unescape(). Now this matches only a slash. + sys_uio: Make self-contained. + * lib/sys_uio.in.h: Include before . + * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem. - We pass an extra argument to escape() and unescape() listing the extra - characters that should be handled. STR_ESCAPES and RX_ESCAPES provide - the extra characters for strings and regexps respectively, and NULL may - be passed if no extra characters should be handled. +2011-04-30 Bruno Haible -2011-10-17 David Lutterkort + sys_socket: Ensure 'struct iovec' definition. + * lib/sys_socket.in.h: Include also on platforms that have + . + * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem. - Json: fix handling of whitespace - We just gobble up whitespace after various expressions as part of the lens - processing that expression. +2011-04-30 Bruno Haible + + sys_uio: Protect definition of 'struct iovec'. + * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define + it as a C struct. + +2011-04-30 Bruno Haible + + manywarnings: fix indentation + * m4/manywarnings.m4: Indent by 2 spaces consistently. + +2011-04-30 Pádraig Brady + + manywarnings: add -Wno-missing-field-initializers if needed. + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above + option if it's needed to allow initialization with { 0, } + +2011-04-29 Reuben Thomas + + announce-gen: cosmetic improvement + * build-aux/announce-gen: Strip any leading ./ from the NEWS file name. + +2011-04-29 Jim Meyering + + vc-list-files: indent with spaces, not TABs + * build-aux/vc-list-files: Convert leading TABs to spaces, + to match the style of most other files in gnulib. + + announce-gen: indent with spaces, not TABs + * build-aux/announce-gen: Convert all TABs to spaces, to match + the style of most other files in gnulib. + +2011-04-29 Eric Blake + + quotearg: avoid uninitialized variable use + * lib/quotearg.c (quoting_options_from_style): Initialize + remaining fields, and ensure that custom styles are only used via + quoting_options rather than quoting_style. + +2011-04-29 Jim Meyering + + maint.mk: remove unused VC-tag variable + * top/maint.mk (VC-tag): Remove unused variable. + +2011-04-29 Bruno Haible + + netdb: fix gai_strerror replacements + * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions. + * modules/netdb: Substitute it. + +2011-04-29 Jim Meyering + + test-getcwd.c: avoid new set-but-not-used warning + * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem, + not just the glibc/abort one that getcwd-abort-bug.m4 detects. + * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match, + and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly. + + test-hash.c: avoid a new shadowing warning + * tests/test-hash.c (main): Don't shadow "dup". + +2011-04-28 Eric Blake + + getaddrinfo: fix gai_strerror signature + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures, + and work around mingw with UNICODE defined. + (gl_PREREQ_GETADDRINFO): Drop redundant decl check. + * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness. + * modules/netdb (Makefile.am): Substitute it. + * lib/netdb.in.h (gai_strerror): Declare replacement. + * lib/gai_strerror.c (rpl_gai_strerror): Fix signature. + * doc/posix-functions/gai_strerror.texi (gai_strerror): Document + the fix. -2011-10-14 Raphaël Pinson + getsockopt: avoid compiler warning + * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw. + Reported by Matthias Bolte. - Spaces are allowed before colons in aliases.aug + tests: drop unused link dependency + * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD. + * modules/dirent-safer-tests (Makefile.am): Likewise. + * modules/fdopendir-tests (Makefile.am): Likewise. + * modules/mkfifoat-tests (Makefile.am): Likewise. + * modules/openat-safer-tests (Makefile.am): Likewise. + * modules/openat-tests (Makefile.am): Likewise. + * modules/readlinkat-tests (Makefile.am): Likewise. + * modules/symlinkat-tests (Makefile.am): Likewise. + * modules/linkat-tests (Makefile.am): Likewise. + (Depends-on): Switch to filenamecat-lgpl. + * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused + LIBINTL. + * modules/utimensat-tests (test_utimensat_LDADD): Likewise. + * tests/test-linkat.c (main): Don't require xalloc. + + hash, mgetgroups: drop xalloc dependency + * lib/hash.c (includes): Adjust includes. + * lib/mgetgroups.c (includes): Likewise. + (xgetgroups): Move... + * lib/xgetgroups.c: ...to new file. + * lib/mgetgroups.h (xgetgroups): Make declaration conditional. + * modules/xgetgroups: New file, split from... + * modules/mgetgroups: ...here. + (Depends-on): Add xalloc-oversized. + * modules/hash (Depends-on): Likewise. + * modules/hash-tests (Depends-on): Drop xalloc. + (test_hash_LDADD): Drop unused library. + * tests/test-hash.c (main): Break xalloc dependency. + (includes): Drop unused include. + + xalloc-oversized: new module + * modules/xalloc-oversized: New module. + * modules/xalloc (Depends-on): Add it. + * lib/xalloc.h (xalloc_oversized): Move... + * lib/xalloc-oversized.h: ...into new file. + + utimecmp: drop dependency on xmalloc + * lib/utimecmp.c (utimecmp): Work even if hash table cache fails + due to memory pressure. + * modules/utimecmp (Depends-on): Drop xalloc. + +2011-04-27 Eric Blake + + getcwd: fix mingw bugs + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug. + * doc/posix-functions/getcwd.texi (getcwd): Document the problems. + * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type. + +2011-04-27 Bruno Haible + + mkstemps: Ensure declaration on MacOS X 10.5. + * lib/stdlib.in.h: Include when mkstemps is requested. + * doc/glibc-functions/mkstemps.texi: Document header file problem on + MacOS X. + +2011-04-27 Bruno Haible + + mkstemp: More documentation. + * doc/posix-functions/mkstemp.texi: Document header file problem on + MacOS X. + +2011-04-27 Bruno Haible + + mkstemp: Tweak configure message when cross-compiling. + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the + result as a guess. + +2011-04-27 Bruno Haible + + clean-temp: Clarify what it does. + * lib/clean-temp.h: Add more comments. + * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp' + module. + * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too. + * doc/glibc-functions/mkstemps.texi: Likewise. + * doc/glibc-functions/mkostemps.texi: Likewise. + +2011-04-27 Eric Blake + + fchdir: avoid extra chdir and fix test + * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl, + getcwd-lgpl. + * lib/fchdir.c (get_name): Any absolute name will do; it does not + have to be canonical. + (canonicalize_file_name): Drop unused macro. + * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced. + + filenamecat-lgpl: fix licence + * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended + when it was first created. + + linkat, renameat: add missing dependency + * modules/linkat (Depends-on): Require getcwd-lgpl. + * modules/renameat (Depends-on): Likewise. + + tests: reduce dependencies + * tests/test-linkat.c (main): Use lighter-weight getcwd. + * tests/test-renameat.c (main): Likewise. + * modules/linkat-tests (Depends-on): Relax dependency. + * modules/renameat-tests (Depends-on): Likewise. + * modules/fchdir-tests (Depends-on): Likewise. Also make cloexec + dependency explicit. + + save-cwd: reduce default dependency + * modules/save-cwd (Depends-on): Use getcwd-lgpl. + * lib/save-cwd.c: Update comments. + * NEWS: Document the semantic change. + + getcwd: enhance tests + * tests/test-getcwd-lgpl.c: New file, taken from... + * tests/test-getcwd.c: ...old contents. Rewrite this file to + repeat long path stress tests from m4 probe. + * modules/getcwd-lgpl-tests: New module. + * modules/getcwd-tests (Depends-on): Depend on lgpl tests. + * m4/getcwd-abort-bug.m4: Update comment. + * m4/getcwd-path-max.m4: Likewise. + + getcwd-lgpl: new module + * modules/getcwd-lgpl: New module. + * lib/getcwd-lgpl.c: New file. + * doc/posix-functions/getcwd.texi (getcwd): Document it. + * MODULES.html.sh (lacking POSIX:2008): Likewise. + * modules/getcwd (configure.ac): Set C witness. + * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro. + + getcwd: tweak comments + * m4/getcwd-abort-bug.m4: Fix comments. + * m4/getcwd-path-max.m4: Likewise. + * m4/getcwd.m4: Likewise. + +2011-04-27 Reuben Thomas + and Eric Blake + + mkstemp: replace if system version uses wrong permissions + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner + read/write mode bits set in file created by mkstemp. + * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix. + +2011-04-27 Eric Blake + + passfd: avoid compiler warning + * lib/passfd.c (sendfd, recvfd): Avoid shadowing names. + Reported by Laine Stump. + +2011-04-27 J.T. Conklin (tiny change) + + * gnulib-tool: change "join -a 2" to "join -a2", the latter is + required by the NetBSD (and perhaps other 4.4BSD derived) join. + +2011-04-27 Reuben Thomas + and Eric Blake + + mkstemp: mention clean-temp module + * lib/mkstemp.c: Add comment. + * doc/posix-functions/mkstemp.texi (mkstemp): Likewise. + +2011-04-26 Paul Eggert + + inttypes: also provide default values for 32-bit tests + * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values + for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX. + +2011-04-25 Paul Eggert + + strtoumax: remove dependency on strtoimax + This is like the strtoull change of yesterday. + * modules/strtoumax (Files): Add lib/strtoimax.c. + (Depends-on): Remove strtoimax and add verify. + + inttypes-incomplete: new module + * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing + all but the PRI* and SCN* parts of gl_INTTYPES_H. + (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts + of gl_INTTYPES_H. + (gl_INTTYPES_H): Rewrite in terms of these new macros. + (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN* + parts, in case gl_INTTYPE_PRI_SCN is not invoked. + * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on): + * modules/strtoumax, modules/xstrtol (Depends-on): + Depend on inttypes-incomplete, not inttypes. + * modules/inttypes-incomplete: New module, containing the contents + of the old modules/inttypes module, except that the Files: section + omits m4/inttypes-pri.m4, and the configure.ac section invokes + gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H. + * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4. + (Depends-on): Depend only on inttypes-incomplete. + (Makefile.am): Remove everything; this is now in inttypes-incomplete. + + inttypes: omit now-redundant strtoimax and strtoumax work + * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and + strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this. + + strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit + This supports apps that need pointers to strtoimax and strtoumax, + and ports to HP-UX 11.00 64.bit, which has macros that expand to + nonexistent functions. See + + et seq. + * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring. + * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's + a macro. + * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise. + +2011-04-25 Simon Josefsson + + * modules/gnumakefile (configure.ac): Replace TAB with SPCs. + +2011-04-25 Bruno Haible + + strtol, strtoul: Mark modules as obsolete. + * modules/strtol (Status, Notice): New sections. + * modules/strtoul (Status, Notice): New sections. + +2011-04-25 Bruno Haible + + strtod: Remove check for strtod, unless supporting old platforms. + * modules/strtod-obsolete: New file. + * m4/strtod-obsolete.m4: New file. + * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared + if gl_FUNC_STRTOD_OBSOLETE is not also defined. + * modules/strtod (Depends-on): Add strtod-obsolete. + * doc/posix-functions/strtod.texi: Mention module strtod-obsolete. + +2011-04-25 Bruno Haible + + strcase: Make module obsolete. + * modules/strcase (Status, Notice): New sections. + +2011-04-25 Bruno Haible + + dup2: Remove check for dup2, unless supporting old obsolete platforms. + * modules/dup2-obsolete: New file. + * m4/dup2-obsolete.m4: New file. + * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if + gl_FUNC_DUP2_OBSOLETE is not also defined. + * modules/dup2 (Depends-on): Add dup2-obsolete. + * doc/posix-functions/dup2.texi: Mention module dup2-obsolete. + +2011-04-25 Bruno Haible + + strnlen: Avoid memchr related link error on old obsolete platforms. + * modules/memchr-obsolete: New file. + * m4/memchr-obsolete.m4: New file. + * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if + gl_FUNC_MEMCHR_OBSOLETE is not also defined. + * modules/memchr (Depends-on): Add memchr-obsolete. + * modules/strnlen (Depends-on): Likewise. + * doc/posix-functions/memchr.texi: Mention module memchr-obsolete. + +2011-04-25 Jim Meyering + + maint.mk: makefile_at_at_check extend and clean up + * top/maint.mk (sc_makefile_at_at_check): Check *.mk files + in addition to */Makefile.am. + Exempt legitimate uses of @VAR@ notation, e.g., + MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@ + Remove obsolete coreutils-specific comment. + Prompted by discussion here: + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074 + +2011-04-24 Paul Eggert + + strtoul: remove dependency on strtol + This is so that 'configure' need not check for strtol merely because + the application needs strtoul. + * modules/strtoul (Files): Add lib/strtol.c. + (Depends-on): Remove strtol. + + strtoull: remove dependency on strtoul + This is like the strtoll change. + * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c. + (Depends-on): Remove strtoul. + + strtoll: remove dependency on strtol + This is so that 'configure' need not check for strtol merely because + the application needs strtoll. + * modules/strtoll (Files): Add lib/strtol.c. + (Depends-on): Remove strtol. + +2011-04-22 Paul Eggert + + inttypes: Move some configure check to module 'imaxdiv'. + * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS + instead of gl_INTTYPES_H. Check for imaxdiv decl here. + * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here. + +2011-04-22 Paul Eggert + + inttypes: Move some configure check to module 'imaxabs'. + * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS + instead of gl_INTTYPES_H. Check for imaxabs decl here. + * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here. + +2011-04-22 Paul Eggert + + inttypes: Remove configure tests that are not needed since 2009-12-31. + * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of + gl_cv_header_working_inttypes_h. + +2011-04-22 Paul Eggert + + * modules/strnlen (Depends-on): Remove memchr. + The strnlen implementation doesn't need the memchr module's fixes; see + . + + strtol: remove dependency on wchar + * lib/strtol.c: Include only if USE_WIDE_CHAR is defined. + * modules/strtol (Depends-on): Remove wchar. + +2011-04-21 Eric Blake + + passfd: fix test regression on Linux + * modules/passfd-tests (configure.ac): Correct socketpair check. + + passfd: speed up configure and drop unused code + * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename... + * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of + its use. Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS. + Instead of probing at configure for unix_scm_rights_bsd44_way, + instead probe for CMSG_FIRSTHDR at compile time. Simplify BSD 4.3 + check to a struct member probe. + * lib/passfd.c (includes): Nothing here requires . + (sendfd, recvfd): Update preprocessor checks. + * modules/passfd (Files): Reflect rename, and drop unused file. + (Depends-on): Drop unused dependency. + + passfd: allow compilation on mingw + * modules/sys_socket (Depends-on): Add sys_uio. + * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct + iovec and a minimal struct msghdr. + * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg. + * tests/test-sys_socket.c (main): Enhance test. + * lib/passfd.c (include): Drop ; is + guaranteed to provide what we need. + (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg. + * modules/passfd-tests (Depends-on): Add sys_wait. + * tests/test-passfd.c (main): Skip test on mingw, for now. + * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the + partial 'struct msghdr' implementation. + + sys_uio: new module + * modules/sys_uio: New module. + * modules/sys_uio-tests: Likewise. + * lib/sys_uio.in.h: New file. + * m4/sys_uio_h.m4: Likewise. + * tests/test-sys_uio.c: Likewise. + * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it. + * MODULES.html.sh (systems lacking POSIX:2008): Likewise. + +2011-04-20 Jim Meyering + + useless-if-before-free: avoid false-positive + * build-aux/useless-if-before-free: Adjust regexp for the non-brace + disjunct so that it too requires a terminating ";". Without that, + this script would identify as useless one statement from gcc that + was not: + if (aligned_ptr) + free (((void **) aligned_ptr) [-1]); + +2011-04-20 Giuseppe Scrivano + + doc: update users.txt. + * users.txt: Add barcode. + +2011-04-19 Bruno Haible + + ioctl: Remove link dependency on native Windows. + * lib/fd-hook.h: Renamed from lib/close-hook.h. + (gl_close_fn, gl_ioctl_fn): New types. + (struct fd_hook): Renamed from struct close_hook. Change type of + private_close_fn field. Add private_ioctl_fn field. + (close_hook_fn): Add parameter for primary close method. + (execute_close_hooks, execute_all_close_hooks): Likewise. + (ioctl_hook_fn): New type. + (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations. + (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook + argument. + (unregister_fd_hook): Renamed from unregister_close_hook. + * lib/fd-hook.c: Renamed from lib/close-hook.c. + Don't include . + (close): Remove undef. + (anchor): Update. + (execute_close_hooks): Add argument for primary close method. + (execute_all_close_hooks): Likewise. + (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions. + (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook + argument. Allow each argument to be NULL. + (unregister_fd_hook): Renamed from unregister_close_hook. + * lib/close.c (rpl_close): Pass 'close' function pointer to + execute_all_close_hooks. + * lib/ioctl.c: Include , fd-hook.h. + (primary_ioctl): New function. + (ioctl): Don't call ioctlsocket here. Instead, call + execute_all_ioctl_hooks. + * lib/sockets.c (close_fd_maybe_socket): Add argument for primary + close method. + (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c. + (fd_sockets_hook): Renamed from close_sockets_hook. + (gl_sockets_startup, gl_sockets_cleanup): Update. + * modules/fd-hook: Renamed from modules/close-hook. Update. + * modules/close (Depends-on): Add fd-hook, remove close-hook. + * modules/sockets (Depends-on): Likewise. + * modules/ioctl (Depends-on): Add fd-hook. + * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not + GNULIB_SOCKET. + +2011-04-19 Bruno Haible + + Move the support of O_NONBLOCK in open() to the 'open' module. + * modules/nonblocking (Depends-on): Remove 'open'. + * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set + gl_cv_have_open_O_NONBLOCK. + * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for + O_NONBLOCK support. + * doc/posix-functions/open.texi: Document support for O_NONBLOCK. + +2011-04-17 Bruno Haible + + pipe2: Simplify code. + * lib/pipe2.c (pipe2): Reduce code duplication. + +2011-04-17 Bruno Haible + + nonblocking: Add comment. + * lib/fcntl.in.h (O_NONBLOCK): Add comment. + +2011-04-17 Bruno Haible + + nonblocking: Add tests for sockets. + * tests/test-nonblocking-socket.sh: New file. + * tests/test-nonblocking-socket-main.c: New file. + * tests/test-nonblocking-socket-child.c: New file. + * tests/test-nonblocking-socket.h: New file. + * tests/socket-server.h: New file. + * tests/socket-client.h: New file. + * modules/nonblocking-socket-tests: New file. + * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests. + +2011-04-17 Bruno Haible + + nonblocking: Add tests for pipes. + * tests/test-nonblocking-pipe.sh: New file. + * tests/test-nonblocking-pipe-main.c: New file. + * tests/test-nonblocking-pipe-child.c: New file. + * tests/test-nonblocking-pipe.h: New file. + * tests/test-nonblocking-writer.h: New file. + * tests/test-nonblocking-reader.h: New file. + * tests/test-nonblocking-misc.h: New file. + * modules/nonblocking-pipe-tests: New file. + * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests. + +2011-04-16 Bruno Haible + + gettext: Clarify the needed programmer actions. + * modules/gettext (Notice): New field. + Suggested by Ben Pfaff . + +2011-04-16 Bruno Haible + + strchrnul: Tweak last commit. + * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin + bug. + * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL + as in _GL_FUNCDECL_SYS. + * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after + AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes". + +2011-04-15 Eric Blake + + strchrnul: work around cygwin bug + * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug. + * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness. + * modules/string (Makefile.am): Substitute it. + * lib/string.in.h (strchrnul): Use it. + +2011-04-15 Bruno Haible + + Don't require lib/stdio-write.c when only module 'stdio' is used. + * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef + invocation. + Reported by Rob Vermaas . + +2011-04-14 Bruno Haible + + Support non-blocking pipe I/O in read() on native Windows. + * lib/unistd.in.h: Include also for 'read'. + (read): New declaration. + * lib/read.c: New file. + * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF, + _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros. + (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf, + vscanf): New declarations. + * lib/stdio-read.c: New file. + * m4/read.m4: New file. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ, + REPLACE_READ. + * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS, + GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS, + GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is + desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS. + (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS, + GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS, + GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS. + * modules/read: New file. + * modules/nonblocking (Files): Add lib/stdio-read.c. + * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ. + * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS, + GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS, + GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS. + * modules/pread (Depends-on): Add read. + * modules/safe-read (Depends-on): Likewise. + * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar, + gets, scanf, vfscanf, vscanf): Verify signatures. + * doc/posix-functions/read.texi: Mention 'nonblocking' module and + problem with non-blocking pipes. + * doc/posix-functions/fgetc.texi: Likewise. + * doc/posix-functions/fgets.texi: Likewise. + * doc/posix-functions/fread.texi: Likewise. + * doc/posix-functions/fscanf.texi: Likewise. + * doc/posix-functions/getc.texi: Likewise. + * doc/posix-functions/getchar.texi: Likewise. + * doc/posix-functions/gets.texi: Likewise. + * doc/posix-functions/scanf.texi: Likewise. + * doc/posix-functions/vfscanf.texi: Likewise. + * doc/posix-functions/vscanf.texi: Likewise. + +2011-04-14 Bruno Haible + + Support non-blocking pipe I/O in write() on native Windows. + * lib/write.c (rpl_write): Split a write request that failed merely + because the byte count was larger than the pipe buffer's size. + * doc/posix-functions/write.texi: Mention the problem with large byte + counts. + +2011-04-14 Bruno Haible + + wchar: Ensure that wchar_t gets defined on uClibc. + * lib/wchar.in.h: On uClibc, include . + Reported by Giuseppe Scrivano . + +2011-04-13 Bruno Haible + + safe-write, full-read: Avoid unnecessary compilation units. + * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4. + (Depends-on): Remove safe-read. Add ssize_t. + * modules/full-read (Files): Add lib/full-write.c. + (Depends-on): Add full-write. + +2011-04-13 Bruno Haible + + Support non-blocking pipe I/O and SIGPIPE in pwrite(). + * modules/pwrite (Depends-on): Add 'write'. + +2011-04-13 Bruno Haible + + Support non-blocking pipe I/O in write() on native Windows. + * lib/unistd.in.h (write): Enable replacement also if + GNULIB_UNISTD_H_NONBLOCKING is 1. + * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING. + (rpl_write): When failing to write on a non-blocking pipe, change + errno from ENOSPC to EAGAIN. + * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc, + putchar, puts, vfprintf, vprintf): Enable replacement also if + GNULIB_STDIO_H_NONBLOCKING is 1. + * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING. + (CLEAR_ERRNO, HANDLE_ENOSPC): New macros. + (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from + CALL_WITH_SIGPIPE_EMULATION. + (CALL_WITH_SIGPIPE_EMULATION): Use them. + * m4/nonblocking.m4: New file. + * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required + for non-blocking I/O support. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + GNULIB_UNISTD_H_NONBLOCKING. + * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if + required for non-blocking I/O support. + (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING. + * modules/nonblocking (Files): Add m4/nonblocking.m4, + lib/stdio-write.c, m4/asm-underscore.m4. + (Depends-on): Add stdio, unistd. + (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING. + Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING. + * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING. + * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING. + * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and + problem with non-blocking pipes. + * doc/posix-functions/fputc.texi: Likewise. + * doc/posix-functions/fputs.texi: Likewise. + * doc/posix-functions/fwrite.texi: Likewise. + * doc/posix-functions/printf.texi: Likewise. + * doc/posix-functions/putc.texi: Likewise. + * doc/posix-functions/putchar.texi: Likewise. + * doc/posix-functions/puts.texi: Likewise. + * doc/posix-functions/vfprintf.texi: Likewise. + * doc/posix-functions/vprintf.texi: Likewise. + * doc/posix-functions/write.texi: Likewise. + +2011-04-10 Jim Meyering + + maint.mk: prohibit doubled words + Detect them also when they're separated by a newline. + There are 3 ways to customize it: + - disable the test on a per file basis, as usual with rules using + $(VC_LIST_EXCEPT) + - replace the default doubled-word-selecting regexp (affects all files) + - ignore a particular file-vs-doubled-word match + I nearly used that last one to ignore the "is is" match in + coreutils' NEWS file, since the text was "ls -is is ..." + To do that, I would have added this line to cfg.mk: + ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$ + but it would have ignored any "is is" match in NEWS. + Low probability, but still... + Instead, I changed the text, slightly: + - ls -is is now consistent with ls -lis in ignoring values returned + + "ls -is" is now consistent with ls -lis in ignoring values returned + * top/maint.mk (prohibit_double_word_RE_): Provide default. + (prohibit_doubled_word_): Define. + (sc_prohibit_doubled_word): New rule. + (sc_prohibit_the_the): Remove. Subsumed by the above. + +2011-04-10 Jim Meyering + + maint: fix doubled-word typo in comment + * m4/gethostname.m4: s/is is/it is/ + * m4/getdomainname.m4: Likewise. + +2011-04-10 Jim Meyering + + maint: remove doubled word: s/it it/it/ + * lib/stat-time.h (get_stat_birthtime): s/it it/it/ + +2011-04-10 Jim Meyering + + maint.mk: remove useless semicolon and backslash + * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray + semicolon and backslash. + +2011-04-10 Bruno Haible + + stdint test: Fix compilation failure on OSF/1 with DTK compiler. + * modules/stdint-tests (Depends-on): Add wchar. + +2011-04-10 Jim Meyering + + maint: remove doubled words in comments, e.g., s/a a/a/ + * lib/strptime.c (day_of_the_week): s/the the/the/ + * tests/test-chown.h (test_chown): s/a a/a/ + + test-chown.h: correct a cast + * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t) + when the destination is a stat.st_gid. + +2011-04-09 Mats Erik Andersson (tiny change) + + getaddrinfo: Fix test for sa_len member. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len, + include before . + +2011-04-09 Paul Eggert + + maint: change "can not" to "cannot" + * doc/posix-functions/iconv.texi (iconv): This one crossed line + boundaries. + +2011-04-09 Jim Meyering + + maint: change "a a" to "a" + * tests/test-lchown.h (test_lchown): s/a a/a/ + + maint.mk: prohibit \ + * top/maint.mk (sc_prohibit_the_the): New rule. + + maint: fix "the the" in comment + * lib/count-one-bits.h: s/the the/the/ + + maint: change "can not" to "cannot" + But do not change the occurrences in maintain.texi or in + build-aux/po/Makefile.in.in, which I presume comes from gettext. + * doc/gnulib-tool.texi: s/can not/cannot/ + * doc/posix-functions/accept.texi (accept): Likewise. + * doc/posix-functions/socket.texi (socket): Likewise. + * lib/mbrtowc.c: Likewise. + + maint.mk: prohibit use of "can not" + * top/maint.mk (sc_prohibit_can_not): New rule. + Writing "can not" (rather than "cannot") is too common. Prohibit it. + +2011-04-09 Bruno Haible + + careadlinkat: Guard against misuse of careadlinkatcwd. + * lib/careadlinkat.c: Include . + (careadlinkatcwd): Check that the fd argument is as expected. + +2011-04-09 Bruno Haible + + careadlinkat: Use common coding style. + * lib/careadlinkat.c: Move gnulib includes after system includes. + +2011-04-09 Bruno Haible + + careadlinkat: Clarify specification. + * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument. + (careadlinkatcwd): Add comment. + * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument. + +2011-04-09 Bruno Haible + + areadlinkat: Avoid link error on many platforms. + * modules/areadlinkat (Depends-on): Add areadlink. + +2011-04-09 Bruno Haible + + allocator, careadlinkat: Fix double-inclusion guard. + * lib/allocator.h: Fix double-inclusion guard. + * lib/careadlinkat.h: Likewise. - Empty options are allowed in exports.aug +2011-04-09 Bruno Haible - Entries outside Host statements are allowed (though not documented) in ssh.aug + relocatable-prog-wrapper: Update after module 'areadlink' changed. + * lib/relocwrapper.c: Update dependencies hierarchy. + * build-aux/install-reloc: Update list of files to be compiled. + * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc], + lib/allocator.[hc]. - Allow indentations in array_entry in ssh.aug +2011-04-08 Eric Blake - Small improvements to squid.aug. This lens is inconsistent and should probably be deeply reviewed, although that might break compatibility. + strftime: silence gnulib-tool warning + * modules/strftime-tests (Depends-on): Drop automatic dependency. - Not really shellvar entries in cron.aug, semi-colons are allowed for email addresses +2011-04-08 Bruno Haible - Add schroot to tests and doc + verify: Fix syntax error with GCC 4.6 in C++ mode. + * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode. + (HAVE_STATIC_ASSERT): New macro. + (verify_true, verify): Use 'static_assert' if it is supported and + '_Static_assert' is not supported. - Add schroot.aug lens +2011-04-08 Paul Eggert -2011-10-13 Raphaël Pinson + allocator: New module. + * modules/allocator, lib/allocator.c: New files. + * lib/allocator.h (stdlib_allocator): New decl. + * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator): + Remove. Do not include . + (careadlinkat): Use stdlib_allocator instead of rolling our own. + * modules/careadlinkat (Files): Remove lib/allocator.h. + (Depends-on): Add allocator. + + stdlib: let modules use system malloc, realloc + * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings + if !_GL_USE_STDLIB_ALLOC. + (malloc, realloc): Limit this change to a smaller scope. + + * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define. + (malloc, realloc): Don't #undef; no longer needed. + * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise. + * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise. + * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise. + * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise. + * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise. + * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise. + * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise. + * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise. + + careadlinkat: rename members to avoid problem + * lib/allocator.h (struct allocator): Rename members from + malloc/realloc to allocate/reallocate, to avoid problems if malloc + and realloc are #define'd. Reported by Eric Blake in + . + * lib/careadlinkat.c (careadlinkat): Adjust to renaming. + +2011-04-08 Eric Blake + + nonblocking: reduce dependency + * tests/test-nonblocking.c: Only test sockets when in use. + * modules/nonblocking-tests (Depends-on): Drop socket. + (Makefile.am): Link even if sockets are not present. + * modules/pipe2-tests (Makefile.am): Likewise. + * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use. + + pipe2: fix O_NONBLOCK support on mingw + * modules/pipe2 (Depends-on): Add nonblocking. + * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support. + * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly. + * tests/test-nonblocking.c (main): Likewise. + * modules/pipe2-tests (Makefile.am): Avoid link failure. + + fcntl-h: fix O_ACCMODE on cygwin + * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug. + * lib/fcntl.in.h (O_ACCMODE): Fix it. + + pipe-filter: drop O_NONBLOCK workarounds + * modules/pipe-filter-gi (Depends-on): Add fcntl-h. + * modules/pipe-filter-ii (Depends-on): Likewise. + * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround. + + nonblocking: provide O_NONBLOCK for mingw + * modules/nonblocking (Depends-on): Add open. + (configure.ac): Set new witness macro. + * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it. + * modules/fcntl-h (Makefile.am): Substitute it. + * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when + nonblocking module is in use. + * lib/nonblocking.c: Adjust portability test. + * lib/open.c (open): Don't let native open see gnulib flag. + * tests/test-fcntl-h.c (main): Enhance test. + * tests/test-open.h (test_open): Likewise. + * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement. + + careadlinkat: fix compilation error on mingw + * lib/careadlinkat.c (standard_allocator): Avoid renaming fields + within struct allocator. + +2011-04-06 Eric Blake + + binary-io: relicense under LGPLv2+ + * modules/binary-io (License): Relax to LGPLv2+. + Requested for libvirt, and required by pipe2. + +2011-04-06 Paul Eggert + + verify: use _Static_assert if available + * lib/verify.h (HAVE__STATIC_ASSERT): New macro. + (verify_true, verify): Use it if available. This generates better + diagnostics with GCC 4.6.0 and later. + +2011-04-05 Bruno Haible + + Remove leftover generated .h files after config.status changed. + + * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional + GL_GENERATE_ALLOCA_H. + * modules/alloca-opt (Makefile.am): Remove alloca.h if + GL_GENERATE_ALLOCA_H evaluates to false. + + * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional + GL_GENERATE_ARGZ_H. + * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H + evaluates to false. + + * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional + GL_GENERATE_BYTESWAP_H. + * modules/byteswap (Makefile.am): Remove byteswap.h if + GL_GENERATE_BYTESWAP_H evaluates to false. + + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional + GL_GENERATE_ERRNO_H. + * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H + evaluates to false. + + * m4/float_h.m4 (gl_FLOAT_H): New automake conditional + GL_GENERATE_FLOAT_H. + * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H + evaluates to false. + + * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional + GL_GENERATE_FNMATCH_H. + * modules/fnmatch (Makefile.am): Remove fnmatch.h if + GL_GENERATE_FNMATCH_H evaluates to false. + + * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional + GL_GENERATE_GLOB_H. + * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H + evaluates to false. + + * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New + automake conditional GL_GENERATE_ICONV_H. + * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H + evaluates to false. + + * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional + GL_GENERATE_NETINET_IN_H. + * modules/netinet_in (Makefile.am): Remove netinet/in.h if + GL_GENERATE_NETINET_IN_H evaluates to false. + + * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake + conditional GL_GENERATE_PTHREAD_H. + (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here. + * modules/pthread (Makefile.am): Remove pthread.h if + GL_GENERATE_PTHREAD_H evaluates to false. + + * m4/sched_h.m4 (gl_SCHED_H): New automake conditional + GL_GENERATE_SCHED_H. + * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H + evaluates to false. + + * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake + conditional GL_GENERATE_SELINUX_CONTEXT_H. + * modules/selinux-h (Makefile.am): Remove selinux/context.h if + GL_GENERATE_SELINUX_CONTEXT_H evaluates to false. + + * m4/stdarg.m4 (gl_STDARG_H): New automake conditional + GL_GENERATE_STDARG_H. + * modules/stdarg (Makefile.am): Remove stdarg.h if + GL_GENERATE_STDARG_H evaluates to false. + + * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional + GL_GENERATE_STDBOOL_H. + * modules/stdbool (Makefile.am): Remove stdbool.h if + GL_GENERATE_STDBOOL_H evaluates to false. + + * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake + conditional GL_GENERATE_STDDEF_H. + (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here. + * modules/stddef (Makefile.am): Remove stddef.h if + GL_GENERATE_STDDEF_H evaluates to false. + + * m4/stdint.m4 (gl_STDINT_H): New automake conditional + GL_GENERATE_STDINT_H. + * modules/stdint (Makefile.am): Remove stdint.h if + GL_GENERATE_STDINT_H evaluates to false. + + * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional + GL_GENERATE_SYSEXITS_H. + * modules/sysexits (Makefile.am): Remove sysexits.h if + GL_GENERATE_SYSEXITS_H evaluates to false. + + Reported by Karl Berry and Ralf Wildenhues. + +2011-04-05 Bruno Haible + + Ensure to rebuild generated .h files when config.status has changed. + * modules/arpa_inet (Makefile.am): Add dependency from .h file to + config.status. + * modules/ctype (Makefile.am): Likewise. + * modules/dirent (Makefile.am): Likewise. + * modules/errno (Makefile.am): Likewise. + * modules/fcntl-h (Makefile.am): Likewise. + * modules/float (Makefile.am): Likewise. + * modules/getopt-posix (Makefile.am): Likewise. + * modules/glob (Makefile.am): Likewise. + * modules/iconv-h (Makefile.am): Likewise. + * modules/inttypes (Makefile.am): Likewise. + * modules/langinfo (Makefile.am): Likewise. + * modules/locale (Makefile.am): Likewise. + * modules/math (Makefile.am): Likewise. + * modules/netdb (Makefile.am): Likewise. + * modules/netinet_in (Makefile.am): Likewise. + * modules/poll-h (Makefile.am): Likewise. + * modules/pthread (Makefile.am): Likewise. + * modules/pty (Makefile.am): Likewise. + * modules/sched (Makefile.am): Likewise. + * modules/search (Makefile.am): Likewise. + * modules/selinux-h (Makefile.am): Likewise. + * modules/signal (Makefile.am): Likewise. + * modules/spawn (Makefile.am): Likewise. + * modules/stdarg (Makefile.am): Likewise. + * modules/stdbool (Makefile.am): Likewise. + * modules/stddef (Makefile.am): Likewise. + * modules/stdint (Makefile.am): Likewise. + * modules/stdio (Makefile.am): Likewise. + * modules/stdlib (Makefile.am): Likewise. + * modules/string (Makefile.am): Likewise. + * modules/strings (Makefile.am): Likewise. + * modules/sys_file (Makefile.am): Likewise. + * modules/sys_ioctl (Makefile.am): Likewise. + * modules/sys_select (Makefile.am): Likewise. + * modules/sys_socket (Makefile.am): Likewise. + * modules/sys_stat (Makefile.am): Likewise. + * modules/sys_time (Makefile.am): Likewise. + * modules/sys_times (Makefile.am): Likewise. + * modules/sys_utsname (Makefile.am): Likewise. + * modules/sys_wait (Makefile.am): Likewise. + * modules/sysexits (Makefile.am): Likewise. + * modules/termios (Makefile.am): Likewise. + * modules/time (Makefile.am): Likewise. + * modules/unistd (Makefile.am): Likewise. + * modules/wchar (Makefile.am): Likewise. + * modules/wctype-h (Makefile.am): Likewise. + Reported by Karl Berry, Eric Blake, and Ralf Wildenhues. + +2011-04-05 Bruno Haible + + pipe2: Relicense under LGPLv2+. + * modules/pipe2 (License): Change to LGPLv2+. + Requested by Eric Blake, for libvirt. + +2011-04-05 Bruce Korb + + bootstrap: compute gnulib_extra_files after updating build_aux + * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may + change build_aux or also supply gnulib_extra_files. Handle correctly. + +2011-04-05 Eric Blake + + bootstrap: preserve git whitelist item sorting + * build-aux/bootstrap (sort_patterns): New function. + (insert_sorted_if_absent): Use it to sink ! lines to the bottom. + +2011-04-05 Simon Josefsson + + * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger + sc_space_tab check. + +2011-04-05 Paul Eggert + + areadlink, areadlinkat: rewrite in terms of careadlinkat + * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h + instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h. + (SSIZE_MAX, INITIAL_BUF_SIZE): Remove. + (malloc, realloc): Remove #undefs. + (areadlink, areadlinkat): Rewrite in terms of careadlinkat. + * modules/areadlink (Depends-on): Add careadlinkat. Remove + readlink, ssize_t, stdint, unistd. + * modules/areadlinkat (Depends-on): Add careadlinkat. Remove + areadlink, stdint. + + careadlinkat: new module + * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c: + * modules/careadlinkat: New files, written by me with + a review and feedback from Ben Pfaff in + . + +2011-04-01 Bruno Haible + + wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode. + * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use + _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10 + systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN. + Reported by Bruce Korb . + +2011-04-01 Bruno Haible + + wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems. + * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS. + * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise. + * modules/wcpcpy (Depends-on): Add extensions. + * modules/wcpncpy (Depends-on): Likewise. + * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc + systems. + * doc/posix-functions/wcpncpy.texi: Likewise. + * doc/posix-functions/wcwidth.texi: Likewise. + +2011-03-31 Eric Blake + + nonblocking: fix mingw test failures + * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing + non-blocking flag on regular file. + (get_nonblocking_flag): Set errno on invalid fd. + * tests/test-nonblocking.c (main): Avoid test failure on + directories if fchdir is not active. + * modules/nonblocking-tests (Depends-on): Drop unused dependency. + +2011-03-31 Bruno Haible + + Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23. + * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the + gl_WARN_ON_USE_PREPARE definition from 'aclocal'. + Reported by Simon Josefsson . + +2011-03-31 Bruno Haible + and Eric Blake + + nonblocking: new module + * modules/nonblocking: New module. + * modules/nonblocking-tests: Likewise. + * lib/nonblocking.h: New file. + * lib/nonblocking.c: Likewise. + * tests/test-nonblocking.c: New test. + * lib/ioctl.c (ioctl) [mingw]: Update comment. + +2011-03-30 Bruno Haible + + stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw. + * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format + instead of 'printf' format for GCC >= 4.4. + (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro. + (fprintf, printf, vfprintf, vprintf): Declare with + _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling + the system's vfprintf() function. + Reported by Daniel P. Berrange via Eric Blake. + +2011-03-30 Eric Blake + + passfd: fix scoping bug + * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope + before sendmsg/recvmsg. + + passfd: standardize coding conventions + * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that + can be learned at compile time. + * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function + ifdefs. + (sendfd, recvfd): Follow gnulib code conventions. + + passfd: fix incorrect sendmsg arguments + * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and + incorrect msg_controllen value. + * modules/passfd-tests (Depends-on): Check for alarm. + * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test. + Reported by Bastien ROUCARIES. + +2011-03-30 Bruno Haible + + c-strcasestr: Relicense under LGPLv2+. + * modules/c-strcasestr (License): Change to LGPLv2+. + Requested by Eric Blake, for libvirt. + +2011-03-30 Simon Josefsson + + * users.txt: Add libidn2. Fix libtasn1 link. + +2011-03-30 Jim Meyering + + tests: readlink* ("",... fails with EINVAL on newer kernels + readlink and readlinkat have typically failed with ENOENT for + the invalid, empty file name, "". However, with the advent + of linux-2.6.39, they fail with EINVAL. + * tests/test-areadlink.h (test_areadlink): Also accept EINVAL + when operating on the empty file name. + * tests/test-readlink.h (test_readlink): Likewise. + +2011-03-29 Bruno Haible + + Relicense some modules under LGPLv2+, for libidn2. + * modules/array-mergesort (License): Change to LGPLv2+. + * modules/c-strcaseeq (License): Likewise. + * modules/striconveh (License): Likewise. + * modules/striconveha (License): Likewise. + * modules/uniconv/base (License): Likewise. + * modules/uniconv/u8-conv-from-enc (License): Likewise. + * modules/uniconv/u8-strconv-from-enc (License): Likewise. + * modules/uniconv/u8-strconv-from-locale (License): Likewise. + * modules/unictype/base (License): Likewise. + * modules/unictype/bidiclass-of (License): Likewise. + * modules/unictype/category-M (License): Likewise. + * modules/unictype/category-none (License): Likewise. + * modules/unictype/category-of (License): Likewise. + * modules/unictype/category-test (License): Likewise. + * modules/unictype/category-test-withtable (License): Likewise. + * modules/unictype/combining-class (License): Likewise. + * modules/unictype/joiningtype-of (License): Likewise. + * modules/unictype/scripts (License): Likewise. + * modules/uninorm/base (License): Likewise. + * modules/uninorm/canonical-decomposition (License): Likewise. + * modules/uninorm/composition (License): Likewise. + * modules/uninorm/decompose-internal (License): Likewise. + * modules/uninorm/decomposition-table (License): Likewise. + * modules/uninorm/nfc (License): Likewise. + * modules/uninorm/nfd (License): Likewise. + * modules/uninorm/u32-normalize (License): Likewise. + * modules/unistr/base (License): Likewise. + * modules/unistr/u32-cpy (License): Likewise. + * modules/unistr/u32-mbtouc-unsafe (License): Likewise. + * modules/unistr/u32-to-u8 (License): Likewise. + * modules/unistr/u32-uctomb (License): Likewise. + * modules/unistr/u8-check (License): Likewise. + * modules/unistr/u8-mblen (License): Likewise. + * modules/unistr/u8-mbtouc (License): Likewise. + * modules/unistr/u8-mbtouc-unsafe (License): Likewise. + * modules/unistr/u8-mbtoucr (License): Likewise. + * modules/unistr/u8-prev (License): Likewise. + * modules/unistr/u8-strlen (License): Likewise. + * modules/unistr/u8-to-u32 (License): Likewise. + * modules/unistr/u8-uctomb (License): Likewise. + * modules/unitypes (License): Likewise. + Requested by Simon Josefsson. + +2011-03-29 Simon Josefsson + + lib-symbol-visibility: Add a notice. + * modules/lib-symbol-visibility (Notice): New field. + +2011-03-29 Bruno Haible + + getaddrinfo: Doc fix. + * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the + section "fixed in Gnulib". + +2011-03-28 Simon Josefsson + + * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion. + Reported by Bastien ROUCARIES . + +2011-03-26 Bruno Haible + + unictype/property-byname: Reduce the number of load-time relocations. + * lib/unictype/pr_byname.c: Include . + (UC_PROPERTY_INDEX_*): New enumeration values. + (uc_property_byname): Convert an index from the lookup table to an + uc_property_t. + * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t + values. + +2011-03-26 Bruno Haible + + unictype/property-byname: Allow omitted word separators and aliases. + * lib/unictype/pr_byname.gperf: Add property names without word + separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except + for 'space'. + +2011-03-26 Bruno Haible + + unictype/joininggroup-byname: Allow hyphens, omitted word separators. + * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert + also hyphens to space. + * lib/unictype/joininggroup_byname.gperf: Recognize the names also + without spaces. + * tests/unictype/test-joininggroup_byname.c (main): Add more tests. + +2011-03-26 Bruno Haible + + unictype/joiningtype-byname: Recognize long names as well. + * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be + a long name. + * lib/unictype/joiningtype_byname.c: Include , + unictype/joiningtype_byname.h. + (uc_joiningtype_class_byname): Use uc_joining_type_lookup. + * lib/unictype/joiningtype_byname.gperf: New file. + * modules/unictype/joiningtype-byname (Files): Add + lib/unictype/joiningtype_byname.gperf. + (Depends-on): Add gperf. + (Makefile.am): Add rule for generating unictype/joiningtype_byname.h. + * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of + long names. + + Tests for module 'unictype/joiningtype-longname'. + * modules/unictype/joiningtype-longname-tests: New file. + * tests/unictype/test-joiningtype_longname.c: New file. + + New module 'unictype/joiningtype-longname'. + * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration. + * lib/unictype/joiningtype_longname.c: New file. + * modules/unictype/joiningtype-longname: New file. + * modules/unictype/joiningtype-all (Depends-on): Add + unictype/joiningtype-longname. + +2011-03-26 Bruno Haible + + unictype/bidiclass-byname: Recognize long names as well. + * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long + name. + * lib/unictype/bidi_byname.c: Include , + unictype/bidi_byname.h. + (uc_bidi_class_byname): Use uc_bidi_class_lookup. + * lib/unictype/bidi_byname.gperf: New file. + * modules/unictype/bidiclass-byname (Files): Add + lib/unictype/bidi_byname.gperf. + (Depends-on): Add gperf. + (Makefile.am): Add rule for generating unictype/bidi_byname.h. + * tests/unictype/test-bidi_byname.c (main): Test the recognition of + long names. + + Tests for module 'unictype/bidiclass-longname'. + * modules/unictype/bidiclass-longname-tests: New file. + * tests/unictype/test-bidi_longname.c: New file. + + New module 'unictype/bidiclass-longname'. + * lib/unictype.in.h (uc_bidi_class_long_name): New declaration. + * lib/unictype/bidi_longname.c: New file. + * modules/unictype/bidiclass-longname: New file. + * modules/unictype/bidiclass-all (Depends-on): Add + unictype/bidiclass-longname. + +2011-03-26 Bruno Haible + + unictype/bidi*: Rename modules. + * modules/unictype/bidiclass-all: Renamed from + modules/unictype/bidicategory-all. + * modules/unictype/bidiclass-name: Renamed from + modules/unictype/bidiclass-name. + (Description): Update. + * modules/unictype/bidiclass-name-tests: Renamed from + modules/unictype/bidicategory-name-tests. + * modules/unictype/bidiclass-byname: Renamed from + modules/unictype/bidicategory-byname. + (Description): Update. + * modules/unictype/bidiclass-byname-tests: Renamed from + modules/unictype/bidicategory-byname-tests. + * modules/unictype/bidiclass-of: Renamed from + modules/unictype/bidicategory-of. + (Description): Update. + * modules/unictype/bidiclass-of-tests: Renamed from + modules/unictype/bidicategory-of-tests. + * modules/unictype/bidiclass-test: Renamed from + modules/unictype/bidicategory-test. + (Description): Update. + * modules/unictype/bidiclass-test-tests: Renamed from + modules/unictype/bidicategory-test-tests. + * modules/unictype/bidicategory-all: New file, a simple redirection. + * modules/unictype/bidicategory-name: Likewise. + * modules/unictype/bidicategory-byname: Likewise. + * modules/unictype/bidicategory-of: Likewise. + * modules/unictype/bidicategory-test: Likewise. + * modules/unictype/property-bidi-* (Dependencies): Update. + * lib/unictype/bidi_*.c: Update comment. + +2011-03-26 Bruno Haible + + unictype/bidi*: Rename functions, part 2. + * modules/unictype/bidicategory-name (configure.ac): Update required + libunistring version. + * modules/unictype/bidicategory-byname (configure.ac): Likewise. + +2011-03-25 Bruno Haible + + New module 'unictype/combining-class-all'. + * modules/unictype/combining-class-all: New file. + + Tests for module 'unictype/combining-class-byname'. + * modules/unictype/combining-class-byname-tests: New file. + * tests/unictype/test-combiningclass_byname.c: New file. + + New module 'unictype/combining-class-byname'. + * lib/unictype.in.h (uc_combining_class_byname): New declaration. + * lib/unictype/combiningclass_byname.c: New file. + * lib/unictype/combiningclass_byname.gperf: New file. + * modules/unictype/combining-class-byname: New file. + + Tests for module 'unictype/combining-class-longname'. + * modules/unictype/combining-class-longname-tests: New file. + * tests/unictype/test-combiningclass_longname.c: New file. + + New module 'unictype/combining-class-longname'. + * lib/unictype.in.h (uc_combining_class_long_name): New declaration. + * lib/unictype/combiningclass_longname.c: New file. + * modules/unictype/combining-class-longname: New file. + + Tests for module 'unictype/combining-class-name'. + * modules/unictype/combining-class-name-tests: New file. + * tests/unictype/test-combiningclass_name.c: New file. + + New module 'unictype/combining-class-name'. + * lib/unictype.in.h (uc_combining_class_name): New declaration. + * lib/unictype/combiningclass_name.c: New file. + * modules/unictype/combining-class-name: New file. + +2011-03-25 Bruno Haible + + unictype/combining-class: Rename source files. + * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead + of unictype/combining.h. + * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c. + Update. + * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h. + * modules/unictype/combining-class (Description): Fix. + (Files, Makefile.am): Update. + * tests/unictype/test-combiningclass.c: Renamed from + tests/unictype/test-combining.c. + * modules/unictype/combining-class-tests (Files, Makefile.am): Update. + +2011-03-25 Bruno Haible + + unictype: Update list of canonical combining classes. + * lib/unictype.in.h (UC_CCC_ATA): New enumeration value. + +2011-03-25 Bruno Haible + + unictype/category-byname: Recognize long names as well. + * lib/unictype.in.h (uc_general_category_byname): Allow argument to be + a long name. + * lib/unictype/categ_byname.c: Include , , + unictype/categ_byname.h. + (UC_CATEGORY_INDEX_*): New enumeration values. + (uc_general_category_byname): Use uc_general_category_lookup and + convert from index to value. + * lib/unictype/categ_byname.gperf: New file. + * modules/unictype/category-byname (Files): Add + lib/unictype/categ_byname.gperf. + (Depends-on): Add gperf. + (Makefile.am): Add rule for generating unictype/categ_byname.h. + * tests/unictype/test-categ_byname.c (main): Test the recognition of + long names. + + Tests for module 'unictype/category-longname'. + * modules/unictype/category-longname-tests: New file. + * tests/unictype/test-categ_longname.c: New file. + + New module 'unictype/category-longname'. + * lib/unictype.in.h (uc_general_category_long_name): New declaration. + * lib/unictype/categ_longname.c: New file. + * modules/unictype/category-longname: New file. + * modules/unictype/category-all (Depends-on): Add it. + +2011-03-25 Bruno Haible + + Tests for module 'unictype/category-LC'. + * modules/unictype/category-LC-tests: New file. + * tests/unictype/test-categ_LC.c: New file, automatically generated. + + New module 'unictype/category-LC'. + * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value. + (UC_CATEGORY_LC): New declaration. + (UC_CASED_LETTER): New macro. + * lib/gen-uni-tables.c (is_category_LC): New function. + (output_categories): Also handle category LC. + (UC_CATEGORY_MASK_LC): New enumeration value. + (general_category_byname): Also handle category LC. + * lib/unictype/categ_LC.c: New file. + * lib/unictype/categ_LC.h: New file, automatically generated. + * lib/unictype/categ_name.c (uc_general_category_name): Also handle + category LC. + * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise. + * modules/unictype/category-LC: New file. + * modules/unictype/category-byname (Depends-on): Add + unictype/category-LC. + * modules/unictype/category-all (Depends-on): Likewise. + +2011-03-25 Eric Blake + + xmalloc: revert yesterday's regression + * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to + realloc's underlying behavior (allowing allocation of zero-size + objects, especially if malloc-gnu is also in use). + +2011-03-25 Reuben Thomas + + maint.mk: add missing version to VC-tag + * top/maint.mk: git tag was missing actual tag name; add it. + + valgrind: do leak checking, and exit with code 1 on error (not 0) + * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full' + to VALGRIND. + +2010-11-30 Reuben Thomas + + posix-modules: say what it does. + * posix-modules: Add a line to the --help output saying what it does. + +2011-03-24 Paul Eggert + + xmalloc: Do not leak if underlying realloc is C99 compatible. + * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly. + This avoids a leak on C99-based systems. See + . + +2011-03-24 Eric Blake + + realloc: document portability problem + * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of + passing 0 size to realloc. + +2011-03-23 Ben Walton + + doc: update users.txt + * users.txt: Add cvsps, tmpwatch + +2011-03-23 Matt Rice + + doc: update users.txt + * users.txt: Add gdb. + +2011-03-23 Jim Meyering + + doc: update users.txt + Looking through matches up to the following URL (there are still + several more pages), I found several projects that use gnulib: + http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4 + * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt, + gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer. + +2011-03-22 Bruno Haible + + unictype/bidi*: Rename functions. + * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname, + uc_bidi_class, uc_is_bidi_class): New declarations. + * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from + uc_bidi_category_byname. + (uc_bidi_category_byname): New function. + * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from + u_bidi_category_name. + (uc_bidi_class_name): Renamed from uc_bidi_category_name. + (uc_bidi_category_name): New function. + * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from + uc_bidi_category. + (uc_bidi_category): New function. + * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from + uc_is_bidi_category. Invoke uc_bidi_class. + (uc_is_bidi_category): New function. + * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname + instead of uc_bidi_category_byname. + * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name + instead of uc_bidi_category_name. + * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of + uc_bidi_category. + * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class + instead of uc_is_bidi_category. + +2011-03-21 Bruno Haible + + New module 'unictype/joininggroup-all'. + * modules/unictype/joininggroup-all: New file. + + Tests for module 'unictype/joininggroup-of'. + * modules/unictype/joininggroup-of-tests: New file. + * tests/unictype/test-joininggroup_of.c: New file. + * tests/unictype/test-joininggroup_of.h: New file, automatically + generated by gen-uni-tables. + + New module 'unictype/joininggroup-of'. + * modules/unictype/joininggroup-of: New file. + * lib/unictype/joininggroup_of.c: New file. + * lib/unictype/joininggroup_of.h: New file, automatically generated by + gen-uni-tables. + + Tests for module 'unictype/joininggroup-byname'. + * modules/unictype/joininggroup-byname-tests: New file. + * tests/unictype/test-joininggroup_byname.c: New file. + + New module 'unictype/joininggroup-byname'. + * modules/unictype/joininggroup-byname: New file. + * lib/unictype/joininggroup_byname.c: New file. + * lib/unictype/joininggroup_byname.gperf: New file. + + Tests for module 'unictype/joininggroup-name'. + * modules/unictype/joininggroup-name-tests: New file. + * tests/unictype/test-joininggroup_name.c: New file. + + New module 'unictype/joininggroup-name'. + * modules/unictype/joininggroup-name: New file. + * lib/unictype/joininggroup_name.c: New file. + * lib/unictype/joininggroup_name.h: New file. + + New module 'unictype/joiningtype-all'. + * modules/unictype/joiningtype-all: New file. + + Tests for module 'unictype/joiningtype-of'. + * modules/unictype/joiningtype-of-tests: New file. + * tests/unictype/test-joiningtype_of.c: New file. + * tests/unictype/test-joiningtype_of.h: New file, automatically + generated by gen-uni-tables. + + New module 'unictype/joiningtype-of'. + * modules/unictype/joiningtype-of: New file. + * lib/unictype/joiningtype_of.c: New file. + * lib/unictype/joiningtype_of.h: New file, automatically generated by + gen-uni-tables. + + Tests for module 'unictype/joiningtype-byname'. + * modules/unictype/joiningtype-byname-tests: New file. + * tests/unictype/test-joiningtype_byname.c: New file. + + New module 'unictype/joiningtype-byname'. + * modules/unictype/joiningtype-byname: New file. + * lib/unictype/joiningtype_byname.c: New file. + + Tests for module 'unictype/joiningtype-name'. + * modules/unictype/joiningtype-name-tests: New file. + * tests/unictype/test-joiningtype_name.c: New file. + + New module 'unictype/joiningtype-name'. + * modules/unictype/joiningtype-name: New file. + * lib/unictype/joiningtype_name.c: New file. + + unictype: Add support for Arabic shaping properties. + * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values. + (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New + declarations. + (UC_JOINING_GROUP_*): New enumeration values. + (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New + declarations. + * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values. + (unicode_joining_type): New variable. + (UC_JOINING_GROUP_*): New enumeration values. + (unicode_joining_group): New variable. + (fill_arabicshaping, joining_type_as_c_identifier, + output_joining_type_test, output_joining_type, + joining_group_as_c_identifier, output_joining_group_test, + output_joining_group): New functions. + (main); Add an argument denoting the ArabicShaping.txt file. Invoke + fill_arabicshaping and output_joining_type_test, output_joining_type, + output_joining_group_test, output_joining_group. + Reported by Simon Josefsson. + +2011-03-21 Jim Meyering + + strftime: fix a bug in yesterday's change + * lib/strftime.c (add): Accommodate width's initial value of -1. + Otherwise, nstrftime would copy uninitialized data into + the result buffer. + +2011-03-21 Jim Meyering + + tests: add strftime-tests module + * tests/test-strftime.c: New file. + * modules/strftime-tests: New module. + +2011-03-20 Paul Eggert + + strftime: don't assume a byte count fits in 'int' + * lib/strftime.c (add): Don't assume first arg fits in 'int'. I + found this problem by static analysis, using gcc -Wstrict-overflow + (GCC 4.5.2, x86-64). This reported an optimization that depended + on an integer overflow having undefined behavior, but it turns out + that the argument is a size, which might not fit in 'int' anyway, + +2011-03-20 Paul Eggert + + stdio: don't require ignore_value around fwrite + + This patch works around libc bug 11959 + . + Without this patch, applications must often write + ignore_value (fwrite (...)) even though the ignore_value is + not helpful here. It's common to write many objects, using + fwrite/printf/etc., and then use ferror to detect output error. + + I considered making this patch optional, but decided against it, + because libc is obviously being inconsistent here: there is no + reason libc should insist that user code must inspect fwrite + return's value without also insisting that it inspect printf's, + putchar's, etc. If user code wants to have a strict style where + all these functions' values are checked (so that ferror need not + be checked), we could add support for that style in a new gnulib + module, but in the meantime it's better to be consistent and to + support common usage. + + * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite, + to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates + that we are compiling in checking mode, and if not C++, and + if not already wrapping fwrite for some other reason. + (fwrite): #define to rpl_fwrite if the latter is defined. + +2011-03-20 Bruno Haible + + verror: Fix compilation error introduced on 2011-02-13. + * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro + instead of __attribute__. + Reported by Tom G. Christensen . + +2011-03-20 Paul Eggert + Bruno Haible + + socklen: do not depend on sys_socket + While trying to modify Emacs to use gnulib's socklen module, + I discovered a circular dependency: socklen depends on sys_socket + and vice versa. Emacs can use socklen, but it does not need + sys_socket because it has its own substitute for sys/socket.h. + * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from + gl_TYPE_SOCKLEN_T. + (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of + gl_PREREQ_SYS_H_SOCKET. + (gl_TYPE_SOCKLEN_T): Require it instead of requiring + gl_PREREQ_SYS_H_SOCKET. + * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require + gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves. + * modules/socklen (Depends-on): Do not depend on sys_socket. + (Include): Adjust to match the code used in gl_SOCKET_HEADERS. + +2011-03-20 Jim Meyering + + maint.mk: sort file names *after* new transformation + * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/ + prefix would have led to an unwarranted failure in GNU parted. + Sort after that transformation. + +2011-03-19 Jim Meyering + + maint.mk: fix po-file syntax-check rule + * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change. + Patch by Bruno Haible. + +2011-03-19 Bruno Haible + + socklen: Update comment. + * m4/socklen.m4: Update comment about platforms. - Simplify rsyncd.aug and support indented anon entries and records. +2011-03-19 Paul Eggert + Bruno Haible -2011-10-10 Raphaël Pinson + inet_ntop, inet_pton: Simplify. + * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is + documented to provide socklen_t and we already depend on sys_socket. + * modules/inet_pton (Depends-on): Likewise. + * lib/arpa_inet.in.h: Adjust comment. - Small adjustments in postfix_master.aug +2011-03-19 Paul Eggert + Bruno Haible -2011-10-10 Michael Chapman + netdb: Simplify. + * modules/netdb (Depends-on): Remove socklen, since sys_socket is + documented to provide socklen_t and we already depend on sys_socket. + * lib/netdb.in.h: Adjust comment. + +2011-03-19 Bruno Haible + + sys_socket, netdb: Document problem with socklen_t. + * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some + platforms. + * doc/posix-headers/netdb.texi: Likewise. + +2011-03-18 Eric Blake + + maint.mk: let po check work in VPATH build + * top/maint.mk (po_file): Allow cfg.mk override. + (sc_po_check): Allow VPATH use. + Reported by Jiri Denemark. + +2011-03-16 Jim Meyering + + maint.mk: allow fine-grained syntax-check exclusion via Make variables + Before, you would have had to create one .x-sc_ file per rule in order + to exempt offending files. Now, you may instead use a Make variable -- + usually defined in cfg.mk -- whose name identifies the affected rule. + * top/maint.mk (_sc_excl): Define. + (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis. + (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too. + +2011-03-13 Bruno Haible + + ignore-value tests: Avoid warnings. + * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to + empty for gcc < 3.4. - Fix escape sequences in bracket expressions - With POSIX extended regexps, escape sequences are not recognised within - bracket expressions. Any escape sequences passed through by the - unescape() function would be misinterpreted. For instance, the regular - expression: +2011-03-13 Bruno Haible - /[\.-]/ + passfd: Fix link error on Solaris. + * modules/passfd (Description): Correct. + (Depends-on): Add socketlib. + (Link): New section. + * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET. - matches any of the three characters backslash, dot or hyphen, when the - lens author most likely wanted dot or hyphen only. +2011-03-13 Bruno Haible - This patch cleans up the bracket expressions in all lenses, with the - exception of \/ and \\ sequences. These needs to be handled by - unescape() directly. + passfd: Fix link error on AIX 5.2. + * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT. -2011-10-10 Michael Chapman +2011-03-13 Bruno Haible - FAI_DiskConfig: Fix invalid escape sequence \s - It should be expanded to [ \n\t]. + passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4. + * lib/sys_socket.in.h: Include . + * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include before using + CMSG_FIRSTHDR. Remove unused variable. -2011-10-10 Michael Chapman +2011-03-13 Bruno Haible - Cron: Fix parsing of numeric fields - In: + passfd: Fix compilation error on OpenBSD. + * lib/passfd.c: Include . - let num = /[0-9\*][0-9\/,-\*]*/ +2011-03-13 Bruno Haible - the hyphen was treated as a range, not a literal character. This - erroneously allowed a whole bunch of characters (including all uppercase - letters) in numeric fields. + passfd test: Fix warnings. + * tests/test-passfd.c: Include . + (main): Fix typo. -2011-10-10 Michael Chapman +2011-03-13 Bruno Haible - Cgconfig: Fix parsing of group names - In: + passfd module, part 4, tweaks. + * tests/test-passfd.c: Reorder includes. + (main): Fix perror and printf calls. - let id = /[a-zA-Z0-9_\-\/\.]+/ +2011-03-07 Bastien Roucariès - the hyphen was treated as a range, not a literal character. + passfd module, part 4. + * modules/passfd-tests: New file. + * tests/test-passfd.c: New file. -2011-10-10 Raphaël Pinson +2011-03-13 Jim Meyering - Revert badly applied series or patches. - This reverts commit dc9ef16bc7a4cc45e4d66ea69b4bdf0038e816bb. + Makefile: rely on GNU make; derive syntax-check rule names + Rather than requiring that each sc_ rule be listed as a dependent + of "check", use features of GNU make to derive the list. + * Makefile (syntax-check-rules): Define. + (check): Depend on the new variable, not the hard-coded list. -2011-10-10 Michael Chapman +2011-03-13 Bastien Roucariès + Bruno Haible + + passfd module, part 3. + * lib/passfd.h (recvfd): Add a flags argument. + * lib/passfd.c: Include , cloexec.h. + (recvfd): Add a flags argument. + * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC + exists. + * modules/passfd (Depends-on): Add cloexec. + Suggested by Eric Blake. + +2011-03-13 Bruno Haible - Cgconfig: Fix parsing of group names - In: + passfd module, part 2, tweaks. + * modules/passfd (Files): Reorder. + (Depends-on): Remove errno. + (Include): Remove , . + * lib/passfd.h: Use a GPLv3+ header. Make C++ safe. + * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the + specification header. Include always. Don't include + . Use "#if HAVE_..." instead of "#ifdef HAVE_...". + (sendfd): Clarify that it sets errno when it fails. + (recvfd): Fix specification. - let id = /[a-zA-Z0-9_\-\/\.]+/ +2011-03-07 Bastien Roucariès - the hyphen was treated as a range, not a literal character. + passfd module, part 2. + * modules/passfd: New file. + * lib/passfd.h: New file. + * lib/passfd.c: New file. -2011-10-06 David Lutterkort +2011-03-12 Bruno Haible - path expressions: add a function 'int' - This makes it possible to do numerical comparisons of node values, for - example, 'match /files/etc/group/*[int(gid) < 3]' + wcswidth, mbswidth: Avoid integer overflow. + * lib/wcswidth.c: Include . + * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow. + * lib/mbswidth.c: Include . + (mbsnwidth): Avoid 'int' overflow. + Reported by Jim Meyering. -2011-10-06 Raphaël Pinson +2011-03-12 Bruno Haible - Fix cmd_span (ticket #220): - - Retrieve option from tree before using it; - - Invert conditions since we now use streqv. + futimens, utimensat: Avoid endless recursion on Solaris 10. + * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on + Solaris. + Reported by Ben Walton via Eric Blake + in . -2011-10-05 Raphaël Pinson +2011-03-11 Jim Meyering - Replace sep_spc? with sep_opt_spc in bbhosts.aug + maint.mk: relax a regexp to accommodate other formatting styles + * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space + between "ngettext" and the following "(". -2011-10-05 Michael Chapman +2011-03-11 Pádraig Brady - Postfix_master: allow commas in commands - Postfix daemons accept "-o name=value" to override main.cf configuration - parameters, and the value can be a comma-separated value list. + maint.mk: suppress a false positive warning + * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when + diagnostics are marked with ngettext. -2011-10-05 Raphaël Pinson +2011-03-10 Eric Blake - Support \!include in mysql.aug + wchar: add explicit dependencies, for Tru64 + * modules/mbmemcasecoll (Depends-on): Add wchar. + * modules/mbtowc (Depends-on): Likewise. + * modules/vasnprintf (Depends-on): Likewise. + * modules/unistdio/u-printf-args (Depends-on): Likewise. + * modules/wctomb (Depends-on): Likewise. + Reported by Peter O'Gorman. -2011-10-04 Raphaël Pinson +2011-03-08 Bruno Haible + + passfd module, part 1, tweaks. + * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation. + Improve indentation. Improve AC_MSG_CHECKING messages. + * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from + gl_SOCKET_FAMILIES. + +2011-03-07 Bastien Roucariès + + passfd module, part 1. + * m4/afunix.m4: New file. + * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain + sockets. + +2011-03-08 Bruno Haible + + regex-quote: New API. + * lib/regex-quote.h: Include . + (struct regex_quote_spec): New type. + (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre): + New declarations. + (regex_quote_length, regex_quote_copy, regex_quote): Take a + 'const struct regex_quote_spec *' argument. + * lib/regex-quote.c (RE_*, PCRE_*): New macros. + (pcre_special): New constant. + (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre): + New functions. + (regex_quote_length, regex_quote_copy, regex_quote): Take a + 'const struct regex_quote_spec *' argument. + * modules/regex-quote (Depends-on): Add stdbool. + * tests/test-regex-quote.c (check): Update for new API. Add test for + anchored results. + * NEWS: Mention the API change. + Reported by Reuben Thomas and Eric Blake. + +2011-03-06 Bruno Haible + + regex-quote: Fix creation of POSIX extended regular expressions. + * lib/regex-quote.c (ere_special): Add grouping and alternation + operators. + +2011-03-05 Bruno Haible + + doc: Improve doc regarding autopoint vs. gnulib. + * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to + disable autopoint while running autoreconf. + Suggested by Ralf Wildenhues. + +2011-03-05 Ralf Wildenhues - Various changes to keepalived.aug: - Implement vrrp_script; - Make spaces optional before lbracket; - Support track_interface, track_script and garp_master_delay; - Add ha_suspend and notify_*; - Add relinteger to rx.aug and use it in keepalived.aug. + Update AC_OPENMP macro for Lahey compiler on GNU/Linux. + * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf. -2011-10-03 Raphaël Pinson +2011-03-03 Bruce Korb - Spaces are mandatory after # in bbhosts.aug + parse-duration: remove xalloc.h dependency + * lib/parse-duration.c (parse_period): handle NULL return from + strdup instead of calling xstrdup(). + * modules/parse-duration: remove "xalloc" dependency -2011-10-01 Marc Fournier +2011-03-03 Matthew Booth - nrpe: fixed #218 - error caused by unused '=' in lens + bootstrap: honor m4_base when running aclocal + * build-aux/bootstrap: Fix hard-coded use of m4 directory name. + +2011-03-02 Jim Meyering + + getopt-gnu: relax license from LGPLv3+ to LGPLv2+ + * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas, + on request from Matt Booth. + +2011-03-01 Eric Blake + + test-link: work on Hurd + * tests/test-link.h (test_link): Hurd rejects linking directories + with EISDIR instead of the POSIX-mandated EPERM. + +2011-02-28 Paul Eggert + + stdio: simplify by moving files to printf-posix, sigpipe + * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX, + since this symbol is needed only if printf is replaced. + * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): + Require gl_ASM_SYMBOL_PREFIX. + * modules/printf-posix (Files): Add m4/asm-underscore.m4. + * modules/sigpipe (Files): Likewise. Also, add m4/stdio-write.c. + (Depends-on): Add 'raise'. + (configure.ac): Require gl_ASM_SYMBOL_PREFIX. + * modules/stdio (Files): Remove lib/stdio-write.c, + m4/asm-underscore.m4. + (Depends-on): Remove 'raise'. + + stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello + * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ... + * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because + * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET. + +2011-02-28 Bruno Haible + + localcharset: Assume ANSI C behaviour of free(). + * lib/localcharset.c (get_charset_aliases): Remove NULL test before + calling free(). + Suggested by Simon Josefsson . + +2011-02-28 Corinna Vinschen (tiny change) + Charles Wilson (tiny change) + Bruno Haible (tiny change) + + On Cygwin, use /proc file system instead of win32 API. + * lib/relocatable.c: On Cygwin, use file names from /proc, rather than + Win32 file names. + (DllMain): Simplify by removing Cygwin specific code. + (find_shared_library_fullname): Use Linux specific implementation also + for Cygwin. + (get_shared_library_fullname): Update accordingly. + * lib/progreloc.c: On Cygwin, use file names from /proc, rather than + Win32 file names. + (find_executable): On Cygwin, use /proc, like on Linux. Remove previous + Cygwin specific code. + +2011-02-28 Christian Rössel (tiny change) + Markus Geimer (tiny change) + + Fix OpenMP flag detection for various Fortran compilers. + * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$' + OpenMP-conditional compilation construct, to force compile + failure with missing OpenMP flag. + (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers. + +2011-02-25 Eric Blake + + strstr: expand test coverage + * tests/test-strstr.c (main): Add much shorter trigger. Fix C89 + compilation. + * tests/test-memmem.c (main): Duplicate tests. + * tests/test-strcasestr.c (main): Likewise. + * tests/test-c-strcasestr.c (main): Likewise. + +2011-02-25 Jim Meyering + + maint.mk: detect missing-NL-at-EOF, too + * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that + it also detects when a file lacks a newline at EOF. + (require_exactly_one_NL_at_EOF_): Renamed from + detect_empty_lines_at_EOF_. I opted not to rename the rule, + since people may well have .x-sc_... file names tied to the + existing name. Suggested by Eric Blake. + +2011-02-25 Paul Eggert + + dirname: move m4/dos.m4 functionality into lib/dosname.h + + m4/dos.m4 needs to go. It laboriously invokes the C compiler, and + extracts symbols from it, puts them into config.h; but it's much + easier to use the symbols directly. filename.h already does this, + but it disagrees with dos.m4 in some respects. This patch + introduces a different include file dosname.h that packages up + dos.m4, and then later we can work on merging filename.h and + dosname.h. Applications that need only the easy-to-configure + symbols should consider including dosname.h rather than dirname.h. + * NEWS: Mention incompatible changes. + * m4/dos.m4: Remove. + * lib/dosname.h, modules/dosname: New files. + * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN): + (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): + (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h. + * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c: + Include dosname.h, not dirname.h. + * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c: + Include dosname.h, for definitions of symbols like ISSLASH + that used to be in config.h. + * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS. + * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise. + * m4/stat.m4 (gl_FUNC_STAT): Likewise. + * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise. + * modules/dirname-lgpl (Files): Omit m4/dos.m4. + * modules/rmdir (Files): Likewise. + * modules/stat (Files): Likewise. + * modules/unlink (Files): Likewise. + * modules/dirname-lgpl (Depends-on): Add dosname. + * modules/lstat (Depends-on): Likewise. + * modules/openat (Depends-on): Likewise. + * modules/rmdir (Depends-on): Likewise. + * modules/savewd (Depends-on): Likewise. + * modules/stat (Depends-on): Likewise. + * modules/unlink (Depends-on): Likewise. + * modules/openat (Depends-on): Remove dirname-lgpl. + * modules/savewd (Depends-on): Likewise. + * tests/test-dirname.c: Do not use removed symbols like + FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR. Instead, use + the remaining symbols, e.g., ISSLASH ('\\'). + +2011-02-25 Eric Blake + + strstr: revert patches that introduced bug and pessimization + * lib/str-two-way.h: Add another reference. + (two_way_short_needle, two_way_long_needle): Revert changes from + 2011-02-24; they pessimize search speed. + (critical_factorization): Partially revert changes from + 2010-06-22; they violate the requirement that the left half of the + needle be smaller than the period of the needle. + +2011-02-24 Paul Eggert + + filenamecat: remove unnecessary dependency on dirname-lgpl + * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there + is no direct dependency, just an indirect one via filenamecat-lgpl. + + remove: remove unnecessary use of m4/dos.m4 + * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed. + * modules/remove (FILES): Remove m4/dos.m4. + + * lib/openat-proc.c: Don't include dirname.h; not needed. + + backupfile: remove unnecessary use of m4/dos.m4 + * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none + of its symbols are used by the backupfile code. backupfile.c does + use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only + for the rare case of programs that want all their backup file + names to live within 8+3 limits, and dos.m4 doesn't address that. + * modules/backupfile (Files): Remove m4/dos.m4. + +2011-02-24 Jim Meyering + + strstr: fix a bug whereby strstr would mistakenly return NULL + * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error + in period calculation. + (two_way_long_needle): Likewise. + The original problem was reported by Mike Stump in + http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834 + Ralf Wildenhues provided the short needle and haystack. + * tests/test-strstr.c: Add Ralf's test case to trigger the bug. + Add a more involved test to trigger the bug in two_way_long_needle. + +2011-02-24 Stefano Lattarini (tiny change) + + gnulib-tool: remove use of bold display in help screen + * gnulib-tool (func_usage): Do not use bold display anymore in the + help screen. That was just meant to be a temporary emphasis for a + backward-incompatible change. + +2011-02-23 Bruno Haible + + Fix misindentation of preprocessor directives. + * lib/argp-namefrob.h: Reindent preprocessor directives. + * lib/getopt_int.h (struct _getopt_data): Likewise. + * lib/progreloc.c (maybe_executable, find_executable): Likewise. + * lib/vasnprintf.c (decode_long_double): Likewise. + * tests/test-argmatch.c: Insert blank lines, for clarity. + * tests/test-exclude.c: Likewise. + +2011-02-22 Bruno Haible + + ioctl: Fix for MacOS X in 64-bit mode. + * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request + value. + Suggested by Eric Blake. + Reported by Markus Gothe . + +2011-02-22 Jim Meyering + + maint: sc_cpp_indent_check: remove the "only in lib/" restriction + * Makefile (sc_cpp_indent_check): Don't limit the check to files + in lib/. + +2011-02-22 Eric Blake + + maint: avoid any CDPATH issue + * Makefile (sc_cpp_indent_check): Anchor cd argument. + + maint: adjust cpp indentation for my modules, as well + * Makefile (sc_cpp_indent_check): Add my name. + * lib/fbufmode.c: Filter through cppi. + * lib/fpurge.c: Likewise. + * lib/freadable.c: Likewise. + * lib/freading.c: Likewise. + * lib/fwritable.c: Likewise. + * lib/fwriting.c: Likewise. + * lib/sigaction.c: Likewise. + +2011-02-22 Jim Meyering + + maint: adjust cpp indentation to reflect nesting depth + I.e., in a block of code that begins with an unnested "#if", + put one space between the "#" in column 1 and following token. + For example, + -#include + +# include + Do this only in .c files that are part of a module I maintain. + * lib/linkat.c: Filter through cppi. + * lib/nanosleep.c: Likewise. + * lib/openat.c: Likewise. + * lib/openat-die.c: Likewise. + * lib/dup3.c: Likewise. + * lib/fchownat.c: Likewise. + * lib/flock.c: Likewise. + * lib/fsync.c: Likewise. + * lib/fts.c: Likewise. + * lib/getpass.c: Likewise. + * lib/gettimeofday.c: Likewise. + * lib/userspec.c: Likewise. + * Makefile (sc_cpp_indent_check): New rule, to check this. + +2011-02-22 Bruno Haible + + New module 'wctomb'. + * lib/stdlib.in.h (wctomb): New declaration. + * lib/wctomb.c: New file. + * lib/wctomb-impl.h: New file. + * m4/wctomb.m4: New file. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB, + REPLACE_WCTOMB. + * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB, + REPLACE_WCTOMB. + * modules/wctomb: New file. + * tests/test-stdlib-c++.cc: Test signature of wctomb. + * doc/posix-functions/wctomb.texi: Mention the new module. + * modules/wctob (Depends-on): Add wctomb. + +2011-02-22 Bruno Haible + + New module 'mbtowc'. + * lib/stdlib.in.h (mbtowc): New declaration. + * lib/mbtowc.c: New file. + * lib/mbtowc-impl.h: New file, from libutf8 with modifications. + * m4/mbtowc.m4: New file. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC, + REPLACE_MBTOWC. + * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC, + REPLACE_MBTOWC. + * modules/mbtowc: New file. + * tests/test-stdlib-c++.cc: Test signature of mbtowc. + * doc/posix-functions/mbtowc.texi: Mention the new module. + * modules/btowc (Depends-on): Add mbtowc. + +2011-02-22 Bruno Haible + + wcrtomb: Add more tests for native Windows platforms. + * tests/test-wcrtomb-w32-1.sh: New file. + * tests/test-wcrtomb-w32-2.sh: New file. + * tests/test-wcrtomb-w32-3.sh: New file. + * tests/test-wcrtomb-w32-4.sh: New file. + * tests/test-wcrtomb-w32-5.sh: New file. + * tests/test-wcrtomb-w32.c: New file. + * modules/wcrtomb-tests (Files): Add them. + (Makefile.am): Arrange to run these tests. + * tests/test-wcrtomb-w32-6.sh: New file, currently unused. + * tests/test-wcrtomb-w32-7.sh: New file, currently unused. + +2011-02-20 Bruno Haible + + wcrtomb: Enhance test. + * tests/test-wcrtomb.c (main): Add test against bug with NULL argument. + +2011-02-20 Bruno Haible + + mbrtowc: Tiny optimization. + * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed. + +2011-02-20 Jim Meyering + + test-exclude.c: remove unmatched #endif + * tests/test-exclude.c: Remove stray #endif, left over from + the change of a week ago. + +2011-02-19 Jim Meyering + + git-version-gen: skip "-dirty" check when appropriate + * build-aux/git-version-gen: Don't run any git commands when the + version string comes from .tarball-version. Prior to this, we + would run git update-index --refresh even from a just-unpacked + tarball directory, and that could affect a .git/ directory in a + parent of the build directory. Reported by Mike Frysinger. + +2011-02-19 Bruno Haible + + unictype/property-byname: Reduce the size of the 'data' segment. + * lib/unictype/pr_byname.gperf: Add gperf option '%pic'. + +2011-02-19 Bruno Haible + + unictype/scripts: Reduce the size of the 'data' segment. + * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option + '%pic'. + * lib/unictype/scripts_byname.gperf: Regenerated. + +2011-02-19 Bruno Haible + + stdint: Update documentation. + * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem. + +2011-02-18 Paul Eggert + + stdint: omit redundant check for wchar.h + * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now + always tests whether wchar.h exists, so remove the now-redundant test. + +2011-02-18 Bruno Haible + + stdint: Cut dependency to module 'wchar'. + * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also + include the necessary prerequisites. + * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists. + * modules/stdint (Depends-on): Remove wchar. + (Makefile.am): Substitute HAVE_WCHAR_H. + This reverts part of a 2007-01-06 commit. Reported by Paul Eggert. + +2011-02-18 Eric Blake + + longlong: skip, rather than fail, on cross-compilation + * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure + when cross-compiling; regression from 2011-02-16. + +2011-02-17 Paul Eggert + + * NEWS: Mention 2011-02-08 change to stdlib. + +2011-02-17 Bruno Haible -2011-10-01 Dominic Cleal + getloadavg: Add comments about platforms. + * m4/getloadavg.m4: Add comment. + * lib/getloadavg.c: Likewise. + +2011-02-17 Bruno Haible + + getloadavg: Fix link error on Solaris 2.6. + * modules/getloadavg (Link): New section. + * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for + linking test-getloadavg. + * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks + getloadavg. + +2011-02-17 Paul Eggert + + * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t. + It was 'int', but this doesn't match the IRIX 6.5 manual. + Suggested by Bruno Haible in + . + +2011-02-17 Bruno Haible + + havelib: Fix comments. + * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02 + change. + +2011-02-17 Bruno Haible + + havelib: Update config.rpath. + * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4. + +2011-02-17 Bruno Haible + + getloadavg test: Add some plausibility checks. + * tests/test-getloadavg.c (check_avg): Print a warning when the value + is improbable. + +2011-02-16 Eric Blake + + maintainer-makefile: make syntax-check a no-op from tarballs + * top/maint.mk (no-vc-detected): New rule. + (local-checks-available): Use it to avoid hanging if someone tries + 'make syntax-check' from a tarball. Also append to any non-syntax + checks already defined in cfg.mk. + +2011-02-16 Paul Eggert + + longlong: tune, particularly for common case of c99 + + * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling + or running anything if c99, or if unsigned long long int does not + work. In either case, we know the answer without further tests. + Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice. Instead, compile + it at most once, and use its results for both long long int and + unsigned long long int. This is more likely to be efficient in + the common case where the program wants to check for both long + long int and unsigned long long int. + (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99, + since the answer is already known. + +2011-02-15 Paul Eggert + + getloadavg: set errno + * lib/getloadavg.c: Set errno when returning -1. If no other + error number looks appropriate, set it to ENOSYS if the getloadavg + looks like it can't possibly ever work, ENOTSUP otherwise. + Suggested by Bruno Haible in + . + + getloadavg: trim unused parts and speed up 'configure' + * NEWS: Document this. + * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now + always compiled if getloadavg is absent. + Move test code to ... + * tests/test-getloadavg.c: New file, containing previous + contents of test from lib/getloadavg.c. It also contains + suggestions by Bruno Haible in + . + * modules/getloadavg-tests: New file. + * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice. + Do tests in the same order as they're needed for getloadavg.c. + Omit setgid-related tests that generate symbols KMEM_GROUP, + NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more. + Do only the tests that are needed to see whether the system has + getloadavg, moving the other tests into ... + (gl_PREREQ_GETLOADAVG): ... here. Do not define obsolete symbol + NLIST_NAME_UNION; nobody should be using it. Do not define + symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer + relevant, as the user of this module shouldn't care how getloadavg + is implemented. + + getloadavg: omit unused var + * lib/getloadavg.c (getloadavg): Omit unused local variable. + +2011-02-15 Jim Meyering + + doc: update users.txt + * users.txt: Update iwhd's URL. + +2011-02-13 Bruno Haible + + Consistent macro naming for macros that use GCC __attribute__. + * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from + _ATTRIBUTE_NONNULL_. + * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise. + * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR. + * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from + ATTRIBUTE_DEPRECATED. + * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from + ATTRIBUTE_NORETURN. + * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise. + * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise. + * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise. + * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise. + (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC. + (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE. + * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from + ATTRIBUTE_SENTINEL. + * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from + ATTRIBUTE_RETURN_CHECK. + * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise. + * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from + ATTRIBUTE_NORETURN. + * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise. + Reported by Paul Eggert. + +2011-02-13 Bruno Haible + + Don't interfere with a program's definition of __attribute__. + * lib/argp.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT): New macro. + (argp_error, __argp_error, argp_failure, __argp_failure): Use it. + * lib/argp-fmtstream.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT): New macro. + (__argp_fmtstream_printf, argp_fmtstream_printf): Use it. + * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for + GCC 3 or newer. + * lib/error.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT): New macro. + (error, error_at_line): Use it. + * lib/hash.h (__attribute__): Remove definition. + (ATTRIBUTE_WUR): Update definition. Define always. + * lib/openat.h (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + * lib/sigpipe-die.h (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + * lib/vasnprintf.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT): New macro. + (asnprintf, vasnprintf): Use it. + * lib/xalloc.h (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always. + * lib/xmemdup0.h (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + * lib/xprintf.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT): New macro. + (xprintf, xvprintf, xfprintf, xvfprintf): Use it. + * lib/xstrtol.h (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + * lib/xvasprintf.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT): New macro. + (xasprintf, xvasprintf): Use it. + * tests/test-argmatch.c (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + * tests/test-exclude.c (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + Reported by Paul Eggert. + +2011-02-13 Bruno Haible + + mbrtowc: Add more tests for native Windows platforms. + * tests/test-mbrtowc-w32-1.sh: New file. + * tests/test-mbrtowc-w32-2.sh: New file. + * tests/test-mbrtowc-w32-3.sh: New file. + * tests/test-mbrtowc-w32-4.sh: New file. + * tests/test-mbrtowc-w32-5.sh: New file. + * tests/test-mbrtowc-w32.c: New file. + * modules/mbrtowc-tests (Files): Add them. + (Makefile.am): Arrange to run these tests. + * tests/test-mbrtowc-w32-6.sh: New file, currently unused. + * tests/test-mbrtowc-w32-7.sh: New file, currently unused. + +2011-02-13 Bruno Haible + + mbrtowc: Work around native Windows bug. + * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the + guess when no suitable locale for testing was found. + * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug. + +2011-02-13 Bruno Haible + + mbsinit: Work around mingw bug. + * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw. + * lib/mbsinit.c (mbsinit): Provide an alternate definition for native + Windows. + * doc/posix-functions/mbsinit.texi: Mention the mingw bug. + +2011-02-13 Bruno Haible + + mbsinit: Don't crash for a NULL argument. + * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1. + * tests/test-mbsinit.c (mbsinit): Check this behaviour. + +2011-02-13 Bruno Haible + + Don't interfere with a program's definition of __attribute__. + * lib/stdio.in.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros. + (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf, + printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf, + vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF. + * lib/string.in.h (__attribute__): Remove definition. + Reported by Paul Eggert. + +2011-02-12 Paul Eggert + + stdlib: don't get in the way of non-GCC __attribute__ + See thread starting at + . + Revert previous stdlib change, installing the following instead: + * lib/stdlib.in.h (__attribute__): Remove. We do not want + to get in the way of a non-GCC compiler that supports __attribute__. + (_GL_ATTRIBUTE_RETURN): New macro. + (_Exit): Use it instead of __attribute__. + +2011-02-12 Bruno Haible + + quotearg test: Avoid test failure on mingw. + * tests/test-quotearg.sh: Convert the locale identifier from native + Windows syntax to Unix syntax. + +2011-02-12 Bruno Haible + + setlocale: Prefer gnulib's override over libintl's override. + * lib/locale.in.h (GNULIB_defined_setlocale): New macro. + * lib/gettext.h (setlocale): Redefine to rpl_setlocale if + GNULIB_defined_setlocale is set. + +2011-02-12 Paul Eggert + + stdlib: support non-GCC __attribute__ + + Fix a serious and tricky problem encountered when attempting to + add the getloadavg module to Emacs. Emacs worked fine on RHEL + 5.5, but it crashed due to memory corruption on Solaris 10 with + Sun C 5.11. Emacs normally ORs 3-bit tags into their low-order + bits that are otherwise zero. This tagging is optional inside + Emacs but is preferred and is used when __attribute__ ((__aligned + (8))) works, as it does with both recent-enough GCC and with Sun C + 5.11. However, Sun C 5.11 is not GCC and does not #define + __GNUC__ and __GNUC_MINOR__. + + When I added the getloadavg module to Emacs, it brought in + stdlib.in.h, which contained this fragment: + + #ifndef __attribute__ + # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) + # define __attribute__(Spec) /* empty */ + # endif + #endif + + When files that include were compiled with Sun C 5.11, + the above code disabled __attribute__ ((__aligned (8))), which + caused variables to not be properly aligned, which eventually led + to the pointer corruption mentioned above. (This was a bit hard + to diagnose, unfortunately.) + + Several "#define __attribute__(X) /* empty */" code snippets need + to be eradicated from Gnulib to work with non-GCC compilers that + support __attribute__. The Autoconf way to do this is to test for + each kind of attribute that we want support for, and selectively + enable that in source code. + + Fix this problem just for stdlib.h, by adding a test for the + __noreturn__ attribute, and change stdlib.in.h to use that test + when needed. This technique can be easily generalized to the + other *.in.h files and attributes, and a similar technique can be + used for *.h and *.c files. This patch is enough to solve the + problem for Emacs + getloadavg, and I thought I'd publish it for + feedback before undertaking further, similar fixes in other + modules. + + This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN + because it's not needed for stdlib.h. It merely substitutes the + value directly into stdlib.h. We may well need to #define it, or + similar symbols, for other modules, but it's nice to also have an + option to not #define it for applications like Emacs that do not + need it. + + * lib/stdlib.in.h (__attribute__): Do not #define. + (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to + be defined only if the _Exit module is also used. + * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst + HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU + platforms. + * modules/_Exit (Files): Add m4/attribute.m4. + * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN. + * m4/attribute.m4: New file. + +2011-02-12 Bruno Haible + + wcsrtombs: Work around bug on native Windows. + * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug. + * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX + instead of len. + * doc/posix-functions/wcsrtombs.texi: Document mingw bug. + +2011-02-12 Bruno Haible + + mbsrtowcs: Work around bug on native Windows. + * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test + against mingw bug. + * doc/posix-functions/mbsrtowcs.texi: Document mingw bug. + +2011-02-12 Bruno Haible + + Avoid setlocale bugs in tests. + * modules/btowc (Dependencies): Add setlocale. + * modules/c-strcase (Dependencies): Likewise. + * modules/mbmemcasecmp (Dependencies): Likewise. + * modules/mbmemcasecoll (Dependencies): Likewise. + * modules/mbrtowc (Dependencies): Likewise. + * modules/mbscasecmp (Dependencies): Likewise. + * modules/mbscasestr (Dependencies): Likewise. + * modules/mbschr (Dependencies): Likewise. + * modules/mbscspn (Dependencies): Likewise. + * modules/mbsinit (Dependencies): Likewise. + * modules/mbsncasecmp (Dependencies): Likewise. + * modules/mbsnrtowcs (Dependencies): Likewise. + * modules/mbspbrk (Dependencies): Likewise. + * modules/mbspcasecmp (Dependencies): Likewise. + * modules/mbsrchr (Dependencies): Likewise. + * modules/mbsrtowcs (Dependencies): Likewise. + * modules/mbsspn (Dependencies): Likewise. + * modules/mbsstr (Dependencies): Likewise. + * modules/nl_langinfo (Dependencies): Likewise. + * modules/quotearg (Dependencies): Likewise. + * modules/unicase/locale-language (Dependencies): Likewise. + * modules/unicase/ulc-casecmp (Dependencies): Likewise. + * modules/unicase/ulc-casecoll (Dependencies): Likewise. + * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise. + * modules/unistdio/u8-vasnprintf (Dependencies): Likewise. + * modules/unistdio/u16-vasnprintf (Dependencies): Likewise. + * modules/unistdio/u32-vasnprintf (Dependencies): Likewise. + * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise. + * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise. + * modules/vasnprintf-posix (Dependencies): Likewise. + * modules/wcrtomb (Dependencies): Likewise. + * modules/wcsnrtombs (Dependencies): Likewise. + * modules/wcsrtombs (Dependencies): Likewise. + +2011-02-12 Bruno Haible + + setlocale: Workaround native Windows bug. + * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale + succeeds but sets LC_CTYPE to "C", report a failure. + * tests/test-setlocale2.sh: New file. + * tests/test-setlocale2.c: New file. + * modules/setlocale-tests (Files): Add the new files. + (Makefile.am): Enable test-setlocale2.sh test. + * doc/posix-functions/setlocale.texi: Mention workaround. + +2011-02-11 Bruno Haible + + Tests for module 'setlocale'. + * modules/setlocale-tests: New file. + * tests/test-setlocale1.sh: New file. + * tests/test-setlocale1.c: New file. + + New module 'setlocale'. + * lib/locale.in.h (setlocale): New declaration. + * lib/setlocale.c: New file, based on + gettext/gettext-runtime/intl/setlocale.c. + * m4/setlocale.m4: New file. + * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared. + (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE. + * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE, + REPLACE_SETLOCALE. + * modules/setlocale: New file. + * tests/test-locale-c++.cc: Test the declaration of setlocale. + * doc/posix-functions/setlocale.texi: Mention the new module. + +2011-02-11 Bruno Haible + + Prepare for locale dependent tests on mingw. + * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar" + because it has the wrong locale encoding. + * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try + French_France.1252 instead of "fr". + (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001. + * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja" + because it has the wrong locale encoding. + * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On + native Windows, try Turkish_Turkey.65001. + * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try + Chinese_China.54936. + + Prepare for locale dependent tests on mingw. + * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale + differently. + * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise. + * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise. + * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise. + * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise. + +2011-02-11 Eric Blake + + strptime: avoid compiler warnings + * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid + compiler warnings about dead code. + Reported by Daniel P. Berrange. + +2011-02-11 Thien-Thi Nguyen + + doc: update users.txt + * users.txt: Add rcs. + +2011-02-10 John W. Eaton + + doc: update users.txt + * users.txt: Add octave. + +2011-02-10 Jim Meyering + + doc: update users.txt + * users.txt: Add iwhd. + +2011-02-09 Bruno Haible + + gnulib-tool: Make copyright notice adjustment more robust. + * gnulib-tool (func_import): In sed_transform_main_lib_file, + sed_transform_build_aux_file, sed_transform_testsrelated_lib_file, + allow a line break to occur after "GNU" in "GNU [Lesser] General Public + License". + Reported by Glenn Morris via Paul Eggert. + +2011-02-06 Bruno Haible + + New module 'towctrans'. + * modules/towctrans: New file. + * lib/wctype.in.h (towctrans): New declaration. + * lib/towctrans.c: New file. + * lib/towctrans-impl.h: New file. + * m4/towctrans.m4: New file. + * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared. + (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS. + * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS. + * tests/test-wctype-h-c++.cc: Test the declaration of towctrans. + * doc/posix-functions/towctrans.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wctrans'. + * modules/wctrans: New file. + * lib/wctype.in.h (wctrans): New declaration. + * lib/wctrans.c: New file. + * lib/wctrans-impl.h: New file. + * m4/wctrans.m4: New file. + * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared. + (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS. + * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS. + * tests/test-wctype-h-c++.cc: Test the declaration of wctrans. + * doc/posix-functions/wctrans.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'iswctype'. + * modules/iswctype: New file. + * lib/wctype.in.h (iswctype): New declaration. + * lib/iswctype.c: New file. + * lib/iswctype-impl.h: New file. + * m4/iswctype.m4: New file. + * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared. + (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE. + * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE. + * tests/test-wctype-h-c++.cc: Test the declaration of iswctype. + * doc/posix-functions/iswctype.texi: Mention the new module and the + HP-UX 11.00 problem. + +2011-02-06 Bruno Haible + + New module 'wctype'. + * modules/wctype: Change to represent the wctype() substitute. + * lib/wctype.in.h (wctype): New declaration. + * lib/wctype.c: New file. + * lib/wctype-impl.h: New file. + * m4/wctype.m4: New file. + * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared. + (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE. + * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE. + * tests/test-wctype-h-c++.cc: Test the declaration of wctype. + * doc/posix-functions/wctype.texi: Mention the new module and the + HP-UX 11.00 problem. + +2011-02-06 Bruno Haible + + wctype-h: Ensure wctype_t and wctrans_t are defined. + * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations. + * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T. + (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T. + * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T, + HAVE_WCTRANS_T. + * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined. + +2011-02-09 Paul Eggert + + flock: fix license typo + + * lib/flock.c: Fix typo in license. One of the "Lesser"s was + omitted. + +2011-02-08 Bruno Haible + + Split large sed scripts, for HP-UX sed. + * modules/math (Makefile.am): Split sed scripts around 50 sed commands, + to avoid HP-UX limit of 99 commands, in the near future. + * modules/stdlib (Makefile.am): Likewise. + * modules/unistd (Makefile.am): Likewise. + * modules/wchar (Makefile.am): Likewise. + Reported by Albert Chin . + Suggestion by Ralf Wildenhues in + . + +2011-02-08 Paul Eggert + Bruno Haible + + stdlib: improve random_r modularization + * lib/stdlib.in.h: Encapsulate all the stuff having to do with + random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that + you also need the random_r module to get this material right. + * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ... + * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here. + (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it. + +2011-02-08 Paul Eggert + + stdlib: don't depend on stdint + * lib/stdlib.in.h: Don't include merely because + GNULIB_POSIXCHECK is defined. GNULIB_POSIXCHECK seems to + be independent of whether stdint.h is needed. + * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data + here, instead of ... + * m4/stdlib_h.m4 (gl_STDLIB_H): ... here. Applications that need + struct random_data should be using the random_r module, not just + the stdlib module (which wouldn't make sense: what package needs + just struct random_data without also needing random_r?). + * modules/stdlib (Depends-on): Remove stdint. + + getloadavg: don't depend on c-strtod, cloexec, fcntl-safer + See the thread rooted at + . + * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h. + Include only if (defined __linux__ || defined __CYGWIN__ + || defined SUNOS_5 || (defined LOAD_AVE_TYPE && ! defined + __VMS)); previously it was always included (via fcntl--.h). + (getloadavg): Do not use c_strtod. Instead, approximate it by + hand; this is good enough for load averages. Also, do not use + set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC + flags directly if available and don't bother otherwise. (Packages + that need the extra reliability should use the modules that define + these flags on older platforms that lack them.) + * modules/getloadavg (Depends-on): Remove c-strtod, cloexec, + fcntl-safer. + +2011-02-08 Jim Meyering + + di-set.h, ino-map.h: add multiple-inclusion guard + Technically, the guard is required only for ino-map.h, due to its + INO_MAP_INSERT_FAILURE definition, but do both for consistency. + * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H. + * lib/ino-map.h: Likewise. + +2011-02-06 Bruno Haible + + iswblank: Ensure declaration on glibc systems. + * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS. + * modules/iswblank (Dependencies): Add 'extensions'. + * doc/posix-functions/iswblank.texi: Document the glibc problem. + +2011-02-06 Bruno Haible + + New module 'iswblank'. + * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0. + * modules/iswblank: New file. + * modules/wctype-h (Files): Remove lib/iswblank.c. + (Makefile.am): Substitute GNULIB_ISWBLANK. + * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4. + * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro. + (gl_WCTYPE_H_DEFAULTS): New macro. + (gl_WCTYPE_H): Require it. Remove iswblank related code. + * modules/iswblank-tests: New file. + * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c. + * tests/test-wctype-h.c (main): Remove iswblank tests. + * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank. + * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead + of 'wctype-h'. + * NEWS: Mention the change. + * modules/mbchar (Depends-on): Add iswblank. + +2011-02-08 Bruno Haible + + di-set tests: Refactor. + * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop + unnecessary includes. + (ASSERT): Remove macro. + (main): Make C90 compliant by avoiding variable declaration after + statement. + * modules/di-set-tests (Files): Add tests/macros.h. + +2011-02-08 Bruno Haible + + ino-map tests: Refactor. + * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop + unnecessary includes. + (ASSERT): Remove macro. + (main): Make C90 compliant by avoiding variable declaration after + statement. + * modules/ino-map-tests (Files): Add tests/macros.h. + +2011-02-08 Jim Meyering + + di-set: add "const" to a cast + * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to + "(void const *)", not "(void *)". Spotted by Bruno Haible. + +2011-02-06 Bruno Haible + + Rename module 'wctype' to 'wctype-h'. + * modules/wctype-h: Renamed from modules/wctype. + * modules/wctype: Simplyfy to a redirection to 'wctype-h'. + * modules/wctype-h-tests: Renamed from modules/wctype-tests. + (Files, Depends-on, Makefile.am): Update. + * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests. + (Files, Makefile.am): Update. + * tests/test-wctype-h.c: Renamed from tests/test-wctype.c. + * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc. + * doc/posix-headers/wctype.texi: Update. + * doc/posix-functions/iswalnum.texi: Update. + * doc/posix-functions/iswalpha.texi: Update. + * doc/posix-functions/iswblank.texi: Update. + * doc/posix-functions/iswcntrl.texi: Update. + * doc/posix-functions/iswdigit.texi: Update. + * doc/posix-functions/iswgraph.texi: Update. + * doc/posix-functions/iswlower.texi: Update. + * doc/posix-functions/iswprint.texi: Update. + * doc/posix-functions/iswpunct.texi: Update. + * doc/posix-functions/iswspace.texi: Update. + * doc/posix-functions/iswupper.texi: Update. + * doc/posix-functions/iswxdigit.texi: Update. + * doc/posix-functions/towlower.texi: Update. + * doc/posix-functions/towupper.texi: Update. + * NEWS: Mention the change. + * modules/fnmatch (Dependencies): Add wctype-h, remove wctype. + * modules/mbchar (Dependencies): Likewise. + * modules/mbswidth (Dependencies): Likewise. + * modules/quotearg (Dependencies): Likewise. + * modules/regex (Dependencies): Likewise. + * modules/wcscasecmp (Dependencies): Likewise. + * modules/wcsncasecmp (Dependencies): Likewise. + * modules/wcwidth (Dependencies): Likewise. + +2011-02-06 Bruno Haible + + New module 'wcswidth'. + * modules/wcswidth: New file. + * lib/wchar.in.h (wcswidth): New declaration. + * lib/wcswidth.c: New file. + * lib/wcswidth-impl.h: New file, from libutf8 with modifications. + * m4/wcswidth.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH, + REPLACE_WCSWIDTH. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH, + HAVE_WCSWIDTH, REPLACE_WCSWIDTH. + * tests/test-wchar-c++.cc: Test the declaration of wcswidth. + * doc/posix-functions/wcswidth.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcstok'. + * modules/wcstok: New file. + * lib/wchar.in.h (wcstok): New declaration. + * lib/wcstok.c: New file. + * lib/wcstok-impl.h: New file, from libutf8 with modifications. + * m4/wcstok.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK. + * tests/test-wchar-c++.cc: Test the declaration of wcstok. + * doc/posix-functions/wcstok.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcsstr'. + * modules/wcsstr: New file. + * lib/wchar.in.h (wcsstr): New declaration. + * lib/wcsstr.c: New file. + * lib/wcsstr-impl.h: New file, from libutf8 with modifications. + * m4/wcsstr.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR. + * tests/test-wchar-c++.cc: Test the declaration of wcsstr. + * doc/posix-functions/wcsstr.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcspbrk'. + * modules/wcspbrk: New file. + * lib/wchar.in.h (wcspbrk): New declaration. + * lib/wcspbrk.c: New file. + * lib/wcspbrk-impl.h: New file, from libutf8 with modifications. + * m4/wcspbrk.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK. + * tests/test-wchar-c++.cc: Test the declaration of wcspbrk. + * doc/posix-functions/wcspbrk.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcsspn'. + * modules/wcsspn: New file. + * lib/wchar.in.h (wcsspn): New declaration. + * lib/wcsspn.c: New file. + * lib/wcsspn-impl.h: New file, from libutf8 with modifications. + * m4/wcsspn.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN. + * tests/test-wchar-c++.cc: Test the declaration of wcsspn. + * doc/posix-functions/wcsspn.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcscspn'. + * modules/wcscspn: New file. + * lib/wchar.in.h (wcscspn): New declaration. + * lib/wcscspn.c: New file. + * lib/wcscspn-impl.h: New file, from libutf8 with modifications. + * m4/wcscspn.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN. + * tests/test-wchar-c++.cc: Test the declaration of wcscspn. + * doc/posix-functions/wcscspn.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcsrchr'. + * modules/wcsrchr: New file. + * lib/wchar.in.h (wcsrchr): New declaration. + * lib/wcsrchr.c: New file. + * lib/wcsrchr-impl.h: New file, from libutf8 with modifications. + * m4/wcsrchr.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR. + * tests/test-wchar-c++.cc: Test the declaration of wcsrchr. + * doc/posix-functions/wcsrchr.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcschr'. + * modules/wcschr: New file. + * lib/wchar.in.h (wcschr): New declaration. + * lib/wcschr.c: New file. + * lib/wcschr-impl.h: New file, from libutf8 with modifications. + * m4/wcschr.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR. + * tests/test-wchar-c++.cc: Test the declaration of wcschr. + * doc/posix-functions/wcschr.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcsdup'. + * modules/wcsdup: New file. + * lib/wchar.in.h (wcsdup): New declaration. + * lib/wcsdup.c: New file. + * lib/wcsdup-impl.h: New file, from libutf8 with modifications. + * m4/wcsdup.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP. + * tests/test-wchar-c++.cc: Test the declaration of wcsdup. + * doc/posix-functions/wcsdup.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcsxfrm'. + * modules/wcsxfrm: New file. + * lib/wchar.in.h (wcsxfrm): New declaration. + * lib/wcsxfrm.c: New file. + * lib/wcsxfrm-impl.h: New file. + * m4/wcsxfrm.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM. + * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm. + * doc/posix-functions/wcsxfrm.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcscoll'. + * modules/wcscoll: New file. + * lib/wchar.in.h (wcscoll): New declaration. + * lib/wcscoll.c: New file. + * lib/wcscoll-impl.h: New file. + * m4/wcscoll.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL. + * tests/test-wchar-c++.cc: Test the declaration of wcscoll. + * doc/posix-functions/wcscoll.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcsncasecmp'. + * modules/wcsncasecmp: New file. + * lib/wchar.in.h (wcsncasecmp): New declaration. + * lib/wcsncasecmp.c: New file. + * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications. + * m4/wcsncasecmp.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP, + HAVE_WCSNCASECMP. + * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp. + * doc/posix-functions/wcsncasecmp.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcscasecmp'. + * modules/wcscasecmp: New file. + * lib/wchar.in.h (wcscasecmp): New declaration. + * lib/wcscasecmp.c: New file. + * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications. + * m4/wcscasecmp.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP, + HAVE_WCSCASECMP. + * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp. + * doc/posix-functions/wcscasecmp.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcsncmp'. + * modules/wcsncmp: New file. + * lib/wchar.in.h (wcsncmp): New declaration. + * lib/wcsncmp.c: New file. + * lib/wcsncmp-impl.h: New file, from libutf8 with modifications. + * m4/wcsncmp.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP. + * tests/test-wchar-c++.cc: Test the declaration of wcsncmp. + * doc/posix-functions/wcsncmp.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcscmp'. + * modules/wcscmp: New file. + * lib/wchar.in.h (wcscmp): New declaration. + * lib/wcscmp.c: New file. + * lib/wcscmp-impl.h: New file, from libutf8 with modifications. + * m4/wcscmp.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP. + * tests/test-wchar-c++.cc: Test the declaration of wcscmp. + * doc/posix-functions/wcscmp.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcsncat'. + * modules/wcsncat: New file. + * lib/wchar.in.h (wcsncat): New declaration. + * lib/wcsncat.c: New file. + * lib/wcsncat-impl.h: New file, from libutf8 with modifications. + * m4/wcsncat.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT. + * tests/test-wchar-c++.cc: Test the declaration of wcsncat. + * doc/posix-functions/wcsncat.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcscat'. + * modules/wcscat: New file. + * lib/wchar.in.h (wcscat): New declaration. + * lib/wcscat.c: New file. + * lib/wcscat-impl.h: New file, from libutf8 with modifications. + * m4/wcscat.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT. + * tests/test-wchar-c++.cc: Test the declaration of wcscat. + * doc/posix-functions/wcscat.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcpncpy'. + * modules/wcpncpy: New file. + * lib/wchar.in.h (wcpncpy): New declaration. + * lib/wcpncpy.c: New file. + * lib/wcpncpy-impl.h: New file, from libutf8 with modifications. + * m4/wcpncpy.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY. + * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY. + * tests/test-wchar-c++.cc: Test the declaration of wcpncpy. + * doc/posix-functions/wcpncpy.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcsncpy'. + * modules/wcsncpy: New file. + * lib/wchar.in.h (wcsncpy): New declaration. + * lib/wcsncpy.c: New file. + * lib/wcsncpy-impl.h: New file, from libutf8 with modifications. + * m4/wcsncpy.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY. + * tests/test-wchar-c++.cc: Test the declaration of wcsncpy. + * doc/posix-functions/wcsncpy.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcpcpy'. + * modules/wcpcpy: New file. + * lib/wchar.in.h (wcpcpy): New declaration. + * lib/wcpcpy.c: New file. + * lib/wcpcpy-impl.h: New file, from libutf8 with modifications. + * m4/wcpcpy.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY. + * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY. + * tests/test-wchar-c++.cc: Test the declaration of wcpcpy. + * doc/posix-functions/wcpcpy.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcscpy'. + * modules/wcscpy: New file. + * lib/wchar.in.h (wcscpy): New declaration. + * lib/wcscpy.c: New file. + * lib/wcscpy-impl.h: New file, from libutf8 with modifications. + * m4/wcscpy.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY. + * tests/test-wchar-c++.cc: Test the declaration of wcscpy. + * doc/posix-functions/wcscpy.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcsnlen'. + * modules/wcsnlen: New file. + * lib/wchar.in.h (wcsnlen): New declaration. + * lib/wcsnlen.c: New file. + * lib/wcsnlen-impl.h: New file, from libutf8 with modifications. + * m4/wcsnlen.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN. + * tests/test-wchar-c++.cc: Test the declaration of wcsnlen. + * doc/posix-functions/wcsnlen.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcslen'. + * modules/wcslen: New file. + * lib/wchar.in.h (wcslen): New declaration. + * lib/wcslen.c: New file. + * lib/wcslen-impl.h: New file, from libutf8 with modifications. + * m4/wcslen.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN. + * tests/test-wchar-c++.cc: Test the declaration of wcslen. + * doc/posix-functions/wcslen.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wmemset'. + * modules/wmemset: New file. + * lib/wchar.in.h (wmemset): New declaration. + * lib/wmemset.c: New file. + * lib/wmemset-impl.h: New file, from libutf8 with modifications. + * m4/wmemset.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET. + * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET. + * tests/test-wchar-c++.cc: Test the declaration of wmemset. + * doc/posix-functions/wmemset.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wmemmove'. + * modules/wmemmove: New file. + * lib/wchar.in.h (wmemmove): New declaration. + * lib/wmemmove.c: New file. + * lib/wmemmove-impl.h: New file, from libutf8 with modifications. + * m4/wmemmove.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE. + * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE, + HAVE_WMEMMOVE. + * tests/test-wchar-c++.cc: Test the declaration of wmemmove. + * doc/posix-functions/wmemmove.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wmemcpy'. + * modules/wmemcpy: New file. + * lib/wchar.in.h (wmemcpy): New declaration. + * lib/wmemcpy.c: New file. + * lib/wmemcpy-impl.h: New file, from libutf8 with modifications. + * m4/wmemcpy.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY. + * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY. + * tests/test-wchar-c++.cc: Test the declaration of wmemcpy. + * doc/posix-functions/wmemcpy.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wmemcmp'. + * modules/wmemcmp: New file. + * lib/wchar.in.h (wmemcmp): New declaration. + * lib/wmemcmp.c: New file. + * lib/wmemcmp-impl.h: New file, from libutf8 with modifications. + * m4/wmemcmp.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP. + * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP. + * tests/test-wchar-c++.cc: Test the declaration of wmemcmp. + * doc/posix-functions/wmemcmp.texi: Mention the new module. + +2011-02-07 Jim Meyering + + di-set, ino-map: new modules, from coreutils + * lib/di-set.c: New file. + * lib/di-set.h: Likewise. + * lib/ino-map.c: Likewise. + * lib/ino-map.h: Likewise. + * modules/di-set: Likewise. + * modules/di-set-tests: Likewise. + * modules/ino-map: Likewise. + * modules/ino-map-tests: Likewise. + * tests/test-di-set.c: Likewise. + * tests/test-ino-map.c: Likewise. + +2011-02-06 Paul Eggert + + getloadavg: merge minor changes from Emacs + + * lib/getloadavg.c (getloadavg_initialized): More-accurate comment. + (getloadavg): Use memset, not bzero. + + 2008-07-25 Chong Yidong + * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h + clash (bug#86). + +2010-11-14 Bruno Haible + + Allow multiple gnulib generated replacements to coexist. + * lib/getopt.in.h (struct option): Avoid identical redefinition. + * lib/inttypes.in.h (imaxdiv_t): Likewise. + * lib/langinfo.in.h (nl_item): Likewise. + * lib/math.in.h (_NaN, NAN): Likewise. + * lib/netdb.in.h (struct addrinfo): Likewise. + * lib/poll.in.h (struct pollfd, nfds_t): Likewise. + * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t, + pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t, + pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t, + pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy, + pthread_cond_init, pthread_cond_signal, pthread_cond_wait, + pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy, + pthread_mutexattr_init, pthread_mutexattr_settype, + pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock, + pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t, + pthread_spin_init, pthread_spin_destroy, pthread_spin_lock, + pthread_spin_trylock, pthread_spin_unlock): Likewise. + * lib/sched.in.h (struct sched_param): Likewise. + * lib/se-selinux.in.h (security_class_t, security_context_t, + is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon, + matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon, + lsetfilecon, fsetfilecon, security_check_context, + security_check_context_raw, setexeccon, matchpathcon_init_prefix): + Likewise. + * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn): + Likewise. + * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint, + _gl_function_taking_int_returning_void_t, union sigval, + struct siginfo_t, siginfo_t, struct sigaction): Likewise. + * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t, + verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise. + * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t, + gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t, + uint_least8_t, int_least16_t, uint_least16_t, int_least32_t, + uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t, + gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t, + gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t, + gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise. + * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise. + * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage, + socklen_t, rpl_fd_isset): Likewise. + * lib/sys_stat.in.h (rpl_mkdir): Likewise. + * lib/sys_time.in.h (struct timeval): Likewise. + * lib/sys_times.in.h (struct tms): Likewise. + * lib/sys_utsname.in.h (struct utsname): + * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise. + * lib/unistd.in.h (getpagesize): Likewise. + * lib/wchar.in.h (mbstate_t): Likewise. + * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, + iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, + towlower, towupper): Likewise. + Reported by Sam Steingold . + +2011-02-05 Eric Blake + + unsetenv: work around Haiku issues + * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue. + * doc/posix-functions/unsetenv.texi (unsetenv): Document it. + +2010-12-30 Bruce Korb + + libposix: avoid calling error() within libposix + * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX + is defined. + +2011-02-05 Eric Blake + + strerror_r-posix: port to cygwin + * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin + implementation. + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment. + * tests/test-strerror_r.c (main): Fix test. + * doc/posix-functions/strerror_r.texi (strerror_r): Document the + issue. + +2011-02-05 Bruno Haible + + New module 'wmemchr'. + * modules/wmemchr: New file. + * lib/wchar.in.h (wmemchr): New declaration. + * lib/wmemchr.c: New file. + * lib/wmemchr-impl.h: New file, from libutf8 with modifications. + * m4/wmemchr.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR. + * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR. + * tests/test-wchar-c++.cc: Test the declaration of wmemchr. + * doc/posix-functions/wmemchr.texi: Mention the new module. + +2011-02-04 Eric Blake + + fdopendir: detect FreeBSD bug + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug. + * doc/posix-functions/fdopendir.texi (fdopendir): Document it. + +2011-02-04 Paul Eggert + + stdbool: do not define HAVE_STDBOOL_H + * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from + AC_HEADER_STDBOOL. All uses changed. Do not define + HAVE_STDBOOL_H, as gnulib does not need this. This change is + imported from the latest Autoconf git. It was motivated by Emacs, + which uses gnulib but does not need HAVE_STDBOOL_H. + +2011-02-04 Bruno Haible + + wcsnrtombs: Prepare for new module wwcsnrtombs. + * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c. + * lib/wcsnrtombs.c: Include it. + * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h. + + wcsrtombs: Prepare for new module wwcsrtombs. + * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c. + * lib/wcsrtombs.c: Include it. + * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h. + + mbsnrtowcs: Prepare for new module mbsnrtowwcs. + * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c. + * lib/mbsnrtowcs.c: Include it. + * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h. + + mbsrtowcs: Prepare for new module mbsrtowwcs. + * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c. + * lib/mbsrtowcs.c: Include it. + * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h. + +2011-02-04 Bruno Haible + + vasnprintf: Reduce use of malloc for small format strings. + * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro. + (arguments): Add room for the first 7 arguments. + * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro. + (char_directives, u8_directives, u16_directives, u32_directives): Add + room for the first 7 directives. + * lib/printf-parse.c: Include . + (PRINTF_PARSE): Change memory handling code so that it uses the first + 7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct. + * lib/vasnprintf.c (VASNPRINTF): Update memory handling code. + Reported by Pádraig Brady . + +2011-01-31 Eric Blake + + dup2: work around Haiku bug + * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug. + * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround. + * doc/posix-functions/dup2.texi (dup2): Document the bug. + * tests/test-dup2.c (main): Enhance test. + +2011-01-31 Simon Josefsson + + doc: off_t is not available in eglibc 2.11.2 stdio.h. + * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't + declared by eglibc 2.11.2. + * lib/stdio.in.h: Likewise. + +2011-01-31 Eric Blake + + ignore-value: add missing test dependency + * tests/test-ignore-value.c: Revert previous change; stdio.h + provides off_t. + * modules/ignore-value-tests (Depends-on): Add missing dependency. + +2011-01-30 Paul Eggert + + mktime: clarify long_int width checking + * lib/mktime.c (long_int_is_wide_enough): Move this assertion to + the top level, to make it clearer that the assumption about + long_int width is being checked. See + . + +2011-01-30 Simon Josefsson + + ignore-value: Fix self-test. + * tests/test-ignore-value.c: Include sys/types.h for off_t. + +2011-01-29 Paul Eggert + + TYPE_MAXIMUM: avoid theoretically undefined behavior + * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a + negative number, which the C Standard says has undefined behavior. + In practice this is not a problem, but might as well do it by the book. + Reported by Rich Felker and Eric Blake; see + . + * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise. + * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise. + * m4/stdint.m4 (gl_STDINT_H): Likewise. + * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others. + + mktime: #undef mktime before #defining it + * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it. + + mktime: systematically normalize tm_isdst comparisons + * lib/mktime.c (isdst_differ): New function. + (__mktime_internal): Use it systematically for all isdst comparisons. + This completes the fix for libc BZ #6723, and removes the need for + normalizing tm_isdst. See + + (not_equal_tm) [DEBUG]: Use isdst_differ here, too. + + mktime: fix some integer overflow issues and sidestep the rest + + This was prompted by a bug report by Benjamin Lindner for MinGW + . + His bug is due to signed integer overflow (0 - INT_MIN), and I + I scanned through mktime.c looking for other integer overflow + problems, fixing all the bugs I found. + + Although the C Standard says the resulting code is still not safe + in the presence of integer overflow, in practice it should be good + enough for all real-world two's-complement implementations, except + for debugging environments that deliberately trap on integer + overflow (e.g., gcc -ftrapv). + + * lib/mktime.c (WRAPV): New macro. + (SHR): Also check that long_int and time_t shift right in the + usual way, before using the fast-but-unportable method. + (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer + used. The code already assumed two's complement, so there's + no need to test for alternatives. All uses removed. + (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by + the C standard. Problem reported by Rich Felker in + . + (twos_complement_arithmetic): Also check long_int and time_t. + (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions. + (guess_time_tm, ranged_convert, __mktime_internal): Use them. + (__mktime_internal): Avoid integer overflow with unary subtraction + in two instances where -1 - X is an adequate replacement for -X, + since the calculations are approximate. + +2011-01-29 Eric Blake + + mktime: avoid infinite loop + * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed + type; behavior is still undefined but portable to all known targets. + Reported by Rich Felker. + +2011-01-29 Simon Josefsson - Multipath: add support for six options in the defaults section: dev_loss_tmo, max_polling_interval, verbosity, reassign_maps, fast_io_fail_tmo, async_timeout - Fixes ticket #207 + rename, unlink, same-inode: Relicense. + * modules/rename (License): Relax from LGPLv3+ to LGPLv2+. + * modules/unlink (License): Likewise. + * modules/same-inode (License): Likewise. + +2011-01-28 Paul Eggert -2011-09-12 Raphaël Pinson + mktime: avoid problems on NetBSD 5 / i386 + * lib/mktime.c (long_int): New type. This works around a problem + on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits + but time_t is 64 bits, and where I expect the existing code is + wrong in some cases. + (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it. + (ydhms_diff): Bring back the compile-time check for wide-enough + year and yday. - Support more ranges in cron.aug + mktime: fix misspelling in comment + * lib/mktime.c (__mktime_internal): Fix misspelling in comment. + This merges all recent glibc changes of importance. - Flags also can be indented in mysql.aug +2011-01-28 Ralf Wildenhues -2011-09-09 Raphaël Pinson + move-if-change: cope with concurrent mv of identical file. + * build-aux/move-if-change (CMPPROG): Accept environment + variable as an override for `cmp'. + (usage): Document CMPPROG. + Adjust comparison to drop stdout. Cope with failure of mv if + the target file exists and is identical to the source, for + parallel builds. + Report from H.J. Lu against binutils in PR binutils/12283. - Allow indented entries in php.aug +2011-01-28 Bruce Korb - { can be followed by spaces in xinetd.aug + * users.txt: Mention sharutils. - Allow indented entries in mysql.aug +2011-01-28 Simon Josefsson - Allow empty lines after includedir + * users.txt: Mention OATH Toolkit. - includedir statements are not part of sections in mysql.aug +2011-01-27 Bruno Haible -2011-09-07 Raphaël Pinson + Prepare for supporting FreeBSD 10. + * build-aux/config.libpath: Remove handling of freebsd1*. - Hooks without any lines are valid in logrotate.aug +2011-01-27 Gerald Pfeifer (tiny change) - Allow spaces after 'endscript' in logrotate.aug + Prepare for supporting FreeBSD 10. + * build-aux/config.rpath: Remove handling of freebsd1* which soon would + match FreeBSD 10.0. -2011-09-06 Raphaël Pinson +2011-01-27 Bruno Haible - Various fixes in bbhosts.aug + vma-iter, get-rusage-as: Add OpenBSD support. + * modules/vma-iter (configure.ac): Test for mquery. + * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD. + * lib/vma-iter.c: Include . + (vma_iterate): Add an implementation based on mquery(). + * lib/resource-ext.h (get_rusage_as): Update comments. + * lib/get-rusage-as.c: Likewise. + * lib/get-rusage-data.c: Likewise. - Fix empty lines support in fai_diskconfig.aug +2011-01-26 Karl Berry -2011-09-05 Raphaël Pinson + * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new + variables to make it easier to override the makeinfo program used. - Add functionalities, refactor volume by type of disk_config entry and add tests to fai_diskconfig.aug +2011-01-26 Eric Blake -2011-09-01 David Lutterkort + fcntl: work around Haiku F_DUPFD bugs + * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug. + * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing + cloexec bit on duplication. + * doc/posix-functions/fcntl.texi (fcntl): Document the bug. - * src/pathx.c (nodeset_as_regexp): match nothing if nodeset is empty - This makes sure that constructs like 'glob(no_such_node)' or - 'regexp(no_such_node)' in path expressions never match anything, which is a - better default than the empty regexp that was produced before. +2011-01-26 Bruno Haible -2011-09-01 Francis Giraldeau + Enable memory leak tests on AIX. + * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX. + * tests/test-fprintf-posix3.c (main): Likewise. - Fix run single command with autosave - This patch fixes autosave in the case only one command is provided as - arguments and adds a test that checks proper handling of this case. +2011-01-26 Bruno Haible -2011-08-31 Francis Giraldeau + Tests for module 'get-rusage-data'. + * modules/get-rusage-data-tests: New file. + * tests/test-get-rusage-data.c: New file. - Disable autoload transform for the fai_diskconfig - Autoload transform with only standard exclude makes failing the glob_for_lens - xpath test. fai_diskconfig does this. As a temporary fix, we disable transform - from fai_diskconfig. + New module 'get-rusage-data'. + * lib/resource-ext.h (get_rusage_data): New declaration. + * lib/get-rusage-data.c: New file. + * modules/get-rusage-data: New file. -2011-08-31 Francis Giraldeau +2011-01-25 Bruno Haible - Adding ssh client lens - This lens parses the client side configuration directives of ssh. + get-rusage-as: Allow for easier testing. + * lib/resource-ext.h (get_rusage_as): Add comment. + * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always. + (main): New function for interactive testing. - Thanks to Jiri Suchomel for this contribution. +2011-01-25 Bruno Haible -2011-08-30 Raphaël Pinson + vma-iter: Treat Haiku like BeOS. + * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well. + * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API. - Add fai_diskconfig.aug and test +2011-01-25 Eric Blake - Allow semicolons in shellvars.aug, add non regression test + c-stack: fix regression on cygwin when libsigsegv is present + * lib/c-stack.c (die): Don't flatten error if sigsegv is present. -2011-08-21 Francis Giraldeau +2011-01-24 Bruno Haible - New stunnel lens - Stunnel provides SSL tunnel for daemons. The configuration is based on the ini - file syntax. + vma-iter: Avoid empty intervals. + * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback + on an empty interval. - Thanks to Oliver Beattie that contributed this lens. +2011-01-24 Jim Meyering -2011-08-16 David Lutterkort + u64: remove unnecessary #include + * lib/u64.h: Don't include . It was not used. - Fix uses of Spacevars as a utility module - - add Build.key_ws_value to do the same as Spacevars.entry - - expand uses of (Spacevars.lns l) into the more explicit (comment|empty|l)* +2011-01-23 Paul Eggert - This fixes test breakage introduced by commit 4840c7ab + Allow the user to avoid the HAVE_RAW_DECL_* macros. + * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro. -2011-08-11 Francis Giraldeau +2011-01-23 Bruno Haible - Proper test for eolwhite space handling - By reformating eol of pupperfileserver test, it's possible to make both git and - unit test working. + New module 'vma-iter'. + * lib/vma-iter.h: New file. + * lib/vma-iter.c: New file, based on lib/get-rusage-as.c. + * modules/vma-iter: New file. + * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers + for get_rusage_as_via_iterator. + (vma_iterate_callback): New function. + (get_rusage_as_via_iterator): Rewritten to use vma_iterate. + * modules/get-rusage-as (Depends-on): Add vma-iter. -2011-08-11 Francis Giraldeau +2011-01-23 Bruno Haible - Remove trailing white spaces from puppet test - Trailing white lines are valid in a puppet file, but the test is rejected when - pushing to master git repository. + uninorm: Tweak includes. + * lib/uninorm/normalize-internal.h: Don't include . + Reported by Jim Meyering. - remote: lenses/tests/test_puppetfileserver.aug:20: trailing whitespace. - remote: +allow * - remote: error: hook declined to update refs/heads/master - ! [remote rejected] master -> master (hook declined) +2011-01-23 Bruno Haible - Removing white space for now. + get-rusage-as: Improve on NetBSD. + * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use + /proc, like on FreeBSD. -2011-08-11 Dominic Cleal +2011-01-23 Jim Meyering + + xreadlink.h: remove unnecessary #include + * lib/xreadlink.h: Don't include . It was not used. + + maint.mk: add syntax-check rule: detect unnecessary #include + * top/maint.mk (sc_prohibit_stddef_without_use): New rule. + +2011-01-23 Bruno Haible - PuppetFileserver: support same-line comments and trailing whitespace (2.7.3rc1) - Fixes ticket #214 + get-rusage-as: Fix bug. + * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the + original limit when aborting the first loop. + +2011-01-23 Bruno Haible + + wctype: Ensure valid C syntax. + * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS + unconditionally, instead of gl_NEXT_HEADERS conditionally. + +2011-01-21 Paul Eggert + + getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the + symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h, + as they are needed only for configure's test case. + This removes two unnecessary symbols from config.h. + + gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE + * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke + AC_CHECK_HEADERS_ONCE on a header that we also invoke + gl_CHECK_NEXT_HEADERS on, since the latter invokes the former. + * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise. + * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise. + * m4/sched_h.m4 (gl_SCHED_H): Likewise. + * m4/search_h.m4 (gl_SEARCH_H): Likewise. + * m4/spawn_h.m4 (gl_SPAWN_H): Likewise. + * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise. + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. + * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise. + * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise. + * m4/termios_h.m4 (gl_TERMIOS_H): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. + * m4/wchar_h.m4 (gl_WCHAR_H): Likewise. + * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise. + +2011-01-21 Eric Blake -2011-08-10 David Lutterkort + maintainer-makefile: work with older git for submodule check + * top/maint.mk (public-submodule-commit): Rewrite to avoid + merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks. + Reported by Matthias Bolte. + + bootstrap: minor portability fixes + * build-aux/bootstrap (me): Use $me instead of $0 in functions. + (usage): Omit leading capital and trailing . on help phrases, per + GNU Coding Standards. + (check_versions, top level): Prefix messages with script name. + +2011-01-21 Benjamin Lindner (tiny change) + + bootstrap: support --no-git option + * build-aux/bootstrap: Add --no-git option, to be used when + --gnulib-srcdir points to the exact desired checkout. + +2011-01-21 Eric Blake + + strerror_r-posix: work with glibc 2.13 + * lib/strerror_r.c (strerror_r): Fix return type. + +2011-01-21 Pádraig Brady + Bruno Haible + + uN_strstr: New unit tests. + * modules/unistr/u8-strstr-tests: New file. + * modules/unistr/u16-strstr-tests: New file. + * modules/unistr/u32-strstr-tests: New file. + * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c. + * tests/unistr/test-u8-strstr.c: New file. + * tests/unistr/test-u16-strstr.c: New file. + * tests/unistr/test-u32-strstr.c: New file. + +2011-01-21 Pádraig Brady + Bruno Haible + + Make uN_strstr functions O(n) worst-case. + * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the + 16-bit and 32-bit unit cases, use the unibyte algorithm from + lib/mbsstr.c. + * lib/unistr/u8-strstr.c: Include . + (UNIT_IS_UINT8_T): New macro. + * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h. + (U_STRLEN, U_STRNLEN): New macros. + * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h. + (U_STRLEN, U_STRNLEN): New macros. + * modules/unistr/u8-strstr (Depends-on): Add strstr. + (configure.ac): Update required libunistring version. + * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h. + (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool, + malloca. + (configure.ac): Update required libunistring version. + * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h. + (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool, + malloca. + (configure.ac): Update required libunistring version. + +2011-01-21 Pádraig Brady + Bruno Haible + + Prepare for faster uN_strstr functions. + * lib/str-kmp.h: Support definable UNITs. + (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add + needle_len argument. + * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h. + * lib/mbscasestr.c (mbscasestr): Likewise. + +2011-01-21 Pádraig Brady + + malloca-tests: make faster by unsetting MALLOC_PERTURB_ + * tests/test-malloca.c (main): Unset the environment variable + to greatly speed up the test. + * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap. + * modules/malloca-tests: Depend on unsetenv. + +2011-01-21 Pádraig Brady + + ignore-value: remove stdint dependency + * lib/ignore-value.h: Remove + * modules/ignore-value: Remove stdint dependency. + +2011-01-21 Jim Meyering + + maint.mk: adjust variable name to be consistent with other gl_ vars + * top/maint.mk (gl_public_submodule_commit): Rename the variable + to be lower case. + +2011-01-20 Jim Meyering + + maint.mk: make "check" depend on public-submodule-commit by default + * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable. + +2011-01-20 Bruno Haible + + mbfile, mbiter: Complete change from 2008-12-21. + * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC. + * m4/mbiter.m4 (gl_MBITER): Likewise. + +2011-01-20 Jim Meyering + + init.sh: insert space between each function name and "()" + * tests/init.sh: Make it a little easier to see that a function's + name is "warn_", and not "warn" when looking at the first part of + its definition: "warn_ ()". Suggested by Ralf Wildenhues. + +2011-01-20 Jim Meyering + + mountlist: clean up code formatting + * lib/mountlist.c (read_file_system_list): Split a long line, + correct bracing style, use NULL in place of "(struct statfs *)0", + don't parenthesize return value, add spaces around "=" and after + ";-in-for-stmt". + +2011-01-14 Markus Duft + + mountlist: add support for Interix + * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]: + Apply statvfs to all entries of /dev/fs. + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs, + and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS. + +2011-01-20 Jim Meyering + + maint.mk: improve the public-submodule-commit rule + * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN), + to suppress printing of its commands... unless V=1. + Add git submodule's --quiet option to suppress printing of e.g., + "Entering gnulib" output. + "cd" into $(srcdir) before running git submodule. + +2011-01-20 Bruno Haible + + include_next: Fix bug introduced on 2011-01-18. + * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted + from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of + ac_cv_header_... variable if the second argument is not 'check'. + (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke + gl_NEXT_HEADERS_INTERNAL. + +2011-01-20 Bruno Haible + + Allow the user to avoid the GNULIB_TEST_* macros. + * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro. + Suggested by Paul Eggert. + +2011-01-14 Jim Meyering + + bootstrap: avoid failure when there is no .gitmodules file + ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable + has been assigned to, even when its value is the empty string. + * build-aux/bootstrap (gnulib_path): Test explicitly for an empty + "$gnulib_path", rather than using ${gnulib_path=gnulib}. + Reported by John W. Eaton . + +2011-01-19 Paul Eggert + + 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. + * lib/flock.c: Assume exists. + * lib/regex_internal.h: Assume exists. + * m4/ctype.m4 (gl_CTYPE_H): Assume exists. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume exists. + * m4/fcntl_h.m4 (gl_FCNTL_H): Assume exists. + * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise. + * m4/locale_h.m4 (gl_LOCALE_H): Assume exists. + * m4/regex.m4 (gl_REGEX): Likewise. + * m4/signal_h.m4 (gl_SIGNAL_H): Assume exists. + * m4/stdio_h.m4 (gl_STDIO_H): Assume exists. + * m4/stdlib_h.m4 (gl_STDLIB_H): Assume exists. + * m4/string_h.m4 (gl_STRING_H): Assume exists. + * tests/test-argp.c: Likewise. + * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume exists. + + multiarch: remove AA_APPLE_UNIVERSAL_BUILD + * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE + AA_APPLE_UNIVERSAL_BUILD. See + . + * NEWS: Document this. + +2011-01-19 Eric Blake + + c-stack: assume stack overflow if SA_SIGINFO unsupported + * lib/c-stack.c (SIGACTION_WORKS): Rename... + (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of + sigaction will work. + (die): Assume stack overflow if siginfo doesn't work, to let Haiku + behavior match Linux. + * tests/test-c-stack.c (main): Prefer NULL for pointers. + + stdbool-tests: accommodate Haiku + * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool. + + binary-io: fix O_TEXT on Haiku + * modules/binary-io (Depends-on): Add fcntl-h. + * lib/binary-io.h (O_TEXT): Rely on replacement rather + than blindly undefining O_TEXT. + Reported by Scott McCreary. + +2011-01-18 Paul Eggert + + include_next: do not check for standard headers like stddef.h + + I found this problem when modifying Emacs to use gnulib. + I noticed that it added HAVE_STDDEF_H to config.h, even though + gnulib always assumes exists as per README and this + symbol is unnecessary. + * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not + use AC_CHECK_HEADERS_ONCE, but which otherwise contains what + gl_CHECK_NEXT_HEADERS used to contain. This makes 'configure' run + faster for headers like stddef.h that are known to exist. + (gl_CHECK_NEXT_HEADERS): Use it. + * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS + rather than gl_CHECK_NEXT_HEADERS. + * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h. + * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h. + +2011-01-18 Eric Blake + + ansi-c++-opt: skip C++ dependency style if C++ is unused + * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency + tests when we know C++ compilation is not desired. + Reported by Scott McCreary. + +2011-01-18 Bruno Haible + + *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin. + * tests/test-fprintf-posix3.c: Include "resource-ext.h". + (main): Perform test also when getrlimit and setrlimit don't exist or + when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of + limiting the address space size using setrlimit, compare the address + space size before and after the the test. + * tests/test-dprintf-posix2.c: Likewise. + * tests/test-fprintf-posix3.sh: Update skip messages. + * tests/test-dprintf-posix2.sh: Likewise. + * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as. + * modules/dprintf-posix-tests (Depends-on): Likewise. + Reported by Bruce Korb and + Gary V. Vaughan . + +2011-01-18 Bruno Haible + + get-rusage-as: Improvement for Cygwin. + * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore + areas that are merely reserved. + +2011-01-18 Paul Eggert + + strftime: remove dependencies on multibyte modules + + strftime depended on mbrlen, mbsinit, and wchar, but these modules + are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true + only if __osf__ is defined, and I suspect OSF doesn't need these + other modules. If my guess is wrong, we'll need to come up with a + variant of strftime that doesn't need the multibyte modules. + + I discovered this problem when attempting modify Emacs to use the + strftime module. With the previous gnulib, this caused Emacs to + need 31 new files, ranging from lib/config.charset to + m4/wint_t.m4. This was overkill and I expect would be offputting + to the Emacs maintainers. After this change, only 6 new files are + needed, namely strftime.[ch], srtftime.m4, stdbool.in.h, + stdbool.m4, and tm_gmtoff.m4. + + * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always. + Suggested by Bruno Haible in + . + * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T, + and do not check for wchar.h. + * modules/strftime (Files): Remove m4/mbstate_t.m4. + (Depends-on): Remove mbrlen, mbsinit, wchar. + +2011-01-18 Bruno Haible + + Tests for module 'get-rusage-as'. + * modules/get-rusage-as-tests: New file. + * tests/test-get-rusage-as.c: New file. + + New module 'get-rusage-as'. + * modules/get-rusage-as: New file. + * lib/resource-ext.h: New file. + * lib/get-rusage-as.c: New file. + +2011-01-17 Eric Blake + + sigaction: relax license from LGPLv3+ to LGPLv2+ + * modules/sigaction (License): Relax to LGPLv2+. + +2011-01-14 Bruno Haible + + filemode: Make function declarations usable in C++ mode. + * lib/filemode.h: Enclose function declarations in extern "C" block. + Reported by John W. Eaton . + +2011-01-12 Rob Vermaas + + save-cwd: no longer include "xgetcwd.h" + * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used. + This avoids a compilation failure in projects that use save-cwd + without also using the xgetcwd module. + +2011-01-11 Paul Eggert + + ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr + This is so that a program like Emacs, which needs only dtoastr, + does not have to bother with distributing and compiling ftoastr + and ldtoastr. + * MODULES.html.sh: Document these modules (ftoastr wasn't documented). + * modules/dtoastr, modules/ldtoastr: New files. + * modules/ftoastr: Now works just for 'float'. + (Files): Remove lib/dtoastr.c, lib/ldtoastr.c. + (Makefile.am): Remove ftoastr.h (not needed and no effect), + dtoastr.c, ldtoastr.c. + +2011-01-11 Jim Meyering + + save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module + There is no need to work around the lack of the fchdir function, + since gnulib can now provide a replacement when required. + * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code. + * modules/save-cwd (Depends-on): Add fchdir. + +2011-01-11 Paul Eggert + + openat, save-cwd: avoid xmalloc + + This removes a direct (but undocumented) dependency of openat on + xalloc, along with an indirect dependency via save-cwd. It also + removes a dependency of save-cwd on xgetcwd, and thereby + indirectly on xalloc. This change causes the openat substitute + to fall back on save_cwd when memory is tight, and for save_cwd to + fail instead of dying when memory is tight, but that's good enough. + Problem and initial idea for fix reported by Bastien Roucaries in + . + + * lib/openat-proc.c: Include stdlib.h (for malloc), not + xalloc.h (for xmalloc). + (openat_proc_name): Use malloc, not xmalloc. + * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd. + * modules/save-cwd (Files): Depend on getcwd, not xgetcwd. + + openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024 + This avoids heap allocation for file names whose lengths are in + the range 512..1023, with the upper bound increasing to at most + 4031 depending on the platform's PATH_MAX. (We do not want + pathmax.h here as it might supply a non-constant PATH_MAX.) + * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros. + Perhaps they should be moved to malloca.h? + (OPENAT_BUFFER_SIZE): Use them. + +2011-01-10 Bruno Haible + + doc: Update users.txt. + * users.txt: Add recutils. + +2011-01-09 Karl Berry + + * doc/posix-functions/gai_strerror.texi: Insert missing @item. + + * doc/configmake.texi: New file. + * doc/gnulib.texi: Include it. + * modules/configmake: Move documentation from here. + +2011-01-09 Bruno Haible + + Update to Unicode 6.0.0. + * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes. + (get_lbp): Update for Unicode 6.0.0. + * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F, + U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E, + U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F, + U+11001, U+11038..U+11046. Remove U+06DE. + (uc_width): Fix bounds of planes. + * tests/uniwidth/test-uc_width2.sh: Same updates as in + lib/uniwidth/width.c. + * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with + trailing whitespace removed. + * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0, + without comments, but with the original copyright notice. + * lib/unicase/cased.h: Regenerated for Unicode 6.0.0. + * lib/unicase/ignorable.h: Likewise. + * lib/unicase/tocasefold.h: Likewise. + * lib/unicase/tolower.h: Likewise. + * lib/unicase/totitle.h: Likewise. + * lib/unicase/toupper.h: Likewise. + * lib/unictype/bidi_of.h: Likewise. + * lib/unictype/blocks.h: Likewise. + * lib/unictype/categ_C.h: Likewise. + * lib/unictype/categ_Cn.h: Likewise. + * lib/unictype/categ_L.h: Likewise. + * lib/unictype/categ_Ll.h: Likewise. + * lib/unictype/categ_Lm.h: Likewise. + * lib/unictype/categ_Lo.h: Likewise. + * lib/unictype/categ_Lu.h: Likewise. + * lib/unictype/categ_M.h: Likewise. + * lib/unictype/categ_Mc.h: Likewise. + * lib/unictype/categ_Me.h: Likewise. + * lib/unictype/categ_Mn.h: Likewise. + * lib/unictype/categ_N.h: Likewise. + * lib/unictype/categ_Nd.h: Likewise. + * lib/unictype/categ_No.h: Likewise. + * lib/unictype/categ_P.h: Likewise. + * lib/unictype/categ_Po.h: Likewise. + * lib/unictype/categ_S.h: Likewise. + * lib/unictype/categ_Sc.h: Likewise. + * lib/unictype/categ_Sk.h: Likewise. + * lib/unictype/categ_Sm.h: Likewise. + * lib/unictype/categ_So.h: Likewise. + * lib/unictype/categ_of.h: Likewise. + * lib/unictype/combining.h: Likewise. + * lib/unictype/ctype_alnum.h: Likewise. + * lib/unictype/ctype_alpha.h: Likewise. + * lib/unictype/ctype_graph.h: Likewise. + * lib/unictype/ctype_lower.h: Likewise. + * lib/unictype/ctype_print.h: Likewise. + * lib/unictype/ctype_punct.h: Likewise. + * lib/unictype/ctype_upper.h: Likewise. + * lib/unictype/decdigit.h: Likewise. + * lib/unictype/digit.h: Likewise. + * lib/unictype/numeric.h: Likewise. + * lib/unictype/pr_alphabetic.h: Likewise. + * lib/unictype/pr_bidi_arabic_digit.h: Likewise. + * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise. + * lib/unictype/pr_bidi_boundary_neutral.h: Likewise. + * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise. + * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise. + * lib/unictype/pr_bidi_left_to_right.h: Likewise. + * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise. + * lib/unictype/pr_bidi_other_neutral.h: Likewise. + * lib/unictype/pr_case_ignorable.h: Likewise. + * lib/unictype/pr_cased.h: Likewise. + * lib/unictype/pr_changes_when_casefolded.h: Likewise. + * lib/unictype/pr_changes_when_casemapped.h: Likewise. + * lib/unictype/pr_changes_when_lowercased.h: Likewise. + * lib/unictype/pr_changes_when_titlecased.h: Likewise. + * lib/unictype/pr_changes_when_uppercased.h: Likewise. + * lib/unictype/pr_combining.h: Likewise. + * lib/unictype/pr_composite.h: Likewise. + * lib/unictype/pr_currency_symbol.h: Likewise. + * lib/unictype/pr_decimal_digit.h: Likewise. + * lib/unictype/pr_deprecated.h: Likewise. + * lib/unictype/pr_format_control.h: Likewise. + * lib/unictype/pr_grapheme_base.h: Likewise. + * lib/unictype/pr_grapheme_extend.h: Likewise. + * lib/unictype/pr_grapheme_link.h: Likewise. + * lib/unictype/pr_id_continue.h: Likewise. + * lib/unictype/pr_id_start.h: Likewise. + * lib/unictype/pr_ideographic.h: Likewise. + * lib/unictype/pr_lowercase.h: Likewise. + * lib/unictype/pr_math.h: Likewise. + * lib/unictype/pr_numeric.h: Likewise. + * lib/unictype/pr_other_alphabetic.h: Likewise. + * lib/unictype/pr_other_id_continue.h: Likewise. + * lib/unictype/pr_other_math.h: Likewise. + * lib/unictype/pr_punctuation.h: Likewise. + * lib/unictype/pr_sentence_terminal.h: Likewise. + * lib/unictype/pr_terminal_punctuation.h: Likewise. + * lib/unictype/pr_unassigned_code_value.h: Likewise. + * lib/unictype/pr_unified_ideograph.h: Likewise. + * lib/unictype/pr_uppercase.h: Likewise. + * lib/unictype/pr_xid_continue.h: Likewise. + * lib/unictype/pr_xid_start.h: Likewise. + * lib/unictype/scripts.h: Likewise. + * lib/unictype/scripts_byname.gperf: Likewise. + * lib/unictype/sy_java_ident.h: Likewise. + * lib/unigbrk/gbrkprop.h: Likewise. + * lib/unilbrk/lbrkprop1.h: Likewise. + * lib/unilbrk/lbrkprop2.h: Likewise. + * lib/uninorm/decomposition-table2.h: Likewise. + * lib/uniwbrk/wbrkprop.h: Likewise. + * tests/unicase/test-cased.c: Likewise. + * tests/unicase/test-ignorable.c: Likewise. + * tests/unicase/test-uc_tolower.c: Likewise. + * tests/unicase/test-uc_totitle.c: Likewise. + * tests/unicase/test-uc_toupper.c: Likewise. + * tests/unictype/test-categ_C.c: Likewise. + * tests/unictype/test-categ_Cn.c: Likewise. + * tests/unictype/test-categ_L.c: Likewise. + * tests/unictype/test-categ_Ll.c: Likewise. + * tests/unictype/test-categ_Lm.c: Likewise. + * tests/unictype/test-categ_Lo.c: Likewise. + * tests/unictype/test-categ_Lu.c: Likewise. + * tests/unictype/test-categ_M.c: Likewise. + * tests/unictype/test-categ_Mc.c: Likewise. + * tests/unictype/test-categ_Me.c: Likewise. + * tests/unictype/test-categ_Mn.c: Likewise. + * tests/unictype/test-categ_N.c: Likewise. + * tests/unictype/test-categ_Nd.c: Likewise. + * tests/unictype/test-categ_No.c: Likewise. + * tests/unictype/test-categ_P.c: Likewise. + * tests/unictype/test-categ_Po.c: Likewise. + * tests/unictype/test-categ_S.c: Likewise. + * tests/unictype/test-categ_Sc.c: Likewise. + * tests/unictype/test-categ_Sk.c: Likewise. + * tests/unictype/test-categ_Sm.c: Likewise. + * tests/unictype/test-categ_So.c: Likewise. + * tests/unictype/test-ctype_alnum.c: Likewise. + * tests/unictype/test-ctype_alpha.c: Likewise. + * tests/unictype/test-ctype_graph.c: Likewise. + * tests/unictype/test-ctype_lower.c: Likewise. + * tests/unictype/test-ctype_print.c: Likewise. + * tests/unictype/test-ctype_punct.c: Likewise. + * tests/unictype/test-ctype_upper.c: Likewise. + * tests/unictype/test-decdigit.h: Likewise. + * tests/unictype/test-digit.h: Likewise. + * tests/unictype/test-numeric.h: Likewise. + * tests/unictype/test-pr_alphabetic.c: Likewise. + * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise. + * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise. + * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise. + * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise. + * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise. + * tests/unictype/test-pr_bidi_left_to_right.c: Likewise. + * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise. + * tests/unictype/test-pr_bidi_other_neutral.c: Likewise. + * tests/unictype/test-pr_case_ignorable.c: Likewise. + * tests/unictype/test-pr_cased.c: Likewise. + * tests/unictype/test-pr_changes_when_casefolded.c: Likewise. + * tests/unictype/test-pr_changes_when_casemapped.c: Likewise. + * tests/unictype/test-pr_changes_when_lowercased.c: Likewise. + * tests/unictype/test-pr_changes_when_titlecased.c: Likewise. + * tests/unictype/test-pr_changes_when_uppercased.c: Likewise. + * tests/unictype/test-pr_combining.c: Likewise. + * tests/unictype/test-pr_composite.c: Likewise. + * tests/unictype/test-pr_currency_symbol.c: Likewise. + * tests/unictype/test-pr_decimal_digit.c: Likewise. + * tests/unictype/test-pr_deprecated.c: Likewise. + * tests/unictype/test-pr_format_control.c: Likewise. + * tests/unictype/test-pr_grapheme_base.c: Likewise. + * tests/unictype/test-pr_grapheme_extend.c: Likewise. + * tests/unictype/test-pr_grapheme_link.c: Likewise. + * tests/unictype/test-pr_id_continue.c: Likewise. + * tests/unictype/test-pr_id_start.c: Likewise. + * tests/unictype/test-pr_ideographic.c: Likewise. + * tests/unictype/test-pr_lowercase.c: Likewise. + * tests/unictype/test-pr_math.c: Likewise. + * tests/unictype/test-pr_numeric.c: Likewise. + * tests/unictype/test-pr_other_alphabetic.c: Likewise. + * tests/unictype/test-pr_other_id_continue.c: Likewise. + * tests/unictype/test-pr_other_math.c: Likewise. + * tests/unictype/test-pr_punctuation.c: Likewise. + * tests/unictype/test-pr_sentence_terminal.c: Likewise. + * tests/unictype/test-pr_terminal_punctuation.c: Likewise. + * tests/unictype/test-pr_unassigned_code_value.c: Likewise. + * tests/unictype/test-pr_unified_ideograph.c: Likewise. + * tests/unictype/test-pr_uppercase.c: Likewise. + * tests/unictype/test-pr_xid_continue.c: Likewise. + * tests/unictype/test-pr_xid_start.c: Likewise. + * tests/unigbrk/test-uc-gbrk-prop.h: Likewise. + * lib/unicase/special-casing-table.gperf: Regenerated; only comment + changes. + * lib/unictype/categ_Cc.h: Likewise. + * lib/unictype/categ_Cf.h: Likewise. + * lib/unictype/categ_Co.h: Likewise. + * lib/unictype/categ_Cs.h: Likewise. + * lib/unictype/categ_Lt.h: Likewise. + * lib/unictype/categ_Nl.h: Likewise. + * lib/unictype/categ_Pc.h: Likewise. + * lib/unictype/categ_Pd.h: Likewise. + * lib/unictype/categ_Pe.h: Likewise. + * lib/unictype/categ_Pf.h: Likewise. + * lib/unictype/categ_Pi.h: Likewise. + * lib/unictype/categ_Ps.h: Likewise. + * lib/unictype/categ_Z.h: Likewise. + * lib/unictype/categ_Zl.h: Likewise. + * lib/unictype/categ_Zp.h: Likewise. + * lib/unictype/categ_Zs.h: Likewise. + * lib/unictype/ctype_blank.h: Likewise. + * lib/unictype/ctype_cntrl.h: Likewise. + * lib/unictype/ctype_digit.h: Likewise. + * lib/unictype/ctype_space.h: Likewise. + * lib/unictype/ctype_xdigit.h: Likewise. + * lib/unictype/mirror.h: Likewise. + * lib/unictype/pr_ascii_hex_digit.h: Likewise. + * lib/unictype/pr_bidi_block_separator.h: Likewise. + * lib/unictype/pr_bidi_common_separator.h: Likewise. + * lib/unictype/pr_bidi_control.h: Likewise. + * lib/unictype/pr_bidi_embedding_or_override.h: Likewise. + * lib/unictype/pr_bidi_eur_num_separator.h: Likewise. + * lib/unictype/pr_bidi_european_digit.h: Likewise. + * lib/unictype/pr_bidi_pdf.h: Likewise. + * lib/unictype/pr_bidi_segment_separator.h: Likewise. + * lib/unictype/pr_bidi_whitespace.h: Likewise. + * lib/unictype/pr_dash.h: Likewise. + * lib/unictype/pr_default_ignorable_code_point.h: Likewise. + * lib/unictype/pr_diacritic.h: Likewise. + * lib/unictype/pr_extender.h: Likewise. + * lib/unictype/pr_hex_digit.h: Likewise. + * lib/unictype/pr_hyphen.h: Likewise. + * lib/unictype/pr_ids_binary_operator.h: Likewise. + * lib/unictype/pr_ids_trinary_operator.h: Likewise. + * lib/unictype/pr_ignorable_control.h: Likewise. + * lib/unictype/pr_iso_control.h: Likewise. + * lib/unictype/pr_join_control.h: Likewise. + * lib/unictype/pr_left_of_pair.h: Likewise. + * lib/unictype/pr_line_separator.h: Likewise. + * lib/unictype/pr_logical_order_exception.h: Likewise. + * lib/unictype/pr_non_break.h: Likewise. + * lib/unictype/pr_not_a_character.h: Likewise. + * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise. + * lib/unictype/pr_other_grapheme_extend.h: Likewise. + * lib/unictype/pr_other_id_start.h: Likewise. + * lib/unictype/pr_other_lowercase.h: Likewise. + * lib/unictype/pr_other_uppercase.h: Likewise. + * lib/unictype/pr_paired_punctuation.h: Likewise. + * lib/unictype/pr_paragraph_separator.h: Likewise. + * lib/unictype/pr_pattern_syntax.h: Likewise. + * lib/unictype/pr_pattern_white_space.h: Likewise. + * lib/unictype/pr_private_use.h: Likewise. + * lib/unictype/pr_quotation_mark.h: Likewise. + * lib/unictype/pr_radical.h: Likewise. + * lib/unictype/pr_soft_dotted.h: Likewise. + * lib/unictype/pr_space.h: Likewise. + * lib/unictype/pr_titlecase.h: Likewise. + * lib/unictype/pr_variation_selector.h: Likewise. + * lib/unictype/pr_white_space.h: Likewise. + * lib/unictype/pr_zero_width.h: Likewise. + * lib/unictype/sy_c_ident.h: Likewise. + * lib/unictype/sy_c_whitespace.h: Likewise. + * lib/unictype/sy_java_whitespace.h: Likewise. + * lib/uninorm/composition-table.gperf: Likewise. + * lib/uninorm/decomposition-table1.h: Likewise. + * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule + LB8. + * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise. + * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise. + * modules/unictype/*: Bump version number of expected libunistring + version. + +2011-01-09 Bruno Haible + + Update to Unicode 5.2.0. + * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with + trailing whitespace removed. + +2011-01-09 Bruno Haible + + New Unicode character properties, from Unicode 5.2.0. + * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE, + UC_PROPERTY_CHANGES_WHEN_LOWERCASED, + UC_PROPERTY_CHANGES_WHEN_UPPERCASED, + UC_PROPERTY_CHANGES_WHEN_TITLECASED, + UC_PROPERTY_CHANGES_WHEN_CASEFOLDED, + UC_PROPERTY_CHANGES_WHEN_CASEMAPPED, + uc_is_property_cased, uc_is_property_case_ignorable, + uc_is_property_changes_when_lowercased, + uc_is_property_changes_when_uppercased, + uc_is_property_changes_when_titlecased, + uc_is_property_changes_when_casefolded, + uc_is_property_changes_when_casemapped): New declarations. + * lib/unictype/pr_byname.gperf: Add the new properties. + * modules/unictype/property-byname (Depends-on): Depend on the new + properties modules. + * modules/unictype/property-all (Depends-on): Likewise. + * MODULES.html.sh (Unicode string functions): Add + unictype/property-case-ignorable, unictype/property-cased, + unictype/property-changes-when-casefolded, + unictype/property-changes-when-casemapped, + unictype/property-changes-when-lowercased, + unictype/property-changes-when-titlecased, + unictype/property-changes-when-uppercased. + + New module 'unictype/property-changes-when-casemapped'. + * modules/unictype/property-changes-when-casemapped: New file. + * lib/unictype/pr_changes_when_casemapped.c: New file. + * lib/unictype/pr_changes_when_casemapped.h: New file, automatically + generated by gen-uni-tables. + * modules/unictype/property-changes-when-casemapped-tests: New file. + * tests/unictype/test-pr_changes_when_casemapped.c: New file, + automatically generated by gen-uni-tables. + + New module 'unictype/property-changes-when-casefolded'. + * modules/unictype/property-changes-when-casefolded: New file. + * lib/unictype/pr_changes_when_casefolded.c: New file. + * lib/unictype/pr_changes_when_casefolded.h: New file, automatically + generated by gen-uni-tables. + * modules/unictype/property-changes-when-casefolded-tests: New file. + * tests/unictype/test-pr_changes_when_casefolded.c: New file, + automatically generated by gen-uni-tables. + + New module 'unictype/property-changes-when-titlecased'. + * modules/unictype/property-changes-when-titlecased: New file. + * lib/unictype/pr_changes_when_titlecased.c: New file. + * lib/unictype/pr_changes_when_titlecased.h: New file, automatically + generated by gen-uni-tables. + * modules/unictype/property-changes-when-titlecased-tests: New file. + * tests/unictype/test-pr_changes_when_titlecased.c: New file, + automatically generated by gen-uni-tables. + + New module 'unictype/property-changes-when-uppercased'. + * modules/unictype/property-changes-when-uppercased: New file. + * lib/unictype/pr_changes_when_uppercased.c: New file. + * lib/unictype/pr_changes_when_uppercased.h: New file, automatically + generated by gen-uni-tables. + * modules/unictype/property-changes-when-uppercased-tests: New file. + * tests/unictype/test-pr_changes_when_uppercased.c: New file, + automatically generated by gen-uni-tables. + + New module 'unictype/property-changes-when-lowercased'. + * modules/unictype/property-changes-when-lowercased: New file. + * lib/unictype/pr_changes_when_lowercased.c: New file. + * lib/unictype/pr_changes_when_lowercased.h: New file, automatically + generated by gen-uni-tables. + * modules/unictype/property-changes-when-lowercased-tests: New file. + * tests/unictype/test-pr_changes_when_lowercased.c: New file, + automatically generated by gen-uni-tables. + + New module 'unictype/property-case-ignorable'. + * modules/unictype/property-case-ignorable: New file. + * lib/unictype/pr_case_ignorable.c: New file. + * lib/unictype/pr_case_ignorable.h: New file, automatically generated + by gen-uni-tables. + * modules/unictype/property-case-ignorable-tests: New file. + * tests/unictype/test-pr_case_ignorable.c: New file, automatically + generated by gen-uni-tables. + + New module 'unictype/property-cased'. + * modules/unictype/property-cased: New file. + * lib/unictype/pr_cased.c: New file. + * lib/unictype/pr_cased.h: New file, automatically generated by + gen-uni-tables. + * modules/unictype/property-cased-tests: New file. + * tests/unictype/test-pr_cased.c: New file, automatically generated by + gen-uni-tables. + +2011-01-09 Bruno Haible + + Update to Unicode 5.2.0. + * lib/gen-uni-tables.c (output_predicate, output_category, + output_combclass, output_bidi_category, output_decimal_digit_test, + output_decimal_digit, output_digit_test, output_digit, + output_numeric_test, output_numeric, output_mirror, output_scripts, + output_scripts_byname, output_blocks, output_ident_category): Fix + comment header. + (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from + get_wbp. + (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration + items. + (fill_properties): Also fill the peoperties Cased, Case_Ignorable, + Changes_When_Lowercased, Changes_When_Uppercased, + Changes_When_Titlecased, Changes_When_Casefolded, + Changes_When_Casemapped. + (is_property_alphabetic, is_property_default_ignorable_code_point): + Update for Unicode 5.2.0. + (is_property_cased, is_property_case_ignorable, + is_property_changes_when_lowercased, + is_property_changes_when_uppercased, + is_property_changes_when_titlecased, + is_property_changes_when_casefolded, + is_property_changes_when_casemapped): New functions. + (output_properties): Output also the properties cased, case_ignorable, + changes_when_lowercased, changes_when_uppercased, + changes_when_titlecased, changes_when_casefolded, + changes_when_casemapped. + (symbolic_width): Update for Unicode 5.2.0, incorporating changes from + Unicode TR#11 revision 17 -> 19. + (LBP_CP): New enumeration value. + (LBP_*): Adjust values accordingly. + (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode + TR#14 revision 22 -> 24. + (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP. + (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP. + (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode + TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET, + is_WBP_MIDLETTER. + (output_composition_tables): Allow for 24 bits instead of 16 bits in + the code1 and code2 of each composition rule. + * lib/unicase/cased.h: Regenerated for Unicode 5.2.0. + * lib/unicase/ignorable.h: Likewise. + * lib/unicase/tocasefold.h: Likewise. + * lib/unicase/tolower.h: Likewise. + * lib/unicase/totitle.h: Likewise. + * lib/unicase/toupper.h: Likewise. + * lib/unictype/bidi_of.h: Likewise. + * lib/unictype/blocks.h: Likewise. + * lib/unictype/categ_C.h: Likewise. + * lib/unictype/categ_Cf.h: Likewise. + * lib/unictype/categ_Cn.h: Likewise. + * lib/unictype/categ_L.h: Likewise. + * lib/unictype/categ_Ll.h: Likewise. + * lib/unictype/categ_Lm.h: Likewise. + * lib/unictype/categ_Lo.h: Likewise. + * lib/unictype/categ_Lu.h: Likewise. + * lib/unictype/categ_M.h: Likewise. + * lib/unictype/categ_Mc.h: Likewise. + * lib/unictype/categ_Mn.h: Likewise. + * lib/unictype/categ_N.h: Likewise. + * lib/unictype/categ_Nd.h: Likewise. + * lib/unictype/categ_Nl.h: Likewise. + * lib/unictype/categ_No.h: Likewise. + * lib/unictype/categ_P.h: Likewise. + * lib/unictype/categ_Pd.h: Likewise. + * lib/unictype/categ_Po.h: Likewise. + * lib/unictype/categ_S.h: Likewise. + * lib/unictype/categ_Sc.h: Likewise. + * lib/unictype/categ_So.h: Likewise. + * lib/unictype/categ_of.h: Likewise. + * lib/unictype/combining.h: Likewise. + * lib/unictype/ctype_alnum.h: Likewise. + * lib/unictype/ctype_alpha.h: Likewise. + * lib/unictype/ctype_graph.h: Likewise. + * lib/unictype/ctype_lower.h: Likewise. + * lib/unictype/ctype_print.h: Likewise. + * lib/unictype/ctype_punct.h: Likewise. + * lib/unictype/ctype_upper.h: Likewise. + * lib/unictype/decdigit.h: Likewise. + * lib/unictype/digit.h: Likewise. + * lib/unictype/numeric.h: Likewise. + * lib/unictype/pr_alphabetic.h: Likewise. + * lib/unictype/pr_bidi_arabic_digit.h: Likewise. + * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise. + * lib/unictype/pr_bidi_european_digit.h: Likewise. + * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise. + * lib/unictype/pr_bidi_left_to_right.h: Likewise. + * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise. + * lib/unictype/pr_bidi_other_neutral.h: Likewise. + * lib/unictype/pr_combining.h: Likewise. + * lib/unictype/pr_composite.h: Likewise. + * lib/unictype/pr_currency_symbol.h: Likewise. + * lib/unictype/pr_dash.h: Likewise. + * lib/unictype/pr_decimal_digit.h: Likewise. + * lib/unictype/pr_deprecated.h: Likewise. + * lib/unictype/pr_diacritic.h: Likewise. + * lib/unictype/pr_extender.h: Likewise. + * lib/unictype/pr_grapheme_base.h: Likewise. + * lib/unictype/pr_grapheme_extend.h: Likewise. + * lib/unictype/pr_grapheme_link.h: Likewise. + * lib/unictype/pr_id_continue.h: Likewise. + * lib/unictype/pr_id_start.h: Likewise. + * lib/unictype/pr_ideographic.h: Likewise. + * lib/unictype/pr_ignorable_control.h: Likewise. + * lib/unictype/pr_logical_order_exception.h: Likewise. + * lib/unictype/pr_lowercase.h: Likewise. + * lib/unictype/pr_numeric.h: Likewise. + * lib/unictype/pr_other_alphabetic.h: Likewise. + * lib/unictype/pr_punctuation.h: Likewise. + * lib/unictype/pr_sentence_terminal.h: Likewise. + * lib/unictype/pr_terminal_punctuation.h: Likewise. + * lib/unictype/pr_unassigned_code_value.h: Likewise. + * lib/unictype/pr_unified_ideograph.h: Likewise. + * lib/unictype/pr_uppercase.h: Likewise. + * lib/unictype/pr_xid_continue.h: Likewise. + * lib/unictype/pr_xid_start.h: Likewise. + * lib/unictype/pr_zero_width.h: Likewise. + * lib/unictype/scripts.h: Likewise. + * lib/unictype/scripts_byname.gperf: Likewise. + * lib/unictype/sy_java_ident.h: Likewise. + * lib/unigbrk/gbrkprop.h: Likewise. + * lib/unilbrk/lbrkprop1.h: Likewise. + * lib/unilbrk/lbrkprop2.h: Likewise. + * lib/unilbrk/lbrktables.h: Likewise. + * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for + LBP_CP. Implement rule LB30. + * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819, + U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D, + U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C, + U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD, + U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3, + U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8, + U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081, + U+110B3..U+110B6, U+110B9..U+110BA, U+110BD. + (uc_width): Return 2 also for unassigned code points of planes 2 and 3. + * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0. + * lib/uninorm/composition.c (struct composition_rule): Allow for 24 + bits instead of 16 bits in the code1 and code2 of each composition + rule. + (uc_composition): Update for Unicode 5.2.0. + * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0. + * lib/uninorm/decomposition-table2.h: Likewise. + * lib/uniwbrk/wbrkprop.h: Likewise. + * tests/unicase/test-cased.c: Likewise. + * tests/unicase/test-ignorable.c: Likewise. + * tests/unicase/test-uc_tolower.c: Likewise. + * tests/unicase/test-uc_totitle.c: Likewise. + * tests/unicase/test-uc_toupper.c: Likewise. + * tests/unictype/test-categ_C.c: Likewise. + * tests/unictype/test-categ_Cf.c: Likewise. + * tests/unictype/test-categ_Cn.c: Likewise. + * tests/unictype/test-categ_L.c: Likewise. + * tests/unictype/test-categ_Ll.c: Likewise. + * tests/unictype/test-categ_Lm.c: Likewise. + * tests/unictype/test-categ_Lo.c: Likewise. + * tests/unictype/test-categ_Lu.c: Likewise. + * tests/unictype/test-categ_M.c: Likewise. + * tests/unictype/test-categ_Mc.c: Likewise. + * tests/unictype/test-categ_Mn.c: Likewise. + * tests/unictype/test-categ_N.c: Likewise. + * tests/unictype/test-categ_Nd.c: Likewise. + * tests/unictype/test-categ_Nl.c: Likewise. + * tests/unictype/test-categ_No.c: Likewise. + * tests/unictype/test-categ_P.c: Likewise. + * tests/unictype/test-categ_Pd.c: Likewise. + * tests/unictype/test-categ_Po.c: Likewise. + * tests/unictype/test-categ_S.c: Likewise. + * tests/unictype/test-categ_Sc.c: Likewise. + * tests/unictype/test-categ_So.c: Likewise. + * tests/unictype/test-ctype_alnum.c: Likewise. + * tests/unictype/test-ctype_alpha.c: Likewise. + * tests/unictype/test-ctype_graph.c: Likewise. + * tests/unictype/test-ctype_lower.c: Likewise. + * tests/unictype/test-ctype_print.c: Likewise. + * tests/unictype/test-ctype_punct.c: Likewise. + * tests/unictype/test-ctype_upper.c: Likewise. + * tests/unictype/test-decdigit.h: Likewise. + * tests/unictype/test-digit.h: Likewise. + * tests/unictype/test-numeric.h: Likewise. + * tests/unictype/test-pr_alphabetic.c: Likewise. + * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise. + * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise. + * tests/unictype/test-pr_bidi_european_digit.c: Likewise. + * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise. + * tests/unictype/test-pr_bidi_left_to_right.c: Likewise. + * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise. + * tests/unictype/test-pr_bidi_other_neutral.c: Likewise. + * tests/unictype/test-pr_combining.c: Likewise. + * tests/unictype/test-pr_composite.c: Likewise. + * tests/unictype/test-pr_currency_symbol.c: Likewise. + * tests/unictype/test-pr_dash.c: Likewise. + * tests/unictype/test-pr_decimal_digit.c: Likewise. + * tests/unictype/test-pr_deprecated.c: Likewise. + * tests/unictype/test-pr_diacritic.c: Likewise. + * tests/unictype/test-pr_extender.c: Likewise. + * tests/unictype/test-pr_grapheme_base.c: Likewise. + * tests/unictype/test-pr_grapheme_extend.c: Likewise. + * tests/unictype/test-pr_grapheme_link.c: Likewise. + * tests/unictype/test-pr_id_continue.c: Likewise. + * tests/unictype/test-pr_id_start.c: Likewise. + * tests/unictype/test-pr_ideographic.c: Likewise. + * tests/unictype/test-pr_ignorable_control.c: Likewise. + * tests/unictype/test-pr_logical_order_exception.c: Likewise. + * tests/unictype/test-pr_lowercase.c: Likewise. + * tests/unictype/test-pr_numeric.c: Likewise. + * tests/unictype/test-pr_other_alphabetic.c: Likewise. + * tests/unictype/test-pr_punctuation.c: Likewise. + * tests/unictype/test-pr_sentence_terminal.c: Likewise. + * tests/unictype/test-pr_terminal_punctuation.c: Likewise. + * tests/unictype/test-pr_unassigned_code_value.c: Likewise. + * tests/unictype/test-pr_unified_ideograph.c: Likewise. + * tests/unictype/test-pr_uppercase.c: Likewise. + * tests/unictype/test-pr_xid_continue.c: Likewise. + * tests/unictype/test-pr_xid_start.c: Likewise. + * tests/unictype/test-pr_zero_width.c: Likewise. + * tests/unigbrk/test-uc-gbrk-prop.h: Likewise. + * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for + changed behaviour: line breaking is now disallowed between a letter + or '=' and '('. + * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise. + * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise. + * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise. + * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise. + * tests/uniwidth/test-uc_width2.sh: Same updates as in + lib/uniwidth/width.c. + * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0, + without comments, but with the original copyright notice. + * lib/unicase/special-casing-table.gperf: Regenerated; only comment + changes. + * lib/unictype/categ_Cc.h: Likewise. + * lib/unictype/categ_Co.h: Likewise. + * lib/unictype/categ_Cs.h: Likewise. + * lib/unictype/categ_Lt.h: Likewise. + * lib/unictype/categ_Me.h: Likewise. + * lib/unictype/categ_Pc.h: Likewise. + * lib/unictype/categ_Pe.h: Likewise. + * lib/unictype/categ_Pf.h: Likewise. + * lib/unictype/categ_Pi.h: Likewise. + * lib/unictype/categ_Ps.h: Likewise. + * lib/unictype/categ_Sk.h: Likewise. + * lib/unictype/categ_Sm.h: Likewise. + * lib/unictype/categ_Z.h: Likewise. + * lib/unictype/categ_Zl.h: Likewise. + * lib/unictype/categ_Zp.h: Likewise. + * lib/unictype/categ_Zs.h: Likewise. + * lib/unictype/ctype_blank.h: Likewise. + * lib/unictype/ctype_cntrl.h: Likewise. + * lib/unictype/ctype_digit.h: Likewise. + * lib/unictype/ctype_space.h: Likewise. + * lib/unictype/ctype_xdigit.h: Likewise. + * lib/unictype/mirror.h: Likewise. + * lib/unictype/pr_ascii_hex_digit.h: Likewise. + * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise. + * lib/unictype/pr_bidi_block_separator.h: Likewise. + * lib/unictype/pr_bidi_boundary_neutral.h: Likewise. + * lib/unictype/pr_bidi_common_separator.h: Likewise. + * lib/unictype/pr_bidi_control.h: Likewise. + * lib/unictype/pr_bidi_embedding_or_override.h: Likewise. + * lib/unictype/pr_bidi_eur_num_separator.h: Likewise. + * lib/unictype/pr_bidi_pdf.h: Likewise. + * lib/unictype/pr_bidi_segment_separator.h: Likewise. + * lib/unictype/pr_bidi_whitespace.h: Likewise. + * lib/unictype/pr_default_ignorable_code_point.h: Likewise. + * lib/unictype/pr_format_control.h: Likewise. + * lib/unictype/pr_hex_digit.h: Likewise. + * lib/unictype/pr_hyphen.h: Likewise. + * lib/unictype/pr_ids_binary_operator.h: Likewise. + * lib/unictype/pr_ids_trinary_operator.h: Likewise. + * lib/unictype/pr_iso_control.h: Likewise. + * lib/unictype/pr_join_control.h: Likewise. + * lib/unictype/pr_left_of_pair.h: Likewise. + * lib/unictype/pr_line_separator.h: Likewise. + * lib/unictype/pr_math.h: Likewise. + * lib/unictype/pr_non_break.h: Likewise. + * lib/unictype/pr_not_a_character.h: Likewise. + * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise. + * lib/unictype/pr_other_grapheme_extend.h: Likewise. + * lib/unictype/pr_other_id_continue.h: Likewise. + * lib/unictype/pr_other_id_start.h: Likewise. + * lib/unictype/pr_other_lowercase.h: Likewise. + * lib/unictype/pr_other_math.h: Likewise. + * lib/unictype/pr_other_uppercase.h: Likewise. + * lib/unictype/pr_paired_punctuation.h: Likewise. + * lib/unictype/pr_paragraph_separator.h: Likewise. + * lib/unictype/pr_pattern_syntax.h: Likewise. + * lib/unictype/pr_pattern_white_space.h: Likewise. + * lib/unictype/pr_private_use.h: Likewise. + * lib/unictype/pr_quotation_mark.h: Likewise. + * lib/unictype/pr_radical.h: Likewise. + * lib/unictype/pr_soft_dotted.h: Likewise. + * lib/unictype/pr_space.h: Likewise. + * lib/unictype/pr_titlecase.h: Likewise. + * lib/unictype/pr_variation_selector.h: Likewise. + * lib/unictype/pr_white_space.h: Likewise. + * lib/unictype/sy_c_ident.h: Likewise. + * lib/unictype/sy_c_whitespace.h: Likewise. + * lib/unictype/sy_java_whitespace.h: Likewise. + * modules/uni*/*: Bump version number of expected libunistring version. + Reported by Simon Josefsson. + +2011-01-09 Karl Heuer + + useless-if-before-free: fix typo in --help and make the internal, + automatic version date update process work once again. + --help output contained a NUL character instead of the + backslash-zero that was intended. Also, the "must lie within + the first 8 lines" line is on line 9, and hence not getting + automatically updated. + * build-aux/useless-if-before-free: Fix the former by adding a + backslash, and the latter by condensing the three lines of what-it-does + to a single line, leaving one line of slack for the future. + +2011-01-09 Bruno Haible + + uniwidth/width: Fix width of U+1D173..U+1D17A. + * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property, + symbolic_width, output_width_property_test): New functions. + (main): Invoke output_nonspacing_property, output_width_property_test. + * lib/uniwidth/width.c (nonspacing_table_data): Set bits for + U+1D173..U+1D17A. + * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not + 1. + * modules/uniwidth/*: Bump version number of expected libunistring + version. + * modules/unilbrk/*: Likewise. + +2011-01-08 Bruno Haible + + uninorm tests: Preserve copyright of Unicode data file. + * tests/uninorm/NormalizationTest.txt: Re-add original copyright. + Mention modifications. + +2011-01-08 Bruno Haible + + gen-uni-tables: Prepare for Unicode 5.2.0. + * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values. + (debug_output_lbp, output_lbp): Update. + +2011-01-08 Bruno Haible + + unilbrk: Clarify gen-uni-tables.c code. + * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These + were mistakes in UAX #14 revision 22 that are corrected in revision 24. + Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt. + +2011-01-07 Bruno Haible + + strtod: Restore errno when successfully parsing Infinity or NaN. + * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN, + restore the original errno. + +2011-01-07 Bruno Haible + + remove test: Avoid failure on HP-UX 11. + * tests/test-remove.c (main): Allow EEXIST as alternative error code. + +2011-01-07 Bruno Haible + + mkdir, mkdirat tests: Avoid failure on HP-UX 11.11. + * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative + error code. + +2011-01-07 Pádraig Brady + + ignore-value: fixup comments, and add Eric Blake + as an author since he rewrote the macros. + * lib/ignore-value.h (ignore_value): State that + we now support aggregates. Also specify exactly + when the GCC warn_unused_result feature was added. + +2011-01-06 Eric Blake + + ignore-value: support aggregate types + * lib/ignore-value.h (ignore_value): Provide separate gcc + definition. + * modules/ignore-value-tests: New test module. + * tests/test-ignore-value.c: New test. + + maint.mk: improve sc_prohibit_strcmp regex + * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as + documented. Also, detect strcmp((expr),expr) == 0. Exempt the + definition of STRNEQ. + + signal: work around Haiku issue with SIGBUS + * lib/siglist.h: Add comment. + * lib/sig2str.c (numname_table): Swap SIGBUS order, to match + strsignal's favoring of SIGSEGV. + * tests/test-signal.c (main): Avoid test failure. + * doc/posix-headers/signal.texi (signal.h): Document the issue. + Reported by Scott McCreary. + + maint.mk: add pre-release check to ensure submodule commits are public + * top/maint.mk (public-submodule-commit): New rule. + (submodule-checks): New variable. + (alpha beta stable): Depend on the variable. + +2011-01-05 Pádraig Brady + and Jim Meyering + + ignore-value: make ignore_value more generic; deprecate ignore_ptr + * lib/ignore-value.h: Include , for decl of intptr_t. + (ATTRIBUTE_DEPRECATED): Define. + (_ignore_case): New function. + (ignore_value): New macro, to replace the old function. + (ignore_ptr): Arrange for any use to evoke a deprecation warning. + * modules/ignore-value (Depends-on): Add stdint. + +2011-01-04 Eric Blake + + doc: regenerate INSTALL + * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add + @firstparagraphindent support, now that autoconf dropped it. + (INSTALL_PRELUDE): Reinstate old macro. + * doc/install.texi: Resync from autoconf. + * doc/INSTALL: Reflect recent autoconf update. + * doc/INSTALL.ISO: Likewise. + * doc/INSTALL.UTF-8: Likewise. + Reported by Karl Berry. + +2011-01-04 Bruce Korb - Spacevars: rename toplevel lens to lns - Leave simple_lns as an alias for backwards compatibility + git-version-gen: avoid a sub-shell + * build-aux/git-version-gen: Redirect stderr in `...` via + "exec 2>...", rather than via an added sub-shell. -2011-08-08 David Lutterkort +2011-01-03 Ben Pfaff + + git-version-gen: use (...) rather than sh -c '...' + * build-aux/git-version-gen: Rather than hard-coding a shell's name + with "sh -c '...'", just use "(...)". Less syntax is better, too. + +2011-01-03 Jim Meyering + + git-version-gen: convert leading TABs to spaces + * build-aux/git-version-gen: Expand leading TABs. + + git-version-gen: handle failed "git rev-list" + * build-aux/git-version-gen: Rather than leaking a "fatal" error + from git and proceeding as if it had succeeded but printed no SHA1 + checksums, suppress the diagnostic and handle the failure. + Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2 + + git-version-gen: include command name in one more diagnostic + * build-aux/git-version-gen: When the required .tarball-version file + was missing or unreadable, you might see the diagnostic from "cat", + but no trace of the name of the invoking script. Now, you still see + the diagnostic from cat, but also get one from "git-version-gen: ". + Inspired by a patch from Bruce Korb. + + update-copyright: adjust test to match changed code + * tests/test-update-copyright.sh: Change test's expected output + to match new actual output. + +2011-01-02 Bruno Haible + + getlogin_r: Avoid test failure on HP-UX 11. + * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of + ERANGE when the second argument is zero. + * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11 + portability problem. + +2011-01-02 Bruce Korb + + * build-aux/update-copyright: doc Simon's changes + +2011-01-02 Simon Josefsson + + * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER + environment variable. + +2011-01-02 Bruno Haible + + unigbrk: Avoid gcc warnings. + * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove + unused variable. + * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise. + * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise. + * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise. + * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise. + * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks): + Change type of first argument to 'const char *'. + (main): Remove unused variable. + * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change + type of first argument to 'const char *'. + * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev): + Likewise. + (main): Change type of variable 's'. + * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number + to 'int'. + +2011-01-02 Bruno Haible + + pwrite: Fix test whether it works and make it work on HP-UX 11.11. + * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not + AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11 + bug. + * lib/pwrite.c: Undo 2010-12-31 patch. + * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug. + +2011-01-02 Bruno Haible + + pread: Fix test whether it works. + * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE. + +2011-01-02 Bruno Haible + + Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin. + * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name + ends in "6". Don't require a specific month name. Try also the locale + names found on HP-UX 11 and Solaris 7. + +2011-01-02 Bruno Haible + + tcgetsid: Correct linkage in C++ mode on HP-UX 11.00. + * lib/termios.in.h: In C++ mode, on HP-UX, include with + C linkage. + * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug. + +2011-01-01 Ben Pfaff + + Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break() + for consistency, since the "cluster" term is not used elsewhere. + * lib/unigbrk.in.h: Update name. + * lib/unigbrk/u16-grapheme-breaks.c: Update name. + * lib/unigbrk/u16-grapheme-next.c: Update name. + * lib/unigbrk/u16-grapheme-prev.c: Update name. + * lib/unigbrk/u32-grapheme-breaks.c: Update name. + * lib/unigbrk/u32-grapheme-next.c: Update name. + * lib/unigbrk/u32-grapheme-prev.c: Update name. + * lib/unigbrk/u8-grapheme-breaks.c: Update name. + * lib/unigbrk/u8-grapheme-next.c: Update name. + * lib/unigbrk/u8-grapheme-prev.c: Update name. + * lib/unigbrk/uc-is-grapheme-break.c: Update name. + * tests/unigbrk/test-uc-is-grapheme-break.c: Update name. + Suggested by Bruno Haible. + +2011-01-01 Ben Pfaff + + Remove module 'u8-grapheme-len' as too redundant with + 'u8-grapheme-next'. + * modules/unigbrk/u8-grapheme-len: Delete file. + * modules/unigbrk/u8-grapheme-len-tests: Delete file. + * lib/unigbrk.in.h: Remove prototype for deleted function. + * lib/unigbrk/u8-grapheme-len.c: Delete file. + * tests/unigbrk/test-u8-grapheme-len.c: Delete file. + + Remove module 'u16-grapheme-len' as too redundant with + 'u16-grapheme-next'. + * modules/unigbrk/u16-grapheme-len: Delete file. + * modules/unigbrk/u16-grapheme-len-tests: Delete file. + * lib/unigbrk.in.h: Remove prototype for deleted function. + * lib/unigbrk/u16-grapheme-len.c: Delete file. + * tests/unigbrk/test-u16-grapheme-len.c: Delete file. + + Remove module 'u32-grapheme-len' as too redundant with + 'u32-grapheme-next'. + * modules/unigbrk/u32-grapheme-len: Delete file. + * modules/unigbrk/u32-grapheme-len-tests: Delete file. + * lib/unigbrk.in.h: Remove prototype for deleted function. + * lib/unigbrk/u32-grapheme-len.c: Delete file. + * tests/unigbrk/test-u32-grapheme-len.c: Delete file. + + Suggested by Bruno Haible. + +2011-01-01 Ben Pfaff + + * unigbrk.in.h: Fix typo: "ben" => "been". + Reported by Bruno Haible. + +2011-01-01 Jim Meyering + + maint: update almost all copyright ranges to include 2011 + Run the new "make update-copyright" rule. + +2011-01-01 Jim Meyering + + maint: update-copyright: exempt doc/INSTALL* + * Makefile (update-copyright): Also exclude doc/INSTALL*, + since they are generated. Suggested by Bruno Haible. + +2011-01-01 Jim Meyering + + maint: refine the update-copyright rule + * Makefile (update-copyright): Also exclude any file that includes + the "GENERATED AUTOMATICALLY" comment, being careful not to exclude + code that merely generates the comment. + +2010-12-31 Ben Pfaff + + New module 'u8-grapheme-len'. + * modules/unigbrk/u8-grapheme-len: New file. + * modules/unigbrk/u8-grapheme-len-tests: New file. + * lib/unigbrk.in.h: Add prototype for new function. + * lib/unigbrk/u8-grapheme-len.c: New file. + * tests/unigbrk/test-u8-grapheme-len.c: New file. + + New module 'u16-grapheme-len'. + * modules/unigbrk/u16-grapheme-len: New file. + * modules/unigbrk/u16-grapheme-len-tests: New file. + * lib/unigbrk.in.h: Add prototype for new function. + * lib/unigbrk/u16-grapheme-len.c: New file. + * tests/unigbrk/test-u16-grapheme-len.c: New file. + + New module 'u32-grapheme-len'. + * modules/unigbrk/u32-grapheme-len: New file. + * modules/unigbrk/u32-grapheme-len-tests: New file. + * lib/unigbrk.in.h: Add prototype for new function. + * lib/unigbrk/u32-grapheme-len.c: New file. + * tests/unigbrk/test-u32-grapheme-len.c: New file. + + New module 'u8-grapheme-next'. + * modules/unigbrk/u8-grapheme-next: New file. + * modules/unigbrk/u8-grapheme-next-tests: New file. + * lib/unigbrk.in.h: Add prototype for new function. + * lib/unigbrk/u8-grapheme-next.c: New file. + * tests/unigbrk/test-u8-grapheme-next.c: New file. + + New module 'u16-grapheme-next'. + * modules/unigbrk/u16-grapheme-next: New file. + * modules/unigbrk/u16-grapheme-next-tests: New file. + * lib/unigbrk.in.h: Add prototype for new function. + * lib/unigbrk/u16-grapheme-next.c: New file. + * tests/unigbrk/test-u16-grapheme-next.c: New file. + + New module 'u32-grapheme-next'. + * modules/unigbrk/u32-grapheme-next: New file. + * modules/unigbrk/u32-grapheme-next-tests: New file. + * lib/unigbrk.in.h: Add prototype for new function. + * lib/unigbrk/u32-grapheme-next.c: New file. + * tests/unigbrk/test-u32-grapheme-next.c: New file. + + New module 'u8-grapheme-prev'. + * modules/unigbrk/u8-grapheme-prev: New file. + * modules/unigbrk/u8-grapheme-prev-tests: New file. + * lib/unigbrk.in.h: Add prototype for new function. + * lib/unigbrk/u8-grapheme-prev.c: New file. + * tests/unigbrk/test-u8-grapheme-prev.c: New file. + + New module 'u16-grapheme-prev'. + * modules/unigbrk/u16-grapheme-prev: New file. + * modules/unigbrk/u16-grapheme-prev-tests: New file. + * lib/unigbrk.in.h: Add prototype for new function. + * lib/unigbrk/u16-grapheme-prev.c: New file. + * tests/unigbrk/test-u16-grapheme-prev.c: New file. + + New module 'u32-grapheme-prev'. + * modules/unigbrk/u32-grapheme-prev: New file. + * modules/unigbrk/u32-grapheme-prev-tests: New file. + * lib/unigbrk.in.h: Add prototype for new function. + * lib/unigbrk/u32-grapheme-prev.c: New file. + * tests/unigbrk/test-u32-grapheme-prev.c: New file. + + New module 'u8-grapheme-breaks'. + * modules/unigbrk/u8-grapheme-breaks: New file. + * modules/unigbrk/u8-grapheme-breaks-tests: New file. + * lib/unigbrk.in.h: Add prototype for new function. + * lib/unigbrk/u8-grapheme-breaks.c: New file. + * tests/unigbrk/test-u8-grapheme-breaks.c: New file. + + New module 'u16-grapheme-breaks'. + * modules/unigbrk/u16-grapheme-breaks: New file. + * modules/unigbrk/u16-grapheme-breaks-tests: New file. + * lib/unigbrk.in.h: Add prototype for new function. + * lib/unigbrk/u16-grapheme-breaks.c: New file. + * tests/unigbrk/test-u16-grapheme-breaks.c: New file. + + New module 'u32-grapheme-breaks'. + * modules/unigbrk/u32-grapheme-breaks: New file. + * modules/unigbrk/u32-grapheme-breaks-tests: New file. + * lib/unigbrk.in.h: Add prototype for new function. + * lib/unigbrk/u32-grapheme-breaks.c: New file. + * tests/unigbrk/test-u32-grapheme-breaks.c: New file. + + New module 'ulc-grapheme-breaks'. + * modules/unigbrk/ulc-grapheme-breaks: New file. + * modules/unigbrk/ulc-grapheme-breaks-tests: New file. + * m4/locale-ar.m4: New file. + * lib/unigbrk/ulc-grapheme-breaks.c: New file. + * tests/unigbrk/test-ulc-grapheme-breaks.c: New file. + * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file. + +2010-12-31 Ben Pfaff + + gbrkprop: Fix implementation of uc_graphemeclusterbreak_property. + * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c. I had + modified how this file was generated before I initially submitted + the module, but failed to regenerate it. This meant that several + of the level2 entries were wrong. + * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property): + Remove the division-by-2 that is folded into the table now that + gbrkprop.h has been regenerated properly. Now -1 entries are + handled correctly. + + New module 'unigbrk/uc-gbrk-prop-tests'. + * modules/unigbrk/uc-gbrk-prop-tests: New file. + * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h. + * tests/unigbrk/test-uc-gbrk-prop.c: New file. + * tests/unigbrk/test-uc-gbrk-prop.h: New file. + +2011-01-01 Bruno Haible + + Avoid use of hexadecimal escapes. + * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes + instead of hexadecimal escapes. + +2011-01-01 Jim Meyering + + maint: new rule to update copyright year ranges + * Makefile (update-copyright): New rule. + + maint: indent with TABs in Makefile + * Makefile: Expand leading sequences of spaces to TABs + + version-etc: update the copyright year it reports + * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011. + +2010-12-31 Bruno Haible + + isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11. + * lib/isfinite.c (zerof, zerod, zerol): New variables. + (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal + zero. + +2010-12-31 Bruno Haible + + pwrite: Work around HP-UX 11.11 bug. + * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it + works and set REPLACE_PWRITE if not. + * lib/pwrite.c (pwrite): Add an implementation that uses the system + function. + * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug. - * examples/fadot.c: accept -h option to print usage +2010-12-31 Bruno Haible -2011-07-25 David Lutterkort + pread: Work around HP-UX 11 bugs. + * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works + and set REPLACE_PREAD if not. + * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs. - .gitignore: ignore tests/test-run +2010-12-31 Eric Blake - Version 0.9.0 + nl_langinfo: fix YESEXPR on Irix 6.5 + * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug. + * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it. + * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document + it. - Minor fixes to make distcheck pass +2010-12-31 Bruno Haible -2011-07-22 David Lutterkort + iconv: Document HP-UX 11 bug. + * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug. - path expressions: parse [expr1 or expr2] correctly - Since commit ea010d85, we would interpret the predicate [e1 or e2] as - matching any node with a child labelled 'e1 or e2'; this patch restores the - semantics that the predicate is true if either e1 or e2 are true. It does - the same for [e1 and e2] +2010-12-31 Bruno Haible - Of course, this is a heinous hack. + ldexpl: Fix link error on HP-UX 11. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set + LDEXPL_LIBM, using $ISNANL_LIBM. -2011-07-22 David Lutterkort +2010-12-31 Eric Blake - Migrate tests from test-mv.sh into run.tests + ftello: avoid compilation failure with SunStudio c89 + * lib/ftello.c (ftello): Use lseek, not llseek. - aug_srun: new API call + tests: avoid failing coreutils tests on cygwin + * tests/init.sh (find_exe_basenames_): Exempt [.exe. + (create_exe_shims_): Return 0 when skipping. - aug_mv: report EMVDESC if move would move a node into its descendant +2010-12-31 Bruno Haible - path expressions: produce straight augeas errors when it makes sense - Some errors, especially matching no nodes or multiple nodes in - pathx_expand_tree can be directly translated to AUG_ENOMATCH and - AUG_EMMATCH, and there's no need to give pathx details about the error + sys_select: Avoid warning about missing memset declaration on HP-UX 11. + * lib/sys_select.in.h: On HP-UX, include also . - Fix some of the errors reported by coverity - These are some of the errors by running coverity on augeas 0.8.0 +2010-12-31 Bruno Haible -2011-07-18 Mathieu Arnold + waitpid: Fix link error in C++ mode. + * lib/sys_wait.in.h: Remove extern "C" { ... } group. - Aliases: allow spaces and commas in aliases; add docs +2010-12-31 Bruno Haible -2011-07-11 Dominic Cleal + isnan: Use GCC built-ins when possible. + * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of + __builtin_isnan. + (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan. + (isnan): Define using GCC built-ins for GCC >= 4.0. - Sudoers: support users:groups format in a Runas_Spec line for sudo -g - Fixes ticket #211 +2010-12-31 Bruno Haible -2011-07-11 David Lutterkort + isnand: Fix mistake. + * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not + __builtin_isnand. - * tests/test-bug-1.sh: fix test - The test caused an augtool failure for all the wrong reasons +2010-12-31 Bruno Haible -2011-07-06 David Lutterkort + open: Avoid C++ error on HP-UX 11. + * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX. - Php: include files from Zend community edition - Fixes ticket #210 +2010-12-31 Bruno Haible -2011-07-06 Craig Dunn + time_r: Add missing declarations on HP-UX 11. + * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R + instead of HAVE_LOCALTIME_R. + * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set + HAVE_LOCALTIME_R always. + * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize + HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R. + * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not + HAVE_LOCALTIME_R. + * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem. + * doc/posix-functions/localtime_r.texi: Likewise. - Properties: new lens for Java properties files - Fixes ticket #194 +2010-12-29 Eric Blake -2011-07-01 Dominic Cleal + mountlist: tweak previous commit + * lib/mountlist.c (me_remote): Guarantee trailing backslash. + Reported by Paul Eggert. - Grub: allow "bootfs" Solaris/ZFS extension for dataset name - Fixes ticket #201 + mountlist: fix local drive detection on cygwin + * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation + that works for cygwin. -2011-07-01 John Morrissey +2010-12-29 Paul Eggert - Spacevars: add two more filse to parse by default - Fixes ticket #202 + ftoastr, snprintf: ftoastr + snprintf module + * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX, + since the snprintf module now should be good enough here. + * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]). + It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf]) + and gl_MODULE_INDICATOR([snprintf]), but the former enables + GNULIB_SNPRINTF only for the test directory, and the latter + doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither + seems to suffice by itself. -2011-07-01 David Lutterkort +2010-12-28 Paul Eggert - Interpret escape sequences in function regexp() in path expressions - The wildcard character '.' in regular expressions, just as in the rest of - Augeas, does not match an end of line. It is therefore crucial to be able - to write '(.|\n)' to match any character, including newlines. + alloca: one step towards thread-safety + * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the + need for a static variable. All callers changed. This does not + make the alloca replacement thread-safe, but it's one step. - * src/regexp.h: (make_regexp_unescape): new function; (make_regexp_dup) - removed - * src/regexp.c: (make_regexp_unescape): new function; (make_regexp_dup) - removed - * src/pathx.c: (nodeset_as_regexp, func_regexp_or_glob): use - make_regexp_unescape + tests: minor indenting change + * tests/init.sh: Sync from coreutils housekeeping patch + + to keep lines within 80 columns. -2011-06-29 Dominic Cleal +2010-12-28 Jim Meyering - Sudoers: add CSW paths, /opt/csw/etc and /etc/opt/csw/sudoers + regex: don't infloop on persistent failing calloc + * lib/regexec.c (build_trtable): Return failure indication upon + calloc failure. Otherwise, re_search_internal could infloop on OOM. + In glibc, this was fixed for version 2.13: + http://sourceware.org/bugzilla/show_bug.cgi?id=12348 - Sudoers: allow same-line comments - Fixes ticket #206 +2010-12-28 Bruno Haible + Paul Eggert -2011-06-29 Dominic Cleal + linkat: Make implementation robust against system behaviour variations. + * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define + LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris + way, and to -2 if it needs a generic runtime test. + * lib/linkat.c (solaris_optimized_link_immediate, + solaris_optimized_link_follow): New functions. + * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro. + (check_same_link): Use it. - Util: allow comment_or_eol to match empty comments containing only whitespace - Services: add test for line with a whitespace-only comment +2010-12-26 Ben Pfaff - Fixes ticket #205 + New module 'unigbrk/base'. + * modules/unigbrk/base: New file. + * lib/unigbrk.in.h: New file. -2011-06-29 David Lutterkort + New module 'unigbrk/uc-gbrk-prop'. + * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h. + * modules/unigbrk/uc-gbrk-prop: New file. + * lib/unigbrk/gbrkprop.h: New file. + * lib/unigbrk/uc-gbrk-prop.c: New file. - * tests/test-bug-1.sh: fix broken logrotate file + New module 'unigbrk/uc-is-grapheme-break'. + * modules/unigbrk/uc-is-grapheme-break: New file. + * modules/unigbrk/uc-is-grapheme-break-tests: New file. + * lib/unigbrk/uc-is-grapheme-break.c: New file. + * tests/unigbrk/test-uc-is-grapheme-break.c: New file. + * tests/unigbrk/test-uc-is-grapheme-break.sh: New file. + * tests/unigbrk/GraphemeBreakTest.txt: New file. + + With corrections and tweaks by Bruno Haible . + +2010-12-27 Bruno Haible + + linkat test: Avoid failure on Solaris 11 2010-11. + * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code. + +2010-12-27 Paul Eggert + + utimens: work around glibc rounding bug on more platforms + * lib/utimens.c (fdutimens): Work around rounding bug even if + HAVE_WORKING_UTIMES. Reported for Linux 2.4.21 by Bruno Haible in + . + +2010-12-27 Bruno Haible + + select tests: Improve comments. + * tests/test-select.c (do_select): Add comments. + +2010-12-27 Bruno Haible + + select tests: Safer way of handling timeout. + * tests/test-select.c (do_select_nowait): Zero-initialize the timeout + at every invocation. + +2010-12-27 Bruno Haible + + select tests: Use 'bool' where appropriate. + * tests/test-select.c (connect_to_socket): Change argument type to + 'bool'. + +2010-12-27 Bruno Haible + + select tests: Use existing modules. + * modules/select-tests (Depends-on): Add pipe-posix, unistd. + (configure.ac): Don't test for unistd.h. + * tests/test-select.c: Include always. Use pipe() as + declared in . + +2010-12-27 Bruno Haible + + mbrtowc: Work around a Solaris 7 bug. + * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro. + (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG. + (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of + MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define + MBRTOWC_NULL_ARG1_BUG. + * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of + MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG. + * tests/test-mbrtowc.c (main): Test support of a NULL first argument. + * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug. -2011-06-08 Raphaël Pinson +2010-12-27 Jim Meyering - Implement multiline values in inifile.aug + read-file.c: tweak syntax + * lib/read-file.c (fread_file): Remove space after "*" in function + definitions. -2011-05-14 David Lutterkort +2010-12-27 Bruno Haible - * src/augeas.c (static_nodes): add list of pathx functions to /augeas/version + times test: Avoid gcc warnings on OSF/1. + * tests/test-times.c (main): Cast printf arguments from clock_t to + 'long int'. -2011-05-12 David Lutterkort +2010-12-27 Paul Eggert - Grub: allow kernel path to start with a device like (hd0,0) - Fixes ticket #199 + utimens: work around glibc rounding bug on older Linux kernels + * lib/utimens.c (fdutimens): If invoking futimesat or futimes + on Linux with a glibc whose utimes might not work, then work + around a longstanding glibc bug involving rounding rather than + truncated time stamps. Reported for Linux 2.4.21 by Bruno Haible in + . - * examples/fadot.c: include , link against GNULIB +2010-12-26 Bruno Haible -2011-05-10 David Lutterkort + inet_ntop: Hide mismatch of declaration on NonStop Kernel. + * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of + _GL_CXXALIAS_SYS. + Reported by Joachim Schmitz . - tests: expand what the valgrind target runs +2010-12-26 Bruno Haible - * src/pathx.c: rename CHECK_ERROR{,_RET0} to RET{,0}_ON_ERROR - This should make it harder to misuse them and cause memory leaks + inet_ntop, inet_pton: Ensure declaration on NonStop Kernel. + * lib/arpa_inet.in.h: On NonStop Kernel, include also . + * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise. + * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also when + looking for the declaration. + * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise. + * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel + problem. + * doc/posix-functions/inet_pton.texi: Likewise. - * src/pathx.c (ns_from_locpath, parse_relative_location_path): free memory on error +2010-12-26 Bruno Haible - * tests/test-xpath.c: allow running individual tests from the command line + arpa_inet: Use the common idioms with C++ support. + * lib/arpa_inet.in.h: Include c++defs.h. + (inet_ntop, inet_pton): Declare using the macros with C++ namespace + support. + * modules/arpa_inet (Depends-on): Add c++defs. + (Makefile.am): Substitute the contents of c++defs.h. + * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests. + * modules/arpa_inet-c++-tests: New file. + * tests/test-arpa_inet-c++.cc: New file. - * src/pathx.c: fix leaking of function arguments +2010-12-25 Bruno Haible - path expressions: allow concatenating strings and regexps with '+' + Fix more C++ link errors on Solaris 8. + * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add + $(LIB_EACCESS). + * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise. + * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise. + * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise. + * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise. + * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise. - path expressions: add operator '!~' +2010-12-25 Bruno Haible - path expressions: add 'glob' function that constructs regexps from globs + printf-posix: Fix link error when a non-GCC compiler is used. + * lib/stdio.in.h (printf): When not using GCC, override printf + correctly. + Reported by Joachim Schmitz . + +2010-12-25 Bruno Haible + + strerror_r-posix: Update doc. + * doc/posix-functions/strerror_r.texi: Update doc about the return + value. See . + +2010-12-25 Paul Eggert + + utimens: simplify the logic of the previous change + * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit. + This should not affect whether the test succeeds or fails. + + utimens: configure better on hosts with NFS clock skew + * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL) + uses the clock of the local host. It might use the clock of the + NFS server. Reported for Linux 2.4.21 client by Bruno Haible in + . + +2010-12-25 Bruno Haible + + ptsname test: Avoid failure on Solaris. + * tests/test-ptsname.c (main): For Solaris, use the recommended way to + open a pseudo-terminal; don't use BSD-style ptys. + * doc/posix-functions/ptsname.texi: Document the limitation on Solaris. + +2010-12-25 Bruno Haible - regexp: add make_regexp_from_glob to convert globs to regexps + ptsname: Avoid ERANGE failure on some systems. + * lib/ptsname.c (buffer): Increase size. - regexp: add convenience function make_regexp_dup +2010-12-25 Bruno Haible - path expressions: allow passing a nodeset to function regexp + rename, renameat: Avoid test failures at NFS mounted locations. + * tests/test-rename.h (assert_nonexistent): Remove the old directory, + so that subsequent mkdir calls succeed. - * src/pathx.c (check_app): allow overloaded functions - Make it possible to have multiple functions with the same name, but - different signatures. All variants of a function must have the same arity, - they can only differ in their return type and the types of the arguments. +2010-12-25 Bruno Haible + + iswblank: Fix C++ link error on Solaris 8. + * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or + _GL_FUNCDECL_SYS. - Keep a dummy struct info in struct error for convenience - * src/errcode.h (struct error): at a info member - * src/augeas.c (aug_init): set up the struct info in struct error; - (aug_close): free the struct info in struct error +2010-12-25 Bruno Haible + + unistd: Fix C++ link error on Solaris 8. + * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS). + +2010-12-25 Bruno Haible - * src/augtool: store history in ~/.augeas/history + readlink doc: Mention an old glibc bug. + * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450). -2011-05-04 David Lutterkort +2010-12-25 Bruno Haible - Xorg: accept InputClass section + fcntl-h: Fix for use of C++ on glibc systems. + * lib/fcntl.in.h: Include before include_next + also on glibc systems in C++ mode. + Reported by Gary V. Vaughan . + +2010-12-25 Bruno Haible + + roundl-ieee: Make it work on OSF/1 5.1 with cc. + * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee. -2011-05-03 David Lutterkort +2010-12-25 Bruno Haible - Xorg: autoload from /etc/X11/xorg.conf.d/*.conf - Based on patch by manugupta + truncl-ieee: Make it work on OSF/1 5.1 with cc. + * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug. + * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used, + test whether truncl works according to ISO C 99 with IEC 60559. + * m4/truncl-ieee.m4: New file. + * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE. - Fixes bug #197 +2010-12-25 Bruno Haible -2011-04-29 David Lutterkort + ceill-ieee: Make it work on OSF/1 5.1 with cc. + * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug. + * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used, + test whether ceill works according to ISO C 99 with IEC 60559. + * m4/ceill-ieee.m4: New file. + * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_CEILL_IEEE. - test root: add a few more files +2010-12-25 Bruno Haible -2011-04-29 David Lutterkort + Ensure all prerequisites of are included. + * m4/btowc.m4 (gl_FUNC_BTOWC): Include , , + before . + * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, + gl_MBRLEN_NUL_RETVAL): Likewise. + * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK, + gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL, + AC_FUNC_MBRTOWC): Likewise. + * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise. + * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise. + * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. + * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL): + Likewise. + * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise. + * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise. + (gl_WCHAR_H): Improve comments. + * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise. - path expressions: allow whitespace inside names - This makes the path expression '/files/etc/foo bar/baz' legal, i.e. it is - no longer necessary to escape whitespace in path expressions. +2010-12-25 Bruno Haible - Fixes BZ 700608 + strtok_r: Fix C syntax error in autoconf macro. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0 + characters in test program. -2011-04-15 David Lutterkort +2010-12-24 Bruno Haible + + ceil, trunc, round: Fix gcc warnings. + * lib/ceil.c (MIN): Undefine before redefining. + * lib/trunc.c (MIN): Likewise. + * lib/round.c (MIN): Likewise. + Include first. - Version 0.8.1 +2010-12-24 Bruno Haible + + select tests: Avoid failures on OSF/1 5.1. + * tests/test-select.c (test_accept_first, test_socket_pair): Ignore + failure of closing the last socket; it may fail with ECONNRESET. + +2010-12-24 Eric Blake + + stdint: avoid HP-UX 10.20 preprocessor bug + * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather + than #if. + * tests/test-floor2.c (main): Likewise. + Reported by Peter O'Gorman. + + pipe: make obsoletion transition easier + * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h". + * modules/pipe (Files): Include revived file. + (Include): Drop reference, to mirror getdate's behavior. + +2010-12-24 Bruno Haible + + sys_socket: Hide mismatch of declarations on NonStop Kernel. + * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use + _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS. + Reported by Joachim Schmitz . + +2010-12-24 Bruno Haible + + gethostname: Ensure declaration on NonStop Kernel. + * lib/unistd.in.h: Include also on NonStop Kernel systems. + Reported by Joachim Schmitz . + +2010-12-24 Bruno Haible + + sys_select: Ensure all necessary types on NonStop Kernel. + * lib/sys_select.in.h: If the system does not have , + include . + * doc/posix-headers/sys_select.texi: Mention that it's missing on + NonStop Kernel. + Reported by Joachim Schmitz . + +2010-12-24 Bruno Haible + + sys_select: Remove unneeded include. + * lib/sys_select.in.h: Don't include on platforms that + have . + +2010-12-24 Bruno Haible + + gethostname: Provide a fallback for HOST_NAME_MAX. + * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX + nor MAXHOSTNAMELEN is found in the usual system headers, use 256 + instead. + Reported by Joachim Schmitz . + +2010-12-24 Bruno Haible + + sigaction tests: Allow missing SA_RESETHAND and SA_RESTART. + * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0. + (SA_RESTART): Likewise. + Reported by Joachim Schmitz . + +2010-12-24 Bruno Haible + + signal: Define NSIG. + * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel. + * tests/test-signal.c (nsig): New variable. + Reported by Joachim Schmitz . + +2010-12-24 Bruno Haible + + rename, renameat: Avoid test failures on OSF/1 5.1. + * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as + alternative error codes. + * tests/test-renameat.c (main): Likewise. + +2010-12-24 Bruno Haible + + *printf: Detect large precisions bug on Solaris 10/SPARC. + * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided + by Paul Eggert. + * tests/test-snprintf-posix.h (test_function): Add this test code here + too. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-vasnprintf-posix.c (test_function): Likewise. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked + around by gnulib. + * doc/posix-functions/printf.texi: Likewise. + * doc/posix-functions/snprintf.texi: Likewise. + * doc/posix-functions/sprintf.texi: Likewise. + * doc/posix-functions/vfprintf.texi: Likewise. + * doc/posix-functions/vprintf.texi: Likewise. + * doc/posix-functions/vsnprintf.texi: Likewise. + * doc/posix-functions/vsprintf.texi: Likewise. + * doc/posix-functions/dprintf.texi: Undo last commit. + * doc/posix-functions/vdprintf.texi: Likewise. + +2010-12-23 Paul Eggert + + tests: port test-fdutimensat.c to Solaris 8 + * tests/test-fdutimensat.c (do_fdutimens): Don't assume + fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW. + On Solaris 8, it fails with errno == ENOSYS, because there is no + futimens (so it can't use the fd), and there is no lutimens (so it + can't implement AT_SYMLINK_NOFOLLOW on symlinks). + + vsnprintf: make more consistent with snprintf; doc fixes + + * doc/posix-functions/snprintf.texi (snprintf): The workaround for + the byte count return problem was promoted from the snprintf-posix + to the snprintf module. + * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise. + * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check + gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF. + * tests/test-snprintf.c (main): Check the byte count returned. + * tests/test-vsnprintf.c (main): Likewise. + +2010-12-23 Eric Blake + + sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts + * modules/sigpipe (License): Relax license. + +2010-12-22 Paul Eggert + + doc: document Solaris printf bug with large float precisions + * doc/posix-functions/dprintf.texi (dprintf): + * doc/posix-functions/fprintf.texi (fprintf): + * doc/posix-functions/printf.texi (printf): + * doc/posix-functions/snprintf.texi (snprintf): + * doc/posix-functions/sprintf.texi (sprintf): + * doc/posix-functions/vdprintf.texi (vdprintf): + * doc/posix-functions/vfprintf.texi (vfprintf): + * doc/posix-functions/vprintf.texi (vprintf): + * doc/posix-functions/vsnprintf.texi (vsnprintf): + * doc/posix-functions/vsprintf.texi (vsprintf): + Mention that these functions mishandle large floating point + precisions on Solaris 10. The same bug is also present in Solaris + 8, and I assume earlier. This causes "cd gnulib-tests; make + check" to fail on Solaris 8 (and I assume, later) when building + the latest coreutils, in test-vasprintf-posix's call to + my_asprintf (&result, "%.4000f %d", 1.0, 99). I have not checked + the wide flavors (e.g., wprintf) so this patch just updates the + documentation for the narrow ones. + + test-posixtm.c: add two tests + * tests/test-posixtm.c: Add two tests, to highlight the + bug in Solaris 10 (and earlier) localtime. Gnulib doesn't work + around this bug; this is merely to document it. + +2010-12-22 Bruno Haible + + getlogin_r: Work around portability problem on OSF/1. + * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem. + * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set. + * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and + test for a truncated result. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R. + * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R. + * modules/getlogin_r (Depends-on): Add memchr. + * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem. + +2010-12-22 Bruno Haible + + ptsname: Avoid test failure on OSF/1 5.1. + * modules/ptsname-tests (Depends-on): Add 'same-inode'. + * tests/test-ptsname.c: Include , same-inode.h. + (same_slave): New function. + (main): Use it to compare ptsname's result with the expected file name. + +2010-12-22 Bruno Haible + + Port extended stdio modules to HP NonStop Kernel. + * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New + macros. + * lib/fbufmode.c: Update comments. + * lib/fflush.c: Likewise. + * lib/fpurge.c: Likewise. + * lib/freadable.c: Likewise. + * lib/freadahead.c: Likewise. + * lib/freading.c: Likewise. + * lib/freadptr.c: Likewise. + * lib/freadseek.c: Likewise. + * lib/fseeko.c: Likewise. + * lib/fseterr.c: Likewise. + * lib/fwritable.c: Likewise. + * lib/fwriting.c: Likewise. + Reported by Joachim Schmitz . + +2010-12-22 Bruno Haible + + ttyname_r: Work around bug on OSF/1 5.1. + * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug. + * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no" + instead of "guessing no" when the OSF/1 bug or the Solaris bug is + present. + * lib/ttyname_r.c (ttyname_r): Update comments. + +2010-12-22 Bruno Haible + + round: Implement result sign according to IEEE 754. + * lib/round.c (MIN, MINUS_ZERO): New macros. + (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0. + * tests/test-roundf-ieee.c (main): Test also values between -1 and 1. + * tests/test-round-ieee.c (main): Likewise. + * tests/test-roundl-ieee.c (main): Likewise. + + trunc: Implement result sign according to IEEE 754. + * lib/trunc.c (MIN, MINUS_ZERO): New macros. + (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0. + * tests/test-trunc2.c: Include minus-zero.h. + (MINUS_ZERO): New macro. + (trunc_reference): Keep in sync with lib/trunc.c. + * tests/test-truncf2.c: Include minus-zero.h. + (MINUS_ZERO): New macro. + (truncf_reference): Keep in sync with lib/trunc.c. + * tests/test-truncf-ieee.c (main): Test also values between -1 and 1. + * tests/test-trunc-ieee.c (main): Likewise. + * tests/test-truncl-ieee.c (main): Likewise. + + ceil: Implement result sign according to IEEE 754. + * lib/ceil.c (MIN, MINUS_ZERO): New macros. + (FUNC): Return -0.0 for -1 < x < 0. + * tests/test-ceil2.c: Include minus-zero.h. + (MINUS_ZERO): New macro. + (ceil_reference): Keep in sync with lib/ceil.c. + * tests/test-ceilf2.c: Include minus-zero.h. + (MINUS_ZERO): New macro. + (ceilf_reference): Keep in sync with lib/ceil.c. + * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1. + * tests/test-ceil-ieee.c (main): Likewise. + * tests/test-ceill-ieee.c (main): Likewise. + + floor: Implement result sign according to IEEE 754. + * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1. + * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c. + * tests/test-floorf2.c (floorf_reference): Likewise. + * tests/test-floorf-ieee.c (main): Test also values between -1 and 1. + * tests/test-floor-ieee.c (main): Likewise. + * tests/test-floorl-ieee.c (main): Likewise. + +2010-12-22 Bruno Haible + + getaddrinfo: Update doc. + * doc/posix-functions/gai_strerror.texi: Return type is also different + on AIX and HP-UX. + +2010-12-22 Paul Eggert + + getaddrinfo, inet_ntop: Update doc for Solaris. + * doc/posix-functions/gai_strerror.texi: Return type is also an + issue on Solaris 9 and earlier. + * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue + on Solaris 10 and earlier. + +2010-12-21 Bruno Haible + + New module 'roundl-ieee'. + * modules/roundl-ieee: New file. + * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used, + test whether roundl works according to ISO C 99 with IEC 60559. + * m4/roundl-ieee.m4: New file. + * modules/roundl-ieee-tests: New file. + * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c. + * tests/test-roundl.c (main): Remove signbit tests. + * modules/roundl-tests (Depends-on): Remove signbit. + * doc/posix-functions/roundl.texi: Mention the new module. + +2010-12-21 Bruno Haible + + New module 'truncl-ieee'. + * modules/truncl-ieee: New file. + * modules/truncl-ieee-tests: New file. + * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c. + * tests/test-truncl.c (main): Remove signbit tests. + * modules/truncl-tests (Depends-on): Remove signbit. + * doc/posix-functions/truncl.texi: Mention the new module. + +2010-12-21 Bruno Haible + + New module 'ceill-ieee'. + * modules/ceill-ieee: New file. + * modules/ceill-ieee-tests: New file. + * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c. + * tests/test-ceill.c (main): Remove signbit tests. + * modules/ceill-tests (Depends-on): Remove signbit. + * doc/posix-functions/ceill.texi: Mention the new module. + +2010-12-21 Bruno Haible + + New module 'floorl-ieee'. + * modules/floorl-ieee: New file. + * modules/floorl-ieee-tests: New file. + * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c. + * tests/test-floorl.c (main): Remove signbit tests. + * modules/floorl-tests (Depends-on): Remove signbit. + * doc/posix-functions/floorl.texi: Mention the new module. + +2010-12-21 Bruno Haible + + New module 'round-ieee'. + * modules/round-ieee: New file. + * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test + whether round works according to ISO C 99 with IEC 60559. + * m4/round-ieee.m4: New file. + * modules/round-ieee-tests: New file. + * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c. + * tests/test-round1.c (main): Remove signbit tests. + * modules/round-tests (Depends-on): Remove 'signbit'. + * doc/posix-functions/round.texi: Mention the new module. + +2010-12-21 Bruno Haible + + New module 'trunc-ieee'. + * modules/trunc-ieee: New file. + * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test + whether trunc works according to ISO C 99 with IEC 60559. + * m4/trunc-ieee.m4: New file. + * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC. + * modules/math (Makefile.am): Substitute REPLACE_TRUNC. + * modules/trunc-ieee-tests: New file. + * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c. + * tests/test-trunc1.c (main): Remove signbit tests. + * modules/trunc-tests (Depends-on): Remove 'signbit'. + * doc/posix-functions/trunc.texi: Mention the new module. + +2010-12-21 Bruno Haible + + New module 'ceil-ieee'. + * modules/ceil-ieee: New file. + * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If + gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to + ISO C 99 with IEC 60559. + * m4/ceil-ieee.m4: New file. + * modules/ceil (Files): Add lib/ceil.c. + (Depends-on): Add 'float'. + (configure.ac): Invoke gl_MATH_MODULE_INDICATOR. + * lib/math.in.h (ceil): New declaration. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL, + REPLACE_CEIL. + * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL. + * modules/ceil-ieee-tests: New file. + * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c. + * tests/test-math-c++.cc: Check the signature of 'ceil'. + * doc/posix-functions/ceil.texi: Mention the new module. + +2010-12-21 Bruno Haible + + New module 'floor-ieee'. + * modules/floor-ieee: New file. + * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If + gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to + ISO C 99 with IEC 60559. + * m4/floor-ieee.m4: New file. + * modules/floor (Files): Add lib/floor.c. + (Depends-on): Add 'float'. + (configure.ac): Invoke gl_MATH_MODULE_INDICATOR. + * lib/math.in.h (floor): New declaration. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR, + REPLACE_FLOOR. + * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR. + * modules/floor-ieee-tests: New file. + * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c. + * tests/test-math-c++.cc: Check the signature of 'floor'. + * doc/posix-functions/floor.texi: Mention the new module. + +2010-12-21 Bruno Haible + + New module 'roundf-ieee'. + * modules/roundf-ieee: New file. + * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used, + test whether roundf works according to ISO C 99 with IEC 60559. + * m4/roundf-ieee.m4: New file. + * modules/roundf-ieee-tests: New file. + * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c. + * tests/test-roundf1.c (main): Remove signbit tests. + * modules/roundf-tests (Depends-on): Remove 'signbit'. + * doc/posix-functions/roundf.texi: Mention the new module. + +2010-12-21 Bruno Haible + + New module 'truncf-ieee'. + * modules/truncf-ieee: New file. + * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used, + test whether truncf works according to ISO C 99 with IEC 60559. + * m4/truncf-ieee.m4: New file. + * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF. + * modules/math (Makefile.am): Substitute REPLACE_TRUNCF. + * modules/truncf-ieee-tests: New file. + * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c. + * tests/test-truncf1.c (main): Remove signbit tests. + * modules/truncf-tests (Depends-on): Remove 'signbit'. + * doc/posix-functions/truncf.texi: Mention the new module. + +2010-12-21 Bruno Haible + + New module 'ceilf-ieee'. + * modules/ceilf-ieee: New file. + * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used, + test whether ceilf works according to ISO C 99 with IEC 60559. + * m4/ceilf-ieee.m4: New file. + * modules/ceilf-ieee-tests: New file. + * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c. + * tests/test-ceilf1.c (main): Remove signbit tests. + * modules/ceilf-tests (Depends-on): Remove 'signbit'. + * doc/posix-functions/ceilf.texi: Mention the new module. + +2010-12-21 Bruno Haible + + New module 'floorf-ieee'. + * modules/floorf-ieee: New file. + * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used, + test whether floorf works according to ISO C 99 with IEC 60559. + * m4/floorf-ieee.m4: New file. + * modules/floorf-ieee-tests: New file. + * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c. + * tests/test-floorf1.c (main): Remove signbit tests. + * modules/floorf-tests (Depends-on): Remove 'signbit'. + * doc/posix-functions/floorf.texi: Mention the new module. + +2010-12-21 Bruno Haible + + Support for minus zero in autoconf macros. + * m4/minus-zero.m4: New file, based on tests/minus-zero.h. + * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE, + gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros. + * tests/minus-zero.h: Update comments. + +2010-12-21 Bruno Haible + + Tests for module 'ceil'. + * modules/ceil-tests: New file. + * tests/test-ceil1.c: New file, based on tests/test-ceill.c. + * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c. + +2010-12-21 Bruno Haible + + Tests for module 'floor'. + * modules/floor-tests: New file. + * tests/test-floor1.c: New file, based on tests/test-floorl.c. + * tests/test-floor2.c: New file, based on tests/test-floorf2.c. + +2010-12-21 Bruno Haible + + math: Fix indentation. + * lib/math.in.h (floorf): Fix indentation. + +2010-12-21 Bruno Haible + + Fix cross-compilation guesses on Solaris. + * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does + not match "solaris2.10". + * m4/open.m4 (gl_FUNC_OPEN): Likewise. + * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N, + gl_VSNPRINTF_ZEROSIZE_C99): Likewise. + +2010-12-21 Paul Eggert + + snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9 + This fixes a problem observed with the latest coreutils snapshot + that caused a test to fail on Solaris 8. src/csplit.c's call + snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and + earlier, instead of returning the number of bytes that would have + been generated; this causes csplit to incorrectly report memory + exhaustion. + * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for + snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...). + Guess that it doesn't work on Solaris 2.6 through 9. Adjust + comments to match. + (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99): + Fix typo in matching older versions of Solaris: "solaris2.10" + is matched by the shell pattern "solaris2.[0-9]*". This matters + only for guessing while cross-compiling. + * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99. + +2010-12-20 Paul Eggert + + ftoastr: fix comment again + * lib/ftoastr.h: Fix typo in comment. Noted by Ben Pfaff in + . + Also, simplify example a bit by using flags = 0. + +2010-12-20 Bruno Haible + + round*, trunc*: Update documentation regarding glibc. + * doc/posix-functions/roundf.texi: Mention missing declaration problem. + * doc/posix-functions/round.texi: Likewise. + * doc/posix-functions/roundl.texi: Likewise. + * doc/posix-functions/truncf.texi: Likewise. + * doc/posix-functions/trunc.texi: Likewise. + * doc/posix-functions/truncl.texi: Likewise. + +2010-12-20 Bruno Haible + + roundf, round, roundl: Update documentation regarding OSF/1 5.1. + * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem. + * doc/posix-functions/round.texi: Likewise. + * doc/posix-functions/roundl.texi: Likewise. + +2010-12-20 Bruno Haible + + ttyname_r: Add missing declaration on HP-UX 11. + * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of + HAVE_TTYNAME_R. + * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is + declared. Set HAVE_TTYNAME_R always. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R. + * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not + HAVE_TTYNAME_R. + * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem. + +2010-12-20 Bruno Haible + + getlogin, getlogin_r: Document HP-UX 11.11 bugs. + * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug. + * doc/posix-functions/getlogin_r.texi: Likewise. + * tests/test-getlogin.c: Include . + (main): Avoid test failure on HP-UX 11.11. + * tests/test-getlogin_r.c (main): Likewise. + +2010-12-20 Bruno Haible + + getlogin_r: Add missing declaration on HP-UX 11. + * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is + declared also when it exists as a function. + * doc/posix-functions/getlogin_r.texi: Document this workaround. - Iptables: handle --tcp-flags - Fixes bug #157 +2010-12-20 Bruno Haible + + wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t. + * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs + through wcrtomb. -2011-04-14 David Lutterkort +2010-12-19 Paul Eggert + + ftoastr: fix comment + * lib/ftoastr.h: Fix typo in comment. Noted by Ben Pfaff in + . + +2010-12-19 Bruno Haible + + isnan: Ensure it is a macro. + * lib/math.in.h (isnan): Define as a macro if not already a macro. + * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1, + Solaris. + +2010-12-19 Bruno Haible + + ldexpl test: Fix link error on OSF/1 5.1. + * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD. + +2010-12-19 Bruno Haible + + wctype: Make it work in C++ mode on OSF/1 5.1. + * lib/wctype.in.h (iswblank): Declare but not define here. + * lib/iswblank.c: New file, extracted from lib/wctype.in.h. + * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed. + * modules/wctype (Files): Add lib/iswblank.c. + +2010-12-19 Bruno Haible + + signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1. + * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem. + * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'. + +2010-12-19 Bruno Haible + + sys_socket: Use POSIX compatible declarations on OSF/1 5.1. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define + _POSIX_PII_SOCKET. + * doc/posix-functions/recv.texi: Document the OSF/1 problem. + * doc/posix-functions/recvfrom.texi: Likewise. + * doc/posix-functions/send.texi: Likewise. + * doc/posix-functions/sendto.texi: Likewise. - * src/augtool.c: respect autosave flag when executing a single command - Fixes bug #193 +2010-12-19 Bruno Haible -2011-04-13 Erinn Looney-Triggs + tcgetsid: Add missing declaration on OSF/1 5.1. + * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of + HAVE_TCGETSID. + * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared. + Don't set HAVE_TCGETSID. + * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize + HAVE_DECL_TCGETSID, not HAVE_TCGETSID. + * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not + HAVE_TCGETSID. + * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem. - Grub: support the 'device' directive for UEFI boot - Fixes bug #189 +2010-12-19 Bruno Haible -2011-04-13 David Lutterkort + stdio: Fix problem with popen() declaration on OSF/1 5.1. + * lib/stdio.in.h: During the include_next statement, let recursive + includes of this file include only the system header file. - Access: support the format @netgroup@@nisdomain - Fixes bug #190 +2010-12-19 Bruno Haible - * lenses/tests/test_fstab.aug: test that we parse SELinux context correctly + iconv_open: Fix regression from 2010-12-04. + * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo. + Reported by Noah Lavine . -2011-03-25 David Lutterkort +2010-12-19 Bruno Haible - Httpd: remove duplicate inclusion of /etc/httpd/conf/httpd.conf + stdbool test: Avoid a gcc warning. + * tests/test-stdbool.c (main): Fail if e1 is false. + Reported by Jim Meyering. -2011-03-25 Bill Pemberton +2010-12-19 Jim Meyering - Deal with continuation lines in httpd.aug - Apache allows config lines to be continued with a backslash, but the - lens couldn't deal with it. Change the value sep_spc to deal with - continuation lines as found in interfaces.aug + setenv: restore to working order + $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were + mistakenly removed. + * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set + HAVE_SETENV. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize + HAVE_SETENV. - Enable the test for continuation lines in test_httpd.aug +2010-12-19 Bruno Haible -2011-03-25 Bill Pemberton + Document some different function declarations on OSF/1 5.1. + * doc/posix-functions/gai_strerror.texi: Mention different declaration. + * doc/posix-functions/inet_ntop.texi: Likewise. + * doc/posix-functions/gethostname.texi: Likewise. + * lib/unistd.in.h (gethostname): Update comment. - Add /etc/httpd/conf/httpd.conf to the filter list for httpd.aug +2010-12-19 Bruno Haible - Allow blank and comment lines throughout config file in iptables + doc: Mention vasprintf-posix module. + * doc/glibc-functions/asprintf.texi: Mention the workarounds present in + the 'vasprintf-posix' module. + * doc/glibc-functions/vasprintf.texi: Likewise. - Exclude /etc/yum/pluginconf.d/versionlock.list from yum.aug - The versionlock plugin puts a file in /etc/yum/pluginconf.d that is - not a yum config file so yum.aug shouldn't try to parse it. +2010-12-19 Bruno Haible -2011-03-23 David Lutterkort + unsetenv: Add missing declaration on OSF/1 5.1. + * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV. + * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared. + Don't set HAVE_UNSETENV. In the test program, set _BSD. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV, + not HAVE_UNSETENV. + * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not + HAVE_UNSETENV. + * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem. - Mysql: include /etc/my.cnf used on Fedora/RHEL - Fixes https://bugzilla.redhat.com/show_bug.cgi?id=688053 +2010-12-19 Bruno Haible - Httpd: include /etc/httpd/conf/httpd.conf used on Fedora/RHEL - Fixes https://bugzilla.redhat.com/show_bug.cgi?id=688149 + setenv: Add missing declaration on OSF/1 5.1. + * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV. + * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is + declared. Don't set HAVE_SETENV. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV, + not HAVE_SETENV. + * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not + HAVE_SETENV. + * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem. + +2010-12-19 Bruno Haible + + nl_langinfo tests: Avoid gcc warning. + * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2. + +2010-12-19 Bruno Haible + + mknod: Avoid error in C++ mode on OSF/1 with GCC. + * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of + _GL_CXXALIAS_SYS. + +2010-12-19 Bruno Haible + + stdbool: Relax test. + * tests/test-stdbool.c (e): Don't require that casts from a variable's + address to 'bool' work in static initializer, for compilers other than + GCC. + +2010-12-19 Bruno Haible + + ftello: Add missing declaration on OSF/1 5.1. + * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO. + * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO. + * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO. + * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem. + +2010-12-19 Bruno Haible + + fseeko: Add missing declaration on OSF/1 5.1. + * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO. + * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO. + * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO. + * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem. -2011-03-22 David Lutterkort +2010-12-19 Bruno Haible - * src/lexer.l: fix a few compilation warnings + fchdir: Add missing declaration on OSF/1 5.1. + * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR. + * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR. + * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem. + +2010-12-19 Bruno Haible + + relocatable-prog-wrapper: Separate from relocatable-prog. + * modules/relocatable-prog (Makefile.am): Define uninstall-hook and + uninstall-relocwrapper rule here. + * modules/relocatable-prog-wrapper (Makefile.am): ... not here. + Reported by Ian Beckwith . + +2010-12-19 Bruno Haible + + unistr/u8-mbsnlen: Add missing dependency. + * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc. + Reported by Ian Beckwith . + +2010-12-19 Bruno Haible + + iconv: Make it possible again to use this module without 'iconv-h'. + * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR + if it is not defined. + Reported by Ian Beckwith . + +2010-12-18 Paul Eggert + + acl: port to Solaris 8 when copying from tmpfs to ufs + * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable + error number. Problem observed on Solaris 8 with latest + coreutils, with "mv A B", where A is on a tmpfs file system and B + is on a ufs file system. This caused coreutils' mv/part-symlink + test to fail. + + tests: set fail=0 at start + * tests/init.sh (setup_): Move fail=0 initialization here ... + (mktempd_): ... from here, so that tests can rely on fail being + set to 0 initially. This fixes a problem in coreutils; see: + http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html + +2010-12-18 Bruno Haible + + memmem-simple: Stylistic changes. + * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning. + Fix preprocessor directive indentation. + +2010-12-15 Pádraig Brady + + memmem, memmem-simple: reorganize and expand empty needle check + * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all + functional checks to memmem-simple so that one has a fully functional + memmem by using just this module. + Restrict the performance only check to the memmem module. + Also expand the empty needle check to ensure the correct + pointer is returned, not just a non NULL pointer. + * doc/glibc-functions/memmem.texi: Rearrange the portability + documentation to correlate with the rearranged checks. + Clarify exactly how the memmem and memmem-simple modules + relate to each other. + +2010-12-15 Pádraig Brady + Bruno Haible + + Improve cross-compilation guesses for uClibc. + * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume + that uClibc does not have the glibc bug. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise. + * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise. + +2010-12-14 Eric Blake + + configmake: provide fallbacks for oldest supported autotools + * m4/configmake.m4: New file. + * modules/configmake (Files): Ship it. + (configure.ac): Use it to guarantee fallbacks. + +2010-12-13 Pádraig Brady + + read-file: Improve handling of large files + * lib/read-file.c (fread_file): Minimize realloc()s + for regular files, and better manage sizes around SIZE_MAX. + +2010-12-13 Eric Blake + + cloexec, fcntl: relax license + * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with + consent from all contributors. + * modules/fcntl (License): Likewise. + +2010-12-10 Bruno Haible + + Tests for module 'pipe-posix'. + * modules/pipe-posix-tests: New file. + * tests/test-pipe.c: New file, based on tests/test-pipe2.c. + +2010-12-10 Bruno Haible + + pipe-posix: Make it work in C++ mode. + * lib/unistd.in.h: Don't include , for pipe. + (pipe): Use common idiom, not a macro definition. + * lib/pipe.c: New file. + * m4/pipe.m4: New file. + * modules/pipe-posix (Description): Enhance. + (Files): Add lib/pipe.c, m4/pipe.m4. + (configure.ac): Invoke gl_FUNC_PIPE. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE. + * modules/unistd (Makefile.am): Substitute HAVE_PIPE. + * tests/test-unistd-c++.cc: Check the signature of pipe. + +2010-12-10 Bruno Haible + + Rename module 'pipe' to 'spawn-pipe'. + * modules/spawn-pipe: New file, renamed from modules/pipe. + (Files, configure.ac, Makefile.am): Update. + (Include): Mention "spawn-pipe.h" instead of "pipe.h". + * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'. + * lib/spawn-pipe.h: New file, renamed from lib/pipe.h. + * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include + "spawn-pipe.h" instead of "pipe.h". + * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE + to gl_SPAWN_PIPE. + * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests. + (Files, Makefile.am): Update. + * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh. + Update. + * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c. + Include "spawn-pipe.h" instead of "pipe.h". + * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h". + * lib/javacomp.c: Likewise. + * lib/javaversion.c: Likewise. + * lib/pipe-filter-gi.c: Likewise. + * lib/pipe-filter-ii.c: Likewise. + * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'. + * modules/javacomp (Depends-on): Likewise. + * modules/javaversion (Depends-on): Likewise. + * modules/pipe-filter-gi (Depends-on): Likewise. + * modules/pipe-filter-ii (Depends-on): Likewise. + * MODULES.html.sh (Executing programs): Update. + * NEWS: Mention the change. + +2010-12-10 Eric Blake + + pipe-posix: new module + * modules/pipe-posix: New file. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default. + (gl_UNISTD_H): Check for declaration. + * modules/unistd (Makefile.am): Substitute it. + * lib/unistd.in.h (pipe): Provide it for mingw. + * doc/posix-functions/pipe.texi (pipe): Update documentation. + * MODULES.html.sh (File descriptor based Input/Output): Likewise. + +2010-12-07 Bruno Haible + + unistr/u8-strcmp: Avoid collision with libc function on Solaris 11. + * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name + u8_strcmp_gnu. + * modules/unistr/u8-strcmp (configure.ac): Bump version number. + +2010-12-06 Bruno Haible + + Update internal documentation. + * m4/README: Document new idioms for AC_RUN_IFELSE invocations. + +2010-12-04 Bruno Haible + + Put more information about failed tests into the test return codes. + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test + program so that it returns an enumerated value (0, 1, 2, 3, 4, ...). + * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise. + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise. + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise. + * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise. + * m4/getline.m4 (gl_FUNC_GETLINE): Likewise. + * m4/intdiv0.m4 (gt_INTDIV0): Likewise. + * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise. + * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise. + * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise. + * m4/stdint.m4 (gl_STDINT_H): Likewise. + * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it + returns a bit mask. + * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise. + * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise. + * m4/dup2.m4 (gl_FUNC_DUP2): Likewise. + * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise. + * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise. + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise. + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise. + * m4/iconv.m4 (AM_ICONV_LINK): Likewise. + * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise. + * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise. + * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise. + * m4/link.m4 (gl_FUNC_LINK): Likewise. + * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise. + * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise. + * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise. + * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise. + * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise. + * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise. + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise. + * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise. + * m4/open.m4 (gl_FUNC_OPEN): Likewise. + * m4/poll.m4 (gl_FUNC_POLL): Likewise. + * m4/popen.m4 (gl_FUNC_POPEN): Likewise. + * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE, + gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE, + gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS, + gl_PRINTF_PRECISION): Likewise. + * m4/regex.m4 (gl_REGEX): Likewise. + * m4/rename.m4 (gl_FUNC_RENAME): Likewise. + * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise. + * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise. + * m4/stat.m4 (gl_FUNC_STAT): Likewise. + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise. + * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise. + * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. + * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. + * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise. + * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise. + * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise. + * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise. + * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise. + * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise. + * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise. + * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise. + * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise. + (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an + enumerated value. + * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style. + +2010-12-04 Bruno Haible + + Update for Solaris 11 2010-11. + * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11 + Express, released in November 2010. + +2010-12-04 Bruno Haible + + nproc: Relax license. + * modules/nproc (License): Change to LGPL, with consent by Glen Lenker + and Paul Eggert. + Requested by Ludovic Courtès . + +2010-12-01 Paul Eggert + + utimecmp: fine-grained src to nearby coarse-grained dest + + * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set, + and the source is on a file system with higher-resolution time + stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does + not work, and the time stamps are close together, the algorithm to + determine the exact resolution from the read-back mtime was buggy: + it had a "!=" where it should have had an "==". This bug has been + in the code ever since it was introduced to gnulib. + Problem reported by Dan Jacobson in + . + +2010-11-30 Bruno Haible + + strerror_r-posix: Fix autoconf test. + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo. + +2010-11-28 Bruno Haible + Paul Eggert + + Tests for module 'getdomainname'. + * modules/getdomainname-tests: New file. + * tests/test-getdomainname.c: New file, based on + tests/test-gethostname.c. + +2010-11-28 Bruno Haible + Paul Eggert + + getdomainname: Use the system function when possible. + * lib/unistd.in.h: Include , for getdomainname's declaration. + (getdomainname): Replace if needed. Provide the declaration if it is + missing. Don't use _GL_CXXALIAS_SYS_CAST. + * lib/getdomainname.c: Include and . + (getdomainname): When the system has getdomainname, call the system + function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that. + * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require + gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is + found in libnsl. Look for the declaration also in . Replace + the function if its second argument is of type 'int' or if it is found + in libnsl. + (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for + and sysinfo(). + * modules/getdomainname (Depends-on): Add netdb, sys_socket. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of + HAVE_GETDOMAINNAME. + * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and + REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME. + * doc/glibc-functions/getdomainname.texi: Document the problems with + the getdomainname declaration. + +2010-11-28 Bruno Haible + + sys_socket: Ensure ss_family field on AIX. + * lib/sys_socket.in.h (ss_family): New macro definition. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set + HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary. + (gl_SYS_SOCKET_H_DEFAULTS): Initialize + HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. + * modules/sys_socket (Makefile.am): Substitute + HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. + * doc/posix-headers/sys_socket.texi: Mention the AIX bug. + +2010-11-27 Bruno Haible + + readline: Improve configure output. + * m4/readline.m4 (gl_FUNC_READLINE): Make the + "checking for readline..." result understandable. + +2010-11-27 Bruno Haible + + *printf-posix: Detect a bug on Solaris 10/x86. + * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision + for floating-point output. + * tests/test-vasnprintf-posix.c (test_function): Test precision with %f + directive. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug. + * doc/posix-functions/printf.texi: Likewise. + * doc/posix-functions/snprintf.texi: Likewise. + * doc/posix-functions/sprintf.texi: Likewise. + * doc/posix-functions/vfprintf.texi: Likewise. + * doc/posix-functions/vprintf.texi: Likewise. + * doc/posix-functions/vsnprintf.texi: Likewise. + * doc/posix-functions/vsprintf.texi: Likewise. + * doc/glibc-functions/obstack_printf.texi: Likewise. + * doc/glibc-functions/obstack_vprintf.texi: Likewise. + +2010-11-27 Bruno Haible + + Fix link error when module libunistring-optional is in use. + * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING). + * modules/striconveha-tests (Makefile.am): Likewise. + +2010-11-27 Bruno Haible + + regex: Mention link dependencies. + * modules/regex (Link): New section. + * modules/rpmatch (Link): Likewise. + * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL). + +2010-11-27 Bruno Haible + + ftoastr: Fix compilation error on Solaris. + * lib/ftoastr.c: Include . + +2010-11-27 Bruno Haible + + getloadavg: Update documentation. + * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem. + +2010-11-27 Bruno Haible + + sys_socket: Fix test whether the functions are declared. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include , + not . + +2010-11-27 Bruno Haible + + getpass: Make sure to get system declaration on some platforms. + * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require + gl_USE_SYSTEM_EXTENSIONS. + * modules/getpass (Depends-on): Add extensions. + +2010-11-26 Bruno Haible + + iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11. + * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the + 'iconv' module is present. + (ICONV_CONST): New macro. + * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and + ICONV_CONST. + * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present, + set ICONV_CONST. + * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST + here. + * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR. + * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV. + * tests/test-iconv-h.c (ICONV_CONST): Don't define here. + * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here. + (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is + present. + +2010-11-25 Paul Eggert + + ftoastr: comment fix + * lib/ftoastr.c: "little" -> "little or no" in comment + +2010-11-24 Paul Eggert + + stdint: port to GCC 4.3 + OSX + Octave + On this platform, stdint.h is buggy and defines int64_t to long + long int. The replacement defined it to long int, causing + problems with C++ style name mangling. Instead, trust the system + definition if INT64_MAX is defined, and likewise for the unsigned + variant. Problem reported by Jarno Rajahalme in + . + * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined, + and don't mess with int64_t and INT64_MAX in this case. + (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t. + +2010-11-24 Bruno Haible + + doc: Corrections regarding MacOS X 10.4 and 10.5. + * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about + MacOS X. + Reported by Simon Josefsson. + +2010-11-22 Ben Pfaff + + Uninstall ".bin" files installed by relocwrapper. + * modules/relocatable-prog-wrapper (uninstall-relocwrapper): + Recursively run "make uninstall" with ".bin" prefixed to EXEEXT, + unless it is already there. + +2010-11-21 Bruno Haible + + Update for NetBSD 5.0. + * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on + NetBSD; the test fails on NetBSD 5.0. + * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info + about NetBSD. + +2010-11-21 Bruno Haible + + Update for HP-UX 11.23 and HP-UX 11.31. + * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about + HP-UX. + +2010-11-21 Bruno Haible + + Update for MacOS X 10.5. + * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on + MacOS X; the test fails on MacOS X 10.5.8. + * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info + about MacOS X. + +2010-11-20 Joel E. Denny + + bootstrap: add bootstrap_sync option. + See discussion at + , + . + * build-aux/bootstrap: Accept --bootstrap-sync to update + bootstrap if it is not identical to the local gnulib's + bootstrap. Accept bootstrap_sync=true in bootstrap.conf to + enable this by default. Accept --no-bootstrap-sync to disable + it. + +2010-11-20 Bruno Haible + + Ensure that is included before __GLIBC__ is tested. + * lib/printf-parse.h: Include . + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H. + Reported by Mike Frysinger . + + Ensure that is included before __GLIBC__ is tested. + * lib/wchar.in.h: Include . + * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H. + * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H. + Reported by Mike Frysinger . + + Ensure that is included before __GLIBC__ is tested. + * lib/arpa_inet.in.h: Include . + * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H. + * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H. + Reported by Mike Frysinger . + + Ensure that is included before __GLIBC__ is tested. + * build-aux/link-warning.h: Include . + * modules/link-warning (configure.ac): Require gl_FEATURES_H. + (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h. + Reported by Mike Frysinger . + + Ensure that is included before __GLIBC__ is tested. + * m4/gnulib-common.m4 (gl_FEATURES_H): New macro. + Reported by Mike Frysinger . + +2010-11-20 Bruno Haible + + memmem: Fix autoconf test. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM. + +2010-11-20 Bruno Haible + + Port to uClibc. + * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc. + * lib/fcntl.in.h: Likewise. + * lib/hard-locale.c (GLIBC_VERSION): Likewise. + * lib/mbrtowc.c (mbrtowc): Likewise. + * lib/relocatable.c (find_shared_library_fullname): Likewise. + * lib/strerror_r.c: Likewise. + * lib/unistr/u8-strnlen.c: Likewise. + * lib/vasnprintf.c (decimal_point_char): Likewise. + * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise. + * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise. + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise. + * m4/glibc21.m4 (gl_GLIBC21): Likewise. + * tests/test-sigaction.c (handler, main): Likewise. + * lib/freading.h: Treat uClibc like a non-glibc platform. + * lib/freading.c: Likewise. + * lib/gettext.h: Likewise. + * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL): + Likewise. + * lib/printf-parse.h (FLAG_LOCALIZED): Likewise. + * lib/printf-parse.c (PRINTF_PARSE): Likewise. + * lib/propername.c (proper_name_utf8): Likewise. + * lib/spawn.in.h: Likewise. + * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise. + * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1, + mem_cd_iconveh_internal): Likewise. + * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise. + * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk, + strstr, strcasestr): Likewise. + * lib/unicodeio.c (unicode_to_mb): Likewise. + * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise. + * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise. + * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise. + * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise. + * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise. + * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise. + * lib/unistr/u8-stpncpy.c: Likewise. + * lib/vasnprintf.c (VASNPRINTF): Likewise. + * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise. + * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise. + * m4/getline.m4 (gl_FUNC_GETLINE): Likewise. + * m4/glibc2.m4 (gt_GLIBC2): Likewise. + * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise. + * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise. + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR): + Likewise. + * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise. + * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. + * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise. + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. + * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. + * m4/wchar_h.m4 (gl_WCHAR_H): Likewise. + * tests/test-getopt.h (OPTIND_MIN): Likewise. + * tests/test-striconveha.c (main): Likewise. + * tests/test-vasnprintf-posix.c (test_function): Likewise. + * tests/test-vasnprintf-posix3.c (test_function, main): Likewise. + * doc/posix-functions/getdelim.texi: Mention an uClibc bug. + * doc/posix-functions/getline.texi: Likewise. + Reported by Mike Frysinger . + +2010-11-20 Bruno Haible + + nproc: Fix condition. + * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not + HAVE_PTHREAD_AFFINITY_NP. + +2010-11-20 Bruno Haible + + Fix a comment. + * lib/vasnprintf.c (VASNPRINTF): Fix comment. + +2010-11-19 Paul Eggert + + ftoastr: don't assume snprintf + * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]: + Implement a subset of snprintf here, by using sprintf safely. + * modules/ftoastr (Depends-on): Remove snprintf. + +2010-11-19 Jim Meyering + + test-rename.h: fix compilation failure + * tests/test-rename.h (test_rename): Add omitted "}". + +2010-11-17 Jim Meyering + + maint.mk: add a URL discussing the no-@acronym policy + * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment. + +2010-11-18 Paul Eggert + + ftoastr: depend on snprintf, improve comments + * lib/ftoastr.c: Also mention Loitsch's draft. + * lib/ftoastr.h: Require WIDTH to be nonnegative. This isn't + needed in the current implementation, but it might simplify + speeding up the code later. + * modules/ftoastr: Depend on snprintf; this improves portability. + Suggested by Bruno Haible in the same email. + + ftoastr: port to hosts lacking strtof and strtold + Problem reported by Bruno Haible in + . + * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99 + environment and strtold (and presumably strtof) are not available. + * modules/ftoastr (Files): Add m4/c-strtod.m4. + (configure.ac): Require gl_C99_STRTOLD. + +2010-11-18 Bruno Haible + + c-strtold: Avoid link error on AIX 7. + * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L. + * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists. + (gl_C_STRTOLD): Test whether strtold_l exists. + Reported by Albert Chin . + +2010-11-17 Paul Eggert + + intprops: new macro INT_BITS_STRLEN_BOUND + * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by + ftoastr.h. This exposes an internal of intprops.h that was formerly + not exposed. Also, it uses a slightly tighter bound than before; + though this makes no practical difference, we might as well be as + tight as we easily can. + + ftoastr: new module, for lossless conversion of floats to short strings + * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c: + * modules/ftoastr: New files. + +2010-11-15 Paul Eggert + + bootstrap: port to Solaris sed + * build-aux/bootstrap (get_version): Port to Solaris sed. + See Ralf Wildenhues's note in + . + +2010-11-14 Jim Meyering + + maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/ + * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy" + and move definition closer to sole use. + +2010-11-13 Jim Meyering + + remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP + Now we require at least autoconf-2.59, which means the work-around + is no longer needed. + * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around. + * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise. + * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise. + * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise. + * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise. + +2010-11-13 Bruno Haible + + rename, renameat: Avoid test failures at NFS mounted locations. + * tests/test-rename.h (dentry_exists, assert_nonexistent): New + functions. + (test_rename): Use assert_nonexistent. + * tests/test-rename.c: Include . + * tests/test-renameat.c: Likewise. + Reported by Gary V. Vaughan . + + rename, renameat: Document Linux bug with NFS + . + * doc/posix-functions/rename.texi: Mention the NFS bug on Linux. + * doc/posix-functions/renameat.texi: Likewise. + Suggested by Eric Blake. + +2010-11-13 Bruno Haible + + rename test: Add comments. + * tests/test-rename.h (test_rename): Add structure and comments. + +2010-11-13 Eric Blake + + maintainer-makefile: cover a few more files + * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell + scripts generated within C files, for libvirt. + +2010-11-13 Bruno Haible + + unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input. + * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte + character, return the number of bytes that belong together, not always + 1. + * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise. + * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise. + * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise. + * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the + number of bytes of an invalid character. + * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function. + (main): Invoke it. + * tests/unistr/test-u8-mbtouc.h (test_function): Update two test + results. + * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of + malformed byte sequences. + * modules/unistr/u8-mbtouc (configure.ac): Bump version number. + * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise. + * modules/unistr/u8-mbsnlen (configure.ac): Likewise. + Reported by Ben Pfaff and Paolo Bonzini. + +2010-11-13 Bruno Haible + + openat: Work around glibc bug with fchownat() and empty file names. + * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro. + (gl_FUNC_FCHOWNAT): Invoke it. + * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially. + * doc/posix-functions/fchownat.texi: Document the glibc bug. + Reported by Gary V. Vaughan . + +2010-11-13 Bruno Haible + + openat: Ensure autoconf macro ordering. + * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require + gl_USE_SYSTEM_EXTENSIONS. + (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS. + +2010-11-13 Bruno Haible + + Update comments. + * lib/unistr/u8-check.c: Update file name in comments. + * lib/unistr/u8-mblen.c: Likewise. + * lib/unistr/u8-prev.c: Likewise. + * lib/unistr/u8-strmblen.c: Likewise. + * lib/unistr/u8-strmbtouc.c: Likewise. + +2010-11-13 Jim Meyering + + tests: avoid test failure on Solaris 10 due to lack of PATH export + * tests/test-update-copyright.sh: Don't forget to export PATH. + + init.sh: ensure that IFS is defined, just in case... + * tests/init.sh (setup_): Ensure that IFS is defined, + so that saving and restoring it works as expected. This + appears to be useful at least for an old version of dash + from a long time ago (RH 6). See here for details: + http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455 + + maint.mk: tighten "test a == b" check + * top/maint.mk (sc_prohibit_test_double_equal): Restrict this + test to files that contain something like #!/bin/sh. + Without this, coreutils would get two false positives in + the comments of C source files. + +2010-11-12 Eric Blake + + bootstrap: fix typo in previous attempt + * build-aux/bootstrap (buildreq): Correct the grouping. + Reported by Paul Eggert. + + maintainer-makefile: prohibit test x == x + * top/maint.mk (sc_prohibit_test_double_equal): New rule. + Based on a report by Matthias Bolte. + + bootstrap: allow FreeBSD gzip + * build-aux/bootstrap (get_version): Parse FreeBSD gzip version, + which has no '.' and goes to stderr. + * build-aux/bootstrap.conf (buildreq): Improve the sample file. + Reported by Matthias Bolte. + + maintainer-makefile: check for i18n setup + * top/maint.mk (sc_bindtextdomain): Check for evidence that _() + will likely work. + +2010-11-12 Bruno Haible + + sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug. + * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days. + * lib/nanosleep.c (nanosleep): Likewise. + +2010-11-11 Bruno Haible + + fcntl-h: Fix for use of C++ on glibc systems. + * lib/fcntl.in.h: Include before include_next + also on glibc systems in C++ mode. + Reported by Gary V. Vaughan . + +2010-11-11 Christian Weisgerber (tiny change) + + mknod: avoid false failure with dash + * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax. + +2010-11-11 Paul Eggert + + unlink: Fix "is it should" typo in diagnostic. + * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in + . + +2010-11-11 Bruno Haible + + Tests for module 'strerror_r-posix'. + * modules/strerror_r-posix-tests: New file. + * tests/test-strerror_r.c: New file. + * tests/test-string-c++.cc: Check the signature of strerror_r. + + New module 'strerror_r-posix'. + * lib/string.in.h (strerror_r): New declaration. + * lib/strerror_r.c: New file. + * m4/strerror_r.m4: New file. + * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration + of strerror_r. + (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R, + HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R. + * modules/strerror_r-posix: New file. + * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R, + HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R. + * doc/posix-functions/strerror_r.texi: Mention the new module and the + portability problems. + +2010-11-11 Torsten Scheck (tiny change) + + * build-aux/pmccabe2html: Fixed a off-by-one error, so last input + line is also considered for output. Quoted function name in shell + command, so temporary files for functions like MyClass::operator() + are removed correctly without errors. + +2010-11-09 Bruno Haible + + * doc/posix-functions/strerror.texi: List more failing platforms. + + * doc/posix-functions/strerror.texi: Add a comment. + +2010-11-07 Paul Eggert + + fdopendir: fix bug on MacOS X when low on file descriptors + + * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined. + (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg. + All callers changed. + (fdopendir): Invoke save_cwd at the top level, not after using + multiple dup() calls to use up file descriptors. Then retry + fdopendir_with_dup. This avoids failure with EMFILE if FD is 1 + less than the maximum number of open file descriptors, because + save_cwd fails with errno == EMFILE. Problem reported by tsteven4 + on Mac OS X 10.6.4 for tar 1.24 + + + and for tar 1.25 + . + +2010-11-07 Bruno Haible + + vasnprintf: Support I flag on glibc systems. + * lib/printf-parse.h (FLAG_LOCALIZED): New macro. + * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag. + * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's + snprintf function. + * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on + glibc systems. + * tests/test-vasnprintf-posix3.c: New file. + * modules/vasnprintf-posix-tests (Files): Add it. + (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3. + +2010-11-05 Thien-Thi Nguyen (tiny change) + + [html] Fix copy/paste bug: Use unique name for compiler warnings. + * MODULES.html.sh: For compiler warnings, use name + `ansic_ext_compwarn' since `ansic_ext_misc' is already taken. + +2010-11-05 Eric Blake + + ceil, floor: avoid spurious failure with icc + * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ + [denormals-as-zero] when optimizing without -mieee-fp option. + * tests/test-floorf2.c (floorf_reference): Likewise. + * tests/test-ceilf1.c (dummy): New function. + (main): Use it to outsmart icc's optimization. + * tests/test-floorf1.c (dummy, main): Likewise. + + tests: require working signbit + * modules/ceilf-tests (Depends-on): Add signbit. + * modules/ceill-tests (Depends-on): Likewise. + * modules/floorf-tests (Depends-on): Likewise. + * modules/floorl-tests (Depends-on): Likewise. + * modules/round-tests (Depends-on): Likewise. + * modules/roundf-tests (Depends-on): Likewise. + * modules/roundl-tests (Depends-on): Likewise. + * modules/trunc-tests (Depends-on): Likewise. + * modules/truncf-tests (Depends-on): Likewise. + * modules/truncl-tests (Depends-on): Likewise. + + strtod: work around icc bug + * lib/strtod.c (minus_zero): Define to working value. + (strtod): Use it to avoid icc bug. + + copysign: enhance tests + * modules/copysign-tests (Files): Add minus-zero.h. + * tests/test-copysign.c (main): Also test zeros. + +2010-11-04 Eric Blake + + ceil, floor, round, trunc: enhance tests of -0 + * tests/test-ceilf1.c (main): Ensure correct sign of result. + * tests/test-ceill.c (main): Likewise. + * tests/test-floorf1.c (main): Likewise. + * tests/test-floorl.c (main): Likewise. + * tests/test-round1.c (main): Likewise. + * tests/test-roundf1.c (main): Likewise. + * tests/test-roundl.c (main): Likewise. + * tests/test-trunc1.c (main): Likewise. + * tests/test-truncf1.c (main): Likewise. + * tests/test-truncl.c (main): Likewise. + +2010-11-04 Eric Blake + + frexp, tests: work around ICC bug with -zero + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that + works with more compilers. + * tests/minus-zero.h: New file. + * modules/ceilf-tests (Files): Include it. + * modules/ceill-tests (Files): Likewise. + * modules/floorf-tests (Files): Likewise. + * modules/floorl-tests (Files): Likewise. + * modules/frexp-nolibm-tests (Files): Likewise. + * modules/frexp-tests (Files): Likewise. + * modules/frexpl-nolibm-tests (Files): Likewise. + * modules/frexpl-tests (Files): Likewise. + * modules/isnan-tests (Files): Likewise. + * modules/isnand-nolibm-tests (Files): Likewise. + * modules/isnand-tests (Files): Likewise. + * modules/isnanf-nolibm-tests (Files): Likewise. + * modules/isnanf-tests (Files): Likewise. + * modules/isnanl-nolibm-tests (Files): Likewise. + * modules/isnanl-tests (Files): Likewise. + * modules/round-tests (Files): Likewise. + * modules/roundf-tests (Files): Likewise. + * modules/roundl-tests (Files): Likewise. + * modules/ldexpl-tests (Files): Likewise. + * modules/signbit-tests (Files): Likewise. + * modules/snprintf-posix-tests (Files): Likewise. + * modules/sprintf-posix-tests (Files): Likewise. + * modules/strtod-tests (Files): Likewise. + * modules/trunc-tests (Files): Likewise. + * modules/truncf-tests (Files): Likewise. + * modules/truncl-tests (Files): Likewise. + * modules/vsnprintf-posix-tests (Files): Likewise. + * modules/vsprintf-posix-tests (Files): Likewise. + * modules/vasnprintf-posix-tests (Files): Likewise. + * modules/vasprintf-posix-tests (Files): Likewise. + * tests/test-ceilf1.c (main): Use it. + * tests/test-ceill.c (main): Likewise. + * tests/test-floorf1.c (main): Likewise. + * tests/test-floorl.c (main): Likewise. + * tests/test-frexp.c (main): Likewise. + * tests/test-frexpl.c (main): Likewise. + * tests/test-isnan.c (main): Likewise. + * tests/test-isnand.h (main): Likewise. + * tests/test-isnanf.h (main): Likewise. + * tests/test-isnanl.h (main): Likewise. + * tests/test-ldexpl.c (main): Likewise. + * tests/test-round.c (main): Likewise. + * tests/test-roundf.c (main): Likewise. + * tests/test-roundl.c (main): Likewise. + * tests/test-signbit.c (test_signbitf, test_signbitd) + (test_signbitl): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-strtod.c (main): Likewise. + * tests/test-trunc1.c (main): Likewise. + * tests/test-truncf1.c (main): Likewise. + * tests/test-truncl.c (main): Likewise. + + isnanl: work around icc bug + * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well. + +2010-11-03 Eric Blake + + tests: fix compiler warnings + * tests/test-getopt.h (test_getopt): Fix condition. + * tests/test-getopt_long.h (test_getopt_long): Likewise. + * tests/test-pipe2.c (main): Likewise. + * tests/test-quotearg-simple.c (main): Avoid icc warning. + + utimens: fix broken m4 test + * m4/utimens.m4 (gl_UTIMENS): Include correct headers. + +2010-10-28 Bruno Haible + + posix_spawn*, getdtablesize: Relax license. + * modules/posix_spawn (License): Change to LGPLv2+. + * modules/posix_spawnp (License): Likewise. + * modules/posix_spawn-internal (License): Likewise. + * modules/posix_spawnattr_init (License): Likewise. + * modules/posix_spawnattr_getflags (License): Likewise. + * modules/posix_spawnattr_setflags (License): Likewise. + * modules/posix_spawnattr_getpgroup (License): Likewise. + * modules/posix_spawnattr_setpgroup (License): Likewise. + * modules/posix_spawnattr_getschedparam (License): Likewise. + * modules/posix_spawnattr_setschedparam (License): Likewise. + * modules/posix_spawnattr_getschedpolicy (License): Likewise. + * modules/posix_spawnattr_setschedpolicy (License): Likewise. + * modules/posix_spawnattr_getsigdefault (License): Likewise. + * modules/posix_spawnattr_setsigdefault (License): Likewise. + * modules/posix_spawnattr_getsigmask (License): Likewise. + * modules/posix_spawnattr_setsigmask (License): Likewise. + * modules/posix_spawnattr_destroy (License): Likewise. + * modules/posix_spawn_file_actions_init (License): Likewise. + * modules/posix_spawn_file_actions_addclose (License): Likewise. + * modules/posix_spawn_file_actions_adddup2 (License): Likewise. + * modules/posix_spawn_file_actions_addopen (License): Likewise. + * modules/posix_spawn_file_actions_destroy (License): Likewise. + * modules/getdtablesize (License): Likewise. + Requested by Adam Stokes for use in netcf. + +2010-10-26 Bruno Haible + + unistd: Refine workaround from 2009-12-23 against Cygwin bug. + * lib/unistd.in.h: Don't include and , except on + Cygwin and mingw. + Suggested by Eric Blake. + +2010-10-26 Bruno Haible + + stdio: Work around compilation error due to renameat() on Solaris 10. + * lib/stdio.in.h: Include on Solaris. + * lib/renameat.c: Don't include here. + * doc/posix-functions/renameat.texi: Mention the Solaris problem. + Reported by Paul Eggert and Eric Blake. + +2010-10-26 Paul Eggert + + renameat: port to Solaris 10, which declares renameat in unistd.h + + * lib/renameat.c: Include unistd.h before stdio.h, because + Solaris 10 declares renameat in unistd.h. Problem encountered + when building GNU tar 1.24 on Solaris 10. + +2010-10-26 Christian Weisgerber (tiny change) + + fdopendir: fix C89 compilation + * lib/fdopendir.c (fd_clone_opendir): Move declaration for older + compilers. + +2010-10-23 Paul Eggert + + inttostr: simplify by removing unnecessary redundancy + * lib/anytostr.c: Don't include verify.h. + (anytostr): Don't verify that TYPE_SIGNED (inttype) equals + inttype_is_signed. Instead, disable the bogus GCC warnings, so that + there's no need for inttype_is_signed and for calling TYPE_SIGNED. + * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed. + * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c: + Likewise. + * modules/inttostr (Depends-on): Remove 'verify'. + +2010-10-23 Bruno Haible + + nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0. + * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR. + Reported by Eric Blake. + +2010-10-23 Bruno Haible + + Tests: Fix LOCALE_JA on MirBSD 10. + * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads + to an UTF-8 locale. + * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise. + * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise. + Reported by Eric Blake. + +2010-10-21 Bruno Haible + + nl_langinfo test: Avoid test failure on NetBSD 5. + * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR). + Reported by Eric Blake. + +2010-10-21 Eric Blake + + c-stack: work around libsigsegv 2.8 bug + * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack + overflow on at least PowerPC64. + +2010-10-17 Bruno Haible + + userspec: Drop redundant file. + * modules/userspec (Files): Remove lib/inttostr.h. + +2010-10-17 Bruno Haible + + nl_langinfo tests: Silence some warnings. + * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings. + Reported by Jim Meyering. + +2010-10-17 Bruno Haible + + Make use of GCC's attribute __alloc_size__. + * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro. + (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc, + xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE. + * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute + __alloc_size__. + * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise. + Suggested by Jim Meyering. - Eliminate global variable 'comment_depth' in lexer +2010-10-16 Joel E. Denny -2011-03-19 Francis Giraldeau + bootstrap: anchor .gitignore entries. + * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses + with... + (insert_vc_ignore): ... this new function, which prepends `/' to + all .gitignore entries before passing them to + insert_sorted_if_absent. - Add support for configfile and background in grub - Test for the new configuration directives are also provided. +2010-10-16 Bruno Haible - Thanks to Onur Küçük for the patch. + nextafter: Fix configure check. + * modules/nextafter (configure.ac): Correct expected prototype. -2011-03-18 Raphaël Pinson +2010-10-16 Bruno Haible - #include is also valid in sudoers.aug + termios: Update documentation. + * doc/posix-headers/termios.texi: Mention remaining mingw problems. - Add support for #includedir in sudoers.aug and test (ticket #188) +2010-10-16 Bruno Haible -2011-03-17 Francis Giraldeau + tests: Make them compile with TinyCC. + * tests/test-strstr.c (main): Remove parentheses around array + initializer. - Support sudoers in nsswitch.aug - nsswitch.conf support a configuration item to specify database backend, this - commit adds the support for it. +2010-10-15 Eric Blake - Fix bug #187 + ignore-value: make header idempotent + * lib/ignore-value.h: Add double-inclusion guards. + Reported by Stefan Berger. - Thanks to thefoxbox for the enhancement +2010-10-15 Jim Meyering -2011-03-17 Francis Giraldeau + GNUmakefile: handle "stable" target, not "major" + * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the + lists in maint.mk and announce-gen. Without this, "make stable" + would fail to ensure that $(VERSION) is up to date. - Fix unmatch bracket causes segfault in augtool.c - When command is parsed in augtool, function nexttoken verify that path has - valid and matching brackets and return NULL if not. The function cleanpath that - follows was not handling the NULL case, leading to a segmentation fault. By - checking for NULL value, the error is thrown adequately. +2010-10-15 Ludovic Courtès - Fix bug #186 + * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C' + & co. - Thanks to spamaps for the help to resolve this issue. +2010-10-14 Bruno Haible -2011-03-16 David Lutterkort + vasnprintf: Don't set errno to 0. + * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the + block that sets it to 0. + Reported by Gianluigi Tiesi . - * src/lexer.l (augl_init_lexer): really close the input file on error +2010-10-14 Bruno Haible -2011-03-16 Richard W.M. Jones + socketlib: Fix. + * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for + gl_PREREQ_SYS_H_WINSOCK2. + Reported by Ian Beckwith . - Add FreeBSD /etc/rc.conf file to Shellvars lens. +2010-10-13 Jim Meyering -2011-03-15 David Lutterkort + test-select-stdin.c: avoid warn_unused_result warnings + * tests/test-select-stdin.c: Include "macros.h". + ASSERT that read and fflush succeed. - Replace erroneous assert(0) with proper error report - * src/put.c (create_union): report an error to the user if none of the - alternatives match - * lenses/tests/test_shellvars.aug: add a test to trigger that code path - in create_union +2010-10-13 Jim Meyering - Fixes bug #183 + git-version-gen: do require git-VC'd files in cwd + * build-aux/git-version-gen: Reject a git version string + if there are no commits associated with the current directory. + This avoids an unlikely false-positive (unrelated dir whose parent + repository also contains a tag matching v*), as pointed out + by Giuseppe Scrivano in + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664 -2011-03-10 David Lutterkort +2010-10-13 Paul Eggert - * src/augeas.c (aug_init): check return value of argz_* for ENOMEM + argv-iter: omit nonconforming declaration + * lib/argv-iter.h (enum argv_iter_err): Omit the useless + enum arg_iter_err declaration, which doesn't conform to C99. + Solaris 10 cc warns about this. -2011-03-10 Matthew Booth +2010-10-13 Eric Blake - Fix parsing of fstab entries containing fscontext SELinux option - Systems using SELinux can contain an fstab option like: - fscontext=system_u:object_r:removable_t + termios: fix compilation on mingw + * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default. + (gl_TERMIOS_H): Adjust it on mingw. + * modules/termios (Makefile.am): Substitute new key. + * lib/termios.in.h (includes): Make include_next conditional. + * doc/posix-headers/termios.texi (termios.h): Update + documentation. + Reported by Daniel P. Berrange. - The fstab lens is currently too strict, and doesn't allow colons in the value. - This patch relaxes the parsing to make it as lax as possible within the - constraints of the syntax. +2010-10-13 Jim Meyering -2011-03-08 David Lutterkort + git-version-gen: don't require that .git/ be in the current dir + * build-aux/git-version-gen: Adjust this script so that it works + when run from any working directory beneath the top-level .git/- + containing directory. Inspired by a patch from Giuseppe Scrivano, + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847 - Be more defensive about closing input files for the lexer + test-select: avoid warn_unused_result warnings + * tests/test-select.c: Include "macros.h". + ASSERT that each call to read, write, and pipe succeeds. + While not technically required, also check each "close". + * modules/select-tests (Files): Add tests/macros.h. -2011-03-04 David Lutterkort + test-symlinkat: remove declaration of unused local + * tests/test-symlinkat.c (main): Remove unused local, "buf". - Explain using ./src/try - * HACKING: document the various modes of using ./src/try - * src/try: read commands from build/augcmds.txt rather than /tmp; use a - more sensible default if augcmds.txt does not exist + test-inttostr: avoid shadowing warnings + * tests/test-inttostr.c (main): Rename local, "buf" to "b", + and use malloc rather than the stack for the same reason as + mentioned in the comment justifying the other allocation. -2011-03-03 Matthew Booth +2010-10-11 Bruno Haible - Use getopt-gnu from gnulib for AIX support + stdlib: Allow multiple gnulib generated replacements to coexist. + * lib/stdlib.in.h (struct random_data): Avoid identical redefinition. + Reported by Sam Steingold . - Update to gnulib commit c2090a8 - Required for updated getopt-gnu license. +2010-10-11 Jim Meyering -2011-03-03 Raphaël Pinson + fix a documentation typo + * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/ - Remove trailing spaces in lenses/tests/test_nagiosobjects.aug +2010-10-11 Eric Blake + + futimens: work around Solaris 11 bug + * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug. + * tests/test-futimens.h (test_futimens): Enhance, rather than + weaken test. + * doc/posix-functions/futimens.texi (futimens): Document the bug. + +2010-10-11 Paul Eggert + + Indentation. + * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent + higher-level operators more to the left. - Add nagiosobjects.aug based on Sebastien Aperghis' work. +2010-10-11 Jim Meyering - Remove trailing spaces in nagioscfg.aug + test-futimens: avoid unwarranted test failure on Solaris 5.11 + * tests/test-futimens.h (test_futimens): When provoking EBADF, use an + invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11, + because it tries to dereference the NULL name argument. + +2010-10-11 Bruno Haible + + Indentation. + * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve + indentation. + +2010-10-11 Jim Meyering + + spawn.in.h: make indentation consistent with parentheses + * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): + Make indentation consistent with parentheses. + +2010-10-11 Gary V. Vaughan + + Fix mismatched parens in previous commit + * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched + parens. + +2010-10-10 Paul Eggert + + rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1] + + * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl): + (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1. + * lib/malloca.c: Include "verify.h". + (verify1): Remove, replacing with a verify call. + * lib/relocwrapper.c (verify1): Likewise. + * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify): + Likewise. + * modules/malloca (Depends-on): Add 'verify'. + * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'. + * modules/vasnprintf (Depends-on): Add 'verify'. + * modules/unistdio/u8-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise. + + prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1) + + Formerly the style was sometimes 2*X - 1, because the C standard + was wrongly thought to disallow ?: in integral constant expressions. + * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1. + * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1. + * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise. + * lib/stdint.in.h (_verify_intmax_size): Likewise. + * lib/time.in.h (struct __time_t_must_be_integral): Rewrite + 2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to + verify that time_t cannot be floating. + +2010-10-08 Eric Blake + + time: enforce recent POSIX ruling that time_t is integral + * lib/time.in.h (__time_t_must_be_integral): Detect any + problematic systems, allowing the rest of gnulib to assume POSIX. + +2010-10-08 Jim Meyering + + fdopendir: fix a bug on systems lacking openat and /proc support + OpenBSD 4.7 is one such system. The most noticeable effect was + failure of any application making nontrivial use of fts: rm, du, + chown, chmod etc. E.g., "mkdir -p a/b; ./rm -rf a" would fail with + ./rm: traversal failed: `a': Bad file descriptor + Debugging that, you see that even though FD 6 was closed just + prior to the opendir call in fd_clone_opendir, its resulting + dir->dd_fd was 8, rather than the expected value of 6: + + Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93 + 93 close (fd); + (gdb) n + 94 dir = fd_clone_opendir (dupfd); + (gdb) n + 95 saved_errno = errno; + (gdb) p dir->dd_fd + $11 = 8 + + Notice how it closes FD 6, then gets a DIR* pointer using FD 8. + The problem is that on OpenBSD, fd_clone_opendir has to resort + to using the old-style save/restore CWD mechanism, due to its + lack of openat/proc support, and *that* would steal the FD (6) + that opendir was supposed to use. + + The fix is to squirrel away the desired FD so that save_cwd uses a + different one, and then free the dest FD right before calling opendir. + That guarantees opendir will use the required file descriptor. + + * lib/fdopendir.c (fd_clone_opendir): Handle the above. + +2010-10-08 Bruno Haible + + sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5. + * lib/sys_select.in.h: Include also on OpenBSD. + +2010-10-08 Bruno Haible + + nanosleep: Make replacement POSIX compliant. + * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec + is out of range. + Reported by Jim Meyering. + +2010-10-08 Paul Eggert + + bootstrap: add hook for altering gnulib.mk, for Bison + * build-aux/bootstrap (gnulib_mk_hook): New function, so that + the Bison bootstrapping process can rewrite file names and variables + in this file before later parts of 'bootstrap' use the file. + Bison wants to include lib/gnulib.mk from the top-level makefile, + so it needs the file names in this file to be relative to the top + level, not relative to lib; plus it needs variable names to be + rewritten. + (slurp): Use the new function. + + bootstrap: reformat for readability + * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns. + +2010-10-08 Eric Blake + + docs: update cygwin progress + * doc/posix-functions/cacos.texi (cacos): Added after cygwin + 1.7.7. + * doc/posix-functions/cacosf.texi (cacosf): Likewise. + * doc/posix-functions/cacosh.texi (cacosh): Likewise. + * doc/posix-functions/cacoshf.texi (cacoshf): Likewise. + * doc/posix-functions/carg.texi (carg): Likewise. + * doc/posix-functions/cargf.texi (cargf): Likewise. + * doc/posix-functions/casin.texi (casin): Likewise. + * doc/posix-functions/casinf.texi (casinf): Likewise. + * doc/posix-functions/casinh.texi (casinh): Likewise. + * doc/posix-functions/casinhf.texi (casinhf): Likewise. + * doc/posix-functions/catan.texi (catan): Likewise. + * doc/posix-functions/catanf.texi (catanf): Likewise. + * doc/posix-functions/catanh.texi (catanh): Likewise. + * doc/posix-functions/catanhf.texi (catanhf): Likewise. + * doc/posix-functions/ccos.texi (ccos): Likewise. + * doc/posix-functions/ccosf.texi (ccosf): Likewise. + * doc/posix-functions/ccosh.texi (ccosh): Likewise. + * doc/posix-functions/ccoshf.texi (ccoshf): Likewise. + * doc/posix-functions/cexp.texi (cexp): Likewise. + * doc/posix-functions/cexpf.texi (cexpf): Likewise. + * doc/posix-functions/cimag.texi (cimag): Likewise. + * doc/posix-functions/cimagf.texi (cimagf): Likewise. + * doc/posix-functions/clog.texi (clog): Likewise. + * doc/posix-functions/clogf.texi (clogf): Likewise. + * doc/posix-functions/conj.texi (conj): Likewise. + * doc/posix-functions/conjf.texi (conjf): Likewise. + * doc/posix-functions/cpow.texi (cpow): Likewise. + * doc/posix-functions/cpowf.texi (cpowf): Likewise. + * doc/posix-functions/cproj.texi (cproj): Likewise. + * doc/posix-functions/cprojf.texi (cprojf): Likewise. + * doc/posix-functions/creal.texi (creal): Likewise. + * doc/posix-functions/crealf.texi (crealf): Likewise. + * doc/posix-functions/csin.texi (csin): Likewise. + * doc/posix-functions/csinf.texi (csinf): Likewise. + * doc/posix-functions/csinh.texi (csinh): Likewise. + * doc/posix-functions/csinhf.texi (csinhf): Likewise. + * doc/posix-functions/csqrt.texi (csqrt): Likewise. + * doc/posix-functions/csqrtf.texi (csqrtf): Likewise. + * doc/posix-functions/ctan.texi (ctan): Likewise. + * doc/posix-functions/ctanf.texi (ctanf): Likewise. + * doc/posix-functions/ctanh.texi (ctanh): Likewise. + * doc/posix-functions/ctanhf.texi (ctanhf): Likewise. + * doc/posix-headers/complex.texi (complex.h): Likewise. + +2010-10-07 Jim Meyering + + parse-datetime: avoid compilation failure on OpenBSD 4.7 + * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define. + This works around a compilation failure on OpenBSD 4.7: + http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418 + +2010-10-07 Eric Blake + + docs: update cygwin progress + * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin + 1.7.6. + * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise. + * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7. + * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise. + * doc/posix-functions/fegetenv.texi (fegetenv): Likewise. + * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag): + Likewise. + * doc/posix-functions/fegetround.texi (fegetround): Likewise. + * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise. + * doc/posix-functions/feraiseexcept.texi (feraiseexcept): + Likewise. + * doc/posix-functions/fesetenv.texi (fesetenv): Likewise. + * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag): + Likewise. + * doc/posix-functions/fesetround.texi (fesetround): Likewise. + * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise. + * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise. + * doc/glibc-functions/feenableexcept.texi (feenableexcept): + Likewise. + * doc/glibc-functions/fedisableexcept.texi (fedisableexcept): + Likewise. + * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise. + + docs: update parse-datetime history + * doc/parse-datetime.texi (Authors of parse_datetime): Better + documentation of this function's history and alternatives. + + cygwin: use more robust version check + * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't + exclude an eventual cygwin 1.9.1. + * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE) + (gl_FUNC_STRCASESTR): Likewise. + Reported by Bruno Haible. + +2010-10-06 Bruno Haible + + string, sys_select: Avoid #including large headers unless necessary. + * lib/string.in.h: Don't include except on NetBSD. + * lib/sys_select.in.h: Don't include except on Solaris, + OSF/1, BeOS, Haiku. + Reported by Jim Meyering. + +2010-10-05 Eric Blake + + memmem, strstr, strcasestr: fix bug with long periodic needle + * lib/str-two-way.h (two_way_long_needle): Avoid bug with long + periodic needle having false positive. + * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12 + and cygwin 1.7.7. + (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE) + (gl_FUNC_STRCASESTR): Likewise. + * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise. + * tests/test-memmem.c (main): Expose the bug. + * tests/test-strcasestr.c (main): Likewise. + * tests/test-strstr.c (main): Likewise. + * tests/test-c-strcasestr.c (main): Likewise. + * doc/glibc-functions/memmem.texi (memmem): Document the bug. + * doc/posix-functions/strstr.texi (strstr): Likewise. + * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise. + Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092 + +2010-10-05 Paul Eggert + + parse-datetime: do some more renaming + * doc/parse-datetime.texi (Authors of parse_datetime): Call it + parse_datetime, not get_date. Mention the renaming. + * lib/parse-datetime.y: Call it parse_datetime, not getdate, + in comments. + * m4/bison.m4: Likewise. + +2010-10-05 Eric Blake + + parse-datetime: better name than get_date + * NEWS: Reword the deprecation notice. + * modules/get_date: Rename to modules/parse-datetime. + * modules/get_date-tests: Rename to modules/parse-datetime-tests. + * m4/get_date.m4: Rename to m4/parse-datetime.m4. + * lib/get_date.y: Rename to lib/parse-datetime.y. + * tests/test-get_date.c: Rename to tests/test-parse-datetime.c. + * doc/get_date.texi: Rename to doc/parse-datetime.texi. + * doc/getdate.texi: Provide fallback wrapper. + * lib/getdate.h: Move guts, and wrap... + * lib/parse-datetime.h: ...new file. + * lib/parse-datetime.y (get_date): Rename... + (parse_datetime): ...to this. + * m4/parse-datetime.m4 (gl_GET_DATE): Rename... + (gl_PARSE_DATETIME): ...to this. + * doc/posix-functions/getdate.texi (get_date): Provide fallback + documentation. + * modules/getdate (Files): Provide fallback docs and header. + (Notice, Depends-on): Update references. + * tests/test-parse-datetime.c: Likewise. + * DEPENDENCIES: Likewise. + * MODULES.html.sh (Date and time ): Likewise. + * doc/parse-datetime.texi (Date input formats) + (Authors of parse_datetime): Likewise. + * modules/parse-datetime (Files, configure.ac, Makefile.am) + (Include): Likewise. + * modules/parse-datetime-tests (Files, Makefile.am): Likewise. + * gnulib-tool: Likewise. + * m4/bison.m4 (gl_BISON): Likewise. + Suggested by Bruno Haible. + +2010-10-05 Paul Eggert + + more ports to Solaris tr, which needs [] around ranges + * gnulib-tool: Solaris tr needs [] around ranges. + * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise. + * tests/test-pipe-filter-gi1.c (main): Likewise. + * tests/test-pipe-filter-ii1.c (main): Likewise. + +2010-10-05 Eric Blake + + bootstrap: fix Solaris regression + * build-aux/bootstrap (check_versions): Solaris tr still needs [] + around ranges. + Reported by Pádraig Brady. + + bootstrap: work with pkg-config + * build-aux/bootstrap (check_versions): Also transliterate - in + prerequisite name. + (print_versions): Be robust to any \ in $buildreq. Avoid listing + prerequisites that were already found, to avoid confusion. + Reported by Justin Clift. + + faccessat: remove unused wrappers + * lib/openat.h (accessat, euidaccesat): Delete, since the mere + presence of these wrappers dragged in -lgen on Solaris. + Reported by Clemens Brogi; fix suggested by Paul Eggert. + +2010-10-05 Jim Meyering + + tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@ + * Makefile (sc_pragma_columns): New syntax-check rule. + +2010-10-04 Bruno Haible + + gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library. + * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool + library, put '-no-undefined' and the link dependencies into _LDFLAGS. + Reported by Bruce Korb and Eric Blake. + +2010-10-04 Bruno Haible + + threadlib: Make option --with-libpth-prefix work. + * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works, + use $LIBPTH, not just -lpth. + +2010-10-04 Bruno Haible + + Avoid line length limitation from HP NonStop system header files. + * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS. + * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS. + * lib/ctype.in.h: Likewise. + * lib/dirent.in.h: Likewise. + * lib/errno.in.h: Likewise. + * lib/fcntl.in.h: Likewise. + * lib/float.in.h: Likewise. + * lib/getopt.in.h: Likewise. + * lib/iconv.in.h: Likewise. + * lib/inttypes.in.h: Likewise. + * lib/langinfo.in.h: Likewise. + * lib/locale.in.h: Likewise. + * lib/math.in.h: Likewise. + * lib/netdb.in.h: Likewise. + * lib/netinet_in.in.h: Likewise. + * lib/poll.in.h: Likewise. + * lib/pthread.in.h: Likewise. + * lib/pty.in.h: Likewise. + * lib/sched.in.h: Likewise. + * lib/se-selinux.in.h: Likewise. + * lib/search.in.h: Likewise. + * lib/signal.in.h: Likewise. + * lib/spawn.in.h: Likewise. + * lib/stdarg.in.h: Likewise. + * lib/stddef.in.h: Likewise. + * lib/stdint.in.h: Likewise. + * lib/stdio.in.h: Likewise. + * lib/stdlib.in.h: Likewise. + * lib/string.in.h: Likewise. + * lib/strings.in.h: Likewise. + * lib/sys_file.in.h: Likewise. + * lib/sys_ioctl.in.h: Likewise. + * lib/sys_select.in.h: Likewise. + * lib/sys_socket.in.h: Likewise. + * lib/sys_stat.in.h: Likewise. + * lib/sys_time.in.h: Likewise. + * lib/sys_times.in.h: Likewise. + * lib/sys_utsname.in.h: Likewise. + * lib/sys_wait.in.h: Likewise. + * lib/sysexits.in.h: Likewise. + * lib/termios.in.h: Likewise. + * lib/time.in.h: Likewise. + * lib/unistd.in.h: Likewise. + * lib/wchar.in.h: Likewise. + * lib/wctype.in.h: Likewise. + * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS. + * modules/ctype (Makefile.am): Likewise. + * modules/dirent (Makefile.am): Likewise. + * modules/errno (Makefile.am): Likewise. + * modules/fcntl-h (Makefile.am): Likewise. + * modules/float (Makefile.am): Likewise. + * modules/getopt-posix (Makefile.am): Likewise. + * modules/iconv-h (Makefile.am): Likewise. + * modules/inttypes (Makefile.am): Likewise. + * modules/langinfo (Makefile.am): Likewise. + * modules/locale (Makefile.am): Likewise. + * modules/math (Makefile.am): Likewise. + * modules/netdb (Makefile.am): Likewise. + * modules/netinet_in (Makefile.am): Likewise. + * modules/poll-h (Makefile.am): Likewise. + * modules/pthread (Makefile.am): Likewise. + * modules/pty (Makefile.am): Likewise. + * modules/sched (Makefile.am): Likewise. + * modules/search (Makefile.am): Likewise. + * modules/selinux-h (Makefile.am): Likewise. + * modules/signal (Makefile.am): Likewise. + * modules/spawn (Makefile.am): Likewise. + * modules/stdarg (Makefile.am): Likewise. + * modules/stddef (Makefile.am): Likewise. + * modules/stdint (Makefile.am): Likewise. + * modules/stdio (Makefile.am): Likewise. + * modules/stdlib (Makefile.am): Likewise. + * modules/string (Makefile.am): Likewise. + * modules/strings (Makefile.am): Likewise. + * modules/sys_file (Makefile.am): Likewise. + * modules/sys_ioctl (Makefile.am): Likewise. + * modules/sys_select (Makefile.am): Likewise. + * modules/sys_socket (Makefile.am): Likewise. + * modules/sys_stat (Makefile.am): Likewise. + * modules/sys_time (Makefile.am): Likewise. + * modules/sys_times (Makefile.am): Likewise. + * modules/sys_utsname (Makefile.am): Likewise. + * modules/sys_wait (Makefile.am): Likewise. + * modules/sysexits (Makefile.am): Likewise. + * modules/termios (Makefile.am): Likewise. + * modules/time (Makefile.am): Likewise. + * modules/unistd (Makefile.am): Likewise. + * modules/wchar (Makefile.am): Likewise. + * modules/wctype (Makefile.am): Likewise. + +2010-10-04 Bruno Haible + + read-file tests: Avoid a test failure on NonStop Kernel. + * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is + a regular file. + Reported by Joachim Schmitz . + +2010-10-03 Bruno Haible + + gnulib-tool: Fixes for --create-testdir with --libtool. + * gnulib-tool (func_get_automake_snippet): Don't augment + EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into + an executable. + (func_create_testdir): Handle module 'alloca' like func_import. + Reported by Bruce Korb . + +2010-10-03 Paul Eggert + + Avoid some lines longer than 80 characters. + * lib/stdint.in.h: Break long comment lines. + * lib/math.in.h: Likewise. + (_GL_NUM_UINT_WORDS): New macro, for readability. + (gl_signbitf, gl_signbitd, gl_signbitl): Use it. + * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls. + * lib/stdlib.in.h: Likewise. + * lib/spawn.in.h: Likewise. + * lib/sys_socket.in.h: Update an URL. + * lib/sys_stat.in.h: Break long line. + +2010-10-03 Reuben Thomas + + Improve pmccabe2html. + * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make + cyclo-$(PACKAGE).html depend on it, so the HTML file is remade + when the sources change. Remove the line in the HTML about "Used + ranges" (which implied that there might be other unused ranges), + rename "Resume" to "Summary" (easier to understand for more users). + * build-aux/pmccabe.css: Removing the dashed dividers, some unused + styles, and some unnecessary blank lines. + +2010-10-03 Bruno Haible + Joachim Schmitz (tiny change) + + acl: Add support for ACLs on NonStop Kernel. + * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl(). + Check whether the function aclsort() exists. + * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL. + (acl_nontrivial) [HAVE_ACLSORT]: New declaration. + * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL. + (acl_nontrivial [HAVE_ACLSORT]: New function. + (file_has_acl): Implement for NonStop Kernel. + * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL. + (qset_acl): Implement for NonStop Kernel. + * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel. + * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL. + (main): Implement for NonStop Kernel. + * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop + Kernel. Handle this flavor. + * tests/test-set-mode-acl.sh: Likewise. + * tests/test-copy-acl.sh: Likewise. + * tests/test-copy-file.sh: Likewise. + +2010-10-03 Bruno Haible + + Info about ACLs on NonStop Kernel. + * doc/acl-resources.txt: Add info about NonStop Kernel. + References by Joachim Schmitz . + +2010-10-02 Bruno Haible + + Define missing EDQUOT on NonStop Kernel. + * lib/errno.in.h (EDQUOT): Assign a value if missing. + * lib/strerror.c (rpl_strerror): Handle missing EDQUOT. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is + missing. + * doc/posix-headers/errno.texi: Mention the NSK bug. + * doc/posix-functions/strerror.texi: Mention the workaround on NSK. + Reported by Joachim Schmitz . + +2010-10-02 Bruno Haible + + Update doc for POSIX:2008. + * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]: + Update URL of POSIX specification. + +2010-10-02 Bruno Haible + + gnulib-tool: In testdirs, use the newest available config.{guess.sub}. + * gnulib-tool (func_create_testdir): Use config.guess and config.sub + from gnulib, not from Automake. + +2010-10-02 Bruno Haible + + New module 'system-posix'. + * modules/system-posix: New file. + * lib/stdlib.in.h: Include only when the 'system-posix' + module is present. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize + GNULIB_SYSTEM_POSIX. + * modules/stdlib (Depends-on): Remove sys_wait. + (Makefile.am): Substitute GNULIB_SYSTEM_POSIX. + * doc/posix-functions/system.texi: Mention the new module. + * doc/posix-headers/stdlib.texi: Likewise. + * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined, + define test_sys_wait_macros to a no-op. + Reported by Sam Steingold . + +2010-09-30 Bruno Haible + + More renaming from 'getdate' to 'get_date'. + * doc/get_date.texi: Renamed from doc/getdate.texi. + * modules/get_date (Files): Update. + * MODULES.html.sh (Date and time ): Update. + * DEPENDENCIES: Update. + * gnulib-tool: Update comment. + * m4/bison.m4 (gl_BISON): Likewise. + * m4/get_date.m4 (gl_GET_DATE): Likewise. + +2010-09-30 Justin Clift (tiny change) + + bootstrap: support ACLOCAL_FLAGS during aclocal + * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user + can add additional -I dir for third-party .m4 files. + +2010-09-30 Eric Blake + + bootstrap: use glibtoolize on MacOS + * build-aux/bootstrap (check_versions): Convert libtool into + libtoolize. + (tool search): Move libtool check earlier, and look for + glibtoolize for MacOS. + (gnulib_tool_options): Auto-add --libtool when appropriate. + Reported by Justin Clift. + + poll: fix typo that broke test on MacOS + * m4/poll.m4 (gl_FUNC_POLL): Add missing test. + Reported by Justin Clift. + + getdate: rename to get_date + Note: getdate.h is not renamed, to minimize client impact. + * modules/getdate: Mark obsolete. Move old contents... + * modules/get_date: ...to new module name. + * modules/getdate-tests: Move... + * modules/get_date-tests: ...here. + * m4/getdate.m4: Move... + * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE. + * lib/getdate.y: Move... + * lib/get_date.y: ...here. + * tests/test-getdate.c: Move... + * tests/test-get_date.c: ...here. + * doc/posix-functions/getdate.texi (getdate): Update name. + * NEWS: Mention the change. + +2010-09-29 Bruno Haible + + Separate the module 'waitpid' from the module 'sys_wait'. + * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is + present. + * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR_FOR_TESTS. + (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID. + * modules/sys_wait (Depends-on): Remove waitpid. + (Makefile.am): Substitute GNULIB_WAITPID. + * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR. + * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the + signature only if the 'waitpid' module is present. + * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module. + * NEWS: Mention the change. + * modules/grantpt (Depends-on): Add waitpid. + * modules/wait-process (Depends-on): Likewise. + +2010-09-29 Bruno Haible + + More tests for module 'sys_wait'. + * modules/sys_wait-c++-tests: New file. + * tests/test-sys_wait-c++.cc: New file. + * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests. + Reported by Tatsuro MATSUOKA . + +2010-09-29 Bruno Haible + + New module 'waitpid'. + * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h. + * lib/sys_wait.in.h: Include , c++defs.h, warn-on-use.h. + Don't include . + (waitpid): Declare only, using modern idiom. + * m4/waitpid.m4: New file. + * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared. + * modules/waitpid: New file. + * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid. + (Makefile.am): Update. + Reported by Tatsuro MATSUOKA . + +2010-09-28 Bruno Haible + + poll: Assume ANSI C. + * lib/poll.c (poll): Use an ANSI C declaration. + +2010-09-28 Bruno Haible + + poll-h: Create poll.h on all platforms. + * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*, + struct pollfd, nfds_t, INFTIM when the system has . + * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke + gl_CHECK_NEXT_HEADERS. Don't set POLL_H. + (gl_REPLACE_POLL_H): Don't set POLL_H. + (gl_POLL_H_DEFAULTS): Don't initialize POLL_H. + * modules/poll-h (Depends-on): Add include_next. + (Makefile.am): Create poll.h unconditionally. Substitute also + HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H. + +2010-09-28 Bruno Haible + + Tests for module 'poll-h'. + * modules/poll-h-c++-tests: New file. + * tests/test-poll-h-c++.cc: New file. + + Tests for module 'poll-h'. + * modules/poll-h-tests: New file. + * tests/test-poll-h.c: New file. + +2010-09-28 Bruno Haible + + poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms. + * modules/poll-h (Depends-on): Add 'extensions'. + +2010-09-28 Bruno Haible + + New module 'poll-h'. + * lib/poll.in.h: Include c++defs.h and warn-on-use.h. + (poll): Use modern idiom. + * modules/poll-h: New file. + * modules/poll (Files): Remove lib/poll.in.h. + (Depends-on): Add poll-h. + (configure.ac): Invoke gl_POLL_MODULE_INDICATOR. + (Makefile.am): Move code for generation of poll.h to modules/poll-h. + * m4/poll_h.m4: New file. + * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h + here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL + and invoke gl_REPLACE_POLL_H. + * lib/poll.c: Use common idiom. + * tests/test-poll.c: Likewise. + * doc/posix-headers/poll.texi: Mention the poll-h module. + Suggested by Eric Blake. + +2010-09-26 Bruno Haible + + sys_wait: Implement WSTOPSIG. + * lib/sys_wait.in.h (WSTOPSIG): New macro. + Reported by Simon Josefsson. + +2010-09-26 Simon Josefsson + + stdlib, sys_wait: Avoid compilation error on mingw. + * lib/sys_wait.in.h: Include , for SIGTERM. + +2010-09-26 Bruno Haible + + stdlib tests: Avoid code duplication. + * modules/stdlib-tests (Files): Add tests/test-sys_wait.h. + * modules/sys_wait-tests (Files): Likewise. + * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c. + * tests/test-stdlib.c: Include test-sys_wait.h. + (main): Invoke test_sys_wait_macros. + * tests/test-sys_wait.c: Include test-sys_wait.h. + (main): Invoke test_sys_wait_macros. + +2010-09-25 Simon Josefsson + + * modules/getaddrinfo (Depends-on): Depend on the sockets module. + * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make + sure Windows sockets are working before calling getaddrinfo. + * tests/test-getaddrinfo.c (main): Don't call WSAStartup here. + * doc/gnulib.texi (Windows sockets): Fix typo. + +2010-09-25 Bruno Haible + + Tests for module 'regex-quote'. + * modules/regex-quote-tests: New file. + * tests/test-regex-quote.c: New file. + + New module 'regex-quote'. + * lib/regex-quote.h: New file. + * lib/regex-quote.c: New file. + * modules/regex-quote: New file. + Suggested by Reuben Thomas . - Improve nagioscfg.aug as per Sebastien Aperghis' work. +2010-09-24 Bruno Haible -2011-03-02 Raphaël Pinson + unistr/u8-strchr: Fix a test failure on i586 glibc systems. + * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check. - Fix single quotes support in httpd.aug. +2010-09-23 Bruno Haible - Support single quotes in httpd.aug. Add unit test for it in test_httpd.aug. + setenv: Relax license. + * modules/setenv (License): Change to LGPLv2+, with consent by Eric + Blake. + Requested by Eric Blake. -2011-03-02 David Lutterkort +2010-09-22 Bruno Haible + + termios: Relax license. + * modules/termios (License): Change to LGPLv2+. + Requested by Eric Blake. - * tests/fatest.c (testManualAmbig): don't use '$' in variable names - Breaks on, at least, AIX +2010-09-22 Bruno Haible -2011-03-02 Raphaël Pinson + threadlib: Allow the package to change the default to 'no'. + * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When + gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'. + Reported by Paul Eggert. - Add Sep.equal, used in nrpe.aug +2010-09-22 Pádraig Brady + Bruno Haible - Changes in nrpe.aug Remove wrong ^ in comment regex Use Util.comment_generic Use generic modules Improve NaturalDocs documentation + Fix endless loop in mbmemcasecoll. + * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1 + byte. + * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs. -2011-02-23 David Lutterkort +2010-09-22 Bruno Haible - Version 0.8.0 + Tests for module 'memcoll'. + * modules/memcoll-tests: New file. + * tests/test-memcoll.c: New file, based on tests/test-memcmp.c. -2011-02-23 David Lutterkort + memcoll, xmemcoll: Clarify size vs. length. + * modules/memcoll.c (memcoll0): Clarify specification. + * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths + passed to collate_error. - Fix compile errors found by gcc 4.6.0 - There were several places that caused the new 'variable assigned but not - used' warning. +2010-09-22 Bruno Haible - The struct lens also contained the member jmt twice; it is now only - available for L_REC lenses. + Tests for module 'memcasecmp'. + * modules/memcasecmp-tests: New file. + * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c. -2011-02-23 David Lutterkort +2010-09-22 Paul Eggert - * src/info.h: include stdlib so we can use uint + * lib/pthread.in.h: Add split double-inclusion guard, and include + system if there is one. Use @@-style as in other + .in.h files. Define PTHREAD_COND_INITIALIZER etc. only if system + pthread.h doesn't. + (pthread_mutexattr_destroy, pthread_mutexattr_init): + (pthread_mutexattr_settype, pthread_mutex_trylock): + New static inline functions, if there's no system . + (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy): + (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): + Approximate with mutexes if the system lacks spinlocks, as in + MacOS. + * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS. + Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual + @@-style. Check for spinlocks separately. + (gl_PTHREAD_DEFAULTS): New macro. + * modules/pthread: Redo to use a more typical style for in.h files. - * tests/Makefile.am: distribute the test data in test-augtool/ +2010-09-21 Eric Blake -2011-02-23 Dominic Cleal + net_if: enhance tests + * tests/test-net_if.c (main): Move signature checks earlier. + Print failures to stderr. + * doc/posix-functions/if_freenameindex.texi (if_freenameindex): + Document the bug that we do not yet fix. - Split Solaris multiboot argument for the kernel path into @path node (ticket #158) +2010-09-21 Reuben Thomas -2011-02-22 Francis Giraldeau + * doc/gnulib.texi (Out of memory handling): Rewrite section to be + about gnulib, not GSS. - Add aug_span API function V2 - aug_span API function provides information about the node of the specified - path. It sets the absolute path of the file name and spans of label, value - and span inside the node. The span includes all matching chars of the actual - lens and it's descendant. Hence, the top level node will span the entire file. - It returns 0 in case of success and -1 if the node is not associated to a file - or if the path is invalid. The main use case is to make possible to display - the related file with the node elements hightlighted in a UI. +2010-09-21 Reuben Thomas + + * build-aux/pmccabe2html: Look for sources in src/ instead of lib/. + * build-aux/pmccabe2html: Set cut_dir properly, and add mode line + for Emacs. + * build-aux/pmccabe2html: Make Makefile.am example code more + cut-and-paste friendly. - The API option AUG_NO_NODE_SPAN provided to aug_init disable the allocation - structures to keep node spans. It saves about 5% of memory for a typical - tree. +2010-09-21 Simon Josefsson - * src/augeas.c : add aug_span implementation and option handling to aug_in - according to the option /augeas/span in the tree - * src/augeas.h : add declaration of aug_span and constants for option - * src/augeas_sym.version : make the new function visible in libaugeas - * src/augtool.c : add the "nodepos" command to augtool - * src/get.c : gather filename, label, value and span spans if any - * src/info.c : create and release functions for struct node_span - * src/info.h : add definition of struct node_info - * src/internal.h : add node_info to struct tree - * src/transform.c : duplicate filename string - * tests/test-load.c : 3 basic unit tests for general correct behavior + * tests/test-net_if.c: New file. + * modules/net_if-tests: New file. -2011-02-22 Raphaël Pinson +2010-09-20 Paul Eggert - Add short options for --nostdinc, --noload and --noautoload Update manpage and pod accordingly + pthread: add pthread_spin_destroy + * lib/pthread.in.h (pthread_spin_destroy): New function. - Distribute bcprules.sty and xpath.txt +2010-09-19 Bruno Haible -2011-02-19 Raphaël Pinson + gnulib-tool: Fix --help output. + * gnulib-tool (func_usage): Fix help message. + Reported by Reuben Thomas . - Add indented_title_label in inifile.aug Use indented_title_label in mysql.aug Adjust test for mysql.aug accordingly +2010-09-18 Jim Meyering -2011-02-18 Raphaël Pinson + maint.mk: avoid unexpanded \n in two diagnostics + * top/maint.mk (sc_prohibit_always_true_header_tests): + Don't use a literal \n in a halt=... assignment. It would not be + expanded, and the two \n bytes would appear in the diagnostic output + rather than the desired newline. Use halt=$$(printf ... instead. + (sc_vulnerable_makefile_CVE-2009-4029): Likewise. - Allow indentation for "iface" entries in interfaces.aug (Fix ticket #182) Add unit test for "iface" indentation +2010-09-18 Bruno Haible -2011-02-16 Francis Giraldeau + netinet_in: Doc tweak. + * doc/posix-headers/netinet_in.texi: Mention an affected platform. + Reported by Mats Erik Andersson . + +2010-09-18 Jim Meyering + + init.sh: correct an outdated comment + * tests/init.sh (create_exe_shims_): s/function/alias/ + + init.sh: don't let an ephemeral "*.exe" make us skip all dir entries + * tests/init.sh (find_exe_basenames_): Don't give up on a directory if + a file named "*.exe" is removed between the glob expansion and the + processing of that oddly named file. + +2010-09-17 Eric Blake + + mirbsd: add some more support + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is + in BSD family. + * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random + devices as OpenBSD. + * m4/host-os.m4 (mirbsd): Add MirBSD. + + tests: fix unportable assumption on sys/wait.h + * tests/test-sys_wait.c (main): Relax test. + * tests/test-stdlib.c (main): Likewise. + + init.sh: accommodate directory with no .exes + * tests/init.sh: Accomodate directory containing only scripts. + + tests: avoid compiler warning + * tests/test-stdlib.c (main): Use the variable. + + fdutimens, fdutimensat: update signature, again + * lib/utimens.h (gl_futimens): Delete, and move signature... + (fdutimens): ...here. + (fdutimensat): Rearrange signature. + (lutimensat): Rename variable for clarity. + * lib/fdutimensat.c (fdutimensat): Update signature. + * lib/utimens.c (fdutimens): Likewise. + (gl_futimens): Delete. + (utimens, lutimens): Update callers. + * lib/futimens.c (futimens): Likewise. + * tests/test-fdutimensat.c: Likewise. + * tests/test-utimens.c: Likewise. + * tests/test-futimens.h: Update comment. + * NEWS: Mention this. + Suggested by Paul Eggert. - Minor code format cleanup - * Cut long lines to 80 chars - * Indentation fix +2010-09-17 Bruno Haible - Fix memory leak with recursive square lens + Take over the maintenance of some older macros from Autoconf. + * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf. + * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from + GNU Autoconf. + * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf. + * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment. + +2010-09-17 Eric Blake + + fdutimensat: drop atflag validation + * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even + with valid fd, to close a race scenario where futimens is + unsupported and FILE was replaced by a symlink. + * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test + accordingly. + Suggested by Paul Eggert. + +2010-09-16 Bruno Haible + + unlockpt: Fix declaration within GNULIB_POSIXCHECK. + * lib/stdlib.in.h (unlockpt): Fix warning declaration. + +2010-09-16 Bruno Haible + + login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD. + * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether + login_tty exists. + Reported by Mats Erik Andersson . + +2010-09-16 Bruno Haible + + login_tty: Make the replacement code work on BSD systems. + * lib/login_tty.c: Include . + (login_tty): Use ioctl TIOCSCTTY when available. + * modules/login_tty (Depends-on): Add sys_ioctl. + Reported by Mats Erik Andersson . + +2010-09-16 Bruno Haible + + login_tty: Stricter unit test. + * modules/login_tty-tests (Depends-on): Add tcgetsid. + * tests/test-login_tty.c (main): Also check the results of tcgetpgrp() + and tcgetsid() after login_tty. + Reported by Mats Erik Andersson . + +2010-09-16 Bruno Haible + + New module 'tcgetsid'. + * lib/tcgetsid.c: New file. + * m4/tcgetsid.m4: New file. + * modules/tcgetsid: New file. + * modules/termios (Depends-on): Add c++defs, warn-on-use. + (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute + GNULIB_TCGETSID, HAVE_TCGETSID. + * lib/termios.in.h: Include . + (tcgetsid): New declaration. + * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared. + (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID. + * doc/posix-functions/tcgetsid.texi: Mention the new module. + * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid. + +2010-09-16 Bruno Haible + + Tests for module 'termios'. + * modules/termios-c++-tests: New file. + * modules/termios-tests: New file. + * tests/test-termios-c++.cc: New file. + * tests/test-termios.c: New file. + + New module 'termios'. + * modules/termios: New file. + * lib/termios.in.h: New file. + * m4/termios_h.m4: New file. + * doc/posix-headers/termios.texi: Mention the new module. + +2010-09-16 Eric Blake + + fdutimensat: add an atflag parameter + * lib/fdutimensat.c (fdutimensat): Add new parameter. + * lib/utimens.h (fdutimensat): Update prototype. + * tests/test-fdutimensat.c: Adjust test to match. + * NEWS: Document the change. + Suggested by Paul Eggert. + +2010-09-16 Bruno Haible + + Fix typos in comments. + * lib/striconveh.h: Fix typo in comment. + * lib/login_tty.c (login_tty): Likewise. + +2010-09-15 Bruno Haible + + stdlib: clarify MirBSD WEXITSTATUS bug + * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS. + * doc/posix-headers/stdlib.texi (stdlib.h): Likewise. + +2010-09-15 Eric Blake + + stdlib: work around MirBSD WEXITSTATUS bug + * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS. + * modules/stdlib (Depends-on): Add sys_wait. + * tests/test-sys_wait.c (main): Enhance test. + * tests/test-stdlib.c (main): Likewise. + * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug. + + docs: mention MacOS issue with WEXITSTATUS(constant) + * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the + issue. + * doc/posix-headers/stdlib.texi (stdlib.h): Likewise. + + strnlen: add tests + * modules/strnlen-tests: New file. + * tests/test-strnlen.c: Likewise. + +2010-09-14 Bruno Haible + + unistr/base: Avoid link errors when module 'libunistring' is also used. + * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe, + u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr, + u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb): + Declare also when HAVE_LIBUNISTRING is set. + Reported by Pádraig Brady . + +2010-09-14 Eric Blake + + test-rawmemchr: make more robust + * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4. + (Depends-on, configure.ac): Add needed prerequisites to use it. + * modules/memchr-tests (Files, Depends-on, configure.ac): + Likewise, to avoid implicit reliance on memchr module prereqs. + * tests/test-memchr.c (main): Ensure proper masking. + * tests/test-rawmemchr.c (main): Likewise. Detect oversized + reads. + + memchr: detect glibc Alpha bug + Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019. + * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on + Alpha. + * doc/posix-functions/memchr.texi (memchr): Tweak wording. + * tests/test-memchr.c (main): Enhance test. + Reported by Nelson H. F. Beebe. + +2010-09-13 Paul Eggert + + fts, getcwd, glob: audit for dirfd returning -1 + * lib/fts.c (opendir): Remove #define; no longer used. + (opendirat): New arg PDIR_FD. All callers changed. + (fts_build, _opendir2): Use new opendirat to avoid the need for + dirfd, or for checking whether dirfd returns a negative value. + Don't use opendir; always use openat followed by fdopendir. + * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers + it. + * lib/glob.c (link_exists_p): Add comment explaining why dirfd never + returns -1 here. + * modules/fts (Depends-on): Remove dirfd. + * modules/getcwd (Depends-on): Likewise. + +2010-09-13 Eric Blake + + float: fix broken MirBSD header + * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug. + * doc/posix-headers/float.texi (float.h): Document it. + +2010-09-13 Paul Eggert + + fts: use O_NOFOLLOW to avoid race condition when opening a directory + * lib/fts.c (opendirat): New arg extra_flags. + (__opendir2): Use it to avoid following symlinks when opening + a directory, if symlinks are not supposed to be followed. See + . + + fdopendir: preserve argument fd before returning + * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris. + (fdopendir_with_dup, fd_clone_opendir): New static functions. + (fdopendir): Use them, arranging for FD to be open to the same + directory that it was when it started. (It might be temporarily + closed while fdopendir is running, so this not thread- or + signal-safe.) Be careful to do the right thing even when file + descriptors are scarce and dup fails with errno == EMFILE. See + . + +2010-09-10 Paolo Bonzini + + regex: Pass the system regex if its only problem is 32-bit regoff_t. + * NEWS: Document change. + * m4/regex.m4: Disable test for regoff_t size. + +2010-09-13 Jim Meyering + + fts: don't operate on an invalid file descriptor after failed dup + * lib/fts.c (fts_build): Don't call set_cloexec_flag on a + negative file descriptor. + +2010-09-12 Paul Eggert + + savedir: add streamsavedir, deprecate fdsavedir + * NEWS: Mention deprecation of fdsavedir. + * lib/savedir.c (streamsavedir): New extern function, whose name + ends in "savedir" to be consistent with the others. This differs + from savedirstream in that it doesn't close its argument. The + next version of GNU tar will use this instead of fdsavedir, to + avoid some race conditions and conserve file descriptors. + (savedirstream): Reimplement as a wrapper around streamsavedir. + (fdsavedir): Add a comment deprecating this function. As far as + I know, only GNU tar used it, and GNU tar doesn't need it any more. + * lib/savedir.h (streamsavedir): New decl. + (fdsavedir): Add a comment deprecating this. + +2010-09-10 Bruno Haible + + langinfo: Fix last commit. + * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize + HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR. + Reported by Tom G. Christensen . + +2010-09-10 Bruno Haible + + relocatable-prog-wrapper: Fix compilation failure due to O_EXEC. + * lib/progreloc.c (O_EXEC): Define fallback. + +2010-09-10 Paul Eggert + + fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines + * NEWS: Document recent changes to fcntl-h. + * doc/posix-headers/fcntl.texi (fcntl.h): Document that + O_CLOEXEC is now defined to 0 if it is not defined, like other flags. + Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined. + Similarly for O_SEARCH; this last was already true, but not documented. + * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined. + * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define. + * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c: + Likewise. + * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC + is zero, not whether it is defined. + * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise. + * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY. + * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY. + +2010-09-10 Bruno Haible + + langinfo, nl_langinfo: Fix for IRIX 5.3. + * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines + T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM, + HAVE_LANGINFO_YESEXPR. + * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM, + HAVE_LANGINFO_YESEXPR. + * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if + HAVE_LANGINFO_T_FMT_AMPM is 0. + (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if + HAVE_LANGINFO_YESEXPR is 0. + * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR, + NOEXPR. + * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem. + * doc/posix-functions/nl_langinfo.texi: Likewise. + Reported by Eric Blake. + +2010-09-10 Bruno Haible + + pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6. + * doc/glibc-functions/login_tty.texi: Mention the include file problem + on FreeBSD 8.0 and OpenBSD 4.6. + * lib/pty.in.h: Include before . + * m4/pty_h.m4 (gl_PTY_H): Likewise. + * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise. + * m4/readutmp.m4 (gl_READUTMP): Include before . + Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable + ac_includes_default. + Reported by Mats Erik Andersson . + +2010-09-09 Eric Blake + + strsignal: work around NetBSD bug + * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in . + * lib/string.in.h (includes): Likewise. + * doc/posix-functions/strsignal.texi (strsignal): Document the + bug. + Reported by Nelson H. F. Beebe. + + gnulib-tool: work with NetBSD /bin/sh + * gnulib-tool (func_cache_var, func_cache_lookup_module) + (func_get_description, func_get_comment, func_get_status) + (func_get_notice, func_get_applicability, func_get_filelist) + (func_get_dependencies, func_get_autoconf_early_snippet) + (func_get_autoconf_snippet, func_get_automake_snippet) + (func_get_include_directive, func_get_link_directive) + (func_get_license, func_get_maintainer, func_import): Avoid + shell syntax errors from parsing syntax extensions. + +2010-09-09 Bruno Haible + + gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'. + * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use + a reliable way to determine whether the 'alias' command works. + +2010-09-08 Jim Meyering + + init.sh: penalize a set-x-impaired shell; don't disqualify it + * tests/init.sh: Too many shells corrupt application stderr when + you set -x, so we can't afford to disqualify them, since at least + on Irix-6.5, that would disqualify all bourne shells. + Instead, use a two-pass approach. + On the first pass, try to find a shell that meets the stricter + condition that set -x does not corrupt stderr. + If no shell meets the stricter condition, retest each candidate + shell, but without that extra condition. Finally, when + VERBOSE=yes is requested and set -x might cause trouble, simply + issue a warning and refrain from enabling debug output. + +2010-09-08 Eric Blake + + unsetenv: fix OpenBSD bug + * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug. + * doc/posix-functions/unsetenv.texi (unsetenv): Update + documentation. + Reported by Jim Meyering. + + strtod: work around IRIX 6.5 bug + * lib/strtod.c (strtod): Reparse number on shorter string if + exponent parse was invalid. + * tests/test-strtod.c (main): Add check for "0x1p 2". + Reported by Tom G. Christensen. + + getopt: optimize previous patch + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for + empty variable. Speed up awk script. + Reported by Paolo Bonzini. + +2010-09-08 Jim Meyering + + test.sh: disqualify shells for which set -x corrupts stderr + * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11 + and OpenBSD 4.7. They make it so with "set -x", environment settings + appear in stderr output. For example, this command: + /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err + prints "P=1" on those two systems: + +2010-09-08 Bruno Haible + + gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'. + * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias' + commands, because some shells ignore redirections when there is an + error in the command lookup. + Reported by Eric Blake. + +2010-09-07 Reuben Thomas + + * lib/regex.h: Fix a mention of `regex_compile' (should be + `re_compile_pattern'). + Correct and clarify documentation for RE_CONTEXT_INVALID_DUP. + (re_set_registers): Correct name of parameter in comment. + + * doc/regex.texi: Add documentation for missing syntax flags. + Remove commented-out documentation of defunct syntax option + RE_NO_EMPTY_ALTS. + Correct name of RE_CHAR_CLASSES in one incorrect occurrence. + Add documentation of re_set_registers. + Document trick to re-use a pattern buffer by setting fastmap manually. + Update documentation of struct re_pattern_buffer per public members. + Uncomment documentation of equivalence class operators and + collating symbol operators, since they are now implemented, + Explain leftmost-longest matching in relation to alternatives. + Tidy documentation of substring matching. + Remove POSIX documentation, which is done better in + glibc, and refer the reader there. Keep BSD API documentation, as + that is not readily available elsewhere. + +2010-09-07 Eric Blake + + getopt: handle POSIXLY_CORRECT set but not exported + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing + export state of POSIXLY_CORRECT, due to bash set -o posix. + Reported by Dustin J. Mitchell. + +2010-09-05 Bruno Haible + + gnulib-tool: Highlight the changed options. + * gnulib-tool (func_usage): Display the --import, --add-import, + --remove-import explanations in bold font. + +2010-09-06 Karl Berry + + * doc/gnulib-tool.texi (Modified imports): doc tweaks. + +2010-09-05 Bruno Haible + + uniwidth/width: Update comment. + * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1. + Reported by Emanuele Giaquinta . + +2010-09-05 Bruno Haible + + isinf, isnan: Relax license. + * modules/isinf (License): Change from GPL to LGPL, with consent from + Ben Pfaff. + * modules/isnan (License): Likewise. + Requested by Ludovic Courtès. + +2010-09-04 Bruno Haible + + gnulib-tool: Help migration from --import to --add-import or --update. + * gnulib-tool: Emit a verbose error message when --import is used + without any module name. -2011-02-16 Raphaël Pinson +2010-09-04 Bruno Haible - Remove trailing whitespaces in util.aug + Update doc about gnulib-tool. + * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs. + 'gnulib-tool --update' in more detail. + Reported by Eric Blake. - Add comment_c_style and comment_multiline Add empty_generic and make empty a call to it Add empty_c_style to complement comment_c_style +2010-09-04 Bruno Haible -2011-02-15 Francis Giraldeau + gnulib-tool: Change --import. New options --add/remove-import. + * gnulib-tool: New options --add-import, --remove-import. + (func_usage): Document them. + (have_associative): Define always. + (func_import): In import mode, don't merge the specified settings with + the cached settings. Implement remove-import mode. + * doc/gnulib-tool.texi (Modified imports): Mention the new options. + Explain when to use them versus --import. + (Simple update): Use --add-import instead of --import. + * NEWS: Mention the change. - Fix segfault in get.c with L_MAYBE lens (bug#180) - When a L_MAYBE lens was the last child of a L_CONCAT inside a L_SUBTREE, then - the match in visit_exit top_frame(rec_state)->lens == lens->child was true, - causing combine of a frame when it shouldn't. This test is true because there - is no other lens following in the concat in this special case, hence the top - frame matched the child of the L_MAYBE. +2010-09-04 Bruno Haible - To avoid this special case, we propose to push L_MAYBE lens on the frames - stack. If L_MAYBE is encountered in visit_exit, we pop at least one frame and - two if the child match. This way, the stack is always valid. + * doc/gnulib-tool.texi (Initial import): Update paragraph about + separate gnulib.mk. - Closes trac ticket #180. +2010-09-04 Bruno Haible -2011-02-15 Raphaël Pinson + gnulib-tool: Don't talk about CVS any more. + * gnulib-tool (func_usage, func_import): Write "version control" + instead of CVS. - Improve vim syntax file +2010-09-04 Jim Meyering -2011-02-14 David Lutterkort + maint.mk: avoid obscure sc_copyright_check failure in coreutils + * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid + false positives (whose names may be ill-chosen) when searching + non-VC'd files. Otherwise, a file named "a b/lib/version-etc.c" + would cause a false-positive. - man pages: update man page for augtool + avoid coreutils "make distcheck" failure + Coreutils tests with an absolute build directory name that contains + a space. Not quoting this directory name caused a failure. + * tests/test-vc-list-files-git.sh: Quote PATH dir name. + * tests/test-vc-list-files-cvs.sh: Likewise. -2011-02-14 Raphaël Pinson +2010-09-04 Bruno Haible - augtool: add --interactive option - This option runs an interactive shell after evaluating STDIN or an explicit - inputfile + gnulib-tool: Avoid error when run in a package without Makefile.am. + * gnulib-tool: When collecting the m4dirs in a package that does not + have a Makefile.am, eliminate those directories that contain no + gnulib-cache.m4. Fix expression that counts these directories. -2011-02-14 David Lutterkort +2010-09-04 Bruno Haible - Mysql: change default comment delimiter from ';' to '#' - Fixes bug #181 reported by devzero + update-copyright test: Improve output when perl is missing or too old. + * tests/test-update-copyright.sh: Move test of Perl version down after + the test whether Perl exists. Provide an explanation relating Perl's + error message to Automake's SKIP: message. -2011-02-06 Francis Giraldeau +2010-09-04 Bruno Haible - Add Dhcpd lens - * Support unquoting for allow/deny statements - * Append new line to block statement braces by default - * Add missing string and integer statements according to man dhcpd.conf - * Remove trailing white space from the lens file + Don't augment PATH in TESTS_ENVIRONMENT. + * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT, + set abs_aux_dir instead of augmenting PATH. + * modules/vc-list-files-tests (Makefile.am): Likewise. + * tests/test-update-copyright.sh: Augment PATH here. + * tests/test-vc-list-files-cvs.sh: Augment PATH here, through + path_prepend_. + * tests/test-vc-list-files-git.sh: Likewise. - Replace seq by label in option list +2010-09-04 Jim Meyering - The counter/seq doesn't garantee that node label "1" will get at the first - position. Positional arguments are ordered, hence the sequence may be - misleading. This is why a fixed label for sequence nodes are better. + tests: prohibit augmenting PATH via TESTS_ENVIRONMENT + * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule. -2011-01-28 Raphaël Pinson +2010-09-04 Bruno Haible - Support directives without arg in httpd.aug - * Use sep.aug in httpd.aug Modify Sep.opt_space to make it fit the - definition in httpd.aug (it's only used here) - * Allow directives without arguments in httpd.aug - * Adjust test_httpd.aug to test argument-less directives + strdup: Fix compilation error in C++ mode. + * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine + the macro. -2011-01-25 Francis Giraldeau +2010-09-04 Bruno Haible - Fix httpd.aug doc, filter and add to checks - * Added other contributors to authors - * Changed the licence to LGPLv2+ - * Fix copy/paste error about config files - * Added filters for Fedora and RHEL + dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX. + * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the + macro into a function. + Reported by Jarno Rajahalme . -2011-01-25 Francis Giraldeau +2010-09-04 Bruno Haible - Add Httpd lens - The Httpd lens parses Apache Web server configuration according to the manual. + Set PATH_SEPARATOR the same way autoconf does. + * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine + the value of PATH_SEPARATOR the same way autoconf-generated configure + scripts do. + * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise. + * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise. - * Generic sections with square lens - * Generic directives - * Arguments of sections and directives are handled as list +2010-09-04 Stefano Lattarini (tiny change) - The lens doesn't support automatic quoting of string values, because arguments - are separated by spaces and it raises ambiguity when using unquoting. The lens - doesn't support either long lines splitted by backslash. + Set PATH_SEPARATOR the same way autoconf does. + * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR + the same way autoconf-generated configure scripts do. + * posix-modules: Likewise. -2011-01-25 David Lutterkort +2010-09-02 Paul Eggert - * src/pathx.c (store_error): make sure pos_str is always NUL terminated - Fixes bug #178 + hash: fix safe_hasher const typo + * lib/hash.c (safe_hasher): Result is pointer, not pointer to + const; otherwise, there is a type error later. + +2010-09-02 Jim Meyering -2011-01-19 Fred + test-update-copyright.sh: require perl 5.8.0 + * tests/test-update-copyright.sh: Require 5.8.0, + which Tom G. Christensen has confirmed is adequate, + while 5.6.1 is not. - PuppetFileserver: new lens for Puppet's fileserver.conf +2010-09-02 Eric Blake -2011-01-19 David Lutterkort + tests: init.sh improvements for re-exec'ing with zsh + * tests/init.sh: Borrow autoconf POSIX-mode sanitization. Pass + -vx through shell re-exec. + Reported by Tom G. Christensen. - * man/augtool.pod: fix typos - Fixes https://bugzilla.redhat.com/show_bug.cgi?id=628502 + wctype: fix typo in previous commit + * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling. + Reported by Ludovic Courtès. + +2010-09-02 Jim Meyering -2011-01-14 David Lutterkort + test-update-copyright.sh: skip test if Perl is too old + * tests/test-update-copyright.sh: Exit 77 if Perl is too old. + Reported by Tom G. Christensen. + +2010-09-02 Bruno Haible + + wctype: Avoid compilation error on IRIX 6.5.30. + * lib/wctype.in.h (iswblank): Declare with a replacement if + REPLACE_ISWBLANK is set. + * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is + declared. Set REPLACE_ISWBLANK. + * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK. + * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem. + * doc/posix-headers/wctype.texi: Likewise. + Reported by Tom G. Christensen . + +2010-09-01 Bruno Haible + + New module 'socketlib'. + * modules/socketlib: New file. + * m4/socketlib.m4: New file, extracted from m4/sockets.m4. + * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB. + * modules/sockets (Depends-on): Add socketlib. + Suggested by Sam Steingold . + +2010-09-01 Paul Eggert + + fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable + + POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used + when one needs search access to a directory but not read access. + On systems where it is available, it works in some cases where + O_RDONLY does not, namely on directories that are searchable but + not readable, and which need only to be searchable. If O_SEARCH + is not available, fall back to the traditional method of using + O_RDONLY. + + * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined. + * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY, + when opening a directory that needs only to be searchable. + * lib/chdir-safer.c (chdir_no_follow): Likewise. + * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise. + * lib/openat-proc.c (openat_proc_name): Likewise. + * lib/openat.c (openat_needs_fchdir): Likewise. + * lib/save-cwd.c (save_cwd): Likewise. + * lib/savewd.c (savewd_save, savewd_chdir): Likewise. + +2010-08-28 Bruno Haible + + New module 'host-cpu-c-abi'. + * modules/host-cpu-c-abi: New file. + * m4/host-cpu-c-abi.m4: New file, based on part of + clisp/src/m4/general.m4. + Requested by Sam Steingold . + +2010-08-31 Eric Blake + and Jim Meyering + + hash: factor, and guard against misbehaving hasher function + * lib/hash.c (safe_hasher): New function, to encapsulate the checking + of table->hasher's return value. Also protect against a hash value + so large that adding it to table->bucket results in a NULL pointer. + (hash_lookup, hash_get_next, hash_find_entry, transfer_entries): + Use it in place of open-coded check-and-abort. + +2010-08-30 Bruno Haible + + hash: silence spurious clang warning + * lib/hash.c (hash_get_next): Remove unnecessary test against NULL. + Reported by Eric Blake. + +2010-08-30 Eric Blake + + strstr, memmem, strcasestr: avoid leaked shell message + * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from + FreeBSD. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise. + + tests: silence clang warning + * tests/test-malloca.c (do_allocation): Avoid dead store. + +2010-08-29 Bruno Haible + + gettext: Fix recent mistake. + * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26. + +2010-08-29 Bruno Haible + + selinux-h: Offer a --without-selinux option. + * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If + --without-selinux was specified, skip all tests and define + HAVE_SELINUX_SELINUX_H to 0. + (gl_LIBSELINUX): Offer --without-selinux option. If it is specified, + set LIB_SELINUX to empty. + * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require + gl_LIBSELINUX. If --without-selinux was specified, replace + selinux/context.h. + Reported by Johan Hattne . + +2010-08-29 Ralf Wildenhues + Bruno Haible + + Make the module 'realloc-gnu' work again on AIX and OSF/1. + * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead + of HAVE_REALLOC. + * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when + GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU. + (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition. + * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR. + +2010-08-29 Ralf Wildenhues + Bruno Haible + + Make the module 'calloc-gnu' work again on AIX and OSF/1. + * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of + HAVE_CALLOC. + * lib/xmalloc.c: Update accordingly. + * lib/calloc.c (NEED_CALLOC_GNU): Enable also when + GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU. + * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR. + +2010-08-29 Ralf Wildenhues + Bruno Haible + + Make the module 'malloc-gnu' work again on AIX and OSF/1. + * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of + HAVE_MALLOC. + * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when + GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU. + * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR. + +2010-08-29 Bruno Haible + + Update modules list. + * MODULES.html.sh (Memory management functions ): Add + malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc. + (String handling ): Add astrxfrm. + (File system functions): Add readlinkat. + +2010-08-28 Ralf Wildenhues + + Tests for module 'realloc-gnu'. + * modules/realloc-gnu-tests: New file. + * tests/test-realloc-gnu.c: New file. + + Tests for module 'calloc-gnu'. + * modules/calloc-gnu-tests: New file. + * tests/test-calloc-gnu.c: New file. + + Tests for module 'malloc-gnu'. + * modules/malloc-gnu-tests: New file. + * tests/test-malloc-gnu.c: New file. + +2010-08-28 Bruno Haible + + Rename module 'realloc' -> 'realloc-gnu'. + * modules/realloc-gnu: New file, copied from modules/realloc. + * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as + obsolete. + * modules/mgetgroups (Depends-on): Update. + * doc/posix-functions/realloc.texi: Update. + * NEWS: Mention the change. + + Rename module 'calloc' -> 'calloc-gnu'. + * modules/calloc-gnu: New file, copied from modules/calloc. + * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as + obsolete. + * doc/posix-functions/calloc.texi: Update. + * NEWS: Mention the change. + + Rename module 'malloc' -> 'malloc-gnu'. + * modules/malloc-gnu: New file, copied from modules/malloc. + * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as + obsolete. + * modules/argp (Depends-on): Update. + * modules/regex (Depends-on): Update. + * doc/posix-functions/malloc.texi: Update. + * NEWS: Mention the change. + +2010-08-28 Eric Blake + + pread, pwrite: add missing dependency + * modules/pread (Depends-on): Add extensions. + * modules/pwrite (Depends-on): Likewise. + +2010-08-28 Bruno Haible + + unistr/u*-strchr: Fix tests dependencies. + * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8. + * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16. + Reported by Ian Beckwith . + +2010-08-28 Bruno Haible + + read-file: Don't occupy too much unused memory. + * lib/read-file.c (fread_file): Shrink the buffer at the end. + +2010-08-28 Giuseppe Scrivano + Eric Blake + Bruno Haible + + read-file: Avoid memory reallocations with regular files. + * lib/read-file.c: Include , , . + (fread_file): With regular files, use the remaining length as the + initial buffer size. Check against overflow. + * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint, + sys_stat. + +2010-08-28 Bruno Haible + + ftello: Relax license. + * modules/ftello (License): Relax to LGPLv2+. + Reported by Eric Blake. + +2010-08-28 Bruno Haible + + Avoid relocwrapper link errors due to gnulib replacement functions. + * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd + function. + Reported by Ben Pfaff . + +2010-08-28 Bruno Haible + + Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib. + * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is + defined. + * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise. + Suggested by Eric Blake. + +2010-08-28 Bruno Haible + + sys_socket, netdb: Ensure socklen_t gets defined. + * modules/sys_socket (Depends-on): Add socklen. + * modules/netdb (Depends-on): Likewise. + * modules/getaddrinfo (Depends-on): Remove socklen. + * modules/getsockopt (Depends-on): Likewise. + * modules/setsockopt (Depends-on): Likewise. + * tests/test-sys_socket.c: Check that socklen_t is defined. + * tests/test-netdb.c: Likewise. + * m4/socklen.m4: Update comments. + Reported by Ralf Wildenhues . + +2010-08-27 Eric Blake + + login_tty: add missing dependency + * modules/login_tty (Depends-on): Add pty. + +2010-08-26 Eric Blake + + lib-symbol-versions: fix m4 quoting + * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct + format for AC_LINK_IFELSE. + + glob: fix compile test + * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE. + + btowc: fix missing file + * modules/btowc (Files): Also ship locale-fr.m4. + + lseek: fix link test + * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for + AC_LINK_IFELSE. + + include_next: silence autoconf 2.68 warning + * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of + AC_COMPILE_IFELSE as special. + (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for + autoconf < 2.68. + + acl: fix compilation test + * m4/acl.m4 (gl_FUNC_ALL): Use correct format for + AC_COMPILE_IFELSE. + +2010-08-26 Bruno Haible + + Modernize AC_TRY_RUN invocations. + * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN. + * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise. + * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise. + * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise. + * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise. + * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise. + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise. + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise. + * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise. + * m4/iconv.m4 (AM_ICONV_LINK): Likewise. + * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise. + * m4/intdiv0.m4 (gt_INTDIV0): Likewise. + * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise. + * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise. + * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, + gl_MBRLEN_NUL_RETVAL): Likewise. + * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK, + gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): + Likewise. + * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise. + * m4/open.m4 (gl_FUNC_OPEN): Likewise. + * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE, + gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE, + gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N, + gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING, + gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION, + gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99, + gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): + Likewise. + * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise. + * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise. + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise. + * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise. + * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise. + * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise. + * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. + * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise. + * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise. + +2010-08-26 Bruno Haible + + Modernize AC_TRY_LINK invocations. + * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of + AC_TRY_LINK. + * m4/argp.m4 (gl_ARGP): Likewise. + * m4/asinl.m4 (gl_FUNC_ASINL): Likewise. + * m4/atanl.m4 (gl_FUNC_ATANL): Likewise. + * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise. + * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise. + * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise. + * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise. + * m4/cosl.m4 (gl_FUNC_COSL): Likewise. + * m4/expl.m4 (gl_FUNC_EXPL): Likewise. + * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise. + * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise. + * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise. + * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise. + * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise. + * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise. + * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise. + * m4/hostent.m4 (gl_HOSTENT): Likewise. + * m4/iconv.m4 (AM_ICONV_LINK): Likewise. + * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise. + * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise. + * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM): + Likewise. + * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM): + Likewise. + * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM): + Likewise. + * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise. + * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise. + * m4/logb.m4 (gl_FUNC_LOGB): Likewise. + * m4/logl.m4 (gl_FUNC_LOGL): Likewise. + * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise. + * m4/servent.m4 (gl_SERVENT): Likewise. + * m4/signbit.m4 (gl_SIGNBIT): Likewise. + * m4/sinl.m4 (gl_FUNC_SINL): Likewise. + * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise. + * m4/tanl.m4 (gl_FUNC_TANL): Likewise. + * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise. + * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise. + * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise. + * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise. + * modules/tsearch-tests (configure.ac): Likewise. + +2010-08-26 Bruno Haible + + Modernize AC_TRY_COMPILE invocations. + * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of + AC_TRY_COMPILE. + * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise. + * m4/intl.m4 (gt_CHECK_DECL): Likewise. + * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise. + * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise. + * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise. + * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise. + * m4/locale_h.m4 (gl_LOCALE_H): Likewise. + * m4/lock.m4 (gl_LOCK): Likewise. + * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise. + * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise. + * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise. + * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise. + * m4/size_max.m4 (gl_SIZE_MAX): Likewise. + * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise. + * m4/stdarg.m4 (gl_STDARG_H): Likewise. + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise. + * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise. + * m4/visibility.m4 (gl_VISIBILITY): Likewise. + * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise. + * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise. + * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove + extraneous semicolon. + +2010-08-26 Jim Meyering + + stat-time: relax license LGPL + * modules/stat-time (License): Change from GPL to LGPL, + with consent from all contributors, for use in libguile. + Requested by Ludovic Courtès. + +2010-08-26 Erik Faye-Lund + + poll: return immediately on POLLHUP. + * lib/poll.c (poll): Always set timeout before wait_timeout is + computed. + +2010-08-25 Ralf Wildenhues + + Fix test-unlinkat, test-rmdir failure on AIX 5.3. + * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for + rmdir ("dir/.//"), unlinkat. + +2010-08-24 Paul Eggert + + stdbool: avoid spurious failure with modern xlc + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf. + +2010-08-24 Bruno Haible + + getloadavg: simplify code + * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of + gl_have_func. Update comments. + +2010-08-24 Eric Blake + + getloadavg: don't define SVR4 on cygwin + * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to + only define SVR4 when -lkvm is required. + Reported by Yaakov Selkowitz. + +2010-08-24 Bruno Haible + + priv-set: fix comment + * lib/priv-set.c (priv_set_restore): Fix typo in comment. + +2010-08-23 Paul Eggert + + priv-set: fix comments + * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments + to match code, as suggested by David Bartley in: + http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html + +2010-08-23 Eric Blake + + stdbool: avoid rejecting clang + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf. + * tests/test-stdbool.c: Enable more tests if using the system + instead of the gnulib replacement. + (main): Move xlc bug test to a runtime test for all compilers. + Reported by Anders Kaseorg. + + argz: fix shell quoting issue + * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument. + Reported by Charles Wilson. + +2010-08-22 Paolo Bonzini + Erik Faye-Lund + + poll, select: handle ERROR_BROKEN_PIPE. + * lib/poll.c (win32_compute_revents): Return POLLHUP when + PeekNamedPipe fails with ERROR_BROKEN_PIPE. + * lib/select.c (win32_compute_revents): Do not mark a pipe + as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE. + +2010-08-22 Giuseppe Scrivano + + fts: allow compilation with C++ + * lib/fts_.h: Specify extern "C" linkage with C++. + +2010-08-22 Ralf Wildenhues + + Fix gnulib-tool sed script de-commentation for AIX sed. + * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3 + sed. + +2010-08-17 Eric Blake + + test-stddef: test for (some) offsetof bugs + * tests/test-stddef.c: Enhance test to ensure correct type of + offsetof. + * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug + that we are not fixing at this time. - Allow compiling with NDEBUG defined - * src/errcode.h (ensure0): do not mention 'error' label when NDEBUG is - defined - * src/pathx.c (coerce_to_bool, eval_pred): make sure we return something - when assert(0) is compiled away +2010-08-15 Bruno Haible -2011-01-13 Francis Giraldeau + stpncpy: Allow stpncpy to be defined as a macro. + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy + if it's already correctly declared. + * lib/string.in.h (stpncpy): Undefine before redefining. + Reported by Jeremy Huddleston . - Fix a small bashism from test script +2010-08-14 Bruno Haible -2011-01-13 David Lutterkort + Rename module 'memxfrm' to 'amemxfrm'. + * lib/amemxfrm.h: Renamed from lib/memxfrm.h. + (amemxfrm): Renamed from memxfrm. + * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h. + (amemxfrm): Renamed from memxfrm. + * modules/amemxfrm: Renamed from modules/memxfrm. Update. + * NEWS: Mention the change. + * MODULES.html.sh (String handling ): Update. + * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm. + * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h. + * lib/unicase/u16-casexfrm.c: Likewise. + * lib/unicase/u32-casexfrm.c: Likewise. + * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm. + * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h. + * lib/uninorm/u16-normxfrm.c: Likewise. + * lib/uninorm/u32-normxfrm.c: Likewise. + * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove + memxfrm. + * modules/unicase/u16-casexfrm (Depends-on): Likewise. + * modules/unicase/u32-casexfrm (Depends-on): Likewise. + * modules/uninorm/u8-normxfrm (Depends-on): Likewise. + * modules/uninorm/u16-normxfrm (Depends-on): Likewise. + * modules/uninorm/u32-normxfrm (Depends-on): Likewise. + Suggested by Paul Eggert. + +2010-08-14 Bruno Haible + + Tests for module 'astrxfrm'. + * modules/astrxfrm-tests: New file. + * tests/test-astrxfrm.c: New file. + + New module 'astrxfrm'. + * lib/astrxfrm.h: New file. + * lib/astrxfrm.c: New file, based on lib/memxfrm.c. + * modules/astrxfrm: New file. + +2010-08-14 Reuben Thomas + + regex: Tweak doc. + * doc/regex.texi (Overview): Don't mention regex.c. + (GNU Regular Expression Compiling): Likewise. + (Match-end-of-line Operator): Mention 'not_eol'. + +2010-08-14 Brian Gough + Bruno Haible + + git-merge-changelog: add doc relating to use with bzr and hg. + * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3. + +2010-08-14 Matthias Bolte + + pthread: fix pthread.h creation for srcdir != builddir + * modules/pthread (Makefile.am): Fix the rule to work also in a + non-srcdir build. + +2010-08-13 Karl Berry + + * doc/regex.texi (Predefined Syntaxes): @smallexample. + * doc/posix-*/*: force line break before @url of POSIX + specifications. + Suggested by Werner Lemberg. + +2010-08-10 Paul Eggert + + strtod: fix const diagnostic + * lib/strtod.c (strtod): Don't assign const char * to char *, + as this elicits a warning from GCC when warnings are enabled. + +2010-08-10 Pádraig Brady + and Eric Blake + + copy-acl: ignore ENOTSUP on HP-UX + * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up, + so that it is available for HP-UX. + * lib/copy-acl.c (qcopy_acl): Use it. + Reported by Patrick M. Callahan. + +2010-08-10 Eric Blake + + open, chown: relax license + * modules/open (License): Change to LGPLv2+, with consent by all + authors, for use in augeas. + * modules/chown (License): Likewise. + * modules/lchown (Likewise): Likewise. + Requested by Adam Stokes. + +2010-08-09 Karl Berry + + * build-aux/ar-lib: new file, import from Automake. + * config/srclist.txt: autocheck for updates. + +2010-08-09 Eric Blake + + readlinkat: adjust client modules + * modules/areadlinkat (Depends-on): Use readlinkat, not + symlinkat. + * modules/areadlinkat-with-size (Depends-on): Likewise. + + mknod: be more vocal about danger of running tests as root + * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as + root, since that is just asking for problems. + Suggested by Bruno Haible, based on a report by Rainer Tammer. + + readlinkat: split into its own module + * modules/symlinkat: Split readlinkat... + * modules/readlinkat: ...into separate module. + * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check... + * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file. + * lib/symlinkat.c (readlinkat): Move... + * lib/readlinkat.c: ...into new file. + * modules/symlinkat-tests: Split readlinkat test... + * modules/readlinkat-tests: ...into separate module. + * tests/test-symlinkat.c: Split... + * tests/test-readlinkat.c: ...into new file. + * NEWS: Document the split. + * doc/posix-functions/readlinkat.texi (readlinkat): Likewise. + * lib/unistd.in.h (readlinkat): Likewise. + Suggested by Bruno Haible. + +2010-08-08 Bruno Haible + + memxfrm: Speed up. + * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so + that usually only one call to strxfrm is necessary for each string + part. + Reported by Paul Eggert . + +2010-08-07 Karl Berry + + * doc/posix-headers/limits.texi, + * doc/posix-functions/malloc.texi, + * doc/posix-functions/strsignal.texi: missing @item. + * doc/ld-version-script.texi: spurious leading i. + * doc/regex.texi (Interval Operators): no commas inside @var. + +2010-08-01 Bruno Haible + + Integrate the regex documentation. + * doc/gnulib.texi: Define 'cn' index. + (Regular expressions): New a chapter that includes regex.texi and + regexprops-generic.texi. + * doc/regex.texi: Remove boilerplate stuff. Use simplified @node + syntax. + + Whitespace cleanup. + * doc/regex.texi: Remove trailing spaces. + + Add regex documentation. + * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in + http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz. + Written by Kathy A. Hargreaves and Karl Berry. + +2010-08-01 Bruno Haible + + link: Update documentation. + * doc/posix-functions/link.texi: Update regarding Solaris. + +2010-07-31 Bruno Haible + + Update modules list. + * MODULES.html.sh (Sorting functions ): Add array-mergesort. + (String handling ): Add memcmp2, memxfrm. + (Container data structures): Add xlist, xsublist, xoset. + (Core language properties): Add alignof, unused-parameter. + (Process control, Numeric conversion functions ): Renamed + from Numeric conversion functions . Add _Exit, atoll. + (Unibyte characters ): New section. + (String handling ): New section. + (Mathematics ): Add acos, acosl, asin, asinl, atan, atan2, + atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs, + fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl, + modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl, + tan, tanh, tanl, y0, y1, yn. + (Support for systems lacking POSIX:2008): Add alphasort, dirent, + dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix, + grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread, + ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname, + unlockpt, vdprintf, vdprintf-posix. + (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt. + (File system functions): Add concat-filename, sys_file, sys_ioctl, + xconcat-filename. + (File descriptor based Input/Output): Add dup3, fd-safer-flag, + getdtablesize, pipe2, pipe2-safer. + (Security): New section. + (Networking functions): Add accept4. + (Signal handling): Add sigpipe. + (Internationalization functions): Add xstriconveh, mbmemcasecmp, + mbmemcasecoll. + (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2, + unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*. + (Executing programs): Add findprog-lgpl, pipe-filter-gi, + pipe-filter-ii. + (Misc): Add argp-version-etc, login_tty, parse-duration. + +2010-07-31 Bruno Haible + + Improve doc in MODULES.html. + * modules/linkat (Description): Add the word "function". + * modules/mkfifo (Description): Likewise. + * modules/mknod (Description): Likewise. + * modules/remove (Description): Likewise. + * modules/renameat (Description): Likewise. + * modules/stat (Description): Likewise. + * modules/symlink (Description): Likewise. + * modules/unlink (Description): Likewise. + +2010-07-31 Bruno Haible + + ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible. + * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide + option --enable/disable-c++ instead of --enable/disable-cxx. + * NEWS: Mention the change. + +2010-07-31 Bruno Haible + + readlink, areadlink: Relax test a bit. + * tests/test-readlink.h (test_readlink): Accept EINVAL as an + alternative to ENOTDIR. + * tests/test-areadlink.h (test_areadlink): Likewise. + Reported by Rainer Tammer. + +2010-07-31 Bruno Haible + + unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case. + * lib/unistr/u-strstr.h (FUNC): When the needle contains only one + character, perform the search using U_STRCHR. + * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro. + * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise. + * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc. + * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc. + Suggested by Paolo Bonzini. + +2010-07-31 Bruno Haible + + unistr/u*-strstr: Fix dependencies. + * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr. + * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr. + * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr. + +2010-07-31 Bruno Haible + + unistr/u8-chr, unistr/u8-strchr: Optimize and add comments. + * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at + the beginning of the loop. + * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through + cases in 'switch' statement. + + unistr/u8-strchr: Fix several bugs. + * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of + the string. When not found, return NULL, not a pointer near the end. + + More tests for unistr/u8-strchr. + * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check + that the function does not read past the first occurrence of the byte + being searched. + * tests/unistr/test-u8-strchr.c (main): New function, with more tests. + * tests/unistr/test-u16-strchr.c (main): New function. + * tests/unistr/test-u32-strchr.c (main): New function. + +2010-07-31 Bruno Haible + + posix-modules: Ignore backup files of documentation files. + * posix-modules: grep only through files named *.texi. + +2010-07-31 Bruno Haible + + symlinkat: Fix documentation. + * doc/posix-functions/readlinkat.texi: Fix module name. + +2010-07-31 Bruno Haible + + fchownat: Replace also when chown has the trailing slash bug. + * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN + outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression + introduced on 2010-04-10. + Reported by Rainer Tammer. + +2010-07-31 Bruno Haible + + linkat: Work around AIX 7.1 bug. + * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test + whether linkat handles trailing slash correctly. If not, replace linkat + and define LINKAT_TRAILING_SLASH_BUG. + * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined, + check whether (fd1,file1) points to a directory if file1 or file2 ends + in a slash. Code taken from lib/link.c. + * doc/posix-functions/linkat.texi: Mention trailing slash bug. + Reported by Rainer Tammer. + +2010-07-31 Bruno Haible + + Correctly determine whether pow is available in libc on AIX 7 with xlc. + * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable. + This disables an xlc optimization that was causing wrong test results. + Reported by Rainer Tammer. - Xorg: "position" in "screen" section is optional; allow "Extensions" section - Patch by omzzk +2010-07-31 Bruno Haible + + iconv: Work around AIX 6.1..7.1 bug. + * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug. + * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When + cross-compiling, guess no on all versions of AIX. + Reported by Rainer Tammer. - Fixes bug #175 +2010-07-31 Bruno Haible -2011-01-11 David Lutterkort + readlink: Relax test a bit. + * tests/test-readlink.h (test_readlink): Allow different errno value + when readlink is called with a file name that ends in / and refers to + a file. + Suggested by Eric Blake. + Reported by Rainer Tammer. - Replace augtest by test-augtool.sh - This removes the silly dependency on Ruby, since augtest was the only - Ruby script in the whole source tree. +2010-07-31 Bruno Haible - The test files for test-augtool.sh live in tests/test-augtool, and are - functionally identical to the Ruby test files tests/*.rb. The only - exception is that test-root.rb has been removed - it tested something that - is better tested in test-xpath.c + copysign: Does not require -lm on glibc systems. + * modules/copysign (configure.ac): Use gl_MATHFUNC, not + gl_COMMON_DOUBLE_MATHFUNC. + * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments. - The new test-augtool.sh test is also a little more efficient in that it - only copies the file needed by a test into the root, and only sets the lens - for that file up for loading. This reduces the runtime of the tests from ~ - 30s on my machine to under 2s. +2010-07-31 Bruno Haible -2011-01-11 David Lutterkort + duplocale: Work around AIX 7.1 bug. + * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when + duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0. + * lib/duplocale.c (rpl_duplocale): Update comment. + * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug. + Reported by Rainer Tammer. - Test that getting and setting the root node works - This tests the same thing that test-get.sh tests, but in a much more - reliable fashion +2010-07-30 Bruno Haible - * src/pathx.c (store_error): never append to an uninitialized string + dirfd: Avoid link error on AIX 7.1. + * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD. + * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not + exist, set REPLACE_DIRFD. + * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD. + * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD. + * doc/posix-functions/dirfd.texi: Update. + Reported by Rainer Tammer. - * src/augtool.c: be a little more quiet - Some of the commands used to print unconditionally; we now only print if we - should be echoing (i.e., if --echo is given on the command line or if stdin - is a tty) +2010-07-30 Eric Blake -2011-01-11 Fred + strtod: next round of AIX fixes + * lib/strtod.c (strtod): Work around AIX bug of parsing p with no + exponent. + * tests/test-strtod.c (main): Enhance tests. + * doc/posix-functions/strtod.texi (strtod): Document next bug. + Reported by Rainer Tammer. - Crypttab: new lens for /etc/crypttab + futimens: fix configure check + * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic. + Reported by Bruno Haible. -2011-01-11 Raphaël Pinson +2010-07-30 Bruno Haible - In autosave mode, print "save" when in echo or interactive mode. Remove comma at the end of enum list. + getline: Update regarding AIX. + * doc/posix-functions/getline.texi: Mention bug on AIX 7.1. + Reported by Rainer Tammer. -2011-01-10 Raphaël Pinson +2010-07-30 Bruno Haible - Refactor augtool.c to use only readline + wcwidth: Drop replacement on AIX 7. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on + AIX 7. + Reported by Rainer Tammer. -2011-01-10 Raphaël Pinson +2010-07-30 Bruno Haible - augtool: add --autosave option - Additional changes to augtool: - * Define AUGTOOL_PROMPT as a constant - * Do not print (null) lines when using --echo - * Add test for --autosave in test-save-mode.sh + strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to + a 'char *'. + Reported by Rainer Tammer. - Fixes ticket #172 +2010-07-30 Bruno Haible -2011-01-07 David Lutterkort + unlink: Update regarding AIX. + * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1. + * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment. + Reported by Rainer Tammer. - bootstrap: add sys_wait module - Fixes bug #164 +2010-07-30 Bruno Haible -2011-01-07 Dominic Cleal + symlink: Update regarding AIX. + * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1. + * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment. + Reported by Rainer Tammer. - Add support for Solaris multiboot kernels with slashes in the first kernel argument (Fix ticket #158) +2010-07-30 Bruno Haible - Allow kernel$ and module$ extensions to GRUB for Solaris (Fix ticket #158) + strndup: Update regarding AIX. + * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on + AIX 7. + Reported by Rainer Tammer. -2011-01-07 David Lutterkort +2010-07-30 Bruno Haible - Shellvars: read various snmpd config files - Patch by erinn + stat: Update regarding AIX. + * doc/posix-functions/stat.texi: Mention bug on AIX 7.1. + * m4/stat.m4 (gl_FUNC_STAT): Update comment. + Reported by Rainer Tammer. - Fixes ticket #170 +2010-07-30 Bruno Haible -2011-01-07 Dominic Cleal + truncl: Fix autoconf test. + * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing + whether truncl works. + Reported by Rainer Tammer. - Solaris_system: new lens for /etc/system (Solaris) - File is used to configure the kernel, module loading and parameters. The - system(4) man page gives a good overview of the commands and a sample file: - http://docs.sun.com/app/docs/doc/816-5174/system-4?l=en&n=1&a=view +2010-07-30 Bruno Haible - It supports moddir, rootdev, rootfs, exclude, include, forceload and set. - The set tree is broken down quite a lot as the operator can vary (equals, - bitwise AND and OR). + round: Update regarding AIX. + * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7. + * doc/posix-functions/round.texi: Mention bug on AIX 7.1. + Reported by Rainer Tammer. -2011-01-07 David Lutterkort +2010-07-30 Bruno Haible - Resolv: allow comments starting with semicolon - Patch by erinn + rename: Update regarding AIX. + * doc/posix-functions/rename.texi: Mention bug on AIX 7.1. + * m4/rename.m4 (gl_FUNC_RENAME): Update comment. + Reported by Rainer Tammer. - Fixes bug #173 +2010-07-30 Bruno Haible -2011-01-03 Raphaël Pinson + printf.m4: Update regarding AIX. + * m4/printf.m4: Update comments regarding AIX. + Reported by Rainer Tammer. - Add automount, netmasks and sendmailvars keywords for databases in nsswitch.aug +2010-07-30 Bruno Haible - Add bootparams as database keyword (Fix ticket #171) Update test file accordingly + iconv: Update regarding AIX. + * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on + AIX 7. + Reported by Rainer Tammer. -2010-12-29 Raphaël Pinson +2010-07-30 Bruno Haible - Rename "host" nodes as "origin" (breaks compatibility) Implement "except" keyword as a subtree Make origin_re less strict to fix comment #6 in ticket #166 Implement multiple users and netgroups Improve test file + getopt: Update regarding AIX. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess + no on AIX. + * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug. + Reported by Rainer Tammer. -2010-12-28 Francis Giraldeau +2010-07-30 Bruno Haible - Add xml lens - The XML lens parse arbitrary XML documents. Most, but not all features of XML - standard are implemented, partially because the nature of augeas. Tests comes - from OASIS test suite. + ldexpl; Update regarding AIX. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes + on AIX 7. + Reported by Rainer Tammer. - Supported: - * Document type declaration: elements, attlist, entity - * XML Prolog - * XML comments - * XML processing instructions - * Neested elements, including empty elements - * Element attributes - * Mixed content, text and elements - * CDATA sections +2010-07-30 Bruno Haible - Not supported: - * Single quotes attributes: double quotes is mandatory - * External entity reference, because augeas can't load a related file within a lens - * Document validation: augeas don't enforce DTD + frexpl: Update regarding AIX. + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes + on AIX 7. + Reported by Rainer Tammer. - This lens doesn't respect the PutGet law, becuse of an ambiguity in union.put - with text nodes. If a text node is created as a sibling of another text node, a - put and a get will merge those two nodes. In practice, no error occur and this - is a desirable behavior. +2010-07-30 Bruno Haible -2010-12-22 Raphaël Pinson + open, fopen: Update regarding AIX. + * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX. + * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise. + * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX. + * doc/posix-functions/fopen.texi: Likewise. + Reported by Rainer Tammer. - Fix ticket #169 and add unit tests by Sergio Ballestrero. +2010-07-30 Bruno Haible -2010-12-20 David Lutterkort + chown: Update doc regarding AIX. + * doc/posix-functions/chown.texi: Mention bug on AIX 7.1. + * m4/chown.m4 (gl_FUNC_CHOWN): Update comment. + Reported by Rainer Tammer. - * src/pathx.c (func_regexp): do not SEGV on error; provide better error msg - Fixes bug 168 +2010-07-30 Eric Blake - * when the passed in regexp had a syntax error, we would leave the - interpreter variable at VIND uninitialised, but tagged as a regexp. As - a result, we'd SEGV when that slot in the variable table is - freed. Properly initialize slots in the variable table to NULL, and - store the regexp as soon as it has been built (before compilation) - there to address that. - * when a regexp had a syntax error, we would just drop the details of the - syntax error on the floor. We now include that in the error details so - that the user has some hint to how the regexp is foobared + strtod: fix bug in replacement function on AIX + * lib/strtod.c (strtod): Special case broken "0x" parse in + underlying strtod. + * tests/test-strtod.c (main): Document AIX 7.1 bugs. + * doc/posix-functions/strtod.texi (strtod): Likewise. + Reported by Rainer Tammer. - # Please enter the commit message for your changes. Lines starting - # with '#' will be ignored, and an empty message aborts the commit. - # On branch master - # Changes to be committed: - # (use "git reset HEAD ..." to unstage) - # - # modified: src/pathx.c - # - # Untracked files: - # (use "git add ..." to include in what will be committed) - # - # doc/cfg.txt - # doc/naturaldocs/conf/lenses/Menu_Backup.txt - # doc/naturaldocs/conf/lenses/Menu_Backup_2.txt - # p/ - # site.orig/ - # tests/root-small/ - # tests/root/etc/network/ - # tests/root/etc/samba/ - # tests/root/etc/sysconfig/system-config-firewall +2010-07-30 Bruno Haible -2010-12-10 Francis Giraldeau + mbrlen: Fix cross-compilation guess for AIX. + * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation + guess. Leftover from 2008-12-22. - Enable square lens in dump_lens +2010-07-30 Bruno Haible -2010-12-10 Francis Giraldeau + mbrtowc: Fix cross-compilation guess for AIX. + * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation + guess. Leftover from 2008-12-21. - Add square lens to language - The new primitive square lens allows to handle XML like open and close tags. - It takes 2 arguments, a regexp for the tag and a lens for the content. The - square lens verify that open and close tags are matched in the get direction, - and put direction handles the close tag by copying the key. +2010-07-29 Peter O'Gorman (tiny change) - * src/builtin.c: add "square" keyword to language - * src/lens.c: lns_make_square to compile the lens from actual simpler - lenses - * src/lens.h: append L_SQUARE to lens_tag enum to identify the square lens - type object - * src/jmt.c: handle square lens in parser - * src/get.c: add char* square to state struct to hold the last L_DEL in - square to perform syntax check, and add all get handling functions for - L_SQUARE - * src/put.c: modify create_del to render current key when default string is - NULL and add all put handling functions - * tests/modules/pass_square.aug: unit tests to validate the square lens, - regular and recursives + init.sh: work around trap limitation of some shells + * tests/init.sh (setup_): Move exit trap outside of shell function. -2010-12-09 Francis Giraldeau +2010-07-29 Eric Blake - Add test for lens-access.sh in Makefile + strtod: aid debugging + * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid + understanding why strtod is rejected. -2010-12-02 Raphaël Pinson +2010-07-28 Bruno Haible - Relicense pg_hba.aug as LGPLv2+ as the rest of Augeas. + unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings. + * lib/unistr/u8-chr.c: Include . + * tests/unistr/test-u8-chr.c: Likewise. + * tests/unistr/test-u16-chr.c: Likewise. + * tests/unistr/test-u32-chr.c: Likewise. + * tests/unistr/test-u8-strchr.c: Likewise. + * tests/unistr/test-u16-strchr.c: Likewise. + * tests/unistr/test-u32-strchr.c: Likewise. + * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set. + * modules/unistr/u16-chr-tests (Depends-on): Likewise. + * modules/unistr/u8-strchr-tests (Depends-on): Likewise. + * modules/unistr/u16-strchr-tests (Depends-on): Likewise. + +2010-07-28 Bruno Haible + + Use spaces for indentation, not tabs. + * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify. + +2010-07-27 Bruno Haible + + mbspcasecmp: Fix function specification. + * lib/string.in.h (mbspcasecmp): Fix specification comment. + * lib/mbspcasecmp.c (mbspcasecmp): Likewise. + Reported by Eric Blake . + +2010-07-26 Paul R. Eggert + + timespec: use cast and not conditional, as truncation isn't possible + * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion + instead of a conditional. Comment about the situation in more detail. + This undoes most of the 2009-10-29 patch. + +2010-07-23 Paolo Bonzini + + unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm. + * lib/unistr/u8-chr.c: Add Boyer-Moore like operation. + * lib/unistr/u8-strchr.c: Likewise. + * modules/unistr/u8-chr: Depend on memchr. + + unistr/u*-strchr: add tests + * modules/unistr/u8-strchr-tests: New file. + * modules/unistr/u16-strchr-tests: New file. + * modules/unistr/u32-strchr-tests: New file. + * tests/unistr/test-strchr.h: New file. + * tests/unistr/test-u8-strchr.c: New file. + * tests/unistr/test-u16-strchr.c: New file. + * tests/unistr/test-u32-strchr.c: New file. + + unistr/u*-chr: test multibyte sequences more + * tests/unistr/test-chr.h: Do complete testing of the characters in the + test vector. + * tests/unistr/test-u8-chr.c (U_UCTOMB): Define. + * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise. + * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise. + + unistr/u*-chr: test multibyte sequences + * tests/unistr/test-chr.h: Put characters above 0-127 in the test input. + + unistr/u*-chr: prepare for multibyte tests + * modules/unistr/u8-chr-tests: Depend on u32-to-u8. + * modules/unistr/u16-chr-tests: Depend on u32-to-u16. + * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert. + * tests/unistr/test-u8-chr.c (U32_TO_U): Define. + * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise. + * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise. + +2010-07-18 Bruno Haible + + unistr/u8-strchr: Optimize non-ASCII argument case. + * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first, + because the first byte often matches anyway. + Reported by Pádraig Brady . + +2010-07-15 Karl Berry + + * config/srclist.txt (fdl.texi): only one copy, from gnustandards. + +2010-07-14 Paul R. Eggert + + getcwd: on Solaris, work better if ancestors are inaccessible + * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero + buffer and size, try again with a large buffer. This works better + on Solaris, since its getcwd succeeds even if the path to the root + is inaccessible, and this is helpful in common cases such as .zfs + hidden directories. Problem reported by J Chapman Flack in + http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html + Use system getcwd if it's declared, not merely if it's partly + working; use the partly-working test only to avoid needless effort + if the system getcwd fails. + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit + comment that was already obsolete and is now even more obsolete. + * modules/getcwd (Depends-on): Depend on strdup, since __getcwd + now might call strdup. + +2010-07-13 Paul R. Eggert + + pthread: Add enough so that coreutils/src/sort.c compiles. + * lib/pthread.in.h: Add self to author comment. Conditionalize on + _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of + gnulib. Include and , as per POSIX. + Include , in case it defines pthread_t. + (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t): + (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t): + (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t): + (pthread_rwlockattr_t, pthread_spinlock_t): + New typedefs, if HAVE_PTHREAD_T is not defined. + (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER): + (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER): + (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED): + (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE): + (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE): + (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED): + (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL): + (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE): + (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE): + (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE): + (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS): + New macros. + (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal): + (pthread_cond_wait, pthread_exit, pthread_mutex_destroy): + (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock): + (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock); + (pthread_spin_unlock): New dummy functions. + (pthread_create): Return EAGAIN; don't set errno. + * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and + require AC_C_INLINE. + * modules/pthread (Depends-on): Add sched, time. + (pthread.h): Use AM_V_GEN. + +2010-07-13 Bruno Haible + + striconveh: Don't malloc memory if the result buffer is sufficient. + * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result + buffer if its size is sufficient. + Reported by Ludovic Courtès . + +2010-07-13 Bruno Haible + + strtod: Add safety check. + * lib/strtod.c (ldexp): Abort if this dummy replacement gets called. + +2010-07-12 Bruno Haible + + Unify tests that set gl_cv_func_ldexpl_no_libm. + * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from + gl_FUNC_LDEXPL. + (gl_FUNC_LDEXPL): Invoke it. + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise. + +2010-07-12 Bruno Haible + + Unify tests that set gl_cv_func_ldexp_no_libm. + * m4/ldexp.m4: New file, based on m4/mathfunc.m4. + * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM. + * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4. + (configure.ac): Simply invoke gl_FUNC_LDEXP. + * modules/strtod (Files): Add m4/ldexp.m4. + +2010-07-12 Bruno Haible + + Unify tests that set gl_cv_func_frexpl_no_libm. + * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from + gl_FUNC_FREXPL_NO_LIBM. + (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it. + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise. + +2010-07-12 Bruno Haible + + Unify tests that set gl_cv_func_frexp_no_libm. + * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from + gl_FUNC_FREXP_NO_LIBM. + (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it. + * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise. + +2010-07-12 Paul R. Eggert + + memcoll: clarify sizes versus lengths, document better, and tweak perf + * lib/memcoll.c (strcoll_loop, memcoll0): + Improve quality of descriptive comments. Name variables + consistently as to whether they are lengths (which do not include + terminating null) versus sizes (which do). + * lib/xmemcoll.c (xmemcoll0): Likewise. + * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is + returned when s1size == 0; this is easier to compile and saves + about 17% of memcoll's code space on x86-64 with GCC 4.1.2. + +2010-07-12 Bruno Haible + + Tests for module '_Exit'. + * modules/_Exit-tests: New file. + * tests/test-_Exit.sh: New file. + * tests/test-_Exit.c: New file. + + New module '_Exit'. + * lib/stdlib.in.h (__attribute__): New macro. + (_Exit): New declaration. + * lib/_Exit.c: New file. + * m4/_Exit.m4: New file. + * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared. + (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT. + * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT. + * modules/_Exit: New file. + * tests/test-stdlib-c++.cc (_Exit): Check signature. + * doc/posix-functions/_Exit_C99.texi: Mention the new module. + +2010-07-12 Paul R. Eggert + + strtod: make it more-accurate typically, and don't require libm + * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed. + Include limits.h. Don't include string.h. + (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined. + (locale_isspace): New function, so that no casts are needed to + check whether *s is a space. + (ldexp): Provide an unused dummy if not available. + (scale_radix_exp, parse_number, underlying_strtod): New functions. + (strtod): Use them. This implementation prefers to use the + underlying strtod if available, falling back on our own code + only to fix known bugs. This is more likely to produce an + accurate result. Also, it avoids the use of libm functions. + * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD; + no longer needed. Invoke AC_LIBOBJ([strtod]); don't know why this + was absent, but it caused a test failure with coreutils. + (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking + with libm. + * modules/strtod (Makefile.am, Link): libm is no longer needed. + * modules/strtod-tests (Makefile.am): Likewise. + +2010-07-11 Pádraig Brady + Bruno Haible + + unistr/u8-strchr: Optimize ASCII argument case. + * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr. + +2010-07-08 Paul Eggert + + (x)memcoll: minor tweaks + * lib/memcoll.c (strcoll_loop): Prefer the style where 'const' + is after the type that it qualifies. + (memcoll0): Likewise. + * lib/memcoll.h (memcoll0): Likewise. + * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise. + * lib/xmemcoll.h (xmemcoll0): Likewise. + * lib/memcoll.c (memcoll0): Correct the comment. This function + differs from memcoll in that the NUL byte is part of the argument. + Omit the abort-checks, as performance is a real issue here. Plus, + the checks were wrong anyway (an off-by-one error). Omit local + variable 'diff', as it's a bit clearer that way. + * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's + no longer needed. + +2010-07-08 Chen Guo + + (x)memcoll: speedup when input is known to be NUL delimited + * lib/memcoll.c: Include stdlib. + (memcoll0): New function. + (strcoll_loop): New function, refactored for use in both memcoll + and memcoll0. + * lib/memcoll.h (memcoll0): Add prototype. + * lib/xmemcoll.c (xmemcoll0): New function. + (collate_error): New function, refactored for use in both xmemcoll + and xmemcoll0. + * lib/xmemcoll.h (xmemcoll0): Add prototype. + * m4/memcoll.m4: add inline invocation. + +2010-07-06 Pádraig Brady + + * build-aux/bootstrap: Remove any local translations + from the translation project synchronization directory, + so that local only translations are not distributed. + +2010-07-04 Bruno Haible + + fsusage: Clarify which code applies to which platforms. + * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which + platform. + * lib/fsusage.c (get_fs_usage): Likewise. + +2010-07-04 Bruno Haible + + havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice. + * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn. + Reported by Martin Lambers . + +2010-07-04 Jim Meyering + + hash: once again explicitly disallow insertion of NULL + * lib/hash.c (hash_insert0): Reinstate just-removed test: + inserting a NULL pointer cannot work with these functions. + Add a comment with details. + This reverts part of the 2010-07-01 commit, 5bef1a35 + "hash: extend module to deal with non-pointer keys". + +2010-07-01 Bruno Haible + + stdbool: Update doc. + * doc/posix-headers/stdbool.texi: Mention OpenBSD bug. + Info from Christian Weisgerber . + +2010-07-01 Jim Meyering + + hash: extend module to deal with non-pointer keys + * lib/hash.c (hash_insert0): New interface, much like hash_insert + but that allows insertion of non-pointer entries. + Do not disallow an ENTRY value of NULL. + (hash_insert): This is now just a thin wrapper. Call hash_insert0. + * lib/hash.h (hash_insert0): Declare. + +2010-07-01 Christian Weisgerber (tiny change) + + gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS. + * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is + not present (i.e. with autoconf 2.59 and when using gettextize, not + gnulib), require AC_GNU_SOURCE instead. + +2010-07-01 Ian Beckwith + + idpriv-drop: Fix tests. + * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program, + not to the test-idpriv-droptemp program. + +2010-06-29 Bruno Haible + + string: Fix syntax error with g++ 2.96. + * lib/string.in.h (__pure__): Remove definition. + (_GL_ATTRIBUTE_PURE): New macro. + (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk, + strstr, strcasestr): Use it instead of __attribute__ ((__pure__)). + Reported by Christian Weisgerber . + +2010-06-28 Ian Beckwith + + unitypes: Fix bug introduced on 2010-05-18. + * modules/unitypes (Files): Really add m4/libunistring-base.m4. + +2010-06-22 Eric Blake + + memmem: slight optimization + * lib/str-two-way.h (critical_factorization): Update comments. + Reduce work during factorization phase. + Reported by Carlos Bueno . + +2010-06-21 Bruno Haible + + Fix HAVE_CALLOC_POSIX misnomer. + * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of + !HAVE_CALLOC_POSIX. + * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of + HAVE_CALLOC_POSIX. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC + instead of HAVE_CALLOC_POSIX. + * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of + HAVE_CALLOC_POSIX. + + Use modern idiom for calloc() replacement. + * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of + AC_FUNC_CALLOC. + * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC. + Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC. + (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize + HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC. + (gl_REPLACE_CALLOC): New macro. -2010-12-02 Lorenzo Dalrio +2010-06-21 Bruno Haible - Add access.aug and associated test file + Fix HAVE_REALLOC_POSIX misnomer. + * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of + !HAVE_REALLOC_POSIX. + * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of + HAVE_REALLOC_POSIX. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC + instead of HAVE_REALLOC_POSIX. + * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of + HAVE_REALLOC_POSIX. -2010-12-02 Raphaël Pinson + Use modern idiom for realloc() replacement. + * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of + AC_FUNC_REALLOC. + * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from + Autoconf's AC_FUNC_REALLOC. + (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize + HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC. + (gl_REPLACE_REALLOC): New macro. + Reported by Richard Lloyd . - Fix GPL into LGPLv2+ for a series of lenses. +2010-06-21 Bruno Haible + + Fix HAVE_MALLOC_POSIX misnomer. + * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of + !HAVE_MALLOC_POSIX. + * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of + HAVE_MALLOC_POSIX. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC + instead of HAVE_MALLOC_POSIX. + * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of + HAVE_MALLOC_POSIX. + + Use modern idiom for malloc() replacement. + * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of + AC_FUNC_MALLOC. + * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from + Autoconf's AC_FUNC_MALLOC. + (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize + HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC. + (gl_REPLACE_MALLOC): New macro. + Reported by Richard Lloyd . + +2010-06-20 Richard Lloyd + + stdio.in.h: fix compilation failure when using HP-UX 11's C compiler + * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument. + This macro takes 3 arguments, not 4. + +2010-06-15 Giuseppe Scrivano + + ipv6: fix detection under mingw + * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include for struct + in6_addr. + +2010-06-14 Ben Pfaff + + * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code. Assume + that strtod() works when cross-compiling to a glibc version known + to work. + +2010-06-15 Bruno Haible + + * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD. + +2010-06-15 René Berber (tiny change) + + select: Correct timeout. + * lib/select.c (rpl_select): Compute wait_timeout correctly. + +2010-06-14 Thien-Thi Nguyen (tiny change) + + git-version-gen: init shell var to avoid env var influence + * build-aux/git-version-gen (v): Init shell var to empty. + +2010-06-14 Paul Eggert + + priv-set: Don't assume that priv.h exists merely because getppriv does. + See Jan Andersen's bug report about AIX 5L in + http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html + * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h. + * lib/priv-set.c: Do nothing unless HAVE_PRIV_H. + * lib/priv-set.h: Likewise. + * tests/test-priv-set.c: Likewise. + +2010-06-13 Bruno Haible + + relocatable: Make it easier to test whether to install wrappers. + * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional + RELOCATABLE_VIA_WRAPPER. + +2010-06-13 Bruno Haible + + gnulib-tool: Display specified modules and dependencies differently. + * gnulib-tool (func_show_module_list): New function. + (func_import, func_create_testdir): Invoke it. + Reported by Thien-Thi Nguyen . -2010-11-24 Francis Giraldeau +2010-06-13 Bruno Haible + + gnulib-tool: Align code of func_import and func_create_testdir. + * gnulib-tool (func_create_testdir): Rename variable saved_modules to + specified_modules. + +2010-06-12 Jim Meyering - Ignore eclipse project files + test-inttostr: avoid spurious failure on Solaris 9 + * tests/test-inttostr.c (main): Skip the test when snprintf fails + to accept "%ju". Reported by Bruno Haible. -2010-11-22 Raphael Pinson +2010-06-11 Jim Meyering + + test-sys_socket: mark variables as used more readably + * tests/test-sys_socket.c (main): Mark otherwise unused variables + as "used" explicitly via (void) statement casts. This is more + readable than using them in an artificial return expression. + Suggestion from Bruno Haible. + +2010-06-11 Bruno Haible + + Avoid some more warnings from "gcc -Wwrite-strings". + * tests/test-argp.c (test_optional): Change 5th and 6th argument type + to 'const char *'. + * tests/test-c-strstr.c (main): Add 'const' to variable declaration. + * tests/test-c-strcasestr.c (main): Likewise. + * tests/test-mbscasestr1.c (main): Likewise. + * tests/test-mbscasestr2.c (main): Likewise. + * tests/test-memmem.c (main): Likewise. + * tests/test-strstr.c (main): Likewise. + * tests/test-strcasestr.c (main): Likewise. + +2010-06-11 Ralf Wildenhues - Add support for "map" entries in grub.aug and adapt test accordingly (Fix ticket #148) + init.sh: change framework_failure_ to fail with status 99, not 1 + * tests/init.sh (framework_failure_): Exit 99, not 1. This informs + automake's parallel-tests rule that this is an unexpected failure, + even if the test is listed in XFAIL_TESTS. -2010-11-19 David Lutterkort +2010-06-11 Jim Meyering - Version 0.7.4 + test-inttostr: avoid warnings about 4-6KB literal strings + * tests/test-inttostr.c: Don't use . Instead, ... + Include "macros.h", for its definition of ASSERT. + (CK): s/assert/ASSERT/ + * modules/inttostr-tests (Files): Add macros.h. -2010-11-19 Raphaël Pinson + init.sh: don't use $ME_ or skip_ before they are defined + * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede + their first uses. Also hoist their companions: warn_, fail_, + framework_failure_, $stderr_fileno. Prompted by a patch from + Stefano Lattarini. + + test-sys_socket: avoid set-but-not-used warnings from gcc + * tests/test-sys_socket.c (main): Use "i" and "x", in order to + avoid warning about set-but-not-used variables. + + test-xvasprintf: avoid 'const' discard warnings + * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use + "const" when assigning from literal strings. + (test_xasprintf): Add "void" in function argument list to placate + -Wstrict-prototypes and to be consistent with test_xvasprintf above. + + tests: avoid compilation warnings in argmatch and exclude tests... + in packages that define ARGMATCH_DIE_DECL, like coreutils. + * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function. + Since it always exits, declare with the "noreturn" attribute. + * tests/test-argmatch.c: Likewise. + + tests: avoid 'const' discard warnings in mbsstr tests + * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning. + * tests/test-mbsstr2.c (main): Likewise. + + test-verify: avoid warning from gcc's -Wmissing-declarations + * tests/test-verify.c (function): Declare to be static. + + test-inttostr.c: include for use of strcmp + * tests/test-inttostr.c: Include for strcmp declaration. + + test-linkat: avoid failed assertion on "other" architectures + * tests/test-linkat.c: Include , for declarations of stat, + lstat, mkdir. Patch by John Rigby, to fix FTBFS on armel, powerpc, + sparc: https://bugs.launchpad.net/bugs/591968 + +2010-06-11 Jim Meyering + + printf.m4: avoid autoconf's "Expanded Before Required" warning + * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE, + rather than AC_DEFUN, to avoid the classic "Expanded Before Required" + autoconf warning. + +2010-06-10 Ben Pfaff + + Replacement header templates are now named with ".in", not "_". + * doc/gnulib-intro.texi: Correct. + +2010-06-10 Jim Meyering + + inttostr-tests: depend on snprintf, not snprintf-posix + * modules/inttostr-tests (Depends-on): Depend on snprintf, not + snprintf-posix, to avoid this aclocal failure: + missing file gnulib-tests/vasnprintf.c + configure.ac:45: error: expected source file, required through \ + AC_LIBSOURCES, not found + +2010-06-10 Jim Meyering + + inttostr: add a new function, inttostr, and tests + The namesake function was not available. The existence of the + template file, inttostr.c makes its addition nontrivial. + * lib/anytostr.c: Rename from inttostr.c. + (anytostr): Rename from inttostr. + * lib/inttostr.c: New file. + * modules/inttostr (Files): Add anytostr.c. + (Makefile.am): Set lib_SOURCES instead of ... + * m4/inttostr.m4: Remove uses of AC_LIBOBJ. + * lib/imaxtostr.c: Update use. s/inttostr/anytostr/ + * lib/offtostr.c: Likewise. + * lib/uinttostr.c: Likewise. + * lib/umaxtostr.c: Likewise. + * modules/inttostr-tests: New file. + * tests/test-inttostr.c: New file. Test these functions. + +2010-06-09 Ben Pfaff + Bruno Haible + + Add "Extending Gnulib" chapter to manual. + * doc/gnulib.texi (Writing Modules): Add cross-reference to new + chapter. + (Extending Gnulib): New chapter. + * doc/gnulib-intro.texi (Openness): Add cross-reference to new + chapter. + +2010-06-09 Bruno Haible + + Avoid relocwrapper link errors due to gnulib replacement functions. + * lib/areadlink.c: Use the system's malloc, realloc functions. + (areadlink): Set errno to ENOMEM explicitly. + * modules/areadlink (Depends-on): Remove malloc-posix. + Reported by Ben Pfaff . + +2010-06-09 Bruno Haible + + Avoid relocwrapper link errors due to gnulib replacement functions. + * lib/canonicalize-lgpl.c: Use the system's malloc function. + * lib/malloca.c: Likewise. + * lib/relocatable.c: Likewise. + * lib/progreloc.c: Use the system's malloc, sprintf functions. + * lib/relocwrapper.c: Use the system's fprintf, malloc functions. + * lib/setenv.c: Use the system's malloc, realloc functions. + * lib/strerror.c: Use the system's sprintf function. + Reported by Ben Pfaff . + +2010-06-04 Bruno Haible + + Prefer documented low-level autoconf macro names. + * m4/lib-link.m4: Use m4_translit instead of translit. + * m4/environ.m4: Likewise. + * m4/mathfunc.m4: Likewise. + * m4/onceonly.m4: Likewise. + * m4/stdint.m4: Likewise. + Suggested by Eric Blake. + +2010-06-04 Martin Lambers + Bruno Haible + + havelib: Allow library names with '+' characters. + * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS, + AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'. + +2010-06-09 Bruno Haible + + Module setenv does not depend on 'malloc-posix', 'realloc-posix'. + * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or + realloc failed. + +2010-06-08 Peter Simons + + maint.mk: make the news-check rule more configurable + * top/maint.mk (news-check-lines-spec): New variable. + (news-check): Use "sed -n 1,10p" in place of "head". + +2010-06-07 Jim Meyering + + do-release-commit-and-tag: fix typo in --help + * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help. + + regex: avoid new dead-code warning with gcc-4.6.0 + * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead + if-block containing a while-loop. It's been unused for at least + 5 years. + +2010-06-05 Bruno Haible + + * doc/posix-functions/strcoll.texi: Mention Solaris limitation. + Reported by River Tarnell via Eric Blake. + +2010-06-04 Bruno Haible + + Update to GNU gettext 0.18.1. + * modules/gettext (configure.ac): Require gettext infrastructure from + version 0.18.1. + +2010-06-03 Bruno Haible + + Don't use AC_LIBOBJ with file names in subdirectories. + * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from + gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file + name. Define an automake conditional. Don't invoke AC_LIBOBJ. + * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation. + * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of + gl_LIBUNISTRING_LIBSOURCE. + (Makefile.am): Augment lib_SOURCES here, conditionally. + * NEWS: Drop requirement for Automake option 'subdir-objects'. + +2010-06-03 Bruno Haible + + Simplify gl_LIBUNISTRING_VERSION_CMP expansion. + * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure + expansion does not end with a newline. + (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid + unnecessary newline. + +2010-06-03 Bruno Haible + + Reduce dependencies. + * tests/test-quotearg.h: New file, extracted from + tests/test-quotearg.c. + * tests/test-quotearg-simple.c: New file, extracted from + tests/test-quotearg.c. + * tests/test-quotearg.c: Don't include . + (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC, + RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg, + use_quote_double_quotes, use_quotearg_colon): Moved to + tests/test-quotearg.h. + (results_g, flag_results, custom_quotes, custom_results): Moved + to tests/test-quotearg-simple.c. + (main): Moved the part that does not depend on gettext to + tests/test-quotearg-simple.c. Return 77 if the test cannot be + performed. + * modules/quotearg-simple: New file. + * modules/quotearg-simple-tests: New file. + * modules/quotearg (Depends-on): Add quotearg-simple. + * modules/quotearg-tests (Status): Mark as gettext-dependent-test. + (Files): Add tests/test-quotearg.h. + Reported by Paolo Bonzini. + +2010-06-03 Bruno Haible + + Reduce dependencies. + * modules/acl (Depends-on): Add gettext-h. Remove gettext. + +2010-06-03 Bruno Haible + + time: Undefine more broken macros. + * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only + for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r. + Reported by Eric Blake. + +2010-06-03 Bruno Haible + + Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands. + * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro. + (AM_ICONV): Define it through gl_iconv_AC_DEFUN. + * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro. + (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN. + Reported by Ludovic Courtès . + +2010-06-02 Eric Blake - * lenses/util.aug: improve management of eol comments - - add comment_generic - - use comment_generic in comment - - add comment_eol - - add comment_or_eol + time: work with mingw + pthreads-win32 library + * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable + if timespec is defined only in pthread.h. + * modules/time (Makefile.am): Substitute it. + * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include + , when needed. + (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros + from the library. + +2010-05-31 Bruno Haible + + Avoid expanding two macros in the wrong order. + * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require + gl_LIBUNISTRING if it is defined. + * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for + autoconf >= 2.64. + Reported by Ludovic Courtès . + +2010-05-27 Jim Meyering + + maint.mk: also prohibit "#undef" of always-defined symbols + * top/maint.mk (def_sym_regex): Handle #undef as well as #define. + Allow more than one space before the symbol name. + (sc_prohibit_always-defined_macros): Use grep's -E, now that + the regexp uses alternation. + +2010-05-26 Eric Blake + + maint.mk: avoid echo -e + * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit): + Convert all uses of echo -* to printf. + Reported by Matthias Bolte. + +2010-05-25 Bruno Haible + + Update to GNU gettext 0.18, part 2. + * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18. + Reported by Martin von Gagern . + +2010-05-25 Ralf Wildenhues + + Add missing include in test-pwrite.c. + * tests/test-pwrite.c: Include string.h, for strcmp. - Use comment_eol and comment_or_eol in some lenses to fix default eol - comment entries. Adapt tests for shellvars and services to take this new - behaviour in consideration. +2010-05-24 Bruno Haible + + * NEWS: Mention requirement for Automake option 'subdir-objects'. + +2010-05-24 Bruno Haible + + Don't use conversion with transliteration in u{8,16,32}_strcoll. + * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with + iconveh_error argument. + * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of + U_STRCONV_TO_LOCALE. + * lib/unistr/u16-strcoll.c: Likewise. + * lib/unistr/u32-strcoll.c: Likewise. + * modules/unistr/u8-strcoll (Depends-on): Add + uniconv/u8-strconv-to-enc, localcharset. Remove + uniconv/u8-strconv-to-locale. + (configure.ac): Bump version number. + * modules/unistr/u16-strcoll (Depends-on): Add + uniconv/u16-strconv-to-enc, localcharset. Remove + uniconv/u16-strconv-to-locale. + (configure.ac): Bump version number. + * modules/unistr/u32-strcoll (Depends-on): Add + uniconv/u32-strconv-to-enc, localcharset. Remove + uniconv/u32-strconv-to-locale. + (configure.ac): Bump version number. + +2010-05-24 Bruno Haible + + Avoid a test failure on NetBSD 5.0. + * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers + an iconv() bug. + +2010-05-24 Bruno Haible + + Adjust #include directive style. + * modules/regex (Includes): Recommend to write . + +2010-05-24 Bruno Haible + + regex: Don't require alloca. + * modules/regex (Depends-on): Remove alloca. Add alloca-opt. + * lib/regex_internal.h (alloca): Ensure it's defined even if we call it + only inside if (0). + +2010-05-23 Jim Meyering + + test-renameat.c: include + * tests/test-renameat.c: Include ; required for + definition of S_IS* macros. + +2010-05-23 Ben Pfaff + + Update maintainer documentation for 'relocatable-prog' module. + * doc/relocatable-maint.texi: Update. + Comments by Bruno Haible. + +2010-05-23 Bruno Haible + + git-merge-changelog: Enable --split-merged-entry by default. + * lib/git-merge-changelog.c (main): Set split_merged_entry to true. + (usage): Don't mention this option any more. + Reported by Ralf Wildenhues. + +2010-05-23 Jim Meyering + + test-pwrite: do not leave behind a test file named "out" + Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7. + The trivial-looking use of init.sh is really necessary. + It ensures that the temporary file, "out", is created in + a temporary directory, and removed upon termination. + * tests/test-pwrite.sh: Re-add file. + * modules/pwrite-tests: Reference it. + +2010-05-23 Ralf Wildenhues + + Fix output redirection buglet in init.sh. + * tests/init.sh: Fix redirection of stderr. + +2010-05-20 Simon Josefsson + + * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS. + +2010-05-17 Simon Josefsson + + * modules/valgrind-tests: New file. + * m4/valgrind-tests.m4: New file. + * doc/valgrind-tests.texi: New file. + * doc/gnulib.texi (Running self-tests under valgrind): New + section. + +2010-05-19 Bruno Haible + + Clean up dead code in recent commit. + * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the + body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback. + (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro. + Suggested by Paolo Bonzini. + +2010-05-19 Bruno Haible + + Avoid valgrind error reports from libunistring. + * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind. + * modules/libunistring (Files): Add it. + * modules/libunistring-optional (Files): Likewise. + +2010-05-18 Paolo Bonzini + Bruno Haible + + New module 'libunistring-optional'. + * modules/libunistring-optional: New file. + * m4/libunistring-base.m4: New file. + * m4/libunistring-optional.m4: New file. + * lib/unicase.in.h: Renamed from lib/unicase.h. + * lib/uniconv.in.h: Renamed from lib/uniconv.h. + * lib/unictype.in.h: Renamed from lib/unictype.h. + * lib/unilbrk.in.h: Renamed from lib/unilbrk.h. + * lib/uniname.in.h: Renamed from lib/uniname.h. + * lib/uninorm.in.h: Renamed from lib/uninorm.h. + * lib/unistdio.in.h: Renamed from lib/unistdio.h. + * lib/unistr.in.h: Renamed from lib/unistr.h. + * lib/unitypes.in.h: Renamed from lib/unitypes.h. + * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h. + * lib/uniwidth.in.h: Renamed from lib/uniwidth.h. + * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from + gl_LIBUNISTRING. If the library was found, determine the installed + version and set LIBUNISTRING_VERSION. + (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it + sets LIBUNISTRING_VERSION. If the module libunistring-optional is used, + handle a configuration option --with-included-libunistring. + * modules/libunistring (Files): Add m4/absolute-header.m4. + * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h. + Add m4/libunistring-base.m4. + (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER. + (Makefile.am): Build unicase.h from unicase.in.h. + * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h. + Add m4/libunistring-base.m4. + (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER. + (Makefile.am): Build uniconv.h from uniconv.in.h. + * modules/unictype/base (Files): Use unictype.in.h instead of + unictype.h. Add m4/libunistring-base.m4. + (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER. + (Makefile.am): Build unictype.h from unictype.in.h. + * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h. + Add m4/libunistring-base.m4. + (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER. + (Makefile.am): Build unilbrk.h from unilbrk.in.h. + * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h. + Add m4/libunistring-base.m4. + (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER. + (Makefile.am): Build uniname.h from uniname.in.h. + * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h. + Add m4/libunistring-base.m4. + (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER. + (Makefile.am): Build uninorm.h from uninorm.in.h. + * modules/unistdio/base (Files): Use unistdio.in.h instead of + unistdio.h. Add m4/libunistring-base.m4. + (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER. + (Makefile.am): Build unistdio.h from unistdio.in.h. + * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h. + Add m4/libunistring-base.m4. + (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER. + (Makefile.am): Build unistr.h from unistr.in.h. + * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h. + Add m4/libunistring-base.m4. + (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER. + (Makefile.am): Build unitypes.h from unitypes.in.h. + * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h. + Add m4/libunistring-base.m4. + (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER. + (Makefile.am): Build uniwbrk.h from uniwbrk.in.h. + * modules/uniwidth/base (Files): Use uniwidth.in.h instead of + uniwidth.h. Add m4/libunistring-base.m4. + (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER. + (Makefile.am): Build uniwidth.h from uniwidth.in.h. + * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE + instead of augmenting lib_SOURCES. + * modules/unicase/empty-suffix-context: Likewise. + * modules/unicase/locale-language: Likewise. + * modules/unicase/tolower: Likewise. + * modules/unicase/totitle: Likewise. + * modules/unicase/toupper: Likewise. + * modules/unicase/u8-casecmp: Likewise. + * modules/unicase/u8-casecoll: Likewise. + * modules/unicase/u8-casefold: Likewise. + * modules/unicase/u8-casexfrm: Likewise. + * modules/unicase/u8-ct-casefold: Likewise. + * modules/unicase/u8-ct-tolower: Likewise. + * modules/unicase/u8-ct-totitle: Likewise. + * modules/unicase/u8-ct-toupper: Likewise. + * modules/unicase/u8-is-cased: Likewise. + * modules/unicase/u8-is-casefolded: Likewise. + * modules/unicase/u8-is-lowercase: Likewise. + * modules/unicase/u8-is-titlecase: Likewise. + * modules/unicase/u8-is-uppercase: Likewise. + * modules/unicase/u8-prefix-context: Likewise. + * modules/unicase/u8-suffix-context: Likewise. + * modules/unicase/u8-tolower: Likewise. + * modules/unicase/u8-totitle: Likewise. + * modules/unicase/u8-toupper: Likewise. + * modules/unicase/u16-casecmp: Likewise. + * modules/unicase/u16-casecoll: Likewise. + * modules/unicase/u16-casefold: Likewise. + * modules/unicase/u16-casexfrm: Likewise. + * modules/unicase/u16-ct-casefold: Likewise. + * modules/unicase/u16-ct-tolower: Likewise. + * modules/unicase/u16-ct-totitle: Likewise. + * modules/unicase/u16-ct-toupper: Likewise. + * modules/unicase/u16-is-cased: Likewise. + * modules/unicase/u16-is-casefolded: Likewise. + * modules/unicase/u16-is-lowercase: Likewise. + * modules/unicase/u16-is-titlecase: Likewise. + * modules/unicase/u16-is-uppercase: Likewise. + * modules/unicase/u16-prefix-context: Likewise. + * modules/unicase/u16-suffix-context: Likewise. + * modules/unicase/u16-tolower: Likewise. + * modules/unicase/u16-totitle: Likewise. + * modules/unicase/u16-toupper: Likewise. + * modules/unicase/u32-casecmp: Likewise. + * modules/unicase/u32-casecoll: Likewise. + * modules/unicase/u32-casefold: Likewise. + * modules/unicase/u32-casexfrm: Likewise. + * modules/unicase/u32-ct-casefold: Likewise. + * modules/unicase/u32-ct-tolower: Likewise. + * modules/unicase/u32-ct-totitle: Likewise. + * modules/unicase/u32-ct-toupper: Likewise. + * modules/unicase/u32-is-cased: Likewise. + * modules/unicase/u32-is-casefolded: Likewise. + * modules/unicase/u32-is-lowercase: Likewise. + * modules/unicase/u32-is-titlecase: Likewise. + * modules/unicase/u32-is-uppercase: Likewise. + * modules/unicase/u32-prefix-context: Likewise. + * modules/unicase/u32-suffix-context: Likewise. + * modules/unicase/u32-tolower: Likewise. + * modules/unicase/u32-totitle: Likewise. + * modules/unicase/u32-toupper: Likewise. + * modules/unicase/ulc-casecmp: Likewise. + * modules/unicase/ulc-casecoll: Likewise. + * modules/unicase/ulc-casexfrm: Likewise. + * modules/uniconv/u8-conv-from-enc: Likewise. + * modules/uniconv/u8-conv-to-enc: Likewise. + * modules/uniconv/u8-strconv-from-enc: Likewise. + * modules/uniconv/u8-strconv-from-locale: Likewise. + * modules/uniconv/u8-strconv-to-enc: Likewise. + * modules/uniconv/u8-strconv-to-locale: Likewise. + * modules/uniconv/u16-conv-from-enc: Likewise. + * modules/uniconv/u16-conv-to-enc: Likewise. + * modules/uniconv/u16-strconv-from-enc: Likewise. + * modules/uniconv/u16-strconv-from-locale: Likewise. + * modules/uniconv/u16-strconv-to-enc: Likewise. + * modules/uniconv/u16-strconv-to-locale: Likewise. + * modules/uniconv/u32-conv-from-enc: Likewise. + * modules/uniconv/u32-conv-to-enc: Likewise. + * modules/uniconv/u32-strconv-from-enc: Likewise. + * modules/uniconv/u32-strconv-from-locale: Likewise. + * modules/uniconv/u32-strconv-to-enc: Likewise. + * modules/uniconv/u32-strconv-to-locale: Likewise. + * modules/unictype/bidicategory-byname: Likewise. + * modules/unictype/bidicategory-name: Likewise. + * modules/unictype/bidicategory-of: Likewise. + * modules/unictype/bidicategory-test: Likewise. + * modules/unictype/block-list: Likewise. + * modules/unictype/block-test: Likewise. + * modules/unictype/category-C: Likewise. + * modules/unictype/category-Cc: Likewise. + * modules/unictype/category-Cf: Likewise. + * modules/unictype/category-Cn: Likewise. + * modules/unictype/category-Co: Likewise. + * modules/unictype/category-Cs: Likewise. + * modules/unictype/category-L: Likewise. + * modules/unictype/category-Ll: Likewise. + * modules/unictype/category-Lm: Likewise. + * modules/unictype/category-Lo: Likewise. + * modules/unictype/category-Lt: Likewise. + * modules/unictype/category-Lu: Likewise. + * modules/unictype/category-M: Likewise. + * modules/unictype/category-Mc: Likewise. + * modules/unictype/category-Me: Likewise. + * modules/unictype/category-Mn: Likewise. + * modules/unictype/category-N: Likewise. + * modules/unictype/category-Nd: Likewise. + * modules/unictype/category-Nl: Likewise. + * modules/unictype/category-No: Likewise. + * modules/unictype/category-P: Likewise. + * modules/unictype/category-Pc: Likewise. + * modules/unictype/category-Pd: Likewise. + * modules/unictype/category-Pe: Likewise. + * modules/unictype/category-Pf: Likewise. + * modules/unictype/category-Pi: Likewise. + * modules/unictype/category-Po: Likewise. + * modules/unictype/category-Ps: Likewise. + * modules/unictype/category-S: Likewise. + * modules/unictype/category-Sc: Likewise. + * modules/unictype/category-Sk: Likewise. + * modules/unictype/category-Sm: Likewise. + * modules/unictype/category-So: Likewise. + * modules/unictype/category-Z: Likewise. + * modules/unictype/category-Zl: Likewise. + * modules/unictype/category-Zp: Likewise. + * modules/unictype/category-Zs: Likewise. + * modules/unictype/category-and: Likewise. + * modules/unictype/category-and-not: Likewise. + * modules/unictype/category-byname: Likewise. + * modules/unictype/category-name: Likewise. + * modules/unictype/category-none: Likewise. + * modules/unictype/category-of: Likewise. + * modules/unictype/category-or: Likewise. + * modules/unictype/category-test: Likewise. + * modules/unictype/combining-class: Likewise. + * modules/unictype/ctype-alnum: Likewise. + * modules/unictype/ctype-alpha: Likewise. + * modules/unictype/ctype-blank: Likewise. + * modules/unictype/ctype-cntrl: Likewise. + * modules/unictype/ctype-digit: Likewise. + * modules/unictype/ctype-graph: Likewise. + * modules/unictype/ctype-lower: Likewise. + * modules/unictype/ctype-print: Likewise. + * modules/unictype/ctype-punct: Likewise. + * modules/unictype/ctype-space: Likewise. + * modules/unictype/ctype-upper: Likewise. + * modules/unictype/ctype-xdigit: Likewise. + * modules/unictype/decimal-digit: Likewise. + * modules/unictype/digit: Likewise. + * modules/unictype/mirror: Likewise. + * modules/unictype/numeric: Likewise. + * modules/unictype/property-alphabetic: Likewise. + * modules/unictype/property-ascii-hex-digit: Likewise. + * modules/unictype/property-bidi-arabic-digit: Likewise. + * modules/unictype/property-bidi-arabic-right-to-left: Likewise. + * modules/unictype/property-bidi-block-separator: Likewise. + * modules/unictype/property-bidi-boundary-neutral: Likewise. + * modules/unictype/property-bidi-common-separator: Likewise. + * modules/unictype/property-bidi-control: Likewise. + * modules/unictype/property-bidi-embedding-or-override: Likewise. + * modules/unictype/property-bidi-eur-num-separator: Likewise. + * modules/unictype/property-bidi-eur-num-terminator: Likewise. + * modules/unictype/property-bidi-european-digit: Likewise. + * modules/unictype/property-bidi-hebrew-right-to-left: Likewise. + * modules/unictype/property-bidi-left-to-right: Likewise. + * modules/unictype/property-bidi-non-spacing-mark: Likewise. + * modules/unictype/property-bidi-other-neutral: Likewise. + * modules/unictype/property-bidi-pdf: Likewise. + * modules/unictype/property-bidi-segment-separator: Likewise. + * modules/unictype/property-bidi-whitespace: Likewise. + * modules/unictype/property-byname: Likewise. + * modules/unictype/property-combining: Likewise. + * modules/unictype/property-composite: Likewise. + * modules/unictype/property-currency-symbol: Likewise. + * modules/unictype/property-dash: Likewise. + * modules/unictype/property-decimal-digit: Likewise. + * modules/unictype/property-default-ignorable-code-point: Likewise. + * modules/unictype/property-deprecated: Likewise. + * modules/unictype/property-diacritic: Likewise. + * modules/unictype/property-extender: Likewise. + * modules/unictype/property-format-control: Likewise. + * modules/unictype/property-grapheme-base: Likewise. + * modules/unictype/property-grapheme-extend: Likewise. + * modules/unictype/property-grapheme-link: Likewise. + * modules/unictype/property-hex-digit: Likewise. + * modules/unictype/property-hyphen: Likewise. + * modules/unictype/property-id-continue: Likewise. + * modules/unictype/property-id-start: Likewise. + * modules/unictype/property-ideographic: Likewise. + * modules/unictype/property-ids-binary-operator: Likewise. + * modules/unictype/property-ids-trinary-operator: Likewise. + * modules/unictype/property-ignorable-control: Likewise. + * modules/unictype/property-iso-control: Likewise. + * modules/unictype/property-join-control: Likewise. + * modules/unictype/property-left-of-pair: Likewise. + * modules/unictype/property-line-separator: Likewise. + * modules/unictype/property-logical-order-exception: Likewise. + * modules/unictype/property-lowercase: Likewise. + * modules/unictype/property-math: Likewise. + * modules/unictype/property-non-break: Likewise. + * modules/unictype/property-not-a-character: Likewise. + * modules/unictype/property-numeric: Likewise. + * modules/unictype/property-other-alphabetic: Likewise. + * modules/unictype/property-other-default-ignorable-code-point: Likewise. + * modules/unictype/property-other-grapheme-extend: Likewise. + * modules/unictype/property-other-id-continue: Likewise. + * modules/unictype/property-other-id-start: Likewise. + * modules/unictype/property-other-lowercase: Likewise. + * modules/unictype/property-other-math: Likewise. + * modules/unictype/property-other-uppercase: Likewise. + * modules/unictype/property-paired-punctuation: Likewise. + * modules/unictype/property-paragraph-separator: Likewise. + * modules/unictype/property-pattern-syntax: Likewise. + * modules/unictype/property-pattern-white-space: Likewise. + * modules/unictype/property-private-use: Likewise. + * modules/unictype/property-punctuation: Likewise. + * modules/unictype/property-quotation-mark: Likewise. + * modules/unictype/property-radical: Likewise. + * modules/unictype/property-sentence-terminal: Likewise. + * modules/unictype/property-soft-dotted: Likewise. + * modules/unictype/property-space: Likewise. + * modules/unictype/property-terminal-punctuation: Likewise. + * modules/unictype/property-test: Likewise. + * modules/unictype/property-titlecase: Likewise. + * modules/unictype/property-unassigned-code-value: Likewise. + * modules/unictype/property-unified-ideograph: Likewise. + * modules/unictype/property-uppercase: Likewise. + * modules/unictype/property-variation-selector: Likewise. + * modules/unictype/property-white-space: Likewise. + * modules/unictype/property-xid-continue: Likewise. + * modules/unictype/property-xid-start: Likewise. + * modules/unictype/property-zero-width: Likewise. + * modules/unictype/scripts: Likewise. + * modules/unictype/syntax-c-ident: Likewise. + * modules/unictype/syntax-c-whitespace: Likewise. + * modules/unictype/syntax-java-ident: Likewise. + * modules/unictype/syntax-java-whitespace: Likewise. + * modules/unilbrk/u8-possible-linebreaks: Likewise. + * modules/unilbrk/u8-width-linebreaks: Likewise. + * modules/unilbrk/u16-possible-linebreaks: Likewise. + * modules/unilbrk/u16-width-linebreaks: Likewise. + * modules/unilbrk/u32-possible-linebreaks: Likewise. + * modules/unilbrk/u32-width-linebreaks: Likewise. + * modules/unilbrk/ulc-possible-linebreaks: Likewise. + * modules/unilbrk/ulc-width-linebreaks: Likewise. + * modules/uniname/uniname: Likewise. + * modules/uninorm/canonical-decomposition: Likewise. + * modules/uninorm/composition: Likewise. + * modules/uninorm/decomposing-form: Likewise. + * modules/uninorm/decomposition: Likewise. + * modules/uninorm/filter: Likewise. + * modules/uninorm/nfc: Likewise. + * modules/uninorm/nfd: Likewise. + * modules/uninorm/nfkc: Likewise. + * modules/uninorm/nfkd: Likewise. + * modules/uninorm/u8-normalize: Likewise. + * modules/uninorm/u8-normcmp: Likewise. + * modules/uninorm/u8-normcoll: Likewise. + * modules/uninorm/u8-normxfrm: Likewise. + * modules/uninorm/u16-normalize: Likewise. + * modules/uninorm/u16-normcmp: Likewise. + * modules/uninorm/u16-normcoll: Likewise. + * modules/uninorm/u16-normxfrm: Likewise. + * modules/uninorm/u32-normalize: Likewise. + * modules/uninorm/u32-normcmp: Likewise. + * modules/uninorm/u32-normcoll: Likewise. + * modules/uninorm/u32-normxfrm: Likewise. + * modules/unistdio/u8-asnprintf: Likewise. + * modules/unistdio/u8-asprintf: Likewise. + * modules/unistdio/u8-snprintf: Likewise. + * modules/unistdio/u8-sprintf: Likewise. + * modules/unistdio/u8-u8-asnprintf: Likewise. + * modules/unistdio/u8-u8-asprintf: Likewise. + * modules/unistdio/u8-u8-snprintf: Likewise. + * modules/unistdio/u8-u8-sprintf: Likewise. + * modules/unistdio/u8-u8-vasnprintf: Likewise. + * modules/unistdio/u8-u8-vasprintf: Likewise. + * modules/unistdio/u8-u8-vsnprintf: Likewise. + * modules/unistdio/u8-u8-vsprintf: Likewise. + * modules/unistdio/u8-vasnprintf: Likewise. + * modules/unistdio/u8-vasprintf: Likewise. + * modules/unistdio/u8-vsnprintf: Likewise. + * modules/unistdio/u8-vsprintf: Likewise. + * modules/unistdio/u16-asnprintf: Likewise. + * modules/unistdio/u16-asprintf: Likewise. + * modules/unistdio/u16-snprintf: Likewise. + * modules/unistdio/u16-sprintf: Likewise. + * modules/unistdio/u16-u16-asnprintf: Likewise. + * modules/unistdio/u16-u16-asprintf: Likewise. + * modules/unistdio/u16-u16-snprintf: Likewise. + * modules/unistdio/u16-u16-sprintf: Likewise. + * modules/unistdio/u16-u16-vasnprintf: Likewise. + * modules/unistdio/u16-u16-vasprintf: Likewise. + * modules/unistdio/u16-u16-vsnprintf: Likewise. + * modules/unistdio/u16-u16-vsprintf: Likewise. + * modules/unistdio/u16-vasnprintf: Likewise. + * modules/unistdio/u16-vasprintf: Likewise. + * modules/unistdio/u16-vsnprintf: Likewise. + * modules/unistdio/u16-vsprintf: Likewise. + * modules/unistdio/u32-asnprintf: Likewise. + * modules/unistdio/u32-asprintf: Likewise. + * modules/unistdio/u32-snprintf: Likewise. + * modules/unistdio/u32-sprintf: Likewise. + * modules/unistdio/u32-u32-asnprintf: Likewise. + * modules/unistdio/u32-u32-asprintf: Likewise. + * modules/unistdio/u32-u32-snprintf: Likewise. + * modules/unistdio/u32-u32-sprintf: Likewise. + * modules/unistdio/u32-u32-vasnprintf: Likewise. + * modules/unistdio/u32-u32-vasprintf: Likewise. + * modules/unistdio/u32-u32-vsnprintf: Likewise. + * modules/unistdio/u32-u32-vsprintf: Likewise. + * modules/unistdio/u32-vasnprintf: Likewise. + * modules/unistdio/u32-vasprintf: Likewise. + * modules/unistdio/u32-vsnprintf: Likewise. + * modules/unistdio/u32-vsprintf: Likewise. + * modules/unistdio/ulc-asnprintf: Likewise. + * modules/unistdio/ulc-asprintf: Likewise. + * modules/unistdio/ulc-fprintf: Likewise. + * modules/unistdio/ulc-snprintf: Likewise. + * modules/unistdio/ulc-sprintf: Likewise. + * modules/unistdio/ulc-vasnprintf: Likewise. + * modules/unistdio/ulc-vasprintf: Likewise. + * modules/unistdio/ulc-vfprintf: Likewise. + * modules/unistdio/ulc-vsnprintf: Likewise. + * modules/unistdio/ulc-vsprintf: Likewise. + * modules/unistr/u8-check: Likewise. + * modules/unistr/u8-chr: Likewise. + * modules/unistr/u8-cmp: Likewise. + * modules/unistr/u8-cmp2: Likewise. + * modules/unistr/u8-cpy: Likewise. + * modules/unistr/u8-cpy-alloc: Likewise. + * modules/unistr/u8-endswith: Likewise. + * modules/unistr/u8-mblen: Likewise. + * modules/unistr/u8-mbsnlen: Likewise. + * modules/unistr/u8-mbtouc: Likewise. + * modules/unistr/u8-mbtouc-unsafe: Likewise. + * modules/unistr/u8-mbtoucr: Likewise. + * modules/unistr/u8-move: Likewise. + * modules/unistr/u8-next: Likewise. + * modules/unistr/u8-prev: Likewise. + * modules/unistr/u8-set: Likewise. + * modules/unistr/u8-startswith: Likewise. + * modules/unistr/u8-stpcpy: Likewise. + * modules/unistr/u8-stpncpy: Likewise. + * modules/unistr/u8-strcat: Likewise. + * modules/unistr/u8-strchr: Likewise. + * modules/unistr/u8-strcmp: Likewise. + * modules/unistr/u8-strcoll: Likewise. + * modules/unistr/u8-strcpy: Likewise. + * modules/unistr/u8-strcspn: Likewise. + * modules/unistr/u8-strdup: Likewise. + * modules/unistr/u8-strlen: Likewise. + * modules/unistr/u8-strmblen: Likewise. + * modules/unistr/u8-strmbtouc: Likewise. + * modules/unistr/u8-strncat: Likewise. + * modules/unistr/u8-strncmp: Likewise. + * modules/unistr/u8-strncpy: Likewise. + * modules/unistr/u8-strnlen: Likewise. + * modules/unistr/u8-strpbrk: Likewise. + * modules/unistr/u8-strrchr: Likewise. + * modules/unistr/u8-strspn: Likewise. + * modules/unistr/u8-strstr: Likewise. + * modules/unistr/u8-strtok: Likewise. + * modules/unistr/u8-to-u16: Likewise. + * modules/unistr/u8-to-u32: Likewise. + * modules/unistr/u8-uctomb: Likewise. + * modules/unistr/u16-check: Likewise. + * modules/unistr/u16-chr: Likewise. + * modules/unistr/u16-cmp: Likewise. + * modules/unistr/u16-cmp2: Likewise. + * modules/unistr/u16-cpy: Likewise. + * modules/unistr/u16-cpy-alloc: Likewise. + * modules/unistr/u16-endswith: Likewise. + * modules/unistr/u16-mblen: Likewise. + * modules/unistr/u16-mbsnlen: Likewise. + * modules/unistr/u16-mbtouc: Likewise. + * modules/unistr/u16-mbtouc-unsafe: Likewise. + * modules/unistr/u16-mbtoucr: Likewise. + * modules/unistr/u16-move: Likewise. + * modules/unistr/u16-next: Likewise. + * modules/unistr/u16-prev: Likewise. + * modules/unistr/u16-set: Likewise. + * modules/unistr/u16-startswith: Likewise. + * modules/unistr/u16-stpcpy: Likewise. + * modules/unistr/u16-stpncpy: Likewise. + * modules/unistr/u16-strcat: Likewise. + * modules/unistr/u16-strchr: Likewise. + * modules/unistr/u16-strcmp: Likewise. + * modules/unistr/u16-strcoll: Likewise. + * modules/unistr/u16-strcpy: Likewise. + * modules/unistr/u16-strcspn: Likewise. + * modules/unistr/u16-strdup: Likewise. + * modules/unistr/u16-strlen: Likewise. + * modules/unistr/u16-strmblen: Likewise. + * modules/unistr/u16-strmbtouc: Likewise. + * modules/unistr/u16-strncat: Likewise. + * modules/unistr/u16-strncmp: Likewise. + * modules/unistr/u16-strncpy: Likewise. + * modules/unistr/u16-strnlen: Likewise. + * modules/unistr/u16-strpbrk: Likewise. + * modules/unistr/u16-strrchr: Likewise. + * modules/unistr/u16-strspn: Likewise. + * modules/unistr/u16-strstr: Likewise. + * modules/unistr/u16-strtok: Likewise. + * modules/unistr/u16-to-u32: Likewise. + * modules/unistr/u16-to-u8: Likewise. + * modules/unistr/u16-uctomb: Likewise. + * modules/unistr/u32-check: Likewise. + * modules/unistr/u32-chr: Likewise. + * modules/unistr/u32-cmp: Likewise. + * modules/unistr/u32-cmp2: Likewise. + * modules/unistr/u32-cpy: Likewise. + * modules/unistr/u32-cpy-alloc: Likewise. + * modules/unistr/u32-endswith: Likewise. + * modules/unistr/u32-mblen: Likewise. + * modules/unistr/u32-mbsnlen: Likewise. + * modules/unistr/u32-mbtouc: Likewise. + * modules/unistr/u32-mbtouc-unsafe: Likewise. + * modules/unistr/u32-mbtoucr: Likewise. + * modules/unistr/u32-move: Likewise. + * modules/unistr/u32-next: Likewise. + * modules/unistr/u32-prev: Likewise. + * modules/unistr/u32-set: Likewise. + * modules/unistr/u32-startswith: Likewise. + * modules/unistr/u32-stpcpy: Likewise. + * modules/unistr/u32-stpncpy: Likewise. + * modules/unistr/u32-strcat: Likewise. + * modules/unistr/u32-strchr: Likewise. + * modules/unistr/u32-strcmp: Likewise. + * modules/unistr/u32-strcoll: Likewise. + * modules/unistr/u32-strcpy: Likewise. + * modules/unistr/u32-strcspn: Likewise. + * modules/unistr/u32-strdup: Likewise. + * modules/unistr/u32-strlen: Likewise. + * modules/unistr/u32-strmblen: Likewise. + * modules/unistr/u32-strmbtouc: Likewise. + * modules/unistr/u32-strncat: Likewise. + * modules/unistr/u32-strncmp: Likewise. + * modules/unistr/u32-strncpy: Likewise. + * modules/unistr/u32-strnlen: Likewise. + * modules/unistr/u32-strpbrk: Likewise. + * modules/unistr/u32-strrchr: Likewise. + * modules/unistr/u32-strspn: Likewise. + * modules/unistr/u32-strstr: Likewise. + * modules/unistr/u32-strtok: Likewise. + * modules/unistr/u32-to-u16: Likewise. + * modules/unistr/u32-to-u8: Likewise. + * modules/unistr/u32-uctomb: Likewise. + * modules/uniwbrk/u8-wordbreaks: Likewise. + * modules/uniwbrk/u16-wordbreaks: Likewise. + * modules/uniwbrk/u32-wordbreaks: Likewise. + * modules/uniwbrk/ulc-wordbreaks: Likewise. + * modules/uniwbrk/wordbreak-property: Likewise. + * modules/uniwidth/u8-strwidth: Likewise. + * modules/uniwidth/u8-width: Likewise. + * modules/uniwidth/u16-strwidth: Likewise. + * modules/uniwidth/u16-width: Likewise. + * modules/uniwidth/u32-strwidth: Likewise. + * modules/uniwidth/u32-width: Likewise. + * modules/uniwidth/width: Likewise. + * modules/unicase/cased-tests (Makefile.am): Link all test programs + with $(LIBUNISTRING). + * modules/unicase/ignorable-tests: Likewise. + * modules/unicase/locale-language-tests: Likewise. + * modules/unicase/tolower-tests: Likewise. + * modules/unicase/totitle-tests: Likewise. + * modules/unicase/toupper-tests: Likewise. + * modules/unicase/u8-casecmp-tests: Likewise. + * modules/unicase/u8-casecoll-tests: Likewise. + * modules/unicase/u8-casefold-tests: Likewise. + * modules/unicase/u8-is-cased-tests: Likewise. + * modules/unicase/u8-is-casefolded-tests: Likewise. + * modules/unicase/u8-is-lowercase-tests: Likewise. + * modules/unicase/u8-is-titlecase-tests: Likewise. + * modules/unicase/u8-is-uppercase-tests: Likewise. + * modules/unicase/u8-tolower-tests: Likewise. + * modules/unicase/u8-totitle-tests: Likewise. + * modules/unicase/u8-toupper-tests: Likewise. + * modules/unicase/u16-casecmp-tests: Likewise. + * modules/unicase/u16-casecoll-tests: Likewise. + * modules/unicase/u16-casefold-tests: Likewise. + * modules/unicase/u16-is-cased-tests: Likewise. + * modules/unicase/u16-is-casefolded-tests: Likewise. + * modules/unicase/u16-is-lowercase-tests: Likewise. + * modules/unicase/u16-is-titlecase-tests: Likewise. + * modules/unicase/u16-is-uppercase-tests: Likewise. + * modules/unicase/u16-tolower-tests: Likewise. + * modules/unicase/u16-totitle-tests: Likewise. + * modules/unicase/u16-toupper-tests: Likewise. + * modules/unicase/u32-casecmp-tests: Likewise. + * modules/unicase/u32-casecoll-tests: Likewise. + * modules/unicase/u32-casefold-tests: Likewise. + * modules/unicase/u32-is-cased-tests: Likewise. + * modules/unicase/u32-is-casefolded-tests: Likewise. + * modules/unicase/u32-is-lowercase-tests: Likewise. + * modules/unicase/u32-is-titlecase-tests: Likewise. + * modules/unicase/u32-is-uppercase-tests: Likewise. + * modules/unicase/u32-tolower-tests: Likewise. + * modules/unicase/u32-totitle-tests: Likewise. + * modules/unicase/u32-toupper-tests: Likewise. + * modules/unicase/ulc-casecmp-tests: Likewise. + * modules/unicase/ulc-casecoll-tests: Likewise. + * modules/uniconv/u8-conv-from-enc-tests: Likewise. + * modules/uniconv/u8-conv-to-enc-tests: Likewise. + * modules/uniconv/u8-strconv-from-enc-tests: Likewise. + * modules/uniconv/u8-strconv-to-enc-tests: Likewise. + * modules/uniconv/u16-conv-from-enc-tests: Likewise. + * modules/uniconv/u16-conv-to-enc-tests: Likewise. + * modules/uniconv/u16-strconv-from-enc-tests: Likewise. + * modules/uniconv/u16-strconv-to-enc-tests: Likewise. + * modules/uniconv/u32-conv-from-enc-tests: Likewise. + * modules/uniconv/u32-conv-to-enc-tests: Likewise. + * modules/uniconv/u32-strconv-from-enc-tests: Likewise. + * modules/uniconv/u32-strconv-to-enc-tests: Likewise. + * modules/unictype/bidicategory-byname-tests: Likewise. + * modules/unictype/bidicategory-name-tests: Likewise. + * modules/unictype/bidicategory-of-tests: Likewise. + * modules/unictype/bidicategory-test-tests: Likewise. + * modules/unictype/block-list-tests: Likewise. + * modules/unictype/block-of-tests: Likewise. + * modules/unictype/block-test-tests: Likewise. + * modules/unictype/category-C-tests: Likewise. + * modules/unictype/category-Cc-tests: Likewise. + * modules/unictype/category-Cf-tests: Likewise. + * modules/unictype/category-Cn-tests: Likewise. + * modules/unictype/category-Co-tests: Likewise. + * modules/unictype/category-Cs-tests: Likewise. + * modules/unictype/category-L-tests: Likewise. + * modules/unictype/category-Ll-tests: Likewise. + * modules/unictype/category-Lm-tests: Likewise. + * modules/unictype/category-Lo-tests: Likewise. + * modules/unictype/category-Lt-tests: Likewise. + * modules/unictype/category-Lu-tests: Likewise. + * modules/unictype/category-M-tests: Likewise. + * modules/unictype/category-Mc-tests: Likewise. + * modules/unictype/category-Me-tests: Likewise. + * modules/unictype/category-Mn-tests: Likewise. + * modules/unictype/category-N-tests: Likewise. + * modules/unictype/category-Nd-tests: Likewise. + * modules/unictype/category-Nl-tests: Likewise. + * modules/unictype/category-No-tests: Likewise. + * modules/unictype/category-P-tests: Likewise. + * modules/unictype/category-Pc-tests: Likewise. + * modules/unictype/category-Pd-tests: Likewise. + * modules/unictype/category-Pe-tests: Likewise. + * modules/unictype/category-Pf-tests: Likewise. + * modules/unictype/category-Pi-tests: Likewise. + * modules/unictype/category-Po-tests: Likewise. + * modules/unictype/category-Ps-tests: Likewise. + * modules/unictype/category-S-tests: Likewise. + * modules/unictype/category-Sc-tests: Likewise. + * modules/unictype/category-Sk-tests: Likewise. + * modules/unictype/category-Sm-tests: Likewise. + * modules/unictype/category-So-tests: Likewise. + * modules/unictype/category-Z-tests: Likewise. + * modules/unictype/category-Zl-tests: Likewise. + * modules/unictype/category-Zp-tests: Likewise. + * modules/unictype/category-Zs-tests: Likewise. + * modules/unictype/category-and-not-tests: Likewise. + * modules/unictype/category-and-tests: Likewise. + * modules/unictype/category-byname-tests: Likewise. + * modules/unictype/category-name-tests: Likewise. + * modules/unictype/category-none-tests: Likewise. + * modules/unictype/category-of-tests: Likewise. + * modules/unictype/category-or-tests: Likewise. + * modules/unictype/category-test-withtable-tests: Likewise. + * modules/unictype/combining-class-tests: Likewise. + * modules/unictype/ctype-alnum-tests: Likewise. + * modules/unictype/ctype-alpha-tests: Likewise. + * modules/unictype/ctype-blank-tests: Likewise. + * modules/unictype/ctype-cntrl-tests: Likewise. + * modules/unictype/ctype-digit-tests: Likewise. + * modules/unictype/ctype-graph-tests: Likewise. + * modules/unictype/ctype-lower-tests: Likewise. + * modules/unictype/ctype-print-tests: Likewise. + * modules/unictype/ctype-punct-tests: Likewise. + * modules/unictype/ctype-space-tests: Likewise. + * modules/unictype/ctype-upper-tests: Likewise. + * modules/unictype/ctype-xdigit-tests: Likewise. + * modules/unictype/decimal-digit-tests: Likewise. + * modules/unictype/digit-tests: Likewise. + * modules/unictype/mirror-tests: Likewise. + * modules/unictype/numeric-tests: Likewise. + * modules/unictype/property-alphabetic-tests: Likewise. + * modules/unictype/property-ascii-hex-digit-tests: Likewise. + * modules/unictype/property-bidi-arabic-digit-tests: Likewise. + * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise. + * modules/unictype/property-bidi-block-separator-tests: Likewise. + * modules/unictype/property-bidi-boundary-neutral-tests: Likewise. + * modules/unictype/property-bidi-common-separator-tests: Likewise. + * modules/unictype/property-bidi-control-tests: Likewise. + * modules/unictype/property-bidi-embedding-or-override-tests: Likewise. + * modules/unictype/property-bidi-eur-num-separator-tests: Likewise. + * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise. + * modules/unictype/property-bidi-european-digit-tests: Likewise. + * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise. + * modules/unictype/property-bidi-left-to-right-tests: Likewise. + * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise. + * modules/unictype/property-bidi-other-neutral-tests: Likewise. + * modules/unictype/property-bidi-pdf-tests: Likewise. + * modules/unictype/property-bidi-segment-separator-tests: Likewise. + * modules/unictype/property-bidi-whitespace-tests: Likewise. + * modules/unictype/property-byname-tests: Likewise. + * modules/unictype/property-combining-tests: Likewise. + * modules/unictype/property-composite-tests: Likewise. + * modules/unictype/property-currency-symbol-tests: Likewise. + * modules/unictype/property-dash-tests: Likewise. + * modules/unictype/property-decimal-digit-tests: Likewise. + * modules/unictype/property-default-ignorable-code-point-tests: Likewise. + * modules/unictype/property-deprecated-tests: Likewise. + * modules/unictype/property-diacritic-tests: Likewise. + * modules/unictype/property-extender-tests: Likewise. + * modules/unictype/property-format-control-tests: Likewise. + * modules/unictype/property-grapheme-base-tests: Likewise. + * modules/unictype/property-grapheme-extend-tests: Likewise. + * modules/unictype/property-grapheme-link-tests: Likewise. + * modules/unictype/property-hex-digit-tests: Likewise. + * modules/unictype/property-hyphen-tests: Likewise. + * modules/unictype/property-id-continue-tests: Likewise. + * modules/unictype/property-id-start-tests: Likewise. + * modules/unictype/property-ideographic-tests: Likewise. + * modules/unictype/property-ids-binary-operator-tests: Likewise. + * modules/unictype/property-ids-trinary-operator-tests: Likewise. + * modules/unictype/property-ignorable-control-tests: Likewise. + * modules/unictype/property-iso-control-tests: Likewise. + * modules/unictype/property-join-control-tests: Likewise. + * modules/unictype/property-left-of-pair-tests: Likewise. + * modules/unictype/property-line-separator-tests: Likewise. + * modules/unictype/property-logical-order-exception-tests: Likewise. + * modules/unictype/property-lowercase-tests: Likewise. + * modules/unictype/property-math-tests: Likewise. + * modules/unictype/property-non-break-tests: Likewise. + * modules/unictype/property-not-a-character-tests: Likewise. + * modules/unictype/property-numeric-tests: Likewise. + * modules/unictype/property-other-alphabetic-tests: Likewise. + * modules/unictype/property-other-default-ignorable-code-point-tests: + Likewise. + * modules/unictype/property-other-grapheme-extend-tests: Likewise. + * modules/unictype/property-other-id-continue-tests: Likewise. + * modules/unictype/property-other-id-start-tests: Likewise. + * modules/unictype/property-other-lowercase-tests: Likewise. + * modules/unictype/property-other-math-tests: Likewise. + * modules/unictype/property-other-uppercase-tests: Likewise. + * modules/unictype/property-paired-punctuation-tests: Likewise. + * modules/unictype/property-paragraph-separator-tests: Likewise. + * modules/unictype/property-pattern-syntax-tests: Likewise. + * modules/unictype/property-pattern-white-space-tests: Likewise. + * modules/unictype/property-private-use-tests: Likewise. + * modules/unictype/property-punctuation-tests: Likewise. + * modules/unictype/property-quotation-mark-tests: Likewise. + * modules/unictype/property-radical-tests: Likewise. + * modules/unictype/property-sentence-terminal-tests: Likewise. + * modules/unictype/property-soft-dotted-tests: Likewise. + * modules/unictype/property-space-tests: Likewise. + * modules/unictype/property-terminal-punctuation-tests: Likewise. + * modules/unictype/property-test-tests: Likewise. + * modules/unictype/property-titlecase-tests: Likewise. + * modules/unictype/property-unassigned-code-value-tests: Likewise. + * modules/unictype/property-unified-ideograph-tests: Likewise. + * modules/unictype/property-uppercase-tests: Likewise. + * modules/unictype/property-variation-selector-tests: Likewise. + * modules/unictype/property-white-space-tests: Likewise. + * modules/unictype/property-xid-continue-tests: Likewise. + * modules/unictype/property-xid-start-tests: Likewise. + * modules/unictype/property-zero-width-tests: Likewise. + * modules/unictype/scripts-tests: Likewise. + * modules/unictype/syntax-c-ident-tests: Likewise. + * modules/unictype/syntax-c-whitespace-tests: Likewise. + * modules/unictype/syntax-java-ident-tests: Likewise. + * modules/unictype/syntax-java-whitespace-tests: Likewise. + * modules/unilbrk/u8-possible-linebreaks-tests: Likewise. + * modules/unilbrk/u8-width-linebreaks-tests: Likewise. + * modules/unilbrk/u16-possible-linebreaks-tests: Likewise. + * modules/unilbrk/u16-width-linebreaks-tests: Likewise. + * modules/unilbrk/u32-possible-linebreaks-tests: Likewise. + * modules/unilbrk/u32-width-linebreaks-tests: Likewise. + * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise. + * modules/unilbrk/ulc-width-linebreaks-tests: Likewise. + * modules/uniname/uniname-tests: Likewise. + * modules/uninorm/canonical-decomposition-tests: Likewise. + * modules/uninorm/compat-decomposition-tests: Likewise. + * modules/uninorm/composition-tests: Likewise. + * modules/uninorm/decomposing-form-tests: Likewise. + * modules/uninorm/decomposition-tests: Likewise. + * modules/uninorm/filter-tests: Likewise. + * modules/uninorm/nfc-tests: Likewise. + * modules/uninorm/nfd-tests: Likewise. + * modules/uninorm/nfkc-tests: Likewise. + * modules/uninorm/nfkd-tests: Likewise. + * modules/uninorm/u8-normcmp-tests: Likewise. + * modules/uninorm/u8-normcoll-tests: Likewise. + * modules/uninorm/u16-normcmp-tests: Likewise. + * modules/uninorm/u16-normcoll-tests: Likewise. + * modules/uninorm/u32-normcmp-tests: Likewise. + * modules/uninorm/u32-normcoll-tests: Likewise. + * modules/unistdio/u8-asnprintf-tests: Likewise. + * modules/unistdio/u8-vasnprintf-tests: Likewise. + * modules/unistdio/u8-vasprintf-tests: Likewise. + * modules/unistdio/u8-vsnprintf-tests: Likewise. + * modules/unistdio/u8-vsprintf-tests: Likewise. + * modules/unistdio/u16-asnprintf-tests: Likewise. + * modules/unistdio/u16-vasnprintf-tests: Likewise. + * modules/unistdio/u16-vasprintf-tests: Likewise. + * modules/unistdio/u16-vsnprintf-tests: Likewise. + * modules/unistdio/u16-vsprintf-tests: Likewise. + * modules/unistdio/u32-asnprintf-tests: Likewise. + * modules/unistdio/u32-vasnprintf-tests: Likewise. + * modules/unistdio/u32-vasprintf-tests: Likewise. + * modules/unistdio/u32-vsnprintf-tests: Likewise. + * modules/unistdio/u32-vsprintf-tests: Likewise. + * modules/unistdio/ulc-asnprintf-tests: Likewise. + * modules/unistdio/ulc-vasnprintf-tests: Likewise. + * modules/unistdio/ulc-vasprintf-tests: Likewise. + * modules/unistdio/ulc-vsnprintf-tests: Likewise. + * modules/unistdio/ulc-vsprintf-tests: Likewise. + * modules/unistr/u8-check-tests: Likewise. + * modules/unistr/u8-chr-tests: Likewise. + * modules/unistr/u8-cmp-tests: Likewise. + * modules/unistr/u8-cmp2-tests: Likewise. + * modules/unistr/u8-cpy-alloc-tests: Likewise. + * modules/unistr/u8-cpy-tests: Likewise. + * modules/unistr/u8-mblen-tests: Likewise. + * modules/unistr/u8-mbsnlen-tests: Likewise. + * modules/unistr/u8-mbtouc-tests: Likewise. + * modules/unistr/u8-mbtouc-unsafe-tests: Likewise. + * modules/unistr/u8-mbtoucr-tests: Likewise. + * modules/unistr/u8-move-tests: Likewise. + * modules/unistr/u8-next-tests: Likewise. + * modules/unistr/u8-prev-tests: Likewise. + * modules/unistr/u8-set-tests: Likewise. + * modules/unistr/u8-stpcpy-tests: Likewise. + * modules/unistr/u8-stpncpy-tests: Likewise. + * modules/unistr/u8-strcat-tests: Likewise. + * modules/unistr/u8-strcmp-tests: Likewise. + * modules/unistr/u8-strcoll-tests: Likewise. + * modules/unistr/u8-strcpy-tests: Likewise. + * modules/unistr/u8-strdup-tests: Likewise. + * modules/unistr/u8-strlen-tests: Likewise. + * modules/unistr/u8-strmblen-tests: Likewise. + * modules/unistr/u8-strmbtouc-tests: Likewise. + * modules/unistr/u8-strncat-tests: Likewise. + * modules/unistr/u8-strncmp-tests: Likewise. + * modules/unistr/u8-strncpy-tests: Likewise. + * modules/unistr/u8-strnlen-tests: Likewise. + * modules/unistr/u8-to-u16-tests: Likewise. + * modules/unistr/u8-to-u32-tests: Likewise. + * modules/unistr/u8-uctomb-tests: Likewise. + * modules/unistr/u16-check-tests: Likewise. + * modules/unistr/u16-chr-tests: Likewise. + * modules/unistr/u16-cmp-tests: Likewise. + * modules/unistr/u16-cmp2-tests: Likewise. + * modules/unistr/u16-cpy-alloc-tests: Likewise. + * modules/unistr/u16-cpy-tests: Likewise. + * modules/unistr/u16-mblen-tests: Likewise. + * modules/unistr/u16-mbsnlen-tests: Likewise. + * modules/unistr/u16-mbtouc-tests: Likewise. + * modules/unistr/u16-mbtouc-unsafe-tests: Likewise. + * modules/unistr/u16-mbtoucr-tests: Likewise. + * modules/unistr/u16-move-tests: Likewise. + * modules/unistr/u16-next-tests: Likewise. + * modules/unistr/u16-prev-tests: Likewise. + * modules/unistr/u16-set-tests: Likewise. + * modules/unistr/u16-stpcpy-tests: Likewise. + * modules/unistr/u16-stpncpy-tests: Likewise. + * modules/unistr/u16-strcat-tests: Likewise. + * modules/unistr/u16-strcmp-tests: Likewise. + * modules/unistr/u16-strcoll-tests: Likewise. + * modules/unistr/u16-strcpy-tests: Likewise. + * modules/unistr/u16-strdup-tests: Likewise. + * modules/unistr/u16-strlen-tests: Likewise. + * modules/unistr/u16-strmblen-tests: Likewise. + * modules/unistr/u16-strmbtouc-tests: Likewise. + * modules/unistr/u16-strncat-tests: Likewise. + * modules/unistr/u16-strncmp-tests: Likewise. + * modules/unistr/u16-strncpy-tests: Likewise. + * modules/unistr/u16-strnlen-tests: Likewise. + * modules/unistr/u16-to-u32-tests: Likewise. + * modules/unistr/u16-to-u8-tests: Likewise. + * modules/unistr/u16-uctomb-tests: Likewise. + * modules/unistr/u32-check-tests: Likewise. + * modules/unistr/u32-chr-tests: Likewise. + * modules/unistr/u32-cmp-tests: Likewise. + * modules/unistr/u32-cmp2-tests: Likewise. + * modules/unistr/u32-cpy-alloc-tests: Likewise. + * modules/unistr/u32-cpy-tests: Likewise. + * modules/unistr/u32-mblen-tests: Likewise. + * modules/unistr/u32-mbsnlen-tests: Likewise. + * modules/unistr/u32-mbtouc-tests: Likewise. + * modules/unistr/u32-mbtouc-unsafe-tests: Likewise. + * modules/unistr/u32-mbtoucr-tests: Likewise. + * modules/unistr/u32-move-tests: Likewise. + * modules/unistr/u32-next-tests: Likewise. + * modules/unistr/u32-prev-tests: Likewise. + * modules/unistr/u32-set-tests: Likewise. + * modules/unistr/u32-stpcpy-tests: Likewise. + * modules/unistr/u32-stpncpy-tests: Likewise. + * modules/unistr/u32-strcat-tests: Likewise. + * modules/unistr/u32-strcmp-tests: Likewise. + * modules/unistr/u32-strcoll-tests: Likewise. + * modules/unistr/u32-strcpy-tests: Likewise. + * modules/unistr/u32-strdup-tests: Likewise. + * modules/unistr/u32-strlen-tests: Likewise. + * modules/unistr/u32-strmblen-tests: Likewise. + * modules/unistr/u32-strmbtouc-tests: Likewise. + * modules/unistr/u32-strncat-tests: Likewise. + * modules/unistr/u32-strncmp-tests: Likewise. + * modules/unistr/u32-strncpy-tests: Likewise. + * modules/unistr/u32-strnlen-tests: Likewise. + * modules/unistr/u32-to-u16-tests: Likewise. + * modules/unistr/u32-to-u8-tests: Likewise. + * modules/unistr/u32-uctomb-tests: Likewise. + * modules/uniwbrk/u8-wordbreaks-tests: Likewise. + * modules/uniwbrk/u16-wordbreaks-tests: Likewise. + * modules/uniwbrk/u32-wordbreaks-tests: Likewise. + * modules/uniwbrk/ulc-wordbreaks-tests: Likewise. + * modules/uniwidth/u8-strwidth-tests: Likewise. + * modules/uniwidth/u8-width-tests: Likewise. + * modules/uniwidth/u16-strwidth-tests: Likewise. + * modules/uniwidth/u16-width-tests: Likewise. + * modules/uniwidth/u32-strwidth-tests: Likewise. + * modules/uniwidth/u32-width-tests: Likewise. + * modules/uniwidth/width-tests: Likewise. + +2010-05-18 Richard Jones + + doc: users.txt: list hivex + * users.txt: Add hivex. + +2010-05-18 Richard Jones + + doc: users.txt: list febootstrap + * users.txt: Add febootstrap. + +2010-05-17 Giuseppe Scrivano + + bootstrap: fix an error when gnulib is not used as a git submodule + * build-aux/bootstrap (gnulib_path): If its length is zero then + assign "gnulib" to it. + * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout. + +2010-05-16 Bruno Haible + + Avoid autoconf warnings about AM_ICONV. + * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >= + 2.64. + +2010-05-16 Bruno Haible + + absolute-header: Make the macro usable in more situations. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted + from gl_ABSOLUTE_HEADER. + (gl_ABSOLUTE_HEADER): Use it. Fix comment. + +2010-05-16 James Youngman + + doc: update users.txt + * users.txt: Add CSSC. + +2010-05-16 Jim Meyering + + init.sh: fix an error in the previous change; add more comments + * tests/init.sh: Compare exit code in loop against 9, not 2. + Patch by Bruno Haible. + Make the two tests more similar by adding an empty "then" clause. + Add comments. + + init.sh: avoid unnecessary shell re-exec + * tests/init.sh: Improve the re-exec-required check to first test the + current shell. If it passes the test, do not search for a shell that + does pass, and do not re-exec. This test is particularly contorted to + avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use + of $(...) evokes a syntax error and causes immediate shell exit with + status 2. Bruno Haible reported that the re-exec made it impossible + to single-step through any init.sh-using script. + +2010-05-16 Bruno Haible + + Fix collision between gnulib's and libintl's printf replacements. + * lib/stdio.in.h (_GL_STDIO_STRINGIZE, + _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros. + (printf): When using GNU C, map the __printf__ function to rpl_printf + via __asm__. When not using GNU C, define rpl_printf instead of + __printf__. + * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25 + commit. + * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10 + commit. + * m4/asm-underscore.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX. + * modules/stdio (Files): Add m4/asm-underscore.m4. + (Makefile.am): Substitute ASM_SYMBOL_PREFIX. + Reported by Ben Pfaff. + +2010-05-16 Bruno Haible + + verify: Avoid skipping the test on openSUSE 11.0. + * tests/test-verify.sh: Unset MALLOC_PERTURB_. + +2010-05-13 Bruno Haible + + Avoid useless warnings from G++. + * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't + use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing. + Reported by Jarno Rajahalme . -2010-11-19 Raphaël Pinson +2010-05-11 Jim Meyering - Add "indomU" Debian setting to grub.aug (Fix ticket #162) + maint.mk: tweak preceding change + * top/maint.mk (gl_extract_significant_defines_): Make exclusion + regexps tighter by anchoring at EOL, and make the new group "shy" + for slightly decreased overhead. - Allow "\" style newlines in syslog.aug and add corresponding test (Fix ticket #161). +2010-05-11 Eric Blake -2010-11-18 Raphael Pinson + maint.mk: gnulib doesn't guarantee NSIG + * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG. - Make filter a View in sudoers.aug to make it appear properly in doc +2010-05-10 Peter O'Gorman - Improve doc on services.aug + test-pwrite.c: Remove unused variable declaration. + * tests/test-pwrite.c (main): Remove read_buf declaration. - Add some doc to pg_hba.aug + Remove useless test-pwrite.sh file. + * tests/test-pwrite.sh: Delete file. + * modules/pwrite-tests: Remove references. + Reported by Bruno Haible. - Add a bit of doc to pbuilder.aug +2010-05-10 Peter O'Gorman - Add all missing lenses to Menu.txt + init.sh: fix a typo + * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization. -2010-11-18 Mathieu Arnold +2010-05-10 Jim Meyering - Add syslog.aug and associated test file + maint.mk: avoid using a temporary file in the always-defined-macros check + * top/maint.mk (.re-defmac): Remove rule. + (gl_trap_): Remove definition. + (sc_prohibit_always-defined_macros): Rewrite not to create and + depend on a temporary file. Instead, depend on GNU grep's ability + to read a list of regular expressions from stdin when given "-f -". -2010-11-18 Raphaël Pinson +2010-05-09 Bruno Haible - resolve refresh_pattern into fields Parse "extension_methods" into a list break entries upgrade_http0.9 and broken_vary_encoding down similar to what http_access does - Fix ticket #46 + Update to GNU gettext 0.18, part 1. + * m4/gettext.m4: Update to GNU gettext 0.18. + * m4/intl.m4: Likewise. + * m4/po.m4: Likewise. + * modules/gettext (Files): Add m4/fcntl-o.m4. + (configure.ac): Require gettext infrastructure from version 0.18. -2010-11-18 Mathieu Arnold +2010-05-09 Jim Meyering - On FreeBSD (at least) the sudoers file is in /usr/local/etc/. + init.sh: enable MALLOC_PERTURB_ + * tests/init.sh: Enable glibc's malloc-perturbing option. -2010-11-18 Francis Giraldeau + maint.mk: improve sc_cross_check_PATH_usage_in_tests + With my recent change in init.sh from the two-line form: + -# : ${srcdir=.} + -# . "$srcdir/init.sh"; path_prepend_ . + +# . "${srcdir=.}/init.sh"; path_prepend_ . + I noticed that using the one-line form would cause this test + to fail with a false-positive, or to stop working altogether, + depending on whether help-version changed or all the tests did. + * top/maint.mk (_hv_regex): Remove this definition. + (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files. + (_hv_regex_strong): Use a stronger regex to check for conformance. + (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above. + Give a separate diagnostic for lack of conforming use. + + maint.mk: prohibit definition of symbols defined by gnulib + * top/maint.mk (sc_prohibit_always-defined_macros): Reject the + definition of symbols defined by gnulib. + +2010-05-09 Bruno Haible - Parse ulimit builtin in shellvars.aug (fix ticket #73). + acl: Avoid test failure on Cygwin-hosted mingw. + * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0. + +2010-05-09 Bruno Haible + + error: Use system's fcntl function. + * lib/error.c (fcntl): Undefine. + +2010-05-09 Jim Meyering + + verify: adjust formatting to be more consistent + * lib/verify.h (_GL_GENSYM): Add a space before each of a few + argument-list '('s, and after one comma. + +2010-05-09 Bruno Haible + + error: More reliable output on mingw. + * lib/error.c: Include . + (is_open): New function. + (flush_stdout): Call it instead of fcntl, also if F_GETFL is not + defined. + +2010-05-09 Bruno Haible + + vasnprintf: Fix syntax errors in libintl build on mingw. + * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine + pad_ourselves and prec_ourselves after use. + +2010-05-08 Bruno Haible + + * lib/config.charset: Update comments for Cygwin 1.7. + * lib/localcharset.c: Likewise. + +2010-05-07 Jim Meyering + + init.sh: improve comments + * tests/init.sh: Recommend the one-line init.sh-sourcing idiom: + . "${srcdir=.}/init.sh"; path_prepend_ . + Add a note about path_prepend_ and the alternative of using + TESTS_ENVIRONMENT. + +2010-05-06 Sergey Poznyakoff + + exclude: Unescape hashed patterns in wildcard mode. + * lib/exclude.c (add_exclude): Unescape the pattern before adding it + to the hash list. + * tests/test-exclude8.sh: New test case. + * modules/exclude-tests: Add new test. + +2010-05-05 Eric Blake + + verify: automate tests + * modules/verify-tests: New module. + * tests/test-verify.sh: New file. + * tests/test-verify.c: Guard each negative test with a unique id. + Also avoid warning about unused left hand of comma expressions. + +2010-05-05 Paul Eggert + + Further improvements to verify.h, suggested by Eric Blake. + * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from + the GL_* versions, to avoid collision with OpenGL. + (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if + __COUNTER__ doesn't work. Test that __COUNTER__ increments rather + than testing merely whether it's defined. + + Modify verify.h to pacify gcc -Wredundant_decls. + * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros. + These use the prefix "GL_" since they're likely to be useful elsewhere. + We may need to break them out into a different .h file. + (__COUNTER__): Define to 0 if the compiler doesn't support it. + (verify) [!defined __cplusplus]: Use them to avoid duplicate decls + of verify_function__. + +2010-05-05 Peter O'Gorman + + Tests for module pwrite. + * modules/pwrite-tests: New file. + * tests/test-pwrite.sh: New file. + * tests/test-pwrite.c: New file. + + New module pwrite. + * lib/unistd.in.h (pwrite): New declaration. + * lib/pwrite.c: New file, from glibc with modifications. + * m4/pwrite.m4: New file. + * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared. + (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE, + REPLACE_PWRITE. + * modules/pwrite: New file. + * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE, + REPLACE_PWRITE. + * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite. + * doc/posix-functions/pwrite.texi: Mention the new module. + +2010-05-05 Peter O'Gorman + + pread: Update documentation. + * doc/posix-functions/pread.texi: Mention the 'pread' module. + +2010-05-04 Eric Blake + + docs: update cygwin progress + * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix + this bug. + * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf): + Added in cygwin 1.7.2. + * doc/glibc-functions/get_phys_pages.texi (get_phys_pages): + Likewise. + * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages): + Likewise. + * doc/glibc-functions/dup3.texi (dup3): Likewise. + * doc/glibc-functions/pipe2.texi (pipe2): Likewise. + * doc/glibc-functions/accept4.texi (accept4): Likewise. + * doc/posix-functions/strfmon.texi (strfmon): Likewise. + * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise. + Mention nproc module. + * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention + bug in cygwin 1.7.5 addition. + * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise. + * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise. + * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise. + * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin + 1.7.5. + * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise. + * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise. + * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise. + * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise. + * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise. + * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise. + * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise. + * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise. + * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise. + * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise. + * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise. + * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise. + * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise. + * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise. + * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t): + Likewise. + * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise. + * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise. + * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise. + * doc/glibc-functions/xdr_reference.texi (xdr_reference): + Likewise. + * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise. + * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise. + * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise. + * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise. + * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise. + * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise. + * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise. + * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t): + Likewise. + * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise. + * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise. + * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise. + * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise. + * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring): + Likewise. + * doc/glibc-functions/xdrmem_create.texi (xdrmem_create): + Likewise. + * doc/glibc-functions/xdrrec_create.texi (xdrrec_create): + Likewise. + * doc/glibc-functions/xdrrec_endofrecord.texi + (xdrrec_endofrecord): Likewise. + * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise. + * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord): + Likewise. + * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create): + Likewise. + +2010-05-04 Jim Meyering + + gendocs.sh: make its "-s FILE" option more useful + * build-aux/gendocs.sh: When honoring the -s FILE option, update + $PACKAGE to reflect the probably-different basename of "FILE". + +2010-05-03 Giuseppe Scrivano + + bootstrap: don't ignore download_po_files failure + * build-aux/bootstrap (update_po_files): Don't ignore download_po_files + failure. + +2010-05-03 Jim Meyering + + maint.mk: allow to pass options to gendocs.sh + * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh. + (gendocs_options_): New overridable variable. + + gnu-web-doc-update: don't ignore configure or build failure + * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure. + + announce-gen: backslash-escape '@'s in --help output + * build-aux/announce-gen: Fix syntax errors. + + maint.mk, announce-gen: allow project-specific announcement mail headers + * top/maint.mk (translation_project_): Define default. + (announcement_Cc_, announcement_mail_headers_): Likewise. + (announcement): Invoke announce-gen with new --mail-headers option. + * build-aux/announce-gen: New option: --mail-headers=HEADERS. + + test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11 + * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e., + "> out 2> err", rather than "2> err > out"). Otherwise, with /bin/sh + on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out" + line in the "err2" output file when running "make check" in verbose + mode (i.e., with set -x enabled). + +2010-05-03 Bruno Haible + + wctob: Fix for weird platforms. + * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the + argument value. + +2010-05-03 Jim Meyering + + maint.mk: prohibit unwarranted use of + * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of + strings.h in a file that does not also use strcasecmp, strncasecmp, + ffs or ffsll. + + maint.mk: remove obsolete comments + * top/maint.mk: Remove stale, commented-out rules. + +2010-05-02 Bruno Haible + + wcwidth: Declare also when it's aliased. + * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a + macro. + +2010-05-02 Bruno Haible + + Fix regression from 2010-04-25. + * gnulib-tool (func_modules_transitive_closure): Check the status of + all modules, not only of the tests that are of the form foo-tests where + foo is a module. + +2010-05-02 Bruno Haible + + wctob: Work around nasty Cygwin 1.7.2 bug. + * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug. + * doc/posix-functions/wctob.texi: Mention the Cygwin bug. + +2010-05-01 Bruno Haible - Accept double quotes in arguments in postfix_master.aug, fix bug# 69 + fpurge: Sharper test. + * tests/test-fpurge.c (main): Add one more ftell check. + * modules/fpurge-tests (Depends-on): Add ftell. + Suggested by Eric Blake. -2010-11-18 David Lutterkort +2010-05-01 Bruno Haible - * tests/Makefile.am (lens_tests): add tests for new lenses + ftello: Another test. + * tests/test-ftello3.c: New file. + * modules/ftello-tests (Files): Add it. + (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment + MOSTLYCLEANFILES. -2010-11-18 David Lutterkort + ftell: Another test. + * tests/test-ftell3.c: New file. + * modules/ftell-tests (Files): Add it. + (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment + MOSTLYCLEANFILES. - Krb5 (realm_re, app_re): allow digits in realm names - Still makes the incorrect assumption that realm names start with an upper - case letter, and app names with a lower case one, but it's an improvement - over the current restrictions. +2010-05-01 Bruno Haible - Fixes bug https://fedorahosted.org/augeas/ticket/139 + ftell, ftello: Work around Solaris bug. + * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug. + * lib/ftello.c: Include stdio-impl.h. + (ftello): On Solaris, when _IOWRT is set, compute the result without + looking at _IOREAD. + * modules/ftello (Files): Add lib/stdio-impl.h. + * doc/posix-functions/ftell.texi: Mention Solaris bug. + * doc/posix-functions/ftello.texi: Likewise. + Reported by Eric Blake. -2010-11-18 Matthew Booth +2010-05-01 Bruno Haible - Fix crasher in ast.c:dict_pos on i686 with gcc 4.5 and -O2 - This patch works around what appears to be an optimization bug in gcc 4.5. The - symptom of the bug is that dict_pos, called from dict_lookup, receives an - invalid value when accessing dict->used. The following ticket describes the bug, - and includes a simple test case: + freading: Adapt to special meaning of _IOREAD flag on Solaris. + * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if + the _IOWRT flag is also set. - https://fedorahosted.org/augeas/ticket/149 +2010-05-01 Bruno Haible - Adding a printf to dict_lookup immediately before the dict_pos call reveals that - dict->used has a value of 30 in the crashing case on my F14 system. A printf - added to the first line of dict_pos shows dict->used has an apparent value of - 16777246. This causes an invalid array lookup shortly afterwards, which causes - the crash. 16777246, interestingly, is 2^24 + 30, where 24 is the size of the - dict->used bitfield. This should obviously not be possible, suggesting either a - compiler bug or undefined behaviour due in incorrect use of the language. Having - re-read the relevant section of K&R, I can't see anything about this use of - bitfields which might be a problem, except that: 'Fields may be declared only as - ints; for portability, specify signed or unsigned explicitly.' uint32_t resolves - to 'unsigned int' on i686, and in any case, replacing it with 'unsigned int' - does not solve the problem. As it stands, I believe this is a bug in the - optimizer. + Fix doc about a HP-UX stdio bug. + * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed. + * doc/posix-functions/ftello.texi: Likewise. - The above ticket contains an alternate patch which copies dict in dict_pos, - which also prevents the crash. However, adding anything to dict_pos which - prevents the compiler from optimising dict away achieves the same result. For - example: +2010-05-01 Bruno Haible - printf("%p", dict); + lseek test: Fix failure on Solaris. + * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all + output. - This patch instead removes the bitfields in struct dict. While this is a - workaround, these bitfields save at most 1 word of memory per struct, but at the - cost of mis-aligned access. The patch does not increase the size of - dict_max_size to UINT32_MAX, as the lower maximum serves as a better guard - against runaway memory allocation. +2010-04-30 Jim Meyering -2010-11-17 Raphael Pinson + bootstrap: don't ignore failure to generate po*/Makevars + * build-aux/bootstrap (with_gettext): Don't ignore failure + to create po/Makevars or runtime-po/Makevars. - Allow underscore in chain_name for iptables.aug and adjust test accordingly. +2010-04-29 Eric Blake -2010-11-17 Erinn Looney-Triggs + headers: relax license to LGPLv2+ + * modules/fcntl-h (License): Relax license. + * modules/getopt-posix (License): Likewise. + * modules/locale (License): Likewise. + * modules/math (License): Likewise. + * modules/pty (License): Likewise. + * modules/sched (License): Likewise. + * modules/search (License): Likewise. + * modules/spawn (License): Likewise. + * modules/stdarg (License): Likewise. + * modules/sysexits (License): Likewise. - Add login_defs.aug and associated test file. +2010-04-29 Jim Meyering -2010-11-14 Marc Fournier + inttypes: relax license to LGPLv2+ + * modules/inttypes (License): Relax license. - pg_hba: added debian systems path to filter - fixes #154. +2010-04-29 Simon Josefsson - util.aug: exclude unneeded files on debian systems (fix ticket #153) + * top/maint.mk (indent): Run twice to produce idempotent results. -2010-11-05 Raphael Pinson +2010-04-28 Bruno Haible - Map comments and use Util.comment and Util.empty in order to full fix ticket #151. Adapt test accordingly. + getdate: Generate getdate.c in the source directory. + * modules/getdate (Makefile.am): Add rule for getdate.c. Augment + MOSTLYCLEANFILES. + Suggested by Daniel Richard G. and Ralf Wildenhues. - Allow indented lines in aptsources.aug (Fix ticket #151) and add associated test +2010-04-27 Andreas Gruenbacher (tiny change) - Allow "=" as a separator for title in grub.aug (Fix ticket #150) and adapt test accordingly. + * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2) + is not declared as a const *; avoid warnings in that case. -2010-11-04 Raphael Pinson +2010-04-28 Eric Blake - Fix example in lens + canonicalize-lgpl: avoid compiler warning + * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty + declaration' / 'extraneous semicolon' warning with some compilers. + Reported by Andreas Gruenbacher. -2010-11-02 Raphael Pinson +2010-04-28 Jim Meyering - Add a few lenses to Menu.txt + init.sh: ensure a more reliable exit status when exiting via trap + * tests/init.sh (setup_): Don't rely on $? in signal handler. + Inspired by patches from Dmitry V. Levin. + Also trap on signal 3 (SIGQUIT). - Add shells.aug and associated test +2010-04-27 Bruno Haible -2010-11-01 Raphael Pinson + Update doc about utimes(). + * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the + 'utimens' module. + Reported by Andreas Gruenbacher . - Add mke2fs.aug and associated test +2010-04-27 Eric Blake -2010-10-31 Raphael Pinson + full-read, full-write: relax license + * modules/full-read (License): Drop to LGPLv2+. + * modules/full-write (License): Likewise. + * modules/safe-read (License): Likewise. + * modules/safe-write (License): Likewise. - Add support for rpc services in inetd.aug, rework lens to allow it and add tests accordingly. + pthread: mention library for linking + * modules/pthread (Link): Mention $(LIB_PTHREAD). - Parse option values in fstab.aug, adapt test file accordingly. +2010-04-27 Jim Meyering - Map service names in node values instead of node names to prevent variable node names. + maint.mk: fix a bug introduced in last change + * top/maint.mk (gl_assured_headers_): Now that all names are on + one line, use sed's "g" modifier. Note that while the \.in\.h LHS + is not anchored to end of word, it should be adequate. -2010-10-29 Raphael Pinson + maint.mk: avoid side-effect in latest syntax-check + * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not + to run commands via $(shell...), and hence to incur cost only when + the new rule is actually run. - Add /etc/mtab to known files + maint.mk: syntax-check: prohibit HAVE_
_H that are always true + Derive the list of guaranteed header names from gnulib/lib/*.in.h, + and use that to create a regexp used to detect all #if HAVE_..._H uses. + * top/maint.mk (sc_prohibit_always_true_header_tests): New rule. + (gl_assured_headers_, az_, AZ_): Define. + (gl_header_upper_case_or_, gl_have_header_regex_): Define. -2010-10-28 Raphael Pinson +2010-04-26 Jim Meyering + Bruno Haible - Fix paramater into parameter in ND comment + gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty + * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_. + Prompted by an exchange with Gilles Espinasse. -2010-10-27 Raphael Pinson +2010-04-26 Jim Meyering - Use generic modules in bbhosts.aug + git-version-gen: aesthetic tweak + * build-aux/git-version-gen: Use "$nl" rather than a literal, + so that the command remains on a single line. -2010-10-26 Francis Giraldeau +2010-04-26 Eric Blake - Fixes bug #144: wrong behavior of iter concat - This patch fix the list_tail_cons macro to fastforward the tail list when - the first item is added to the list, otherwise if the first item added when - the list is NULL has two item, the tail points the the first item. + git-version-gen: allow use on EBCDIC hosts + * build-aux/git-version-gen (dirty): Use literal rather than tying + ourselves to ascii. + Reported by Steve Goetze. -2010-10-26 Raphael Pinson +2010-04-25 Bruno Haible - Fix filter to use proper file + netdb: Add support for GNULIB_POSIXCHECK. + * lib/netdb.in.h: Include warn-on-use.h. + (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these + functions are used when GNULIB_POSIXCHECK is defined and the + getaddrinfo module is not in use. + * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo, + freeaddrinfo, gai_strerror, getnameinfo are declared. + * modules/netdb (Depends-on): Add warn-on-use. + (Makefile.am): Include warn-on-use.h in netdb.h. - Remove trailing whitespace +2010-04-24 Ian Beckwith - Add nsswitch.aug and associated test + build: avoid "make check" failure without .git/ directory + * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when + there is no .git/ directory. -2010-10-26 Francis Giraldeau +2010-04-25 Bruno Haible - Add debugging information about lens hierarchy - When compiled with --enable-debug, will compile a function to output the lens - hierarchy in dot files. Enable this specific debug info with - AUGEAS_DEBUG=lenses + ptsname: Fix misuse of ttyname_r. + * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead + of errno. -2010-10-26 David Lutterkort +2010-04-25 Bruno Haible - Sudoers: allow 'visiblepw' parameter flag - Fix provided by christj. Fixes bug #143 + ttyname_r: Make it work on Solaris 10. + * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R + if the system function has the POSIX declaration. Test whether the + function fails if the buffer is less than 128 bytes large. + * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the + system's ttyname_r function. Provide a reasonably large buffer. + * modules/ttyname_r (Depends-on): Add extensions. + * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem. -2010-10-26 Francis Giraldeau +2010-04-25 Bruno Haible - Add clearm command to augtool - The clearm command is the same as setm, but sets the node value to - NULL in place of a string, suitable in some use case. + Use the 'extensions' module for some more functions on Solaris. + * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions' + module. + * doc/posix-functions/ctime_r.texi: Likewise. + * doc/posix-functions/getgrgid_r.texi: Likewise. + * doc/posix-functions/getgrnam_r.texi: Likewise. + * doc/posix-functions/getpwnam_r.texi: Likewise. + * doc/posix-functions/getpwuid_r.texi: Likewise. + * doc/posix-functions/readdir_r.texi: Likewise. + * doc/posix-functions/sigwait.texi: Likewise. + * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment. + * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed. + +2010-04-25 Bruno Haible + + ttyname_r: Make it work on MacOS X 10.4 and Solaris 10. + * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function + has the POSIX declaration. Set REPLACE_TTYNAME_R if not. + * lib/ttyname_r.c: Include . + (ttyname_r): Define using the system's ttyname_r function, if it exists + and not on Solaris. + * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is + set. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R. + * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R. + * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed. + Reported by Simon Josefsson. + +2010-04-25 Bruno Haible + + Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris. + * doc/posix-functions/asctime_r.texi: Mention the Solaris problem. + * doc/posix-functions/ctime_r.texi: Likewise. + * doc/posix-functions/getgrgid_r.texi: Likewise. + * doc/posix-functions/getgrnam_r.texi: Likewise. + * doc/posix-functions/getlogin_r.texi: Likewise. + * doc/posix-functions/getpwnam_r.texi: Likewise. + * doc/posix-functions/getpwuid_r.texi: Likewise. + * doc/posix-functions/readdir_r.texi: Likewise. + * doc/posix-functions/sigwait.texi: Likewise. + * doc/posix-functions/ttyname_r.texi: Likewise. + Reported by Simon Josefsson. + +2010-04-25 Bruno Haible + + gnulib-tool: Don't include hairy tests of dependencies in testdirs. + * gnulib-tool (func_usage): Document that --with-*-tests options apply + also to --create-testdir. + (func_acceptable): Don't consider the status of *-tests modules here. + (func_modules_transitive_closure): Consider it here, before including a + test module. + (func_import, func_create_testdir): Set inc_all_direct_tests, + inc_all_indirect_tests. + * doc/gnulib.texi (Extra tests modules): Document new behaviour of + --create-testdir and --create-megatestdir. + +2010-04-25 Bruno Haible + + gnulib-tool: Add --without-*-tests options. + * gnulib-tool (func_usage): Document the --without-*-tests options. + (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests, + excl_unportable_tests): New variables. + Fail if they are specified with --import or --update. + (func_acceptable): Respect the excl_*_tests variables. + (func_import): Set the excl_*_tests variables to empty. + +2010-04-25 Simon Josefsson + Bruno Haible + + Work around a MacOS X 10.4 bug with openpty. + * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug. + * tests/test-openpty.c (main): Close the master side explicitly. + +2010-04-25 Bruno Haible + + strnlen: Fix a C++ test error on MacOS X and Solaris. + * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if + the function is not declared. + Reported by Jarno Rajahalme and + Simon Josefsson. + +2010-04-24 Bruno Haible + + Avoid a gcc warning. + * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument + of correct type for %08lx directive. + Reported by Eric Blake. + +2010-04-24 Bruno Haible + + vasnprintf: Correct errno value in case of out-of-memory. + * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF + or sprintf. Use the errno value from SNPRINTF or sprintf. + Reported by Ian Beckwith . + +2010-04-24 Bruno Haible + + ansi-c++-opt: Find correct compiler when cross-compiling. + * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of + AC_CHECK_PROGS. + Reported by Simon Josefsson. + +2010-04-24 Giuseppe Scrivano + + vc-list-files: Add support for subversion + * build-aux/vc-list-files: Use "svn list" to generate the list of + files controlled by subversion. + +2010-04-23 Jim Meyering + + vc-list-files tests: convert to use init.sh + * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and + path_prepend_. + Use Exit, not exit. + Use skip_ rather than open coding it. + Remove trap set-up and compare definitions. + * tests/test-vc-list-files-git.sh: Likewise. + * modules/vc-list-files-tests (Files): Add tests/init.sh. - Fix ticket #146 +2010-04-22 Simon Josefsson -2010-10-26 Raphael Pinson + * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in + backup files. - /etc/sudoers.d is now supported (at least in Debian and Ubuntu) +2010-04-21 Simon Josefsson - Add resolv.aug and test + * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx. -2010-10-14 Aurelien Bompard +2010-04-20 Eric Blake - Pg_hba: new lens and test - Fixes bug #140 + tests: be robust to ignored SIGPIPE + * tests/test-select-in.sh: Consume all output. + * tests/test-lseek.sh: Check correct exit status, while avoiding + EPIPE. -2010-09-30 Raphaël Pinson +2010-04-20 Simon Josefsson + Bruno Haible - Add a few lenses to Menu.txt + visibility: Don't use -fvisibility if it leads to a warning. + * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If + yes, don't pretend that visibility works if it leads to a warning. + Reported by Mike Gran . - Use Rx.ipv4 and Rx.integer in openvpn.aug +2010-04-20 Andreas Gruenbacher - Use generic modules Rx, Sep and Build in keepalived.aug + * build-aux/bootstrap: Use "git -h" for testing for supported options + instead of "git --help". The short-form option only shows a summary, + and doesn't layout the full man page. Grep for the full option name + in the summary, too. - Add email_addr to rx.aug +2010-04-19 Bruno Haible - Improve build.aug + relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am. + * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP. + * doc/relocatable-maint.texi (Supporting Relocation): Remove the + mention of RELOCATABLE_STRIP. + Reported by Sylvain Beucler . - Improve documentation of build.aug +2010-04-19 Bruno Haible -2010-09-29 Raphaël Pinson + * lib/diffseq.h: Fix typo in comment. + Reported by Eric Blake. - Move Build, Rx and Sep into Generic Modules, add Keepalived +2010-04-19 Bruno Haible -2010-09-24 Raphaël Pinson + ioctl: Move autoconf macro to a .m4 file. + * m4/ioctl.m4: New file, extracted from modules/ioctl. + * modules/ioctl (Files): Add it. + (configure.ac): Simply invoke gl_FUNC_IOCTL. + Reported by Ian Beckwith . - Improve keepalived.aug +2010-04-18 Andreas Gruenbacher + Bruno Haible -2010-09-23 Raphaël Pinson + diffseq: Accommodate use-case with abstract arrays. + * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT + is not defined. + (diag, compareseq): Remove local variables xv, yv if ELEMENT is not + defined. Use local macro XREF_YREF_EQUAL instead of EQUAL. - Add a lens for keepalived.conf and associated test +2010-04-18 Bruno Haible -2010-09-23 David Lutterkort + * doc/posix-headers/stdbool.texi: More precise wording. - Preserve parse errors under /augeas//error - With the changes in commit 5ee81630, a subtree in /augeas/files that is - dirty after trying to load all files indicates a file that was loaded - before, but is not loaded anymore (e.g., because the set of lenses changed - since the last time we loaded) In that situation, both the subtree in - /augeas/files as well as the corresponding subtree in /files is deleted. +2010-04-17 Jim Meyering - The code in store_error, which is called by load_file when a parse error - happens, would leave that subtree in /augeas/files dirty. This commit fixes - that by making sure we mark the error entries as clean. It also revamps - store_error to use the lighter-weight tree_xxx functions instead of the - aug_xxx functions. + maint.mk: use gnu-style indentation in an embedded perl script + * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting. + Rename variable: s/two/last_two_bytes/ - Fixes bug #138 +2010-04-16 Eric Blake -2010-09-21 Raphaël Pinson + test-stdbool: skip test that fails with Solaris CC + * tests/test-stdbool.c (f): Skip test that causes compilation + error under buggy C++ compiler. + * lib/stdbool.in.h: Document the limitation. + * doc/posix-headers/stdbool.texi (stdbool.h): Likewise. - * src/augtool.c: add -f|--file option to get commands from an input file + setenv: allow compilation with C++ + * lib/setenv.c (__add_to_environ): Add a cast. Also, drop use of + register keyword. -2010-09-21 Marc Fournier + stdint: allow test to pass with C++ + * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc. - Nrpe: new lens and tests. + getopt: allow compilation with C++ + * lib/getopt_int.h (__ordering): Hoist enum declaration outside + struct. + * lib/getopt.c (_getopt_internal_r): Use correct type. + Reported by Dagobert Michelson, via Joel E. Denny. - Odbc: new lens and tests. +2010-04-16 Bruno Haible -2010-09-15 David Lutterkort + Override netdb.h always. + * modules/netdb (Makefile.am): Augment BUILT_SOURCES always. + * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H. + Reported by Ludovic Courtès . - When setting a tree node to the value it already has, do not modify the tree +2010-04-15 Bruno Haible -2010-09-09 David Lutterkort + openpty: Fix mistake from 2010-03-21. + * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists. + Reported by Simon Josefsson. - * src/try: add an optioj to strace augtool +2010-04-15 Eric Blake -2010-09-09 David Lutterkort + test-forkpty: fix expected signature + * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const. + Reported by Simon Josefsson. - Properly record the new mtime of a saved file in the tree - transform_save used to pass an incorrect file name to add_file_info (the - name was missing the root prefix), leading to an mitme of 0 for all saved - files. That in turn causes freshly saved files to be unnecessarily reloaded - on the next aug_load. +2010-04-15 Jim Meyering - * src/transform.c (mtime_as_string): tolerate a NULL filename, and return - an mtime of 0; (transform_save): pass the full file name, including the - root to add_file_info - * tests/test-load.c (testReloadDeletedMeta): the test is now - time-sensitive; to work around that, set the mtime of the changed tree - to the original mtime of the file - * tests/test-save.c (testMtime): verify that we record the actual mtime - and not just 0 in the tree after a save. + maint.mk: texinfo_suffix_re_: correct the default regexp + * top/maint.mk (texinfo_suffix_re_): Fix default regexp. - Thanks to Laine Stump for spotting this + * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and + make it configurable via texinfo_suffix_re_. -2010-08-27 Francis Giraldeau +2010-04-14 Eric Blake - Fix yum tests - * Modify separator for list values to accept simple spaces - * Add all alternatives for baseurl and gpgkey - * Add tests to verify the correct behavior + strtok_r: relax license to LGPLv2+ + * modules/strtok_r (License): Relax license. + Reported by Matthias Bolte. -2010-08-27 David Lutterkort +2010-04-14 Simon Josefsson - * bootstrap: add locale module from gnulib - Fixes bug #137 + * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to + version 1.4.4 by default instead of requiring the libgcrypt + version used during build. This makes it possible to use the + application with older but still binary compatible libgcrypt + versions. -2010-08-16 David Lutterkort +2010-04-13 Eric Blake - Yum: accept continuation lines for gpgkey - Fixes bug #132 + getopt-gnu: match recent glibc fixes and posix ruling + * tests/test-getopt.h (test_getopt): Strengthen tests of leading + '+' handling, when requesting extensions. + * tests/test-getopt_long.h (test_getopt_long): Strengthen test of + 'W;' handling. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug. + * doc/posix-functions/getopt.texi (getopt): Document this. + * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise. + * doc/glibc-functions/getopt_long_only.texi (getopt_long_only): + Likewise. -2010-08-16 Francis Giraldeau + getopt: merge bug fixes from glibc + * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;' + diagnostics. Honor '+:' correctly. Reject ';'. - * src/get.c (visit_exit): fix segfault from empty stack for L_MAYBE - Fixes bug #136 + getopt-posix: detect MacOS bug + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of + optind when missing a required argument. + * doc/posix-functions/getopt.texi (getopt): Document the bug. + * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise. + * doc/glibc-functions/getopt_long_only.texi (getopt_long_only): + Likewise. -2010-08-06 David Lutterkort + getopt-posix: avoid spurious failure on Solaris + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as + an indicator that setting optind=1 is sufficient for reset. - Version 0.7.3 + getopt-posix: avoid spurious failure on FreeBSD + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even + in POSIX mode, since the m4 test uses it. -2010-08-06 David Lutterkort + gnulib-tool: silence warning on BSD sh + * gnulib-tool: Avoid leaking warning about unknown 'declare'. - Fix behavior of aug_defnode - (1) Make sure that the definition of the variable is recorded under - /augeas/variables - (2) Do not report an error if the expression evaluates to a non-empty - nodeset +2010-04-13 Jim Meyering - * src/augeas.c (aug_defvar): split creating metadata under - /augeas/variables into record_var_meta; (aug_defnode): do not return an - error when expr evaluates to nonempty node set; record variable - definition - * tests/test-api.c: add tests for defvar and defnode behavior + doc: users.txt: GNU patch now uses gnulib + * users.txt: Add patch. -2010-08-05 David Lutterkort +2010-04-12 Jim Meyering - Use pathx_aug_parse rather than pathx_parse in various places - Since pathx_aug_parse makes sure the symbol table stays updated, use - pathx_aug_parse whereever that makes sense. + maint.mk: generate more concise timing data for syntax-check rules + * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and + " done" from each line that reports a syntax-check test duration. - Rename parse_user_pathx to pathx_aug_parse - * internal.h (pathx_aug_parse): new protoype - * augeas.c (pathx_aug_parse): renamed, add optional arg for a different - root +2010-04-12 Andreas Gruenbacher -2010-08-05 David Lutterkort + git-version-gen: use "git update-index..." rather than "git status" + * build-aux/git-version-gen: Use git update-index --refresh, not + "git status". With some versions of git, "git status" would fail + to update the index and result in an unwarranted "-dirty" suffix. - Fix BZ 613967 - memory corruption on reloading externally modified file - The problem was that when we replaced the old tree for a file with the new - one we just read from the file, the replace operation did not update - nodesets in variables, since we did not pass the global symtab into - tree_replace. +2010-04-11 Jim Meyering - * src/internal.h (tree_replace): pass in struct augeas, so that we have - access to the global symtab - * src/augeas.c (tree_replace): make sure we create the pathx with the - global symtab - * src/transform.c (load_file): adapt to new prototype for tree_replace - * tests/test-load.c (testReloadExternalMod): test that we do not segfault - when a file was modified externally + openat: correct formatting (no semantic change) + * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE. + Suggested by Bruno Haible. -2010-08-05 David Lutterkort +2010-04-11 Bruno Haible - Test root: mimick the setup of grub config files on Fedora more closely - * root/etc/grub.conf: symlink to root/boot/grub/grub.conf - * root/boot/grub/grub.conf: new file with contents of /etc/grub.conf - * root/boot/grub/menu.lst: symlink to grub.conf + Stricter declaration checking in testdirs. + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + If for_tests is true, augment AM_CPPFLAGS to define + GNULIB_STRICT_CHECKING. + * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When + GNULIB_STRICT_CHECKING is defined, verify that the function is + declared. -2010-08-03 Raphael Pinson +2010-04-11 Paolo Bonzini + Bruno Haible - Sudoers: allow escaped spaces in user/group names - Fixes bug #124 + libunistring: Improve configure output. + * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first. + Don't say "consider installing GNU libunistring" when checking again + with libiconv. -2010-07-26 David Lutterkort +2010-04-11 Bruno Haible - Limits: also look for files in /etc/security/limits.d - Suggested by David Timms + libunistring: Correct value of $LTLIBUNISTRING. + * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv, + correct the value of $LTLIBUNISTRING. -2010-07-23 Tim Stoop +2010-04-11 Bruno Haible - Mysql: lens for MySQL's *.cnf files + havelib: Add static libraries to LIBS in the right order. + * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no + -l options, prepend it to $LIBS, instead of appending it to $LIBS. -2010-07-23 David Lutterkort +2010-04-11 Bruno Haible - Sysconfig: new lens for a subdialect of shell - Using shell files with simple variable assignments is a very popular config - file format. The Shellvars lens doesn't serve those files perfectly well, - since it tries to preserve details important for general shell scripts that - are ignored by sysconfig files. + libunistring: Detect libunistring also when it depends on libiconv. + * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before + the second AC_LIB_HAVE_LINKFLAGS invocation. - This lens is a variation on Shellvars that changes a few important aspects - of it: +2010-04-11 James Youngman - * Strip quotes from values when reading a file, and restore quotes as - needed upon writing - * Pretend there's no difference between single and double quotes (this - assumption makes it possible to add quotes as needed solely based on - syntax) - * Do not support shell arrays or backticks; support for these could be - restored by somebody sufficiently motivated, though neither of them - should be used in a sysconfig file + close-stream: declare local scalars to be "const" + * lib/close-stream.c (close_stream): Make boolean variables const + to document the fact that we set but do not change them. - The lens doesn't autoload any files yet, though we should consider moving - most of the files that Shellvars loads over to this lens. +2010-04-11 Bruno Haible -2010-07-23 David Lutterkort + * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment. - * src/lens.c (lns_check_rec): allow 'let rec' with regular RHS - If the user writes 'let rec l = rhs' and the RHS does not mention l, just - mark the lens as regular and carry on. +2010-04-11 Jim Meyering -2010-07-21 David Lutterkort + maint.mk: don't include dist-check.mk + * top/maint.mk: Remove bogus include directive. - * src/syntax.c (load_module_file): make sure we report an error + maint.mk: improve empty-line-at-EOF check + * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based + solution, rather than tail+Perl-based one. The latter would read + a few kilobytes from the end of each file, and did not handle empty + files properly. -2010-07-21 David Lutterkort + maint.mk: print the elapsed time for each syntax-check rule + * top/maint.mk (sc_m_rules_): Save start time in a file. + (sc_z_rules_): New rules: remove temp file and print elapsed time. + (local-check): Interpose the .z rules - Fix segfault in glue routines; add test for the fix - The tree_*_glue functions did not set the error struct when parsing a path; - this caused a segfault when trying to insert before/after a non-existant - node, since tree_insert tried to report the error into a struct error that - was NULL. +2010-04-11 Jim Meyering - Fixes bug #129 + maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file + * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an + empty file with one that ends in an empty line. -2010-07-21 David Lutterkort +2010-04-10 Bruno Haible - * src/syntax.c (compile_test): reset errors at the end of the test - Otherwise, we can't have tests succeed after tests failed intentionally (by - making their result '= *') + mkdir: Make it work on mingw64. + * lib/sys_stat.in.h: Include together with . + * lib/mkdir.c: Update comment. + Reported by Roman Donchenko (Роман Донченко) . - * src/errcode.h (reset_error): new function - * src/augeas.c (api_entry): use reset_error - * src/errcode.c (reset_error): new function, with code from api_entry - * src/errcode.h (reset_error): add prototype +2010-04-10 Bruno Haible -2010-07-20 Francis Giraldeau + Don't override improved macro from newer autoconf. + * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for + autoconf >= 2.62. + Reported by Joel E. Denny . - * src/put.c (split_concat): fix memory leak when split doesn't match +2010-04-10 Jim Meyering -2010-07-19 David Lutterkort + maint.mk: new syntax-check rule: prohibit empty lines at end of file + * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule. - Use gnulib from a submodule - This allows us to record the exact changeset from gnulib that everybody - should be using. + maint.mk: correct a diagnostic + * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re + in diagnostic; now use $prohibit. -2010-07-19 Frederik Wagner +2010-04-10 Bruno Haible - Added /etc/sysconfig/suseconfig to shellvars lens. + fchownat: Fix a C++ test error on Solaris 8. + * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if + the function does not exist. -2010-07-08 Francis Giraldeau +2010-04-10 Bruno Haible - Adding is_scan in the condition to accept an item + vasnprintf: Add more tests. + * tests/test-vasnprintf-posix.c: Include . + (test_function): Test converting an invalid wide string. + + vasnprintf: Correct handling of unconvertible wide string arguments. + * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from + VASNPRINTF. + (VASNPRINTF): Use it. After snprintf failed, allocate more memory only + if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is + smaller than the expected maximum need for the directive. Set errno to + EILSEQ, not EINVAL, when the directive is 'c' or 's'. + (local_strnlen, local_wcslen, local_wcsnlen): Update conditions. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and + gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99. + * modules/vasnprintf (Files): Add m4/printf.m4. + Reported by Jarno Rajahalme . + +2010-04-10 Bruno Haible -2010-06-30 Matthew Booth + vasnprintf: Fix crash in %ls directive. + * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide + string is passed as argument to %ls, with no precision and no width. + Reported by Jarno Rajahalme . + +2010-04-10 Bruno Haible + + vasnprintf: Fix multiple test failures on mingw. + * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not + _snprintf, or snwprintf, not _snwprintf. + +2010-04-10 Bruno Haible + + write: Fix a C++ test error on mingw. + * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST. + +2010-04-10 Bruno Haible - Device_map: new lens for grub's device.map + vasnprintf test: Reduce code duplication. + * tests/test-vasnprintf.c (test_function): New function, extracted from + test_vasnprintf. + (test_vasnprintf, test_asnprintf): Invoke it. -2010-06-29 David Lutterkort +2010-04-10 Bruno Haible - Avoid unnecessary file parsing when reloading the tree - We used to reparse every file we knew about upon aug_load. Now, we only - reparse files if the file has changed on disk. + strnlen: Fix warning in C++ mode on MacOS X. + * lib/string.in.h (strnlen): Use the modern idiom. + * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of + defining strnlen as a macro already in . + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + REPLACE_STRNLEN. + * modules/string (Makefile.am): Substitute REPLACE_STRNLEN. + Reported by Jarno Rajahalme . + +2010-04-08 James Youngman + + * doc/manywarnings.texi (manywarnings): Add missing parenthesis in + the example. - We test a few scenarios to make sure aug_load retains its behavior of - obliterating the tree and filling it with the latest from disk. This - includes throwing away unsaved changes or trees that have been deleted. +2010-04-09 Jim Meyering + + maint.mk: print better diagnostic when there is no $(_hv_file) + * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and + announce that when $(_hv_file) (aka help-version) does not exist. + + init.sh: run tr in the "C" locale to avoid multibyte interpretation + * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does + not try to interpret its random input bytes. Jarno Rajahalme reported + that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence". + on Darwin 10.3.0 with LC_CTYPE=UTF-8. + (mktempd_): Likewise, just in case. + + ftruncate: add two years to projected module removal date: 2012 + * m4/ftruncate.m4: Adjust comments. + + ftruncate: mark module as obsolete; even MinGW provides it, now + * modules/ftruncate (Status): Obsolete. + (Notice): Say that. + * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it. + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203 + +2010-04-08 Bruno Haible + + Fix side effects from tests-related modules. + * modules/dprintf-posix (Comment): New section. + * modules/fprintf-posix (Comment): Likewise. + * modules/obstack-printf-posix (Comment): Likewise. + * modules/printf-posix (Comment): Likewise. + * modules/snprintf-posix (Comment): Likewise. + * modules/sprintf-posix (Comment): Likewise. + * modules/vasnprintf-posix (Comment): Likewise. + * modules/vasprintf-posix (Comment): Likewise. + * modules/vdprintf-posix (Comment): Likewise. + * modules/vfprintf-posix (Comment): Likewise. + * modules/vprintf-posix (Comment): Likewise. + * modules/vsnprintf-posix (Comment): Likewise. + * modules/vsprintf-posix (Comment): Likewise. + * modules/xprintf-posix (Comment): Likewise. + * modules/xvasprintf-posix (Comment): Likewise. + * modules/ceilf-tests (Depends-on): Remove fprintf-posix. + * modules/floorf-tests (Depends-on): Likewise. + * modules/round-tests (Depends-on): Likewise. + * modules/roundf-tests (Depends-on): Likewise. + * modules/trunc-tests (Depends-on): Likewise. + * modules/truncf-tests (Depends-on): Likewise. + * tests/test-ceilf2.c (check): Don't invoke fprintf if the + 'fprintf-posix' module is not present. + * tests/test-floorf2.c (check): Likewise. + * tests/test-trunc2.c (check): Likewise. + * tests/test-truncf2.c (check): Likewise. + * tests/test-round2.c (equal): Likewise. + Reported by Jarno Rajahalme . + +2010-04-07 Karl Berry + + * config/srclist.txt, + * config/srclistvars.sh, + * config/srclist-update: doc fixes. + +2010-04-07 Jim Meyering + + maint.mk: add a PATH crosschecking syntax-check rule + * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule. + Useful if you use a test like the one in help-version (coreutils, + diffutils, grep, gzip) that ensures $(VERSION) matches what is + printed by prog --version. + +2010-04-06 Bruno Haible + + Fix link error on mingw. + * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET. + * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise. + +2010-04-06 Bruno Haible + + Assume rmdir exists. + * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program. + +2010-04-06 Giuseppe Scrivano + + doc: update users.txt + * users.txt: Add gcal. + +2010-04-06 Jim Meyering + + init.sh: simply unset TMPDIR rather than risking env -i + * tests/init.sh (mktempd_): Using env -i is rather harsh, and + although it probably works fine on all Unix-based systems, some + systems (Cygwin?) cannot tolerate a totally cleared environment. + Suggestion from Eric Blake. + +2010-04-06 Jim Meyering + + init.sh: portability fix: use env's POSIX-specified -i option not -u + * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather + than unportable env -u. Solaris 5.11's env lacks support for -u. + +2010-04-05 Bruno Haible + + btowc: Work around Cygwin 1.7.2 bug. + * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function + does not map NUL to 0. + * doc/posix-functions/btowc.texi: Mention the Cygwin bug. + +2010-04-05 Bruno Haible + + Make the multithread modules work on Cygwin 1.7.2. + * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether + imported symbols can be declared weak, so that it returns "no" on + Cygwin 1.7.2. + +2010-04-05 Bruno Haible + + Use the module 'strncat'. + * modules/unistr/u8-strncat (Depends-on): Add strncat. + + Tests for module 'strncat'. + * modules/strncat-tests: New file. + * tests/test-strncat.c: New file. + + New module 'strncat'. + * lib/string.in.h (strncat): New declaration. + * lib/strncat.c: New file, based on lib/unistr/u-strncat.h. + * m4/strncat.m4: New file, based on m4/memchr.m4. + * modules/strncat: New file. + * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat + is declared. + (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT, + REPLACE_STRNCAT. + * modules/string (Makefile.am): Substitute GNULIB_STRNCAT, + REPLACE_STRNCAT. + * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new + module. + * tests/test-string-c++.cc: Check signature of strncat. -2010-06-29 David Lutterkort +2010-04-05 Jim Meyering - Add utility tree_store_value to avoid unnecessary strdup's - * src/internal.h (tree_store_value): add prototype - * src/augeas.c (tree_store_value): new function; (tree_set_value): use - tree_store_value + xstrtoumax-tests: convert to use init.sh + * modules/xstrtoumax-tests (Files): Add tests/init.sh. + * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_. + Use Exit, not exit. + Remove uses of $EXEEXT and "./" to run a program in the current dir. - Make tree_clean available outside of augeas.c - * src/augeas.c (tree_clean): remove 'static' - * src/internal.h (tree_clean): add prototype + xstrtoimax-tests: convert to use init.sh + * modules/xstrtoimax-tests (Files): Add tests/init.sh. + * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_. + Use Exit, not exit. + Remove uses of $EXEEXT and "./" to run a program in the current dir. -2010-06-29 David Lutterkort +2010-04-05 Bruno Haible - Add xstrtoint64 to internal.[ch] - The implementation is directly from libvirt + sys_socket: Avoid #define replacements in C++ mode. + * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a + warning to the function if possible, rather than #defining the symbol + to a dysfunctional alias. - * src/internal.h (xstrtoint64): add prototype - * src/internal.c (xstrtoint64): add impl +2010-04-05 Bruno Haible -2010-06-29 David Lutterkort + fseeko: Fix C++ test error on mingw. + * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from + gl_FUNC_FSEEKO. + (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate. + (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update. + * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the + fseeko module. Instead, invoke gl_REPLACE_FSEEKO. - * src/test-load.c (testLoadSave): work off a writable /etc/hosts - This addresses a FIXME that could lead to use not detecting incorrect behavior +2010-04-05 Bruno Haible - Move 'run' test utility to cutest.[ch] - * tests/cutest.h (run): add prototype - * tests/cutest.c (run): add impl - * tests/test-save.c (run): remove + duplocale: Improve test output. + * tests/test-duplocale.c (main): Print reason for skipped test. -2010-06-29 David Lutterkort +2010-04-05 Bruno Haible - Redefine all variables upon load - This is a slight change in behavior: before, we used to just discard the - contents of all variables upon load. Now, we redefine variables by - evaluating the expression with which they were defined initially again. + Assume rmdir exists. + * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists. + * doc/posix-functions/rmdir.texi: Remove mention of "old platforms". - The change in behavior is backwards compatible, since at worst, users will - redefine variables themselves after an aug_load +2010-04-05 Bruno Haible -2010-06-29 David Lutterkort + Fix link error on Solaris 8 with cc. + * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL. - * src/augeas.c (aug_init): create /augeas/variables on startup +2010-04-05 Bruno Haible - * src/augeas.c (aug_defvar): use constants to create /augeas/variables + frexpl: Fix a C++ test error on Solaris 8 and Cygwin. + * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation. -2010-06-22 David Lutterkort +2010-04-05 Bruno Haible - Version 0.7.2 + vasprintf: Update documentation. + * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module. - * augeas.spec.in: fix ownership of /usr/share/augeas - fixes BZ 569393 +2010-04-05 Bruno Haible -2010-06-17 David Lutterkort + ptsname: Improve test. + * tests/test-ptsname.c (main): Also try the various master names of BSD + systems. - Test behavior of aug_setm - * src/augeas.c (aug_setm): return number of modified nodes - * tests/test-api.c (testSetM): compliance tests for aug_setm +2010-04-05 Bruno Haible - * src/augeas.c (aug_setm): do not segfault when sub is NULL + memchr: Avoid a possible C++ test error. + * lib/string.in.h (memchr): Provide declaration if function is missing. + * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set + HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR. + * modules/string (Makefile.am): Substitute HAVE_MEMCHR. -2010-06-17 Frederik Wagner +2010-04-05 Bruno Haible - Tests for new aug_setm function - Test through augtool calls. + strtok_r: Improve idiom. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when + AC_LIBOBJ is used. - Exposed aug_setm to augtool. +2010-04-05 Bruno Haible -2010-06-17 David Lutterkort + strdup: Improve idiom. + * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when + AC_LIBOBJ is used. + (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX + compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only + when AC_LIBOBJ is used. - Add aug_setm to API - * src/augeas.h (aug_setm): new public API call - * src/augeas.c (aug_setm): implement setting multiple nodes - * src/augeas_sym.version: export symbol aug_setm +2010-04-05 Bruno Haible -2010-05-24 Frederik Wagner + mbsinit, mbrtowc, wcrtomb: Improve idioms. + * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist, + don't set REPLACE_MBSINIT to 1. + * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist, + don't set REPLACE_MBRTOWC to 1. + * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not + exist, don't set REPLACE_MBSRTOWCS to 1. + * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not + exist, don't set REPLACE_MBSNRTOWCS to 1. + * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist, + don't set REPLACE_WCRTOMB to 1. + * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not + exist, don't set REPLACE_WCSRTOMBS to 1. + * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not + exist, don't set REPLACE_WCSNRTOMBS to 1. - Shellvars: added SuSE sysconfig puppet files - For SuSE systems, added /etc/sysconfig/{puppet,puppetmaster} to lens. +2010-04-05 Bruno Haible -2010-05-18 Frederik Wagner + ldexpl: Improve idiom. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared, + make sure to set HAVE_DECL_LDEXPL to 0. - List handling shellvars_list lens added. - Lens shellvars_list has been added to treat variables in specific files - as lists of words, e.g. in /etc/sysconfig/ 'kernel' and 'bootloader'. +2010-04-05 Jim Meyering - * lenses/shellvars.aug: removed include for /etc/sysconfig/kernel - * lenses/shellvars_array.aug: new lens - * lenses/tests/test_shellvars_array.aug: test for new lens + xstrtol-tests: convert to use init.sh + * modules/xstrtol-tests (Files): Add tests/init.sh. + * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_. + Use Exit, not exit. + Remove uses of $EXEEXT and "./" to run a program in the current dir. -2010-05-13 David Lutterkort + atexit-tests: convert to use init.sh + * modules/atexit-tests (Files): Add tests/init.sh. + * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_. + Use Exit, not exit. + Remove uses of $EXEEXT and "./" to run a program in the current dir. - Add modules_conf to naturaldocs Menu + init.sh: fix typo + * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization. - Add /etc/modules.conf from hell - Actually, from http://www.janerob.com/rob/ts5100/modules.conf + init.sh: make it easier for a test script to write to the tty, ... + when using automake's parallel-tests mode. + * tests/init.sh (stderr_fileno_): Define overridable variable. + (warn_): New function, to use it. + (fail_, skip_, framework_failure_): Use warn_. -2010-05-13 Matthew Booth +2010-04-04 Bruno Haible - Modules_conf: new lens for modules.conf and conf.modules + btowc: Avoid warning. + * lib/btowc.c: Include . + Reported by Hauke Fath . - Modprobe: Refactor to make re-use easier +2010-04-04 Hauke Fath (tiny change) + Bruno Haible -2010-05-11 David Lutterkort + wchar: Port to NetBSD 1.5. + * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists. + * lib/wctype.in.h (WEOF): Likewise. - * src/augeas.c: record expression for defvar in /augeas/variables +2010-04-04 Hauke Fath (tiny change) + Bruno Haible -2010-05-07 David Lutterkort + Port extended stdio to NetBSD 1.5. + * lib/stdio-impl.h [NetBSD]: Include . + (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and + older. + +2010-04-04 Bruno Haible + + string: Remove unused substitution. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize + HAVE_DECL_STRERROR. + * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR. + +2010-04-04 Bruno Haible + + strtod: Avoid a possible C++ test error. + * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't + set REPLACE_STRTOD. + +2010-04-04 Bruno Haible + + strerror: Update documentation. + * doc/posix-functions/strerror.texi: Remove mention of old platforms. + +2010-04-04 Bruno Haible + + stdio: Fix some C++ test errors on Solaris 8 with GCC. + * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use + _GL_CXXALIAS_SYS_CAST. + +2010-04-04 Bruno Haible + + frexpl: Fix a C++ test error on Solaris 8 and Cygwin. + * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the + function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting + REPLACE_FREXPL to 1. + * doc/posix-functions/frexpl.texi: Update documentation. + +2010-04-04 Bruno Haible + + math: Fix some C++ test errors on Solaris 8 and Cygwin. + * lib/math.in.h (cosl, logl, sinl): Use simpler idiom. + +2010-04-04 Bruno Haible + + Implement nanosleep for native Windows. + * lib/nanosleep.c (nanosleep): New implementation for native Windows. + +2010-04-04 Bruno Haible + + math: Fix some C++ test errors on Solaris 8. + * lib/math.in.h (truncf, trunc): Use simpler idiom. + +2010-04-04 Bruno Haible + + math: Fix some C++ test errors on Cygwin. + * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl, + truncl): Provide declaration if the system does not have it. + * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set + HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1. + * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set + HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1. + * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set + HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1. + * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set + HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1. + * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set + HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1. + * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set + HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1. + * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set + HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1. + * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set + HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF, + HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND, + HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL. + * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF, + HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND, + HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL. + +2010-04-04 Bruno Haible + + * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation. + * m4/ceill.m4 (gl_FUNC_CEILL): Likewise. + * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise. + * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise. + * m4/isfinite.m4 (gl_ISFINITE): Likewise. + * m4/isinf.m4 (gl_ISINF): Likewise. + * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise. + +2010-04-04 Bruno Haible + + * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation. + * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise. + +2010-04-04 Bruno Haible + + * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE. + * modules/tmpfile (configure.ac): Update. + + tmpfile: Fix C++ test error on mingw. + * lib/stdio.in.h (tmpfile): New declaration. + * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set + REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h. + * modules/tmpfile (Depends-on): Add stdio. + (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR. + * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared. + (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE. + * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and + REPLACE_TMPFILE. + * tests/test-stdio-c++.cc (tmpfile): Verify signature. + +2010-04-04 Bruno Haible + + ioctl: Fix C++ test error on mingw. + * lib/ioctl.c (ioctl): Renamed from rpl_ioctl. + * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1, + use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL. + +2010-04-03 Bruno Haible + + wcwidth: Fix C++ test error on mingw. + * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not + exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH. + +2010-04-03 Bruno Haible + + nanosleep: Fix C++ test error on mingw. + * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep. + * lib/time.in.h (nanosleep): Use modern idiom. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a + nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting + REPLACE_NANOSLEEP to 1. + * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP. + * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP. + +2010-04-03 Bruno Haible + + strptime: Fix C++ test error on mingw. + * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME. + * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not + REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME. + (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME. + * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME, + not REPLACE_STRPTIME. + * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not + REPLACE_STRPTIME. + +2010-04-03 Bruno Haible + + timegm: Fix C++ test error on mingw. + * lib/time.in.h (timegm): Use modern idiom. + * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set + HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1. + * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM. + * modules/time (Makefile.am): Substitute HAVE_TIMEGM. + +2010-04-03 Bruno Haible + + timegm: Assume declaration if function exists. + * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only + if it exists. Don't clobber ac_cv_func_timegm. + +2010-04-03 Bruno Haible + + time_r: Fix C++ test error on mingw. + * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom. + * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set + HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1. + * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R. + * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R. + +2010-04-03 Bruno Haible + + time_r: Minor updates. + * modules/time_r (Description): Mention the provided functions. + * lib/time_r.c: Don't include . + * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module. + * doc/posix-functions/localtime_r.texi: Likewise. + +2010-04-03 Bruno Haible + + time: Fix regression introduced on 2010-03-08. + * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require + gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS. + +2010-04-03 Jim Meyering + + maint.mk: don't silently disable project-specific syntax-check rules + * top/maint.mk (_prohibit_regexp): Define, to help people realize + that they need to convert their project-specific syntax-check rules + to use the new _sc_search_regexp. + +2010-04-03 Bruno Haible + + fchdir: Fix regression introduced on 2010-03-08. + * lib/unistd.in.h (fchdir): Fix declaration. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not + REPLACE_FCHDIR. + * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not + REPLACE_FCHDIR. + +2010-04-03 Bruno Haible - * Grub: handle comments within a boot stanza - Fixes RH BZ 590067 + getpagesize: Fix C++ test error on mingw. + * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the + system does not declare the function. + * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's + declared. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + HAVE_DECL_GETPAGESIZE. + * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE. - Adjust copyright notices - - copyright is from creation of file through 2010 - - adjust copyright owner according to Red Hat's policy +2010-04-03 Bruno Haible -2010-05-04 Raphael Pinson + stdio: Make C++ tests work on mingw. + * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system + does not declare the function. - Group: add test for disabled account ('!' in password field) +2010-04-03 Bruno Haible -2010-04-27 seph + ftello: Fix C++ test error on mingw. + * lib/stdio.in.h (ftello): Use modern idiom. + * lib/ftello.c (ftello): Renamed from rpl_ftello. + * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function + is missing and that it needs to be replaced. + (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO. + * modules/stdio (Makefile.am): Substitute HAVE_FTELLO. + +2010-04-03 Bruno Haible + + fseeko: Fix C++ test error on mingw. + * lib/stdio.in.h (fseeko): Use modern idiom. + * lib/fseeko.c (fseeko): Renamed from rpl_fseeko. + * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function + is missing and that it needs to be replaced. + (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO. + * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO. + +2010-04-03 Bruno Haible + + mkstemp: Fix C++ test error on mingw. + * lib/stdlib.in.h (mkstemp): Use modern idiom. + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the + function is missing and that it needs to be replaced. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP. + * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP. + +2010-04-03 Bruno Haible + + stpncpy: Fix C++ test error on mingw. + * lib/string.in.h (stpncpy): Use modern idiom. + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the + function is missing and that it needs to be replaced. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + REPLACE_STPNCPY. + * modules/string (Makefile.am): Substitute REPLACE_STPNCPY. + +2010-04-03 Bruno Haible + + sys_stat: Fix C++ test error on mingw. + * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro. + * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1. + +2010-04-03 Bruno Haible + + pty: Update doc. + * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18. + +2010-04-03 Bruno Haible + + unistd: Fix C++ test error on mingw. + * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST. + +2010-04-03 Bruno Haible + + Update doc regarding mingw. + * doc/glibc-functions/openpty.texi: Update regarding mingw. + * doc/glibc-functions/login_tty.texi: Likewise. + * doc/glibc-functions/forkpty.texi: Likewise. + +2010-04-03 Bruno Haible + + stdlib: Avoid compilation failure of c-strtold on mingw. + * lib/stdlib.in.h: Don't include on native Windows systems. + +2010-04-03 Bruno Haible + + locale: Make C++ tests work on Cygwin and mingw. + * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib + cannot provide the function. + Reported by Simon Josefsson. + +2010-04-03 Bruno Haible + + localename: Port to MacOS X 10.6. + * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the + memory layout of the locales in MacOS X 10.6 as well. + Reported by Panu Kekäläinen . + +2010-04-02 Bruno Haible + + gnulib-tool: Ensure that long-running tests are executed last. + * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long- + running tests after the one for the other tests. + +2010-04-02 Bruno Haible + + gnulib-tool: Ensure the tests in the main directory are executed first. + * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to + start with the current directory. + +2010-04-02 Bruno Haible + + Tests for module 'havelib', moved here from GNU gettext. + * modules/havelib-tests: New file, from gettext/autoconf-lib-link with + modifications. + * tests/havelib/README: New file, from gettext/autoconf-lib-link. + * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link + with modifications. + * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with + modifications. + * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link + with modifications. + * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link + with modifications. + * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link + with modifications. + * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link + with modifications. + * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link. + * tests/havelib/rpathx/rpathx.c: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathx/Makefile.am: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathx/configure.ac: New file, from + gettext/autoconf-lib-link with modifications. + * tests/havelib/rpathy/rpathy.c: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathy/Makefile.am: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathy/configure.ac: New file, from + gettext/autoconf-lib-link with modifications. + * tests/havelib/rpathz/rpathz.c: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathz/Makefile.am: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathz/configure.ac: New file, from + gettext/autoconf-lib-link with modifications. + * tests/havelib/rpathlx/usex.c: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathlx/Makefile.am: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathlx/configure.ac: New file, from + gettext/autoconf-lib-link with modifications. + * tests/havelib/rpathly/usey.c: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathly/Makefile.am: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathly/configure.ac: New file, from + gettext/autoconf-lib-link with modifications. + * tests/havelib/rpathlz/usez.c: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathlz/Makefile.am: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathlz/configure.ac: New file, from + gettext/autoconf-lib-link with modifications. + * tests/havelib/rpathlyx/usey.c: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathlyx/Makefile.am: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathlyx/configure.ac: New file, from + gettext/autoconf-lib-link with modifications. + * tests/havelib/rpathlzyx/usez.c: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathlzyx/Makefile.am: New file, from + gettext/autoconf-lib-link. + * tests/havelib/rpathlzyx/configure.ac: New file, from + gettext/autoconf-lib-link with modifications. + * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link + with modifications. + +2010-04-02 Bruno Haible + + gnulib-tool: Create distributed built sources also for the tests. + * gnulib-tool (func_create_testdir): Also generate distributed built + sources in the tests directory. + +2010-04-02 Bruno Haible + + gnulib-tool: Obey user's environment variables. + * gnulib-tool (func_create_testdir): When creating built sources, + respect the environment variables for autoconf, automake, etc. given by + the user. + +2010-04-02 Bruno Haible + + gnulib-tool: Provide the value of --m4-base to modules. + * gnulib-tool (func_import, func_create_testdir): Emit a definition + of gl_m4_base. + +2010-04-02 Eric Blake + + maint.mk: fix some fallout + * NEWS: Document the incompatible change, and its effect on cfg.mk. + * top/maint.mk (sc_prohibit_test_minus_ao): Update. + +2010-03-28 Jose E. Marchesi + + maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp + * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp. + (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp. + (sc_cast_of_x_alloc_return_value): Likewise. + (sc_cast_of_alloca_return_value): Likewise. + (sc_space_tab): Likewise. + (sc_prohibit_atoi_atof): Likewise. + (sc_prohibit_magic_number_exit): Likewise. + (sc_error_exit_success): Likewise. + (sc_file_system): Likewise. + (sc_prohibit_have_config_h): Likewise. + (sc_require_config_h): Likewise. + (sc_prohibit_HAVE_MBRTOWC): Likewise. + (sc_obsolete_symbols): Likewise. + (sc_changelog): Likewise. + (sc_program_name): Likewise. + (sc_the_the): Likewise. + (sc_trailing_blank): Likewise. + (sc_two_space_separator_in_usage): Likewise. + (sc_useless_cpp_parens): Likewise. + (sc_GPL_version): Likewise. + (sc_GFDL_version): Likewise. + (sc_texinfo_acronym): Likewise. + (sc_prohibit_cvs_keyword): Likewise. + (sc_prohibit_stat_st_blocks): Likewise. + (sc_prohibit_S_IS_definition): Likewise. + (sc_redundant_const): Likewise. + (sc_makefile_TAB_only_indentation): Likewise. + (sc_m4_quote_check): Likewise. + (sc_makefile_path_separator_check): Likewise. + (sc_copyright_check): Likewise. + (sc_Wundef_boolean): Likewise. + (sc_vulnerable_makefile_CVE-2009-4029): Likewise. + + maint.mk: match 0 or more whitespace-before-function-call '(' + * top/maint.mk (sc_error_exit_success): Relax regexp to match uses + that have zero or two-and-more spaces between the function name + and the open parenthesis. + (sc_error_message_warn_fatal): Likewise. + (sc_error_message_uppercase): Likewise. + (sc_error_message_period): Likewise. + +2010-03-31 Eric Blake + + maint.mk: check for [ as well as test + * top/maint.mk (sc_prohibit_test_minus_ao): Extend test. + Based on a libvirt report by Matthias Bolte. + + gnumakefile: don't squelch _version output + * top/GNUmakefile (_version): Create one-shot dependency rather + than using $(shell) when version must be regenerated. + (_autoreconf): Run verbosely, by default. + + sys_time: avoid compiler warnings + * lib/sys_time.in.h (includes): Ensure gcc pragma is + unconditional, fixing regression from 2010-03-29. + Reported by Simon Josefsson. + +2010-03-28 Jose E. Marchesi + + maint.mk: s/_header_without_use/_sc_header_without_use/ + * top/maint.mk (_sc_header_without_use): Rename from _header_without_use. + (sc_prohibit_assert_without_use): Use the new name. + (sc_prohibit_close_stream_without_use): Likewise. + (sc_prohibit_getopt_without_use): Likewise. + (sc_prohibit_quotearg_without_use): Likewise. + (sc_prohibit_quote_without_use): Likewise. + (sc_prohibit_long_options_without_use): Likewise. + (sc_prohibit_inttostr_without_use): Likewise. + (sc_prohibit_ignore_value_without_use): Likewise. + (sc_prohibit_error_without_use): Likewise. + (sc_prohibit_xalloc_without_use): Likewise. + (sc_prohibit_hash_without_use): Likewise. + (sc_prohibit_hash_pjw_without_use): Likewise. + (sc_prohibit_safe_read_without_use): Likewise. + (sc_prohibit_argmatch_without_use): Likewise. + (sc_prohibit_canonicalize_without_use): Likewise. + (sc_prohibit_root_dev_ino_without_use): Likewise. + (sc_prohibit_openat_without_use): Likewise. + (sc_prohibit_c_ctype_without_use): Likewise. + (sc_prohibit_signal_without_use): Likewise. + (sc_prohibit_intprops_without_use): Likewise. + +2010-03-30 Eric Blake + + maint: improve module indicators + * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE) + (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80 + columns, and avoid extra macro expansion. + + fdopendir: work around FreeBSD bug + * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness. + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it. + * modules/dirent (Makefile.am): Substitute it. + * lib/dirent.in.h (fdopendir): Supply missing FreeBSD + declaration. + * doc/posix-functions/fdopendir.texi (fdopendir): Document the + fix. + Reported by Christian Weisgerber . + +2010-03-29 Bruno Haible + + Emit #pragma system_header after the inclusion guard, not before. + * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion + guard that spans the entire file, not before. This enables an + optimization in GCC's preprocessor. + * lib/ctype.in.h: Likewise. + * lib/dirent.in.h: Likewise. + * lib/errno.in.h: Likewise. + * lib/float.in.h: Likewise. + * lib/getopt.in.h: Likewise. + * lib/iconv.in.h: Likewise. + * lib/langinfo.in.h: Likewise. + * lib/locale.in.h: Likewise. + * lib/math.in.h: Likewise. + * lib/netdb.in.h: Likewise. + * lib/netinet_in.in.h: Likewise. + * lib/pty.in.h: Likewise. + * lib/sched.in.h: Likewise. + * lib/se-selinux.in.h: Likewise. + * lib/search.in.h: Likewise. + * lib/spawn.in.h: Likewise. + * lib/stdarg.in.h: Likewise. + * lib/stdint.in.h: Likewise. + * lib/string.in.h: Likewise. + * lib/strings.in.h: Likewise. + * lib/sys_file.in.h: Likewise. + * lib/sys_ioctl.in.h: Likewise. + * lib/sys_time.in.h: Likewise. + * lib/sys_times.in.h: Likewise. + * lib/sys_utsname.in.h: Likewise. + * lib/sys_wait.in.h: Likewise. + * lib/sysexits.in.h: Likewise. + * lib/wctype.in.h: Likewise. + +2010-03-28 James Youngman + + save-cwd: don't leak a file descriptor when the caller execs. + * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the + saved file descriptor. + * modules/save-cwd (Depends-on): Depend on cloexec. + +2010-03-29 Bruno Haible + + Remove vestiges of fts-lgpl module. + * lib/fts_.h: Assume GNULIB_FTS is 1. + * lib/fts.c: Likewise. + * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation. + +2010-03-28 Bruno Haible + + Fix definition of tests witness macro. + * gnulib-tool (func_import): Fix definition of witness macro. + +2010-03-28 Bruno Haible + + Fix ioctl's protoype on glibc systems. + * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use + _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST. + * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper. + * modules/ioctl (configure.ac): Test whether ioctl has the POSIX + signature. If not, arrange to replace the ioctl function. + * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize + REPLACE_IOCTL. + * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL. + * doc/posix-functions/ioctl.texi: Mention the glibc problem. + Reported by Ludovic Courtès . + +2010-03-28 Javier Villavicencio + + exclude: fix the case of globs vs. EXCLUDE_INCLUDE + * lib/exclude.c (excluded_file_pattern_p): Fix logic error that + made it so grep -r --include=GLOB* ... did not work. + +2010-03-26 Jim Meyering + Eric Blake + + maint.mk: prohibit use of test's -o and -a operators + * top/maint.mk (sc_prohibit_test_minus_ao): New rule. + +2010-03-28 Bruno Haible + + Remove unused GNULIB_XYZ macro definitions. + * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR + invocation. + +2010-03-28 Bruno Haible + + Mark privileged tests modules. + * modules/idpriv-drop-tests (Status): New section. + * modules/idpriv-droptemp-tests (Status): New section. + +2010-03-28 Bruno Haible + + Split C++ tests into separate tests modules. + * modules/dirent-c++-tests: New file, extracted from + modules/dirent-tests. + * modules/dirent-tests: Depend on it. + * modules/fcntl-h-c++-tests: New file, extracted from + modules/fcntl-h-tests. + * modules/fcntl-h-tests: Depend on it. + * modules/glob-c++-tests: New file, extracted from modules/glob-tests. + * modules/glob-tests: Depend on it. + * modules/iconv-h-c++-tests: New file, extracted from + modules/iconv-h-tests. + * modules/iconv-h-tests: Depend on it. + * modules/langinfo-c++-tests: New file, extracted from + modules/langinfo-tests. + * modules/langinfo-tests: Depend on it. + * modules/locale-c++-tests: New file, extracted from + modules/locale-tests. + * modules/locale-tests: Depend on it. + * modules/math-c++-tests: New file, extracted from modules/math-tests. + * modules/math-tests: Depend on it. + * modules/pty-c++-tests: New file, extracted from modules/pty-tests. + * modules/pty-tests: Depend on it. + * modules/search-c++-tests: New file, extracted from + modules/search-tests. + * modules/search-tests: Depend on it. + * modules/signal-c++-tests: New file, extracted from + modules/signal-tests. + * modules/signal-tests: Depend on it. + * modules/spawn-c++-tests: New file, extracted from + modules/spawn-tests. + * modules/spawn-tests: Depend on it. + * modules/stdio-c++-tests: New file, extracted from + modules/stdio-tests. + * modules/stdio-tests: Depend on it. + * modules/stdlib-c++-tests: New file, extracted from + modules/stdlib-tests. + * modules/stdlib-tests: Depend on it. + * modules/string-c++-tests: New file, extracted from + modules/string-tests. + * modules/string-tests: Depend on it. + * modules/sys_ioctl-c++-tests: New file, extracted from + modules/sys_ioctl-tests. + * modules/sys_ioctl-tests: Depend on it. + * modules/sys_select-c++-tests: New file, extracted from + modules/sys_select-tests. + * modules/sys_select-tests: Depend on it. + * modules/sys_socket-c++-tests: New file, extracted from + modules/sys_socket-tests. + * modules/sys_socket-tests: Depend on it. + * modules/sys_stat-c++-tests: New file, extracted from + modules/sys_stat-tests. + * modules/sys_stat-tests: Depend on it. + * modules/sys_time-c++-tests: New file, extracted from + modules/sys_time-tests. + * modules/sys_time-tests: Depend on it. + * modules/time-c++-tests: New file, extracted from modules/time-tests. + * modules/time-tests: Depend on it. + * modules/unistd-c++-tests: New file, extracted from + modules/unistd-tests. + * modules/unistd-tests: Depend on it. + * modules/wchar-c++-tests: New file, extracted from + modules/wchar-tests. + * modules/wchar-tests: Depend on it. + * modules/wctype-c++-tests: New file, extracted from + modules/wctype-tests. + * modules/wctype-tests: Depend on it. + Reported by Simon Josefsson. + +2010-03-28 Bruno Haible + + gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'. + * gnulib-tool (func_exists_module): New function, extracted from + func_verify_module. + (func_verify_module): Use it. + (func_get_dependencies): Synthetize a dependency from 'foo-tests' to + 'foo' only if 'foo' exists. + * doc/gnulib.texi (Extra tests modules): Explain how to split a tests + module. - Shellvars: process /etc/environment +2010-03-28 Bruno Haible + + gnulib-tool: Add support for special categories of tests. + * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests, + --with-privileged-tests, --with-unportable-tests, --with-all-tests. + (func_usage): Document them. + (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests, + inc_unportable_tests, inc_all_tests): New variables. + (func_acceptable): Consider these variables. + (func_modules_transitive_closure): Make it work when the 'Status' field + consists of multiple words. + (func_import): Store and restore the values of inc_cxx_tests, + inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests, + inc_all_tests in gnulib-comp.m4. + (func_create_testdir): Set inc_all_tests to true. + * doc/gnulib.texi (Extra tests modules): New section. + Suggested by Jim Meyering. -2010-04-26 Nicolas Valcárcel Scerpella +2010-03-28 Bruno Haible + + ansi-c++-opt: Allow turning off the C++ build by default. + * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if + gl_CXX_CHOICE_DEFAULT_NO is defined. + Requested by Eric Blake. + +2010-03-28 Bruno Haible + + unistd: Avoid #define replacements in C++ mode. + * lib/unistd.in.h (socket, connect, accept, bind, getpeername, + getsockname, getsockopt, listen, recv, send, recvfrom, sendto, + setsockopt, shutdown, select): In C++, attach a warning to the function + if possible, rather than #defining the symbol to a dysfunctional alias. + Reported by John W. Eaton . + +2010-03-28 Bruno Haible + + Fix link errors on mingw. + * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom. + * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with + $(LIBSOCKET). + * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with + $(LIBSOCKET). + +2010-03-28 Bruno Haible + Ralf Wildenhues + + lib-ignore: Determine different options for different compilers. + * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which + depends on the current language (C/C++/Fortran). Don't set LDFLAGS. + Add comments. + (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro. + * NEWS: Mention the change. + +2010-03-27 Bruno Haible + + Remove unused GNULIB_XYZ macro definitions. + * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation. + * modules/fseek (configure.ac): Likewise. + * modules/ioctl (configure.ac): Likewise. + * modules/open (configure.ac): Likewise. + * modules/stdlib-safer (configure.ac): Likewise. + +2010-03-27 Bruno Haible + + Add a remark about certain modules. + * modules/malloc (Comment): New section. + * modules/realloc (Comment): Likewise. + * modules/sigpipe (Comment): Likewise. + +2010-03-27 Bruno Haible + + Resolve conflict between the two kinds of module indicators. + * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define + GNULIB_TEST_XYZ instead of GNULIB_XYZ. + * modules/canonicalize (configure.ac): Invoke + gl_MODULE_INDICATOR_FOR_TESTS. + * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of + GNULIB_XYZ. + * tests/test-dirent-c++.cc: Likewise. + * tests/test-dirent-safer.c: Likewise. + * tests/test-dup2.c: Likewise. + * tests/test-fchdir.c: Likewise. + * tests/test-fcntl-h-c++.cc: Likewise. + * tests/test-getopt.c: Likewise. + * tests/test-getopt.h: Likewise. + * tests/test-langinfo-c++.cc: Likewise. + * tests/test-locale-c++.cc: Likewise. + * tests/test-math-c++.cc: Likewise. + * tests/test-pty-c++.cc: Likewise. + * tests/test-search-c++.cc: Likewise. + * tests/test-signal-c++.cc: Likewise. + * tests/test-spawn-c++.cc: Likewise. + * tests/test-stdio-c++.cc: Likewise. + * tests/test-stdlib-c++.cc: Likewise. + * tests/test-string-c++.cc: Likewise. + * tests/test-sys_ioctl-c++.cc: Likewise. + * tests/test-sys_select-c++.cc: Likewise. + * tests/test-sys_socket-c++.cc: Likewise. + * tests/test-sys_stat-c++.cc: Likewise. + * tests/test-sys_time-c++.cc: Likewise. + * tests/test-time-c++.cc: Likewise. + * tests/test-unistd-c++.cc: Likewise. + * tests/test-wchar-c++.cc: Likewise. + * tests/uninorm/test-u8-nfc.c: Likewise. + * tests/uninorm/test-u8-nfd.c: Likewise. + * tests/uninorm/test-u8-nfkc.c: Likewise. + * tests/uninorm/test-u8-nfkd.c: Likewise. + * tests/uninorm/test-u16-nfc.c: Likewise. + * tests/uninorm/test-u16-nfd.c: Likewise. + * tests/uninorm/test-u16-nfkc.c: Likewise. + * tests/uninorm/test-u16-nfkd.c: Likewise. + * tests/uninorm/test-u32-nfc.c: Likewise. + * tests/uninorm/test-u32-nfc-big.c: Likewise. + * tests/uninorm/test-u32-nfd.c: Likewise. + * tests/uninorm/test-u32-nfd-big.c: Likewise. + * tests/uninorm/test-u32-nfkc.c: Likewise. + * tests/uninorm/test-u32-nfkc-big.c: Likewise. + * tests/uninorm/test-u32-nfkd.c: Likewise. + * tests/uninorm/test-u32-nfkd-big.c: Likewise. + * tests/uninorm/test-u32-normalize-big.c: Likewise. + +2010-03-27 Bruno Haible + + Distinguish two kinds of module indicators. + * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from + gl_MODULE_INDICATOR. + (gl_MODULE_INDICATOR): New macro. + * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR. + * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise. + * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise. + * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise. + * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise. + * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise. + * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise. + * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise. + * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise. + * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise. + * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise. + * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise. + * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise. + * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise. + * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise. + * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise. + * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise. + * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise. + * modules/cloexec (configure.ac): Likewise. + * modules/getopt-gnu (configure.ac): Likewise. + * modules/uninorm/u8-normalize (configure.ac): Likewise. + * modules/uninorm/u16-normalize (configure.ac): Likewise. + * modules/uninorm/u32-normalize (configure.ac): Likewise. + * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR. + +2010-03-27 Bruno Haible + + New module description field 'Comment'. + * gnulib-tool: New option --extract-comment. + (func_usage): Document it. + (sed_extract_prog, sed_extract_field_header): Support 'Comment' field. + (func_get_comment): New function. + * modules/TEMPLATE-EXTENDED: Add a blank Comment field. + +2010-03-27 Bruno Haible + + Addendum to 2010-02-07 commit. + * gnulib-tool (func_usage): Document --extract-applicability option. + +2010-03-27 Bruno Haible + + Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK. + * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test + GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings + rather than link errors. + +2010-03-27 Bruno Haible + + Avoid side effects from tests-related modules on the compilation of lib. + * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro. + (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value. + * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro + parameter. Emit into AM_CPPFLAGS a definition of the designated C + macro. + (func_import): Define a witness macro. Assign it a value that depends + on the current package. Override gl_MODULE_INDICATOR_CONDITION for the + tests-related modules. + (func_create_testdir): Update func_emit_tests_Makefile_am invocation. + Reported by Jim Meyering. + +2010-03-27 Bruno Haible + + Factorize common .m4 code. + * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro. + * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it. + * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise. + * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise. + * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise. + * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise. + * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise. + * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise. + * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise. + * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise. + * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise. + * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise. + * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise. + * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise. + * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise. + * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise. + * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise. + * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise. + * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise. + * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise. + * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise. + * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise. + * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise. + * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise. + * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise. + * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise. + * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise. + * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise. + * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise. + * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise. + +2010-03-27 Bruno Haible + + Fix a compilation error on Cygwin with g++ >= 4.3. + * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function + if it is undefined or if we alias it to chmod. + (lstat): Don't warn about the use of this function if it is undefined + or if we alias it to stat. + Reported by Simon Josefsson. + +2010-03-27 Bruno Haible + + * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN. + * modules/getlogin (configure.ac): Update. + + * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R. + * modules/getlogin_r (configure.ac): Update. + + * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP. + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update. + * modules/inet_ntop (configure.ac): Update. + + * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON. + * modules/inet_pton (configure.ac): Update. + + * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN. + * modules/mbslen (configure.ac): Update. + + * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY. + (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY. + * modules/forkpty (configure.ac): Update. + * modules/openpty (configure.ac): Update. + +2010-03-26 Simon Josefsson + + * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is + no *.texi files. Reported by Eric Blake . + +2010-03-25 Eric Blake + + maint: use pragma consistently across replacement headers + * lib/ctype.in.h (system_header): Hoist for consistent placement. + * lib/dirent.in.h (system_header): Likewise. + * lib/errno.in.h (system_header): Likewise. + * lib/float.in.h (system_header): Likewise. + * lib/getopt.in.h (system_header): Likewise. + * lib/iconv.in.h (system_header): Likewise. + * lib/inttypes.in.h (system_header): Likewise. + * lib/langinfo.in.h (system_header): Likewise. + * lib/locale.in.h (system_header): Likewise. + * lib/math.in.h (system_header): Likewise. + * lib/netdb.in.h (system_header): Likewise. + * lib/netinet_in.in.h (system_header): Likewise. + * lib/pty.in.h (system_header): Likewise. + * lib/sched.in.h (system_header): Likewise. + * lib/se-selinux.in.h (system_header): Likewise. + * lib/search.in.h (system_header): Likewise. + * lib/spawn.in.h (system_header): Likewise. + * lib/stdarg.in.h (system_header): Likewise. + * lib/stdint.in.h (system_header): Likewise. + * lib/string.in.h (system_header): Likewise. + * lib/strings.in.h (system_header): Likewise. + * lib/sys_file.in.h (system_header): Likewise. + * lib/sys_ioctl.in.h (system_header): Likewise. + * lib/sys_socket.in.h (system_header): Likewise. + * lib/sys_times.in.h (system_header): Likewise. + * lib/sys_utsname.in.h (system_header): Likewise. + * lib/sys_wait.in.h (system_header): Likewise. + * lib/sysexits.in.h (system_header): Likewise. + * lib/unistd.in.h (system_header): Likewise. + * lib/wctype.in.h (system_header): Likewise. + + arpa/inet: fix mingw compilation warning + * lib/arpa_inet.in.h (system_header): Hoist to be unconditional. + Reported by Matthew Bolte. + +2010-03-25 Bruno Haible + + Avoid collision between gnulib wrapper and libintl wrapper. + * lib/printf.c (printf): Don't define if a printf wrapper is already + defined in intl/printf.c. + Reported by Michel Boaventura . + +2010-03-25 Bruno Haible + + Use ANSI C. + * lib/readutmp.h (getutent): Provide ANSI C prototype. + +2010-03-25 Bruno Haible + + Minor formatting changes. + * lib/acosl.c: Insert space before function argument list. + * lib/argz.c: Likewise. + * lib/asinl.c: Likewise. + * lib/expl.c: Likewise. + * lib/gen-uni-tables.c: Likewise. + * lib/gettext.h: Likewise. + * lib/glthread/lock.h: Likewise. + * lib/tanl.c: Likewise. + * lib/uniname/uniname.c: Likewise. + * tests/test-idpriv-drop.c: Likewise. + * tests/test-idpriv-droptemp.c: Likewise. + * tests/test-lock.c: Likewise. + * tests/test-tls.c: Likewise. + * lib/argp-help.c: Insert space before function-like macro argument + list. + * lib/memcmp.c: Likewise. + * tests/test-base64.c: Likewise. + * lib/localename.c: Insert space before sizeof's argument list. + * lib/safe-alloc.h: Likewise. + * lib/file-set.h: Insert space before macro argument list. + * tests/test-argp.c: Likewise. + * lib/argp-namefrob.h: Insert space before function parameter list. + * lib/getaddrinfo.c: Likewise. + * lib/netdb.in.h: Likewise. + * lib/parse-duration.h: Likewise. + * lib/parse-duration.c: Likewise. + * lib/poll.c: Likewise. + * lib/select.c: Likewise. + * lib/trim.h: Likewise. + * tests/test-usleep.c: Likewise. + * lib/ldexpl.c: Insert space before function parameter list and before + function argument list. + * lib/logl.c: Likewise. + * lib/sqrtl.c: Likewise. + * lib/trim.c: Likewise. + * lib/cosl.c: Use GNU style indentation. Insert space before function + argument list. + * lib/sinl.c: Likewise. + * lib/tsearch.c: Insert space after 'for'. + Reported by Jim Meyering. + +2010-03-23 Pádraig Brady (tiny change) + + * maint.mk (sc_Wundef_boolean): Check for the presence of the + config header before grepping, as it's not present before + autoreconf/configure are run. Reported by Simon Josefsson. + +2010-03-23 Bruno Haible + + pt_chown: Make it work with automake < 1.11. + * modules/pt_chown (Makefile.am): Define pkglibexecdir. + Reported by Simon Josefsson. + +2010-03-23 Bruno Haible + + pt_chown: Don't depend on GPLed modules. + * lib/pt_chown.c: Don't include idpriv.h. + (main): Don't drop privileges. + * modules/pt_chown (Depends-on): Remove idpriv-drop. + Reported by Simon Josefsson. + +2010-03-24 Simon Josefsson + + * top/maint.mk (sc_texinfo_acronym): Add rule, based on + suggestions from karl@freefriends.org (Karl Berry). + +2010-03-22 Eric Blake + + gethostname: further tweaks + * lib/unistd.in.h (includes): Only worry about if we + are overriding gethostname. + Suggested by Bruno Haible. + +2010-03-21 Bruno Haible + + Fix comments. + * lib/forkpty.c (rpl_forkpty): Fix comment. + * lib/openpty.c (rpl_openpty): Likewise. + Reported by Eric Blake. + +2010-03-22 Eric Blake + + gethostname: fix build on mingw + * lib/unistd.in.h (includes): Work around fact that mingw + re-includes , by avoiding any + redeclarations if we are being included by . + Reported by Matthias Bolte. + +2010-03-21 Bruno Haible + + forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris. + * lib/forkpty.c (forkpty): New replacement function, from glibc with + modifications. + * lib/pty.in.h (forkpty): Update declaration. Add comments. + * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to + provide the replacement. + * modules/forkpty (Depends-on): Add openpty, login_tty. + * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY. + * modules/pty (Makefile.am): Substitute HAVE_FORKPTY. + * doc/glibc-functions/forkpty.texi: More supported platforms. + * config/srclist.txt: Add forkpty.c (commented). + +2010-03-21 Bruno Haible + + * modules/forkpty-tests: Use the common TEMPLATE-TESTS. + (Makefile.am): Verify that PTY_LIB is defined. + + * modules/openpty-tests: Use the common TEMPLATE-TESTS. + +2010-03-21 Bruno Haible + + Tests for module 'login_tty'. + * modules/login_tty-tests: New file. + * tests/test-login_tty.c: New file. + + New module 'login_tty'. + * lib/login_tty.c: New file. + * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro. + * modules/login_tty: New file. + * doc/glibc-functions/login_tty.texi: Mention the new module. + +2010-03-21 Bruno Haible + + login_tty: Documentation. + * doc/glibc-functions/login_tty.texi: New file. + * doc/gnulib.texi (Glibc ): Include it. + +2010-03-21 Bruno Haible + + pty: Consistent macro naming. + * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY. + * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update. + * modules/pty (configure.ac): Update. + +2010-03-21 Bruno Haible + + Tests for openpty: Make stricter. + * tests/test-openpty.c (main): Add test of canonical processing and + erase. + * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined. + + openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris. + * lib/openpty.c (openpty): New replacement function. + * lib/pty.in.h: Include . + (openpty): Update declaration. Add comments. + * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty + is not declared, arrange to provide the replacement. Check for _getpty + and posix_openpt. + * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl. + * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY. + * modules/pty (Makefile.am): Substitute HAVE_OPENPTY. + * modules/pty-tests (test_pty_c___LDADD): New variable. + * doc/glibc-functions/openpty.texi: More supported platforms. + +2010-03-21 Bruno Haible + + setenv: Tweaks. + * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in + the test program. + * doc/posix-functions/setenv.texi: Update platforms list. + +2010-03-21 Bruno Haible + + New module 'unlockpt'. + * lib/unlockpt.c: New file, from glibc with modifications. + * m4/unlockpt.m4: New file. + * modules/unlockpt: New file. + * lib/stdlib.in.h (unlockpt): New declaration. + * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared. + (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT. + * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT, + HAVE_UNLOCKPT. + * doc/posix-functions/unlockpt.texi: Mention the new module. + * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt. + * config/srclist.txt: Add unlockpt.c (commented). + +2010-03-21 Jim Meyering + + maint.mk: prohibit inclusion of "intprops.h" without use + * top/maint.mk (sc_prohibit_intprops_without_use): New rule. + +2010-03-21 Bruno Haible + + New module 'grantpt'. + * lib/grantpt.c: New file, from glibc with modifications. + * m4/grantpt.m4: New file. + * modules/grantpt: New file. + * lib/stdlib.in.h (grantpt): New declaration. + * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared. + (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT. + * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT, + HAVE_GRANTPT. + * doc/posix-functions/grantpt.texi: Mention the new module. + * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt. + * config/srclist.txt: Add grantpt.c (commented). + +2010-03-21 Bruno Haible + + New module 'pt_chown'. + * lib/pt_chown.c: New file, from glibc with modifications. + * lib/pty-private.h: New file, from glibc with modifications. + * modules/pt_chown: New file. + * config/srclist.txt: Add pt_chown.c, pty-private.h (commented). + +2010-03-21 Bruno Haible + + Tests for module 'ptsname'. + * modules/ptsname-tests: New file. + * tests/test-ptsname.c: New file. + + New module 'ptsname'. + * lib/ptsname.c: New file, from glibc with modifications. + * m4/ptsname.m4: New file. + * modules/ptsname: New file. + * lib/stdlib.in.h (ptsname): New declaration. + * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared. + (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME. + * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME, + HAVE_PTSNAME. + * doc/posix-functions/ptsname.texi: Mention the new module. + * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname. + * config/srclist.txt: Add ptsname.c (commented). + +2010-03-21 Bruno Haible + + Tests for module 'ttyname_r'. + * modules/ttyname_r-tests: New file. + * tests/test-ttyname_r.c: New file. + + New module 'ttyname_r'. + * lib/ttyname_r.c: New file. + * m4/ttyname_r.m4: New file. + * modules/ttyname_r: New file. + * lib/unistd.in.h (ttyname_r): New declaration. + * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared. + (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R. + * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R, + HAVE_TTYNAME_R. + * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r. + * doc/posix-functions/ttyname_r.texi: Mention the new module. + +2010-03-20 Bruno Haible + + signal: Undefine macro definitions in C++ mode. + * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset, + sigfillset): Undefine macro definitions from the system header in C++ + mode. + Reported by John W. Eaton . + +2010-03-20 Bruno Haible + + Ensure no #include statements inside extern "C" { ... }. + * lib/obstack.h: Shrink extern "C" { ... } region so that it does not + contain #include statements. + * lib/time.in.h: Likewise. + +2010-03-20 Bruno Haible + + Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation. + * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro. + (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise. + Reported by John W. Eaton . + +2010-03-20 Bruno Haible + + * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit. + Reported by Jim Meyering. + +2010-03-20 Bruno Haible + + pipe: Set errno upon failure. + * lib/pipe.h: Specify that when -1 is returned, errno is set. + * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right + errno value in error message. + +2010-03-20 Bruno Haible + Jim Meyering + + lchown: Avoid "unused variable" warning. + * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block. + +2010-03-20 Bruno Haible + + Work around unlink() bug on MacOS X 10.5.6. + * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when + attempting to unlink a parent directory. + * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for + MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and + activate for the replacement function. + * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug. + +2010-03-20 Bruno Haible + + Fix link errors on Solaris 8. + * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP. + * modules/wctype-tests (test_wctype_c___LDADD): Likewise. + +2010-03-19 Jim Meyering + + regcomp.c: make non-_LIBC implementation of build_range_exp consistent + The _LIBC implementation of build_range_exp correctly honors the + RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints. + However, the non-_LIBC implementation would ignore that syntax-bit + flag and return REG_ERANGE unconditionally. + This change makes it honor that flag. + * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax". + Make two pointer parameters "const". + Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES. + (parse_bracket_exp): Update caller. + + regex.m4: correct the reversed range endpoint ([b-a]) test + * m4/regex.m4: When requiring that [b-a] evoke failure, + use RE_NO_EMPTY_RANGES. This makes this entire configure-time + test pass once again for x86-based systems. + +2010-03-19 Bruno Haible + + scandir: Fix link error on Solaris 8. + * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback + macros. - Iptables: also look for /etc/iptables-save - This is where Debian keeps iptables rules +2010-03-19 Bruno Haible -2010-04-26 Frederik Wagner + getusershell: Fix documentation. + * doc/glibc-functions/endusershell.texi: Refer to the getusershell + module. + * doc/glibc-functions/setusershell.texi: Likewise. + + getusershell: Provide declaration, missing on Solaris 9. + * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare + also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL. + * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists, + check whether it is declared. Set HAVE_DECL_GETUSERSHELL. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL. + * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not + HAVE_GETUSERSHELL. + * doc/glibc-functions/getusershell.texi: Mention the Solaris problem. + +2010-03-19 Bruno Haible + + wctype: Provide iswblank function. + * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl + exists and is fine. + * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists. + * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK. + * tests/test-wctype.c (main): Re-enable the iswblank tests. + * doc/posix-functions/iswblank.texi: Update. + +2010-03-19 Bruno Haible + + Tests of module 'pty' in C++ mode. + * modules/pty-tests: New file. + * tests/test-pty-c++.cc: New file. + * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR. + +2010-03-19 Eric Blake + + logb: fix documentation + * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin + 1.5 declaration bug. + + forkpty, openpty: prefer glibc's const-safe prototype + * lib/forkpty.c (rpl_forkpty): New file. + * lib/openpty.c (rpl_openpty): Likewise. + * modules/forkpty (Files): Distribute it. + * modules/openpty (Files): Likewise. + * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses. Move decl + check... + * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here. Request + replacement for for non-const BSD signature. + * modules/pty (Makefile.am): Substitute witnesses. + * lib/pty.in.h (forkpty, openpty): Declare replacements. + * tests/test-forkpty.c: Update signature check. + * tests/test-openpty.c: Likewise. + * doc/glibc-functions/forkpty.texi (forkpty): Document the fix. + * doc/glibc-functions/openpty.texi (openpty): Likewise. + + forkpty, openpty: split functions into new modules + * modules/pty (Makefile.am): Substitute new witnesses. + (Libraries): Move library detection... + * modules/forkpty: ...into new module. + * modules/openpty: Another new module. + * modules/pty-tests: Rename and split... + * modules/forkpty-tests: ...to this... + * modules/openpty-tests: ...and this. + * tests/test-pty.c: Rename and split... + * tests/test-forkpty.c: ...to this... + * tests/test-openpty.c: ...and this. + * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses. + (gl_PTY): Split library searching... + * m4/pty.m4 (gl_PTY_LIB): ...into new file. + (gl_FORKPTY, gl_OPENPTY): New macros. + * lib/pty.in.h (forkpty, openpty): Honor new witnesses. + * NEWS: Mention the split. + * MODULES.html.sh (Misc): Document the modules. + * doc/glibc-functions/forkpty.texi (forkpty): Likewise. + * doc/glibc-functions/openpty.texi (openpty): Likewise. + + pty: improve replacement header + * lib/pty.in.h: New file. + * modules/pty (Files): Ship it. + (Makefile.am): Always build replacement. + * m4/pty.m4: Rename... + * m4/pty_h.m4: ...to this. + (gl_PTY): Modernize setting of witness macros; update check of + forkpty to take proper advantage of cache. + (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros. + + getopt: avoid compiler warning + * lib/getopt.c (attribute_hidden): Remove unused macro. + +2010-03-18 Bruno Haible + + Fix link errors on Solaris 8. + * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP. + * modules/search-tests (test_search_c___LDADD): Likewise. + * modules/signal-tests (test_signal_c___LDADD): Likewise. + * modules/spawn-tests (test_spawn_c___LDADD): Likewise. + * modules/stdio-tests (test_stdio_c___LDADD): Likewise. + * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise. + * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise. + * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise. + * modules/wchar-tests (test_wchar_c___LDADD): Likewise. + +2010-03-18 Bruno Haible + + Fix bug introduced on 2010-03-14. + * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro. + (gl_SPAWN_H): Require it. + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise. + Reported by Simon Josefsson. + +2010-03-18 Bruno Haible + + Fix typo introduced on 2009-12-31. + * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of + posix_spawn_file_actions_adddup2. + +2010-03-17 Bert Wesarg (tiny change) + and Eric Blake + + test-vc-list-files-git: make more robust + * tests/test-vc-list-files-git.sh: Unset problematic environment + variables. Chain commands together. + +2010-03-17 Ludovic Courtès (tiny change) + + * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second + `AC_CHECK_DECL' invocation. + +2010-03-15 Sergey Poznyakoff + + * lib/inttostr.c (inttostr): Make sure the invocation of verify + appears before executable statements. Suggested by Petr Sumbera + . + +2010-03-14 Bruno Haible + + * tests/test-flock.c (test_exclusive): Comment out a test that causes + portability problems. Instead use a simpler test. + (main): Check that invalid arguments are rejected only on Linux. + +2010-03-14 Bruno Haible + + Fix bug introduced on 2009-12-31. + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke + gl_PREREQ_SYS_H_WINSOCK2 always. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove + SYS_SOCKET_H variable. + * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock. + Update comments. + * m4/ctype.m4 (gl_CTYPE_H): Update comments. + * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise. + * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise. + * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise. + * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise. + +2010-03-14 Bruno Haible + + Fix values returned by sinl, cosl. + * lib/trigl.h: Add specification comments. + * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula + that combines the values from the precomputed table with the values of + the Chebyshev polynomials. + +2010-03-14 Bruno Haible + + Fix compilation error when modules 'posix_spawn[p]' are not used. + * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here. + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here. + +2010-03-14 Bruno Haible + + Fix compilation error on mingw when module 'time_r' is not used. + * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R + is 1. + * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise. + * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR. + * modules/time (Makefile.am): Substitute GNULIB_TIME_R. + * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R. + +2010-03-14 Bruno Haible + + Fix compilation error with Sun C. + * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN. + Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX + instead of GCC specific ULONG_LONG_MAX. + * lib/xstrtoll.c: Likewise. + * lib/xstrtoull.c: Likewise. + +2010-03-13 Bruno Haible + + Allow the user to disable C++ code and tests. + * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro. + (gl_PROG_ANSI_CXX): Require it. + +2010-03-13 Bruno Haible + + * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special + cases. - securetty: added handling of emtpy lines/comments - * lenses/securetty.aug: - added handling of comments and empty lines - * lenses/tests/test_securetty.aug: - added test for enhanced lens +2010-03-13 Bruno Haible -2010-04-21 David Lutterkort + Test that gnulib does not break the standard C++ headers. + * tests/test-locale-c++2.cc: New file. + * modules/locale-tests (Files): Add it. + (Makefile.am): Compile it for test-locale-c++. + * tests/test-math-c++2.cc: New file. + * modules/math-tests (Files): Add it. + (Makefile.am): Compile it for test-math-c++. + * tests/test-signal-c++2.cc: New file. + * modules/signal-tests (Files): Add it. + (Makefile.am): Compile it for test-signal-c++. + * tests/test-stdio-c++2.cc: New file. + * modules/stdio-tests (Files): Add it. + (Makefile.am): Compile it for test-stdio-c++. + * tests/test-stdlib-c++2.cc: New file. + * modules/stdlib-tests (Files): Add it. + (Makefile.am): Compile it for test-stdlib-c++. + * tests/test-string-c++2.cc: New file. + * modules/string-tests (Files): Add it. + (Makefile.am): Compile it for test-string-c++. + * tests/test-time-c++2.cc: New file. + * modules/time-tests (Files): Add it. + (Makefile.am): Compile it for test-time-c++. + Reported by John W. Eaton . + +2010-03-13 Bruno Haible + + * gnulib-tool (func_usage): Clarify which options are available for + --create-testdir and --create-megatestdir. + +2010-03-13 Bruno Haible + + Fix compilation error with glibc >= 2.10 and g++ >= 4.4. + * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro. + * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro. + * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk, + strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN + when appropriate. + Reported by Jim Meyering. + +2010-03-12 Simon Josefsson + + * gnulib-tool (func_import): Explain origin of code. + +2010-03-12 Bruno Haible + + Fix problem with automake's definition of CXXLINK. + * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG. + Reported by Simon Josefsson and Ludovic Courtès. + +2010-03-12 Bruno Haible + + * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's + stable releases. - Version 0.7.1 +2010-03-11 Bruno Haible + + Fix problems with overloaded C++ definitions of memchr, strpbrk, etc. + * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless + whether the system provides one variant or multiple variants of the + function. + * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all + C++ compilers. + (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use + _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. + Reported by Jim Meyering. + +2010-03-09 Simon Josefsson + + * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug. + +2010-03-08 Bruno Haible + + gnulib-tool: Add support for --libtool in --create-testdir. + * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables. + (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE. + +2010-03-08 Eric Blake + + gnulib-tool.texi: mention possibility of git submodule + * doc/gnulib-tool.texi (VCS Issues): Add details about using git + submodules. + * doc/.gitignore: Ignore another generated file. + +2010-03-08 Karl Berry + + * doc/gnulib-tool.texi (VCS Issues): Mention third option + of committing gnulib files while skipping others. + +2010-03-07 Bruno Haible + + Tests of module 'wctype' in C++ mode. + * tests/test-wctype-c++.cc: New file. + * modules/wctype-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-wctype-c++. + + Tests of module 'wchar' in C++ mode. + * tests/test-wchar-c++.cc: New file. + * modules/wchar-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-wchar-c++. + * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'unistd' in C++ mode. + * tests/test-unistd-c++.cc: New file. + * modules/unistd-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-unistd-c++. + * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'time' in C++ mode. + * tests/test-time-c++.cc: New file. + * modules/time-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-time-c++. + * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR. + + Tests of module 'sys_time' in C++ mode. + * tests/test-sys_time-c++.cc: New file. + * modules/sys_time-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-sys_time-c++. + * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'sys_stat' in C++ mode. + * tests/test-sys_stat-c++.cc: New file. + * modules/sys_stat-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-sys_stat-c++. + * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'sys_socket' in C++ mode. + * tests/test-sys_socket-c++.cc: New file. + * modules/sys_socket-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-sys_socket-c++. + * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'sys_select' in C++ mode. + * tests/test-sys_select-c++.cc: New file. + * modules/sys_select-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-sys_select-c++. + * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'sys_ioctl' in C++ mode. + * tests/test-sys_ioctl-c++.cc: New file. + * modules/sys_ioctl-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-sys_ioctl-c++. + * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'string' in C++ mode. + * tests/test-string-c++.cc: New file. + * modules/string-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-string-c++. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'stdlib' in C++ mode. + * tests/test-stdlib-c++.cc: New file. + * modules/stdlib-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-stdlib-c++. + * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'stdio' in C++ mode. + * tests/test-stdio-c++.cc: New file. + * modules/stdio-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-stdio-c++. + * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'spawn' in C++ mode. + * tests/test-spawn-c++.cc: New file. + * modules/spawn-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-spawn-c++. + * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'signal' in C++ mode. + * tests/test-signal-c++.cc: New file. + * modules/signal-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-signal-c++. + * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'search' in C++ mode. + * tests/test-search-c++.cc: New file. + * modules/search-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-search-c++. + * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'math' in C++ mode. + * tests/test-math-c++.cc: New file. + * modules/math-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-math-c++. + * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR. + + Tests of module 'locale' in C++ mode. + * tests/test-locale-c++.cc: New file. + * modules/locale-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-locale-c++. + * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'langinfo' in C++ mode. + * tests/test-langinfo-c++.cc: New file. + * modules/langinfo-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-langinfo-c++. + * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'iconv-h' in C++ mode. + * tests/test-iconv-h-c++.cc: New file. + * modules/iconv-h-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-iconv-h-c++. + + Tests of module 'glob' in C++ mode. + * tests/test-glob-c++.cc: New file. + * modules/glob-tests (Files): Add it. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-glob-c++. + + Tests of module 'fcntl-h' in C++ mode. + * tests/test-fcntl-h-c++.cc: New file. + * modules/fcntl-h-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-fcntl-h-c++. + * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + Tests of module 'dirent' in C++ mode. + * tests/test-dirent-c++.cc: New file. + * modules/dirent-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-dirent-c++. + * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + + New module 'ansi-c++-opt'. + * modules/ansi-c++-opt: New file. + * m4/ansi-c++.m4: New file, from GNU gettext with modifications. + + Document C++ namespace mode. + * doc/gnulib.texi (A C++ namespace for gnulib): New section. + + wctype: Avoid #define replacements in C++ mode. + * lib/wctype.in.h: Include c++defs.h, warn-on-use.h. + (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower, + iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper): + In C++, define a namespaced alias symbol. + * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H. + * modules/wctype (Depends-on): Add c++defs, warn-on-use. + (Makefile.am): Provide a wctype.h replacement always. Update wctype.h + rule. + + wchar: Avoid #define replacements in C++ mode. + * lib/wchar.in.h: Include c++defs.h. + (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, + wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias + symbol. + (wcwidth): Likewise. Fix prototype to be POSIX compliant. + * modules/wchar (Depends-on): Add c++defs. + (Makefile.am): Update wchar.h rule. + + unistd: Avoid #define replacements in C++ mode. + * lib/unistd.in.h: Include c++defs.h. + (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir, + fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize, + getgroups, gethostname, getlogin, getlogin_r, getpagesize, + getusershell, setusershell, endusershell, lchown, link, linkat, lseek, + pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat, + unlink, unlinkat, usleep, write): In C++, define a namespaced alias + symbol. + (environ): Update. + * modules/unistd (Depends-on): Add c++defs. + (Makefile.am): Update unistd.h rule. + + time: Avoid #define replacements in C++ mode. + * lib/time.in.h: Include c++defs.h, warn-on-use.h. + (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++, + define a namespaced alias symbol. + * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro. + (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME, + GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM. + * modules/time (Depends-on): Add c++defs, warn-on-use. + (Makefile.am): Update time.h rule. + * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR. + * modules/nanosleep (configure.ac): Likewise. + * modules/strptime (configure.ac): Likewise. + * modules/timegm (configure.ac): Likewise. + + sys_time: Avoid #define replacements in C++ mode. + * lib/sys_time.in.h: Include c++defs.h. + (gettimeofday): In C++, define a namespaced alias symbol. + * modules/sys_time (Depends-on): Add c++defs. + (Makefile.am): Update sys/time.h rule. + + sys_stat: Avoid #define replacements in C++ mode. + * lib/sys_stat.in.h: Include c++defs.h. + (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat, + mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a + namespaced alias symbol. + In C++, define a namespaced alias symbol. + * modules/sys_stat (Depends-on): Add c++defs. + (Makefile.am): Update sys/stat.h rule. + + sys_socket: Avoid #define replacements in C++ mode. + * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin. + Include c++defs.h. Include warn-on-use.h earlier. Enable the function + definitions also when the system has a . + (socket, connect, accept, bind, getpeername, getsockname, getsockopt, + listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4): + In C++, define a namespaced alias symbol. + * modules/sys_socket (Depends-on): Add c++defs. + (Makefile.am): Update sys/socket.h rule. + + sys_select: Avoid #define replacements in C++ mode. + * lib/sys_select.in.h: Include c++defs.h. Enable the function + definitions also when the system has a . + (select): In C++, define a namespaced alias symbol. + * modules/sys_select (Depends-on): Add c++defs. + (Makefile.am): Update sys/select.h rule. + + sys_ioctl: Avoid #define replacements in C++ mode. + * lib/sys_ioctl.in.h: Include c++defs.h. + (ioctl): In C++, define a namespaced alias symbol. + * modules/sys_ioctl (Depends-on): Add c++defs. + (Makefile.am): Update sys/ioctl.h rule. + + string: Avoid #define replacements in C++ mode. + * lib/string.in.h: Include c++defs.h. + (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy. + (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy, + strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr, + strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror, + strsignal, strverscmp): In C++, define a namespaced alias symbol. + * modules/string (Depends-on): Add c++defs. + (Makefile.am): Update string.h rule. + + stdlib: Avoid #define replacements in C++ mode. + * lib/stdlib.in.h: Include c++defs.h. + (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc, + mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r, + srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv, + strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias + symbol. + * modules/stdlib (Depends-on): Add c++defs. + (Makefile.am): Update stdlib.h rule. + + stdio: Avoid #define replacements in C++ mode. + * lib/stdio.in.h: Include c++defs.h. + (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs, + freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline, + obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar, + puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf, + vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a + namespaced alias symbol. + * modules/stdio (Depends-on): Add c++defs. + (Makefile.am): Update stdio.h rule. + + spawn: Avoid #define replacements in C++ mode. + * lib/spawn.in.h: Include c++defs.h. + (posix_spawn, posix_spawnp, posix_spawnattr_init, + posix_spawnattr_destroy, posix_spawnattr_getsigdefault, + posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask, + posix_spawnattr_setsigmask, posix_spawnattr_getflags, + posix_spawnattr_setflags, posix_spawnattr_getpgroup, + posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy, + posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam, + posix_spawnattr_setschedparam, posix_spawn_file_actions_init, + posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen, + posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2): + In C++, define a namespaced alias symbol. + * modules/spawn (Depends-on): Add c++defs. + (Makefile.am): Update spawn.h rule. + + signal: Avoid #define replacements in C++ mode. + * lib/signal.in.h: Include c++defs.h. + (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset, + sigpending, sigprocmask, signal, raise, sigaction): In C++, define a + namespaced alias symbol. + * modules/signal (Depends-on): Add c++defs. + (Makefile.am): Update signal.h rule. + + search: Avoid #define replacements in C++ mode. + * lib/search.in.h: Include c++defs.h. + (_gl_search_compar_fn, _gl_search_action_fn): New types. + (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias + symbol. + * modules/search (Depends-on): Add c++defs. + (Makefile.am): Update search.h rule. + + math: Avoid #define replacements in C++ mode. + * lib/math.in.h: Include c++defs.h. + (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl, + frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf, + trunc, truncl): In C++, define a namespaced alias symbol. + * modules/math (Depends-on): Add c++defs. + (Makefile.am): Update math.h rule. + + locale: Avoid #define replacements in C++ mode. + * lib/locale.in.h: Include c++defs.h. + (duplocale): In C++, define a namespaced alias symbol. + * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE. + * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE. + * modules/locale (Depends-on): Add c++defs. + (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE. + + langinfo: Avoid #define replacements in C++ mode. + * lib/langinfo.in.h: Include c++defs.h. + (nl_langinfo): In C++, define a namespaced alias symbol. + * modules/langinfo (Depends-on): Add c++defs. + (Makefile.am): Update langinfo.h rule. + + iconv-h: Avoid #define replacements in C++ mode. + * lib/iconv.in.h: Include c++defs.h, warn-on-use.h. + (iconv_open, iconv, iconv_close): In C++, define a namespaced alias + symbol. + * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H + whenever iconv is present. + * modules/iconv-h (Depends-on): Add c++defs, warn-on-use. + (Makefile.am): Update iconv.h rule. + + glob: Avoid #define replacements in C++ mode. + * lib/glob.in.h: Include c++defs.h, warn-on-use.h. + (_gl_glob_errfunc_fn): New type. + (glob, globfree, glob_pattern_p): In C++, define a namespaced alias + symbol. + * modules/glob (Depends-on): Add c++defs, warn-on-use. + (Makefile.am): Update glob.h rule. + + fcntl-h: Avoid #define replacements in C++ mode. + * lib/fcntl.in.h: Include c++defs.h. + (fcntl, open, openat): In C++, define a namespaced alias symbol. + * modules/fcntl-h (Depends-on): Add c++defs. + (Makefile.am): Update fcntl.h rule. + + dirent: Avoid #define replacements in C++ mode. + * lib/dirent.in.h: Include c++defs.h. + (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a + namespaced alias symbol. + (dirfd): Update declaration. + * modules/dirent (Depends-on): Add c++defs. + (Makefile.am): Update dirent.h rule. + + ctype: Make it usable in C++ code. + * lib/ctype.in.h: Include c++defs.h. + (isblank): Declare as extern "C". + * modules/ctype (Depends-on): Add c++defs. + (Makefile.am): Update ctype.h rule. + + New module 'c++defs'. + * modules/c++defs: New file. + * build-aux/c++defs.h: New file. + Reported by John W. Eaton . + +2010-03-07 Bruno Haible + + logb: Provide missing declaration for Cygwin. + * lib/math.in.h (logb): New declaration. + * m4/logb.m4: New file. + * modules/logb (Files): Add m4/logb.m4. + (Depends-on): Add math. + (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR. + * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB. + * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB. + * doc/posix-functions/logb.texi: Mention the Cygwin bug. + +2010-03-07 Bruno Haible + + Fix test-cond link error. + * tests/test-cond.c: Include . + +2010-03-07 Bruno Haible + + Fix test-dirent-safer link error. + * modules/dirent-safer-tests (Makefile.am): Define + test_dirent_safer_LDADD. + +2010-03-07 Bruno Haible + + * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module + among default module list. + +2010-03-07 Bruno Haible + + Fix link error on platforms with GNU libiconv. + * modules/unistr/u8-strcoll-tests (Makefile): Define + test_u8_strcoll_LDADD. + * modules/unistr/u16-strcoll-tests (Makefile): Define + test_u16_strcoll_LDADD. + * modules/unistr/u32-strcoll-tests (Makefile): Define + test_u32_strcoll_LDADD. + +2010-03-07 Bruno Haible + + Use POSIX declarations for socket functions. + * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind, + rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom, + rpl_sendto): Change declaration to match POSIX. + * lib/connect.c (rpl_connect): Likewise. + * lib/accept.c (rpl_accept): Likewise. + * lib/bind.c (rpl_bind): Likewise. + * lib/getpeername.c (rpl_getpeername): Likewise. + * lib/getsockname.c (rpl_getsockname): Likewise. + * lib/recv.c (rpl_recv): Likewise. + * lib/send.c (rpl_send): Likewise. + * lib/recvfrom.c (rpl_recvfrom): Likewise. + * lib/sendto.c (rpl_sendto): Likewise. + +2010-03-06 Bruno Haible + + Clarify access, euidaccess, faccessat. + * doc/posix-functions/faccessat.texi: Mention security problem under + "Other problems", not "Portability problems". + * doc/posix-functions/access.texi: Likewise. Mention a related security + problem. + * doc/glibc-functions/euidaccess.texi: Mention security problems. + * lib/euidaccess.c: Add comments about platforms. + * lib/unistd.in.h (access, euidaccess): Add warnings. + +2010-03-07 Bruno Haible + + Ensure posix_spawnattr_{get,set}sched{policy,param} are defined. + * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback. + (POSIX_SPAWN_SETSCHEDULER): Likewise. + (POSIX_SPAWN_USEVFORK): Define in a way that works when + POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero. + (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also + declare when POSIX_SPAWN_SETSCHEDULER is zero. + (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also + declare when POSIX_SPAWN_SETSCHEDPARAM is zero. + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether + POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero. + * modules/posix_spawnattr_getschedparam (configure.ac): Enable the + replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero. + * modules/posix_spawnattr_setschedparam (configure.ac): Likewise. + * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the + replacement also when POSIX_SPAWN_SETSCHEDULER is zero. + * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise. + * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do + nothing if POSIX_SPAWN_SETSCHEDPARAM is zero. + * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam): + Likewise. + * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do + nothing if POSIX_SPAWN_SETSCHEDULER is zero. + * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy): + Likewise. + * tests/test-spawn.c (main): Make it work when + POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero. + +2010-03-07 Bruno Haible + + Fix incorrect Makefile.am generation in German locale. + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Execute sed command with character range in C locale. + +2010-03-06 Bruno Haible + + Tests for module 'iconv-h'. + * modules/iconv-h-tests: New file. + * tests/test-iconv-h.c: New file. + + New module 'iconv-h'. + * modules/iconv-h: New file. + * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4. + (Depends-on): Add iconv-h. Remove include_next, arg-nonnull. + (configure.ac): Remove gl_ICONV_H. + (Makefile.am): Remove rule for iconv.h. + +2010-03-06 Bruno Haible + + More consistent naming of *.m4 files. + * m4/wctype_h.m4: Renamed from m4/wctype.m4. + * modules/wctype (Files): Update. + + More consistent naming of *.m4 files. + * m4/wchar_h.m4: Renamed from m4/wchar.m4. + * modules/wchar (Files): Update. + +2010-03-06 Jim Meyering + + euidaccess: relax license to LGPLv2+ + * modules/euidaccess (License): Relax to LGPLv2+. + +2010-03-06 Bruno Haible + + Prefer lib_SOURCES over unconditional AC_LIBOBJ. + * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation. + (Makefile.am): Augment lib_SOURCES instead. + +2010-03-04 Jim Meyering + + utime: remove obsolete module + This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been + unnecessary for years, and has been marked as obsolete for 10 months. + * modules/utime: Remove file. + * lib/utime.c: Remove file. + * m4/utime.m4: Remove file. + * m4/utimes-null.m4: Remove file. + * doc/posix-functions/utime.texi (utime): Remove reference to + the module. Move the sole "fixed by gnulib" item into the + "problems not fixed by Gnulib" list. + * MODULES.html.sh (func_all_modules): Remove reference to "utime". + +2010-03-05 Simon Josefsson + + * modules/exit (License): Relax license to LGPLv2+. + (Status): Mark as obsolete. + * NEWS: Mention deprecated 'exit' module. + * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead + of now obsolete 'exit'. + +2010-03-02 Ralf Wildenhues + + fts-lgpl: remove unused module + * modules/fts-lgpl: Remove. + * MODULES.html.sh (func_all_modules): Adjust. + * check-module (find_included_lib_files): Adjust. + * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove. + +2010-03-02 Ben Walton (tiny change) + + copy-acl: enhance Solaris ACL error handling + * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP. + * lib/set-mode-acl.c (qset_acl): Likewise. + +2010-03-02 Bruno Haible -2010-04-21 Simon Josi + spawn: Don't override the system defined values on FreeBSD 8. + * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP, + POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK, + POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine + if HAVE_POSIX_SPAWN is 1. + Reported by Johan van Selst via Eric Blake. - Securetty: new lens and test for /etc/securetty +2010-03-01 Bruno Haible -2010-04-21 David Lutterkort + * doc/gnulib-tool.texi (Initial import): Clarify the requirements + regarding Automake. - Sudoers: use example file from Fedora 13 - This is causing trouble with release-0.7.0, but not this revision. +2010-02-25 Bruno Haible - File was reported in bug #122 + Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21. + * gnulib-tool: Define 'echo' as a function only before the ksh alias + setting, not afterwards. + Reported by Ben Walton . -2010-04-21 David Lutterkort +2010-02-24 Eric Blake - tests: make most tests work on Solaris - The test scripts are full of bashisms; removed some of them, though for - most, just changed the shell from /bin/sh to /bin/bash; removing bashisms - will need to be addressed. + bootstrap, git-version-gen: use timestamp + * build-aux/git-version-gen (scriptversion): Force UTC. + * build-aux/bootstrap (scriptversion): New variable. - Tests now mostly pass (82/85) on the OpenCSW Solaris 5.10 build machine + bootstrap: allow older git + * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is + older than 1.6.4. Requested by the libvirt project. -2010-04-21 David Lutterkort +2010-02-23 Eric Blake - * tests/test-save.c: use proper includes for WIFEXITED - Without them, the build fails on FreeBSD + warn-on-use: work with old autoconf + * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older + AS_VAR semantics of autoconf 2.60. + Reported by Bruno Haible. -2010-04-20 David Lutterkort + bootstrap: improve some comments + * build-aux/bootstrap: Drop unneeded emacs hint. Add some + clarification comments. - Debctrl (multi_line_entry): fix bad regexp - The lens 'del /^ / " "' is not valid, since we do not allow '^' as a meta - character. Changing that to 'del / / " "' exposed a typecheck problem in - lns: both multi_line_entry and eol match blank lines. Fixed this by - requiring that a multi_line_entry has to have at least one non-blank - character. + gettimeofday: provide correct function + * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only + when replacement is declared, otherwise provide gettimeofday. + Reported by Michael Goffioul. - Debctrl: whitespace cleanup, no functional change +2010-02-23 Jim Meyering -2010-04-20 David Lutterkort + lib-ignore: relax license to "unlimited", not LGPLv2+ + * modules/lib-ignore (License): Relax to "unlimited". - * src/fa.c (re_iter_as_string): escape literal '|' - When turning a FA back to a string, a literal '|' needs to be output as '\|' +2010-02-23 Jim Meyering - * tests/fatest.c (testExpandCharRanges): test escaping of literal '|' + lib-ignore: relax license to LGPLv2+ + * modules/lib-ignore (License): Relax to LGPLv2+. -2010-04-19 David Lutterkort +2010-02-22 Eric Blake - * tests/fatest.c (print_regerror): do not use alloca + lseek: avoid bash 3.2 broken pipe bug + * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious + warning from bash 3.2. + Reported by Ben Pfaff, with analysis from Bruno Haible. - * bootstrap: pull in isblank explicitly - Fixes bug #111 + bootstrap: support non-FSF copyright holder + * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow + bootstrap.conf override of COPYRIGHT_HOLDER. + (MSGID_BUGS_ADDRESS): Allow URL rather than email. - * src/lens.c (lns_check_rec): fix refcounting mistake on error path - Fixes bug #120 + bootstrap: interoperate with gettext 0.14.1 + * build-aux/bootstrap (slurp): Fix typo when using older gettext. - * src/augtool.c: report an error when 'get' fails + bootstrap: allow for alternate submodule location + * build-aux/bootstrap (gnulib_path): New variable; use instead of + hardcoding submodule location. + (gnulib_mk): Allow direct use of Makefile.am. -2010-04-19 David Lutterkort + bootstrap: use GNULIB_SRCDIR to reduce disk usage + * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference, + rather than reconfiguring where the submodule points. - aug_get: return -1 when multiple nodes match - This fixes breakage in the API contract for aug_get, introduced in commit - e80494a6. Also adds a test to ensure we do not break API for aug_get again. + gettimeofday: restore support for platforms that lack function + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile + replacement if function is missing. + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness. + * modules/sys_time (Makefile.am): Substitute it. + * lib/sys_time.in.h (gettimeofday): Check it. + Reported by Michael Goffioul. - Fixes bug #121 +2010-02-21 Bruno Haible -2010-04-16 David Lutterkort + * lib/stdio.in.h (obstack_printf): Fix typo. - jmt: distinguish between successful parse and syntax error at end of input - If a syntax error happened after the last character of the input string - (e.g., becuase the input was incomplete), rec_process would think the parse - was successful, and then notice that there was no parse result. That would - lead to an incorrect error message hinting at an internal error, when it - was really a syntax error. +2010-02-21 Jose E. Marchesi - By changing the return value for jmt_visit, it's now possible to - distinguish between internal errors, syntax errors and successful parses - properly. + vc-list-files: use bzr ls's -R option + * build-aux/vc-list-files: Invoke bazaar to generate a recursive + list of versioned files based on 'dir' (usage of -R in 'bzr ls'). -2010-04-16 David Lutterkort +2010-02-21 Jim Meyering - * src/get.c (visit_exit): handle L_MAYBE - Added test to tests/modules/pass_simple_recursion.aug, lens 'maybe' + init.sh: fix EXEEXT shims to work also for names like test-prog + * tests/init.sh: Re-exec a better shell, when needed. + If the current shell lacks support for posix $(...), an init.sh-using + test will now try to find a shell that supports that. If EXEEXT is + nonempty, we also require support for hyphen-in-alias-name and shell + substitutions like ${var#glob}. Failure to find such a shell results + in a skipped test. - Fixes bug #119 +2010-02-21 Bruno Haible -2010-04-16 David Lutterkort + Really work around around "broken pipe" error message from bash 3.2. + * gnulib-tool (func_reset_sigpipe): Remove function. + (echo): In bash 3.2, define to a function that uses printf. + Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff. - * src/jmt.c (build_tree): print debug output for build_nullable +2010-02-20 Bruno Haible -2010-03-12 David Lutterkort + Restore support for automake 1.9.6 with autoconf 2.61. + * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed. + Reported by James Youngman . - * lenses/tests/test_logrotate.aug: add test for files separated by newlines - This test the fix for bug #104, commit fe0453ce. +2010-02-20 Bruno Haible -2010-03-11 David Lutterkort + Improve *printf warning condition. + * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning + also if GNULIB_POSIXCHECK is defined, the *-posix module is not used, + and the function is overridden due to SIGPIPE emulation. - * lenses/group.aug (password): remove backslashes - Backslashes in char classes are taken literally, they do not escape a - character. +2010-02-20 Bruno Haible -2010-03-11 root + * lib/stdio.in.h: Tweak comments. - Group: Added disabled password support - * lenses/group.aug: '*' and '!' are allowed chars for disabled password - * lenses/tests/test_group.aug: added test for lens change +2010-02-19 Bruno Haible -2010-03-11 David Lutterkort + Make it easier to find modules. New gnulib-tool option '--find'. + * gnulib-tool: New option --find. + (func_usage): Document it. + (func_sanitize_modulelist): New function, extracted from + func_all_modules. + (func_all_modules): Invoke it. + * doc/gnulib-tool.texi (Which modules?): New node. - * src/lens.c (lns_check_rec): avoid use of uninitialized 'result' - The ensures can fail, and we check whether result is NULL in the error - path. +2010-02-18 Markus Duft (tiny change) -2010-03-05 David Lutterkort + * lib/sys_select.in.h: Provide select replacement even if + sys/select.h exists on a system, for Interix. - * src/lens.c (lns_format_atype): format L_REC lenses +2010-02-18 Jim Meyering - * src/lens.c: remove asserts; better error for missed tag in switch + init.sh: don't use $(...) just yet + * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...), + to accommodate e.g., Solaris' /bin/sh. - Shellvars: handle a bare 'export VAR' +2010-02-17 Bruno Haible + + * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem. + Reported by Ludovic Courtès . + +2010-02-16 Simon Josefsson + + * modules/userspec-tests (test_userspec_LDADD): Add variable, for + linking with -lintl. + +2010-02-17 Simon Josefsson + + * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0 + if not provided by the system's netdb.h. Reported by + ludo@gnu.org (Ludovic Courtès). + +2010-02-15 Jim Meyering + + init.sh: improve portability and efficiency + * tests/init.sh (find_exe_basenames_): Remove unnecessary use of + "dummy" in a for loop. + Use '!', not '^' to select the complement of a character set used + in a "case" statement. + Use shell variable manipulation, a la ${...%.exe}, rather than sed. + Suggestions from Eric Blake. + + init.sh: automatically accommodate programs with the .exe suffix + Automatically arrange for an invocation of "prog" to execute the + program named "prog$EXEEXT" (usually prog.exe). Thus, all invocations + may use the simpler "prog", yet still work when built on a system + that requires specifying the added suffix. + Do this by constructing a function named "prog" that invokes + "prog.exe" for each .exe file in selected directories. + * tests/init.sh (find_exe_basenames_): New function. + (create_exe_shim_functions_): New function. + (path_prepend_): Use it. + + maint.mk: mark syntax-check sc_*.m rules as .PHONY + * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that + "make -t syntax-check" doesn't create a ton of sc_*.m files. + +2010-02-14 Jim Meyering + + maint.mk: prohibit inclusion of "hash-pjw.h" without_use + * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@". + (sc_prohibit_hash_pjw_without_use): New rule. + + maint.mk: allow the default upload destination dir to be overridden + * top/maint.mk (upload_dest_dir_): Define with a default that + preserves the status quo. + (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE). + Reported by Peter Simons. + + maint.mk: prohibit inclusion of "hash.h" without_use + * top/maint.mk (sc_prohibit_hash_without_use): New rule. + +2010-02-10 Jim Meyering + + maint.mk: prohibit inclusion of "ignore-value.h" without_use + * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule. + +2010-02-09 Eric Blake + and Bruno Haible + + obstack-printf-posix: ensure declaration + * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro, + extracted from gl_FUNC_OBSTACK_PRINTF. + (gl_FUNC_OBSTACK_PRINTF): Invoke it. + * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): + Likewise. + * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also + if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is + 0. + +2010-02-08 Bruno Haible + + gnulib-tool: Fix typo in 2010-02-07 commit. + * gnulib-tool (func_get_dependencies): Fix typo in last commit. + Reported by Eric Blake. + +2010-02-07 Bruno Haible + + gnulib-tool: Fix up caching patches. + * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove + option --no-cache. Use associative arrays when supported by the shell. + (sed_comments): New variable. + (modcache): Renamed from do_cache. + (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't + abbreviate unnecessarily. + (have_associative): New variable. + (func_cache_var): Define correctly for bash 1.x. Define in an optimized + way also for ksh and zsh. + (func_init_sed_convert_to_cache_statements): New function, extracted + from func_cache_lookup_module. Add support for associative arrays. + Don't set the c_MODULE_cached variable here. Ignore all lines before + the first field header. Remove only the final newline, not all trailing + newlines. Support empty fields correctly. Limit the use of 'eval' to + assignments. + (func_get_description, func_get_status, func_get_notice, + func_get_applicability, func_get_filelist, func_get_dependencies, + func_get_autoconf_early_snippet, func_get_autoconf_snippet, + func_get_automake_snippet, func_get_include_directive, + func_get_link_directive, func_get_license, func_get_maintainer): + Update documentation. List the unoptimized code first. Add support for + associative arrays. Limit the use of 'eval' to assignments. + (func_get_applicability): Undo stylistic pessimisations. + (func_get_automake_snippet, func_get_include_directive): Reduce code + duplication. + (func_modules_transitive_closure, func_modules_add_dummy, + func_modules_notice, func_modules_to_filelist, func_add_file, + func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars, + func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import, + func_create_testdir, func_create_megatestdir): Update documentation. + +2010-01-18 Ralf Wildenhues + + * gnulib-tool (func_cache_lookup_module): Store the module name + belonging to the cache variable; error out if two different + module names map to the same cache variable name. + +2010-01-18 Ralf Wildenhues + + gnulib-tool: Make caching optional. + * gnulib-tool: Accept option --no-cache, turning off $do_cache. + Update matching short versions of --no-changelog. + (func_usage): Update. + (sed_extract_cache_prog): Renamed from ... + (sed_extract_prog): ... this; revert to old extraction script. + (func_get_description, func_get_status) + (func_get_notice, func_get_applicability, func_get_filelist) + (func_get_dependencies, func_get_autoconf_early_snippet) + (func_get_autoconf_snippet, func_get_automake_snippet) + (func_get_include_directive, func_get_link_directive) + (func_get_license, func_get_maintainer): If $do_cache is false, + use old, non-caching extraction scripts. + Suggestion by Bruno Haible. + +2010-01-17 Ralf Wildenhues + + gnulib-tool: cache module metainformation. + * gnulib-tool (sed_extract_prog): Match newline before each + header, and rewrite header to a shell variable suffix. + (func_cache_var, func_cache_lookup_module): New functions, + to turn a module name into a cache variable prefix, and to + look up and cache module metainformation. + (func_get_description, func_get_status) + (func_get_notice, func_get_applicability, func_get_filelist) + (func_get_dependencies, func_get_autoconf_early_snippet) + (func_get_autoconf_snippet, func_get_automake_snippet) + (func_get_include_directive, func_get_link_directive) + (func_get_license, func_get_maintainer): Use + func_cache_lookup_module. + +2010-02-07 Bruno Haible + + fnctl: Fix missing dependency. + * modules/fcntl (Depends-on): Add getdtablesize. + Reported by John W. Eaton . + +2010-02-05 Sergey Poznyakoff + + Argp: fix recognition of short alias options. + + * lib/argp-parse.c (convert_options): Fix improper use of + `|' between character values. + * tests/test-argp.c (group1_option): New alias option + --read (-r). + (group1_parser): Special handling for 'r'. + (test15): New test case. + (test_fun): Add test15. + * tests/test-argp-2.sh: Update expected --help and --usage + outputs. + +2010-02-05 Sergey Poznyakoff + + * tests/test-argp.c: Fix indentation. + +2010-02-04 Eric Blake + + gettimeofday: expose type of second argument + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection + of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE. + * tests/test-gettimeofday.c: Use it to silence warning. + * doc/posix-functions/gettimeofday.texi (gettimeofday): Document + the issue. + +2010-02-03 Jim Meyering + + regcomp.c: avoid the sole warning from gcc's -Wtype-limits + * lib/regcomp.c (TYPE_SIGNED): Define. + (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits. + + regcomp.c: avoid a new -Wshadow warning + * lib/regcomp.c (create_initial_state): Do not shadow local "err". + +2010-02-01 Jim Meyering + + removing useless parentheses in cpp #define directives + For motivation, see commit c0221df4, "define STREQ(a,b) + consistently, removing useless parentheses" + * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses. + * lib/mountlist.c (MNT_IGNORE): Likewise. + * lib/trim.h (trim, trim_trailing, trim_leading): Likewise. + +2010-02-01 Eric Blake + + sys_time: use link-warning + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults... + (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro. + (gl_SYS_TIME_MODULE_INDICATOR): New macro. + * modules/sys_time (Depends-on): Add warn-on-use. + (Makefile.am): Always build replacement. + (configure.ac): Update substitutions. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY) + (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer + bother with SYS_TIME_H. + * modules/gettimeofday (configure.ac): Declare indicator. + * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not + in use. + + closein-tests: silence compiler warning + * tests/test-closein.c (main): Ignore fread result. + * modules/closein-tests (Depends-on): Add ignore-value. + + tests: silence warning about system return + * tests/test-areadlink-with-size.c (main): Ignore system result. + * tests/test-areadlink.c (main): Likewise. + * tests/test-areadlinkat-with-size.c (main): Likewise. + * tests/test-areadlinkat.c (main): Likewise. + * tests/test-canonicalize-lgpl.c (main): Likewise. + * tests/test-canonicalize.c (main): Likewise. + * tests/test-chown.c (main): Likewise. + * tests/test-fchownat.c (main): Likewise. + * tests/test-fdutimensat.c (main): Likewise. + * tests/test-fstatat.c (main): Likewise. + * tests/test-futimens.c (main): Likewise. + * tests/test-lchown.c (main): Likewise. + * tests/test-link.c (main): Likewise. + * tests/test-linkat.c (main): Likewise. + * tests/test-lstat.c (main): Likewise. + * tests/test-mkdir.c (main): Likewise. + * tests/test-mkdirat.c (main): Likewise. + * tests/test-mkfifo.c (main): Likewise. + * tests/test-mkfifoat.c (main): Likewise. + * tests/test-mknod.c (main): Likewise. + * tests/test-readlink.c (main): Likewise. + * tests/test-remove.c (main): Likewise. + * tests/test-rename.c (main): Likewise. + * tests/test-renameat.c (main): Likewise. + * tests/test-rmdir.c (main): Likewise. + * tests/test-symlink.c (main): Likewise. + * tests/test-symlinkat.c (main): Likewise. + * tests/test-unlink.c (main): Likewise. + * tests/test-unlinkat.c (main): Likewise. + * tests/test-utimens.c (main): Likewise. + * tests/test-utimensat.c (main): Likewise. + * modules/areadlink-tests (Depends-on): Add ignore-value. + * modules/areadlink-with-size-tests (Depends-on): Likewise. + * modules/areadlinkat-tests (Depends-on): Likewise. + * modules/areadlinkat-with-size-tests (Depends-on): Likewise. + * modules/canonicalize-lgpl-tests (Depends-on): Likewise. + * modules/canonicalize-tests (Depends-on): Likewise. + * modules/chown-tests (Depends-on): Likewise. + * modules/fdutimensat-tests (Depends-on): Likewise. + * modules/futimens-tests (Depends-on): Likewise. + * modules/lchown-tests (Depends-on): Likewise. + * modules/link-tests (Depends-on): Likewise. + * modules/linkat-tests (Depends-on): Likewise. + * modules/lstat-tests (Depends-on): Likewise. + * modules/mkdir-tests (Depends-on): Likewise. + * modules/mkfifo-tests (Depends-on): Likewise. + * modules/mkfifoat-tests (Depends-on): Likewise. + * modules/mknod-tests (Depends-on): Likewise. + * modules/openat-tests (Depends-on): Likewise. + * modules/readlink-tests (Depends-on): Likewise. + * modules/remove-tests (Depends-on): Likewise. + * modules/rename-tests (Depends-on): Likewise. + * modules/renameat-tests (Depends-on): Likewise. + * modules/rmdir-tests (Depends-on): Likewise. + * modules/symlink-tests (Depends-on): Likewise. + * modules/symlinkat-tests (Depends-on): Likewise. + * modules/unlink-tests (Depends-on): Likewise. + * modules/utimens-tests (Depends-on): Likewise. + * modules/utimensat-tests (Depends-on): Likewise. + +2010-01-31 Bruno Haible + + Perform the same test for many functions. + * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC, + gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros. + * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead + of gl_MATHFUNC. + * modules/acos (configure.ac): Likewise. + * modules/asin (configure.ac): Likewise. + * modules/atan (configure.ac): Likewise. + * modules/atan2 (configure.ac): Likewise. + * modules/cbrt (configure.ac): Likewise. + * modules/copysign (configure.ac): Likewise. + * modules/cos (configure.ac): Likewise. + * modules/cosh (configure.ac): Likewise. + * modules/erf (configure.ac): Likewise. + * modules/erfc (configure.ac): Likewise. + * modules/exp (configure.ac): Likewise. + * modules/fmod (configure.ac): Likewise. + * modules/hypot (configure.ac): Likewise. + * modules/j0 (configure.ac): Likewise. + * modules/j1 (configure.ac): Likewise. + * modules/jn (configure.ac): Likewise. + * modules/lgamma (configure.ac): Likewise. + * modules/log (configure.ac): Likewise. + * modules/log10 (configure.ac): Likewise. + * modules/log1p (configure.ac): Likewise. + * modules/pow (configure.ac): Likewise. + * modules/remainder (configure.ac): Likewise. + * modules/sin (configure.ac): Likewise. + * modules/sinh (configure.ac): Likewise. + * modules/tan (configure.ac): Likewise. + * modules/tanh (configure.ac): Likewise. + * modules/y0 (configure.ac): Likewise. + * modules/y1 (configure.ac): Likewise. + * modules/yn (configure.ac): Likewise. + Suggested by Paolo Bonzini. + +2010-01-31 Bruno Haible + + * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE. + +2010-01-31 Bruno Haible + + Work around getdelim() bug on FreeBSD 8.0. + * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an + initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does + not work. + * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM + is 1. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM. + * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM. + * tests/test-getdelim.c (main): Also test result for a NULL buffer and + a non-zero size. + * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug. + +2010-01-31 Bruno Haible + + Work around getline() bug on FreeBSD 8.0. + * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer + and a non-zero size. + * tests/test-getline.c (main): Likewise. + * doc/posix-functions/getline.texi: Mention the FreeBSD bug. + Reported by Dennis via Eric Blake. + +2010-01-28 Eric Blake + + regex: fix build failure + * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc + platforms. + +2010-01-28 Jim Meyering + + regex: do not ignore memory allocation failure + * lib/regex_internal.c (create_cd_newstate): Detect + re_node_set_init_copy failure. Extracted from glibc commit + 2da42bc06566bc89785e580fa1ac89b4c9f2a63c. + + regex: sync more white-space changes from libc + * lib/regex_internal.c: White-space only changes. + * lib/regexec.c: Likewise. + + regex: add many uses of __attribute_warn_unused_result__ + * lib/regex_internal.c: Use __attribute_warn_unused_result__. + * lib/regexec.c: Likewise. + Extracted from a messy glibc commit. + + regcomp.c: spelling and merge-artifact from glibc + * lib/regcomp.c: Merge remainder of glibc's + 2da42bc06566bc89785e580fa1ac89b4c9f2a63c. + + regcomp.c: sync white-space changes from glibc + * lib/regcomp.c: Merge to accommodate white space + changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c. + + regcomp.c: do not ignore internal return values + * lib/regcomp.c: Do not ignore internal return values. + This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c, + but without its white-space changes and spelling fixes. + + regex_internal.h: define __attribute_warn_unused_result__ + * lib/regex_internal.h (__attribute_warn_unused_result__): Define. + + maint: add a syntax-check rule to check for vulnerable Makefile.in + * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule. + +2010-01-27 Jim Meyering + + ncftpput-ftp: clean up spaces + * build-aux/ncftpput-ftp: Make Copyright line consistent. + Remove trailing blanks. + +2010-01-27 Simon Josefsson + + * build-aux/git-version-gen: Fix copyright statement. + * build-aux/gnupload: Likewise. + * tests/test-arcfour.c: Likewise. + * tests/test-arctwo.c: Likewise. + * tests/test-count-one-bits.c: Likewise. + * tests/test-crc.c: Likewise. + * tests/test-des.c: Likewise. + * tests/test-gc-arcfour.c: Likewise. + * tests/test-gc-arctwo.c: Likewise. + * tests/test-gc-des.c: Likewise. + * tests/test-gc-hmac-md5.c: Likewise. + * tests/test-gc-hmac-sha1.c: Likewise. + * tests/test-gc-md2.c: Likewise. + * tests/test-gc-md4.c: Likewise. + * tests/test-gc-md5.c: Likewise. + * tests/test-gc-pbkdf2-sha1.c: Likewise. + * tests/test-gc-rijndael.c: Likewise. + * tests/test-gc-sha1.c: Likewise. + * tests/test-gc.c: Likewise. + * tests/test-gethostname.c: Likewise. + * tests/test-gettimeofday.c: Likewise. + * tests/test-hash.c: Likewise. + * tests/test-hmac-md5.c: Likewise. + * tests/test-hmac-sha1.c: Likewise. + * tests/test-md2.c: Likewise. + * tests/test-md4.c: Likewise. + * tests/test-md5.c: Likewise. + * tests/test-memchr.c: Likewise. + * tests/test-memchr2.c: Likewise. + * tests/test-memcmp.c: Likewise. + * tests/test-memmem.c: Likewise. + * tests/test-memrchr.c: Likewise. + * tests/test-rawmemchr.c: Likewise. + * tests/test-read-file.c: Likewise. + * tests/test-rijndael.c: Likewise. + * tests/test-sockets.c: Likewise. + * tests/test-strchrnul.c: Likewise. + * tests/test-strstr.c: Likewise. + * tests/test-strtod.c: Likewise. + * build-aux/ncftpput-ftp: Likewise. + +2010-01-26 Eric Blake + + ignore-value: update recommended header name + * modules/ignore-value (Include): Only use <> for headers that + exist in glibc. + +2010-01-26 Jim Meyering + + test-userspec.c: avoid compiler warnings + * tests/test-userspec.c (main): Avoid shadowing ("uid"), + and "initialization discards qualifiers..." warnings. + Put the first "uid" in its own scope, and make char* members "const". + +2010-01-25 Bruno Haible + + gnulib-tool: Make warning diagnostics consistent. + * gnulib-tool (func_warning): New function. + Use it everywhere where gnulib-tool produces output to stderr and it is + not a fatal error. + +2010-01-25 Bruno Haible + + Fix test dependencies. + * modules/xstrtol-tests (Depends-on): Add inttypes. + * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll. + +2010-01-25 Pádraig Brady + + syntax-check: detect incorrect boolean macro values in config.h + * modules/maintainer-makefile (configure.ac): Parameterize the location + of config.h which will be available to makefiles as $(CONFIG_INCLUDE). + The logic is from Eric Blake and the location indicated by Jim Meyering. + Note the more natural CONFIG_HEADER name is prohibited by automake + for backwards compatibility reasons. + * top/maint.mk (sc_Wundef_boolean): New rule. + +2010-01-25 Jim Meyering + + bootstrap: detect MacOS 10.6's shasum, too + * build-aux/bootstrap: Also recognize MacOS 10.6's shasum. + Suggested by Thomas Treichl . + +2010-01-23 Jim Meyering + + xstrtoll: new module + * modules/xstrtoll: New file. + * MODULES.html.sh (Numeric conversion functions): Add xstrtoll. + * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull. + * lib/xstrtoll.c, lib/xstrtoull.c: New files. + ./configure fails if you use this module and lack "long long". + * modules/xstrtoll-tests: New module. + * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files. + * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the + new init.sh-based test framework. + +2010-01-24 Bruno Haible + + Tests for module 'yn'. + * modules/yn-tests: New file. + * tests/test-yn.c: New file. + + Tests for module 'y1'. + * modules/y1-tests: New file. + * tests/test-y1.c: New file. + + Tests for module 'y0'. + * modules/y0-tests: New file. + * tests/test-y0.c: New file. + + Tests for module 'tanh'. + * modules/tanh-tests: New file. + * tests/test-tanh.c: New file. + + Tests for module 'tan'. + * modules/tan-tests: New file. + * tests/test-tan.c: New file. + + Tests for module 'sqrt'. + * modules/sqrt-tests: New file. + * tests/test-sqrt.c: New file. + + Tests for module 'sinh'. + * modules/sinh-tests: New file. + * tests/test-sinh.c: New file. + + Tests for module 'sin'. + * modules/sin-tests: New file. + * tests/test-sin.c: New file. + + Tests for module 'rint'. + * modules/rint-tests: New file. + * tests/test-rint.c: New file. - Inittab: allow ':' in the process field - Fixes part of bug #109 + Tests for module 'remainder'. + * modules/remainder-tests: New file. + * tests/test-remainder.c: New file. -2010-03-05 Tim Stoop + Tests for module 'pow'. + * modules/pow-tests: New file. + * tests/test-pow.c: New file. - Approx: allow keywords starting with '$' + Tests for module 'nextafter'. + * modules/nextafter-tests: New file. + * tests/test-nextafter.c: New file. -2010-03-04 David Lutterkort + Tests for module 'modf'. + * modules/modf-tests: New file. + * tests/test-modf.c: New file. + + Tests for module 'logb'. + * modules/logb-tests: New file. + * tests/test-logb.c: New file. + + Tests for module 'log1p'. + * modules/log1p-tests: New file. + * tests/test-log1p.c: New file. + + Tests for module 'log10'. + * modules/log10-tests: New file. + * tests/test-log10.c: New file. + + Tests for module 'log'. + * modules/log-tests: New file. + * tests/test-log.c: New file. + + Tests for module 'lgamma'. + * modules/lgamma-tests: New file. + * tests/test-lgamma.c: New file. + + Tests for module 'ldexp'. + * modules/ldexp-tests: New file. + * tests/test-ldexp.c: New file. + + Tests for module 'jn'. + * modules/jn-tests: New file. + * tests/test-jn.c: New file. + + Tests for module 'j1'. + * modules/j1-tests: New file. + * tests/test-j1.c: New file. + + Tests for module 'j0'. + * modules/j0-tests: New file. + * tests/test-j0.c: New file. + + Tests for module 'hypot'. + * modules/hypot-tests: New file. + * tests/test-hypot.c: New file. + + Tests for module 'fmod'. + * modules/fmod-tests: New file. + * tests/test-fmod.c: New file. + + Tests for module 'fabs'. + * modules/fabs-tests: New file. + * tests/test-fabs.c: New file. + + Tests for module 'exp'. + * modules/exp-tests: New file. + * tests/test-exp.c: New file. + + Tests for module 'erfc'. + * modules/erfc-tests: New file. + * tests/test-erfc.c: New file. + + Tests for module 'erf'. + * modules/erf-tests: New file. + * tests/test-erf.c: New file. + + Tests for module 'cosh'. + * modules/cosh-tests: New file. + * tests/test-cosh.c: New file. + + Tests for module 'cos'. + * modules/cos-tests: New file. + * tests/test-cos.c: New file. + + Tests for module 'copysign'. + * modules/copysign-tests: New file. + * tests/test-copysign.c: New file. + + Tests for module 'cbrt'. + * modules/cbrt-tests: New file. + * tests/test-cbrt.c: New file. + + Tests for module 'atan2'. + * modules/atan2-tests: New file. + * tests/test-atan2.c: New file. + + Tests for module 'atan'. + * modules/atan-tests: New file. + * tests/test-atan.c: New file. + + Tests for module 'asin'. + * modules/asin-tests: New file. + * tests/test-asin.c: New file. + + Tests for module 'acos'. + * modules/acos-tests: New file. + * tests/test-acos.c: New file. + +2010-01-24 Bruno Haible + + Fix tests for common functions. + * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a + code snippet that references the function pointer, rather than merely + calling the function. Substitute the FUNC_LIBM variable. + * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation. + * modules/acos (configure.ac): Likewise. + * modules/asin (configure.ac): Likewise. + * modules/atan (configure.ac): Likewise. + * modules/atan2 (configure.ac): Likewise. + * modules/cbrt (configure.ac): Likewise. + * modules/copysign (configure.ac): Likewise. + * modules/cos (configure.ac): Likewise. + * modules/cosh (configure.ac): Likewise. + * modules/erf (configure.ac): Likewise. + * modules/erfc (configure.ac): Likewise. + * modules/exp (configure.ac): Likewise. + * modules/fabs (configure.ac): Likewise. + * modules/fmod (configure.ac): Likewise. + * modules/hypot (configure.ac): Likewise. + * modules/j0 (configure.ac): Likewise. + * modules/j1 (configure.ac): Likewise. + * modules/jn (configure.ac): Likewise. + * modules/ldexp (configure.ac): Likewise. + * modules/lgamma (configure.ac): Likewise. + * modules/log (configure.ac): Likewise. + * modules/log10 (configure.ac): Likewise. + * modules/log1p (configure.ac): Likewise. + * modules/logb (configure.ac): Likewise. + * modules/modf (configure.ac): Likewise. + * modules/nextafter (configure.ac): Likewise. + * modules/pow (configure.ac): Likewise. + * modules/remainder (configure.ac): Likewise. + * modules/rint (configure.ac): Likewise. + * modules/sin (configure.ac): Likewise. + * modules/sinh (configure.ac): Likewise. + * modules/tan (configure.ac): Likewise. + * modules/tanh (configure.ac): Likewise. + * modules/y0 (configure.ac): Likewise. + * modules/y1 (configure.ac): Likewise. + * modules/yn (configure.ac): Likewise. + +2010-01-24 Bruno Haible + + Tests: Defeat inlining of math functions by GCC >= 4.3.0. + * tests/test-acosl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-asinl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-atanl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-cosl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-expl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-logl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-sinl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-sqrtl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-tanl.c (x): New variable. + (main): Store argument in x and fetch it from x. + +2010-01-24 Bruno Haible + + Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default. + * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir + assignments to the initial TESTS_ENVIRONMENT. + * doc/gnulib.texi (Unit test modules): Document it. + * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from + TESTS_ENVIRONMENT. + * modules/btowc-tests (Makefile.am): Likewise. + * modules/c-stack-tests (Makefile.am): Likewise. + * modules/c-strcase-tests (Makefile.am): Likewise. + * modules/copy-file-tests (Makefile.am): Likewise. + * modules/mbmemcasecmp-tests (Makefile.am): Likewise. + * modules/mbmemcasecoll-tests (Makefile.am): Likewise. + * modules/mbrtowc-tests (Makefile.am): Likewise. + * modules/mbscasecmp-tests (Makefile.am): Likewise. + * modules/mbscasestr-tests (Makefile.am): Likewise. + * modules/mbschr-tests (Makefile.am): Likewise. + * modules/mbscspn-tests (Makefile.am): Likewise. + * modules/mbsinit-tests (Makefile.am): Likewise. + * modules/mbsncasecmp-tests (Makefile.am): Likewise. + * modules/mbsnrtowcs-tests (Makefile.am): Likewise. + * modules/mbspbrk-tests (Makefile.am): Likewise. + * modules/mbspcasecmp-tests (Makefile.am): Likewise. + * modules/mbsrchr-tests (Makefile.am): Likewise. + * modules/mbsrtowcs-tests (Makefile.am): Likewise. + * modules/mbsspn-tests (Makefile.am): Likewise. + * modules/mbsstr-tests (Makefile.am): Likewise. + * modules/nl_langinfo-tests (Makefile.am): Likewise. + * modules/unicase/locale-language-tests (Makefile.am): Likewise. + * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise. + * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise. + * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise. + * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise. + * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise. + * modules/vasnprintf-posix-tests (Makefile.am): Likewise. + * modules/wcrtomb-tests (Makefile.am): Likewise. + * modules/wcsnrtombs-tests (Makefile.am): Likewise. + * modules/wcsrtombs-tests (Makefile.am): Likewise. + * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir + assignments from TESTS_ENVIRONMENT. + * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT + augmentation. + * modules/argp-version-etc-tests (Makefile.am): Likewise. + * modules/atexit-tests (Makefile.am): Likewise. + * modules/binary-io-tests (Makefile.am): Likewise. + * modules/closein-tests (Makefile.am): Likewise. + * modules/dprintf-posix-tests (Makefile.am): Likewise. + * modules/exclude-tests (Makefile.am): Likewise. + * modules/fflush-tests (Makefile.am): Likewise. + * modules/fpending-tests (Makefile.am): Likewise. + * modules/fprintf-posix-tests (Makefile.am): Likewise. + * modules/freadahead-tests (Makefile.am): Likewise. + * modules/freadptr-tests (Makefile.am): Likewise. + * modules/freadseek-tests (Makefile.am): Likewise. + * modules/fseek-tests (Makefile.am): Likewise. + * modules/fseeko-tests (Makefile.am): Likewise. + * modules/ftell-tests (Makefile.am): Likewise. + * modules/ftello-tests (Makefile.am): Likewise. + * modules/idpriv-drop-tests (Makefile.am): Likewise. + * modules/idpriv-droptemp-tests (Makefile.am): Likewise. + * modules/lseek-tests (Makefile.am): Likewise. + * modules/parse-duration-tests (Makefile.am): Likewise. + * modules/perror-tests (Makefile.am): Likewise. + * modules/pipe-filter-gi-tests (Makefile.am): Likewise. + * modules/pipe-filter-ii-tests (Makefile.am): Likewise. + * modules/pipe-tests (Makefile.am): Likewise. + * modules/pread-tests (Makefile.am): Likewise. + * modules/printf-posix-tests (Makefile.am): Likewise. + * modules/select-tests (Makefile.am): Likewise. + * modules/sigpipe-tests (Makefile.am): Likewise. + * modules/tsearch-tests (Makefile.am): Likewise. + * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise. + * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise. + * modules/uniname/uniname-tests (Makefile.am): Likewise. + * modules/uniwidth/width-tests (Makefile.am): Likewise. + * modules/vdprintf-posix-tests (Makefile.am): Likewise. + * modules/version-etc-tests (Makefile.am): Likewise. + * modules/vfprintf-posix-tests (Makefile.am): Likewise. + * modules/vprintf-posix-tests (Makefile.am): Likewise. + * modules/xalloc-die-tests (Makefile.am): Likewise. + * modules/xprintf-posix-tests (Makefile.am): Likewise. + * modules/xstrtoimax-tests (Makefile.am): Likewise. + * modules/xstrtol-tests (Makefile.am): Likewise. + * modules/xstrtoumax-tests (Makefile.am): Likewise. + * modules/yesno-tests (Makefile.am): Likewise. + Suggested by Jim Meyering. - Approx: lens and test for the approx proxy server +2010-01-24 Bruno Haible + + More documentation. + * doc/gnulib.texi (Writing modules): New chapter. + (Miscellaneous Notes): Move sections "Comments" and "Header files" to + the new chapter. + +2010-01-24 Jim Meyering + + maint.mk: do not prepend "./" after filtering + * top/maint.mk (_prepend_srcdir_prefix): New variable + (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter) + "./" when $(srcdir) is ".". + + define STREQ(a,b) consistently, removing useless parentheses + #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized, + since the only risk is that "a" or "b" contains an unparenthesized + comma, but if either did that, STREQ would have 3 or more arguments. + Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better. + * lib/fts.c (STREQ): Remove unnecessary parentheses. + * lib/hash-triple.c (STREQ): Likewise. + * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2. + * lib/getugroups.c (STREQ): Likewise. + +2010-01-23 Jim Meyering + + maint.mk: fix syntax-check in a non-srcdir build directory + * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash, + introduced in my 2010-01-21 commit, a6da6c45. Reported by Eric Blake. + +2010-01-22 Jim Meyering + + userspec: add unit tests + * tests/test-userspec.c: New file. + * modules/userspec-tests: Likewise. + +2010-01-21 Jim Meyering + + maint.mk: handle source file names containing "." robustly + * top/maint.mk (_dot_escaped_srcdir): Define. + (VC_LIST): Use it in LHS of sed substitution. + +2010-01-21 Jiri Denemark + + maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir + * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of + $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works + from a non-srcdir build. + +2010-01-20 Eric Blake + + warn-on-use: use instead of link-warning + * modules/stdio (Depends-on, Makefile.am): Drop link-warning. + * modules/unistd (Depends-on, Makefile.am): Likewise. + * modules/arpa_inet (Depends-on): Replace link-warning with + warn-on-use. + (Makefile.am): Update rules accordingly. + * modules/ctype (Depends-on, Makefile.am): Likewise. + * modules/dirent (Depends-on, Makefile.am): Likewise. + * modules/fcntl-h (Depends-on, Makefile.am): Likewise. + * modules/inttypes (Depends-on, Makefile.am): Likewise. + * modules/langinfo (Depends-on, Makefile.am): Likewise. + * modules/locale (Depends-on, Makefile.am): Likewise. + * modules/math (Depends-on, Makefile.am): Likewise. + * modules/search (Depends-on, Makefile.am): Likewise. + * modules/signal (Depends-on, Makefile.am): Likewise. + * modules/spawn (Depends-on, Makefile.am): Likewise. + * modules/stdlib (Depends-on, Makefile.am): Likewise. + * modules/string (Depends-on, Makefile.am): Likewise. + * modules/strings (Depends-on, Makefile.am): Likewise. + * modules/sys_file (Depends-on, Makefile.am): Likewise. + * modules/sys_ioctl (Depends-on, Makefile.am): Likewise. + * modules/sys_select (Depends-on, Makefile.am): Likewise. + * modules/sys_socket (Depends-on, Makefile.am): Likewise. + * modules/sys_stat (Depends-on, Makefile.am): Likewise. + * modules/sys_times (Depends-on, Makefile.am): Likewise. + * modules/sys_utsname (Depends-on, Makefile.am): Likewise. + * modules/wchar (Depends-on, Makefile.am): Likewise. + * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions + should be poisoned. + * m4/ctype.m4 (gl_CTYPE_H): Likewise. + * m4/dirent_h.m4 (gl_DIRENT_H): Likewise. + * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise. + * m4/inttypes.m4 (gl_INTTYPES_H): Likewise. + * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise. + * m4/locale_h.m4 (gl_LOCALE_H): Likewise. + * m4/math_h.m4 (gl_MATH_H): Likewise. + * m4/search_h.m4 (gl_SEARCH_H): Likewise. + * m4/signal_h.m4 (gl_SIGNAL_H): Likewise. + * m4/spawn_h.m4 (gl_SPAWN_H): Likewise. + * m4/stdio_h.m4 (gl_STDIO_H): Likewise. + * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise. + * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise. + * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise. + * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise. + * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise. + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise. + * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise. + * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. + * m4/wchar.m4 (gl_WCHAR_H): Likewise. + * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of + GL_LINK_WARNING. + * lib/ctype.in.h: Likewise. + * lib/dirent.in.h: Likewise. + * lib/fcntl.in.h: Likewise. + * lib/inttypes.in.h: Likewise. + * lib/langinfo.in.h: Likewise. + * lib/locale.in.h: Likewise. + * lib/math.in.h: Likewise. + * lib/search.in.h: Likewise. + * lib/signal.in.h: Likewise. + * lib/spawn.in.h: Likewise. + * lib/stdio.in.h: Likewise. + * lib/stdlib.in.h: Likewise. + * lib/string.in.h: Likewise. + * lib/strings.in.h: Likewise. + * lib/sys_file.in.h: Likewise. + * lib/sys_ioctl.in.h: Likewise. + * lib/sys_select.in.h: Likewise. + * lib/sys_socket.in.h: Likewise. + * lib/sys_stat.in.h: Likewise. + * lib/sys_times.in.h: Likewise. + * lib/sys_utsname.in.h: Likewise. + * lib/unistd.in.h: Likewise. + * lib/wchar.in.h: Likewise. + +2010-01-20 Bruno Haible + + Avoid duplicate -lm. + * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM. + * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM. + * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM. + * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM. + * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM. + * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM. + * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM. + * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM. + * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM. + * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency. + * m4/atanl.m4 (gl_FUNC_ATANL): Likewise. + Reported by Paolo Bonzini. + +2010-01-19 Bruno Haible + + langinfo, nl_langinfo: Relicense under LGPLv2+. + * modules/langinfo (License): Change to LGPLv2+. + * modules/nl_langinfo (License): Likewise. + Patch by David Lutterkort . + +2010-01-19 Bruno Haible + + Avoid compilation error with cc on OSF/1 5.1. + * lib/fcntl.in.h: Include after the #include_next + statement, not before. + Reported by Ralf Wildenhues . + +2010-01-18 Bruno Haible + + Avoid a link error due to the __printf__ symbol. + * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x + and 2.6.x. + (__format__, __printf__): Remove definitions. + * lib/argp-fmtstream.h: Likewise. + * lib/argp.h: Likewise. + * lib/error.h: Likewise. + * lib/vasnprintf.h: Likewise. + * lib/xprintf.h: Likewise. + * lib/xvasprintf.h: Likewise. + Reported by Ralf Wildenhues . + +2010-01-18 Bruno Haible + + Tests for module 'tanl'. + * modules/tanl-tests: New file. + * tests/test-tanl.c: New file. + + Tests for module 'sqrtl'. + * modules/sqrtl-tests: New file. + * tests/test-sqrtl.c: New file. + + Tests for module 'sinl'. + * modules/sinl-tests: New file. + * tests/test-sinl.c: New file. + + Tests for module 'logl'. + * modules/logl-tests: New file. + * tests/test-logl.c: New file. + + Tests for module 'expl'. + * modules/expl-tests: New file. + * tests/test-expl.c: New file. + + Tests for module 'cosl'. + * modules/cosl-tests: New file. + * tests/test-cosl.c: New file. + + Tests for module 'atanl'. + * modules/atanl-tests: New file. + * tests/test-atanl.c: New file. + + Tests for module 'asinl'. + * modules/asinl-tests: New file. + * tests/test-asinl.c: New file. + + Tests for module 'acosl'. + * modules/acosl-tests: New file. + * tests/test-acosl.c: New file. + + New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. + * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, + tanl): Use the standard gnulib idiom. + * lib/cosl.c: Don't include trigl.c and sincosl.c. + * lib/sinl.c: Likewise. + * lib/tanl.c: Don't include trigl.c. + (kernel_tanl): Make static. + * lib/sincosl.c: Include trigl.h first. + * lib/trigl.c: Likewise. + * m4/acosl.m4: New file. + * m4/asinl.m4: New file. + * m4/atanl.m4: New file. + * m4/cosl.m4: New file. + * m4/expl.m4: New file. + * m4/logl.m4: New file. + * m4/sinl.m4: New file. + * m4/sqrtl.m4: New file. + * m4/tanl.m4: New file. + * m4/mathl.m4: Remove file. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_* + variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. + Don't initialize GNULIB_MATHL. + * modules/acosl: New file. + * modules/asinl: New file. + * modules/atanl: New file. + * modules/cosl: New file. + * modules/expl: New file. + * modules/logl: New file. + * modules/sinl: New file. + * modules/sqrtl: New file. + * modules/tanl: New file. + * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables + for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't + substitute GNULIB_MATHL. + * modules/mathl: Rewritten. + * doc/posix-functions/acosl.texi: Mention the 'acosl' module. + * doc/posix-functions/asinl.texi: Mention the 'asinl' module. + * doc/posix-functions/atanl.texi: Mention the 'atanl' module. + * doc/posix-functions/cosl.texi: Mention the 'cosl' module. + * doc/posix-functions/expl.texi: Mention the 'expl' module. + * doc/posix-functions/logl.texi: Mention the 'logl' module. + * doc/posix-functions/sinl.texi: Mention the 'sinl' module. + * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module. + * doc/posix-functions/tanl.texi: Mention the 'tanl' module. + +2010-01-18 Bruno Haible + + sqrt: Make gl_FUNC_SQRT requirable. + * m4/sqrt.m4: New file. + * modules/sqrt (Files): Add it. + (configure.ac): Invoke gl_FUNC_SQRT. + +2010-01-18 Bruno Haible + + New modules for common functions. + * m4/mathfunc.m4: New file. + * modules/acos: New file. + * modules/asin: New file. + * modules/atan: New file. + * modules/atan2: New file. + * modules/cbrt: New file. + * modules/copysign: New file. + * modules/cos: New file. + * modules/cosh: New file. + * modules/erf: New file. + * modules/erfc: New file. + * modules/exp: New file. + * modules/fabs: New file. + * modules/fmod: New file. + * modules/hypot: New file. + * modules/j0: New file. + * modules/j1: New file. + * modules/jn: New file. + * modules/ldexp: New file. + * modules/lgamma: New file. + * modules/log: New file. + * modules/log10: New file. + * modules/log1p: New file. + * modules/logb: New file. + * modules/modf: New file. + * modules/nextafter: New file. + * modules/pow: New file. + * modules/remainder: New file. + * modules/rint: New file. + * modules/sin: New file. + * modules/sinh: New file. + * modules/sqrt: New file. + * modules/tan: New file. + * modules/tanh: New file. + * modules/y0: New file. + * modules/y1: New file. + * modules/yn: New file. + * doc/posix-functions/acos.texi: Mention the 'acos' module. + * doc/posix-functions/asin.texi: Mention the 'asin' module. + * doc/posix-functions/atan.texi: Mention the 'atan' module. + * doc/posix-functions/atan2.texi: Mention the 'atan2' module. + * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module. + * doc/posix-functions/copysign.texi: Mention the 'copysign' module. + * doc/posix-functions/cos.texi: Mention the 'cos' module. + * doc/posix-functions/cosh.texi: Mention the 'cosh' module. + * doc/posix-functions/erf.texi: Mention the 'erf' module. + * doc/posix-functions/erfc.texi: Mention the 'erfc' module. + * doc/posix-functions/exp.texi: Mention the 'exp' module. + * doc/posix-functions/fabs.texi: Mention the 'fabs' module. + * doc/posix-functions/fmod.texi: Mention the 'fmod' module. + * doc/posix-functions/hypot.texi: Mention the 'hypot' module. + * doc/posix-functions/j0.texi: Mention the 'j0' module. + * doc/posix-functions/j1.texi: Mention the 'j1' module. + * doc/posix-functions/jn.texi: Mention the 'jn' module. + * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module. + * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module. + * doc/posix-functions/log.texi: Mention the 'log' module. + * doc/posix-functions/log10.texi: Mention the 'log10' module. + * doc/posix-functions/log1p.texi: Mention the 'log1p' module. + * doc/posix-functions/logb.texi: Mention the 'logb' module. + * doc/posix-functions/modf.texi: Mention the 'modf' module. + * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module. + * doc/posix-functions/pow.texi: Mention the 'pow' module. + * doc/posix-functions/remainder.texi: Mention the 'remainder' module. + * doc/posix-functions/rint.texi: Mention the 'rint' module. + * doc/posix-functions/sin.texi: Mention the 'sin' module. + * doc/posix-functions/sinh.texi: Mention the 'sinh' module. + * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module. + * doc/posix-functions/tan.texi: Mention the 'tan' module. + * doc/posix-functions/tanh.texi: Mention the 'tanh' module. + * doc/posix-functions/y0.texi: Mention the 'y0' module. + * doc/posix-functions/y1.texi: Mention the 'y1' module. + * doc/posix-functions/yn.texi: Mention the 'yn' module. + +2010-01-18 Jim Meyering + + ignore-value: relax license to LGPLv2+ + * modules/ignore-value (License): Relax to LGPLv2+. + + getdate: don't leak when TZ contains two or more '"'s + * lib/getdate.y (get_date): Don't leak a copy of TZ for each + double quote in TZ after the first one. + + readtokens: do not leak internal token_lengths buffer + * lib/readtokens.c (readtokens): Free the local, lengths, + when the supplied "token_lengths" parameter is NULL. + +2010-01-17 Ralf Wildenhues + + Fix a couple of missing LIBTHREAD link failures on AIX. + * modules/git-merge-changelog (git_merge_changelog_LDADD): Add + $(LIBTHREAD). + * modules/strsignal-tests (test_strsignal_LDADD): Likewise. + + Link test-poll against INET_PTON_LIB. + * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB), + for inet_pton on Solaris 10. + +2010-01-17 Bruno Haible + + unistdio/*-sprintf: Fix typo in module description. + * modules/unistdio/u8-sprintf (Depends-on): Fix typo. + * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise. + * modules/unistdio/u16-sprintf (Depends-on): Likewise. + * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise. + * modules/unistdio/u32-sprintf (Depends-on): Likewise. + * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise. + * modules/unistdio/ulc-sprintf (Depends-on): Likewise. + Reported by Ralf Wildenhues . + +2010-01-17 Ralf Wildenhues + + gnulib-tool: fix filelist for AIX, HP-UX ksh. + * gnulib-tool (func_filter_filelist): Do not quote possibly-empty + variables in shell case patterns, for AIX and HP-UX ksh. + + Split large sed scripts, for HP-UX sed. + * modules/stdio: Split sed scripts around 50 sed commands, + to avoid HP-UX limit of 99 commands, in the near future. + * modules/string: Likewise. + * modules/unistd: Likewise. + + gnulib-tool: avoid writing in the current directory. + * gnulib-tool (func_emit_lib_Makefile_am) + (func_emit_tests_Makefile_am): Put temporary files in $tmp, + not in the current directory, so concurrent gnulib-tool + instances do not interfere. + +2010-01-16 Jim Meyering + + doc: update users.txt + * users.txt: Add grep. + (diffutils, gzip): Update URLs. + +2010-01-12 Bruno Haible + + posix_spawn: Avoid test failure on Cygwin. + * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky + characters. + Reported by Simon Josefsson. + +2010-01-12 Bruno Haible + + * tests/test-cond.c (main): When skipping the test, show the reason. + +2010-01-12 Simon Josefsson + + * lib/striconv.c (str_cd_iconv): Avoid if before free. + +2010-01-12 Simon Josefsson + + * top/maint.mk (VC_LIST_EXCEPT): Filter list through + VC_LIST_ALWAYS_EXCLUDE_REGEX. + +2010-01-12 Eric Blake + + build: guarantee AS_VAR_IF + * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name. + (gl_AS_VAR_IF): Move... + * m4/gnulib-common.m4 (AS_VAR_IF): ...here. + Reported by Simon Josefsson. + +2010-01-12 Simon Josefsson + + * lib/stdio.in.h: Fix typo. + +2010-01-12 Simon Josefsson + + * m4/gc.m4: Check if linking to libgcrypt also needs linking to + libgpg-error. - Produce a better error when iteration stops prematurely during put/create - We now try to include the name of the child node that caused us to stop in - the error message. +2010-01-12 Simon Josefsson -2010-03-03 David Lutterkort + * tests/test-xalloc-die.sh: Use $EXEEXT. - * src/fa.c: allow the strange regexp syntax '(a|)' - POSIX allows it, and so do we now +2010-01-12 Simon Josefsson + Bruno Haible - Fixes bug #113 + getlogin, getlogin_r: Avoid test failure. + * tests/test-getlogin.c: Include . + (main): Skip the test when the function fails because stdin is not a + tty. + * tests/test-getlogin_r.c: Include . + (main): Skip the test when the function fails because stdin is not a + tty. -2010-03-02 David Lutterkort +2010-01-11 Eric Blake + + tests: avoid more large file warnings + * tests/test-fflush.c: Avoid warning about ftell use. + * tests/test-fseek.c: Avoid warning about fseek use. + +2010-01-10 Bruno Haible - Passwd: parse NIS entries on Solaris - Based on a fix by Stuart Sears + nproc: Work better on Linux when /proc and /sys are not mounted. + * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask () + as lower bound when, on glibc/Linux systems, + sysconf (_SC_NPROCESSORS_CONF) returns 1. + Suggested by Pádraig Brady . + Reported by Dmitry V. Levin . + + nproc: Refactor. + * lib/nproc.c (num_processors_via_affinity_mask): New function, + extracted from num_processors. + (num_processors): Call it. + +2010-01-11 Jim Meyering + + utimecmp: avoid new warning from upcoming gcc-4.5.0 + * lib/utimecmp.c (BILLION): Define using #define rather than an + anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare. + +2010-01-11 Eric Blake + + math: add portability warnings for classification macros + * modules/math (Depends-on): Add warn-on-use. + (Makefile.am): Provide new substitutions. + * m4/math_h.m4 (gl_MATH_H): Require inline. + * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL) + (_GL_WARN_REAL_FLOATING_IMPL): New helper macros. + (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to + implement warnings. + + unistd: warn on use of environ without module + * modules/unistd (Depends-on): Add warn-on-use. + (Makefile.am): Provide new substitutions. + * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ. + * lib/unistd.in.h (environ): Wrap with a warning helper function. + + stdio: warn on suspicious uses + * modules/stdio (Depends-on): Add warn-on-use. + (Makefile.am): Provide new substitutions. + * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and + fseeko. + * lib/stdio.in.h (gets): Always warn on use. + (fseek, ftell): Adjust when warnings are issued, and honor + _GL_NO_LARGE_FILES as a way to silence the warning. + * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch + any warning about large file offsets. + * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise. + * tests/test-freading.c [!GNULIB_FSEEK]: Likewise. + * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise. + * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise. + * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise. + * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise. + * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise. + * tests/test-getopt.c [!GNULIB_FTELL]: Likewise. + + warn-on-use: new module + * modules/warn-on-use: New file. + * build-aux/warn-on-use.h: Likewise. + * m4/warn-on-use.m4: Likewise. + * MODULES.html.sh (Support for building): Mention it. + +2010-01-10 Bruno Haible + + Tests for module 'unistr/u32-strdup'. + * modules/unistr/u32-strdup-tests: New file. + * tests/unistr/test-u32-strdup.c: New file. + + Tests for module 'unistr/u16-strdup'. + * modules/unistr/u16-strdup-tests: New file. + * tests/unistr/test-u16-strdup.c: New file. + + Tests for module 'unistr/u8-strdup'. + * modules/unistr/u8-strdup-tests: New file. + * tests/unistr/test-u8-strdup.c: New file. + * tests/unistr/test-strdup.h: New file. + + Tests for module 'unistr/u32-strncmp'. + * modules/unistr/u32-strncmp-tests: New file. + * tests/unistr/test-u32-strncmp.c: New file. + + Tests for module 'unistr/u16-strncmp'. + * modules/unistr/u16-strncmp-tests: New file. + * tests/unistr/test-u16-strncmp.c: New file. + + Tests for module 'unistr/u8-strncmp'. + * modules/unistr/u8-strncmp-tests: New file. + * tests/unistr/test-u8-strncmp.c: New file. + * tests/unistr/test-strncmp.h: New file. + + Tests for module 'unistr/u32-strcoll'. + * modules/unistr/u32-strcoll-tests: New file. + * tests/unistr/test-u32-strcoll.c: New file. + + Tests for module 'unistr/u16-strcoll'. + * modules/unistr/u16-strcoll-tests: New file. + * tests/unistr/test-u16-strcoll.c: New file. + + Tests for module 'unistr/u8-strcoll'. + * modules/unistr/u8-strcoll-tests: New file. + * tests/unistr/test-u8-strcoll.c: New file. + + Tests for module 'unistr/u32-strcmp'. + * modules/unistr/u32-strcmp-tests: New file. + * tests/unistr/test-u32-strcmp.c: New file. + * tests/unistr/test-u32-strcmp.h: New file. + + Tests for module 'unistr/u16-strcmp'. + * modules/unistr/u16-strcmp-tests: New file. + * tests/unistr/test-u16-strcmp.c: New file. + * tests/unistr/test-u16-strcmp.h: New file. + + Tests for module 'unistr/u8-strcmp'. + * modules/unistr/u8-strcmp-tests: New file. + * tests/unistr/test-u8-strcmp.c: New file. + * tests/unistr/test-u8-strcmp.h: New file. + * tests/unistr/test-strcmp.h: New file. + + Tests for module 'unistr/u32-strncat'. + * modules/unistr/u32-strncat-tests: New file. + * tests/unistr/test-u32-strncat.c: New file. + + Tests for module 'unistr/u16-strncat'. + * modules/unistr/u16-strncat-tests: New file. + * tests/unistr/test-u16-strncat.c: New file. + + Tests for module 'unistr/u8-strncat'. + * modules/unistr/u8-strncat-tests: New file. + * tests/unistr/test-u8-strncat.c: New file. + * tests/unistr/test-strncat.h: New file. + + Tests for module 'unistr/u32-strcat'. + * modules/unistr/u32-strcat-tests: New file. + * tests/unistr/test-u32-strcat.c: New file. + + Tests for module 'unistr/u16-strcat'. + * modules/unistr/u16-strcat-tests: New file. + * tests/unistr/test-u16-strcat.c: New file. + + Tests for module 'unistr/u8-strcat'. + * modules/unistr/u8-strcat-tests: New file. + * tests/unistr/test-u8-strcat.c: New file. + * tests/unistr/test-strcat.h: New file. + + Tests for module 'unistr/u32-stpncpy'. + * modules/unistr/u32-stpncpy-tests: New file. + * tests/unistr/test-u32-stpncpy.c: New file. + + Tests for module 'unistr/u16-stpncpy'. + * modules/unistr/u16-stpncpy-tests: New file. + * tests/unistr/test-u16-stpncpy.c: New file. + + Tests for module 'unistr/u8-stpncpy'. + * modules/unistr/u8-stpncpy-tests: New file. + * tests/unistr/test-u8-stpncpy.c: New file. + * tests/unistr/test-stpncpy.h: New file. + + Tests for module 'unistr/u32-strncpy'. + * modules/unistr/u32-strncpy-tests: New file. + * tests/unistr/test-u32-strncpy.c: New file. + + Tests for module 'unistr/u16-strncpy'. + * modules/unistr/u16-strncpy-tests: New file. + * tests/unistr/test-u16-strncpy.c: New file. + + Tests for module 'unistr/u8-strncpy'. + * modules/unistr/u8-strncpy-tests: New file. + * tests/unistr/test-u8-strncpy.c: New file. + * tests/unistr/test-strncpy.h: New file. + + Tests for module 'unistr/u32-stpcpy'. + * modules/unistr/u32-stpcpy-tests: New file. + * tests/unistr/test-u32-stpcpy.c: New file. + + Tests for module 'unistr/u16-stpcpy'. + * modules/unistr/u16-stpcpy-tests: New file. + * tests/unistr/test-u16-stpcpy.c: New file. + + Tests for module 'unistr/u8-stpcpy'. + * modules/unistr/u8-stpcpy-tests: New file. + * tests/unistr/test-u8-stpcpy.c: New file. + * tests/unistr/test-stpcpy.h: New file. + + Tests for module 'unistr/u32-strcpy'. + * modules/unistr/u32-strcpy-tests: New file. + * tests/unistr/test-u32-strcpy.c: New file. + + Tests for module 'unistr/u16-strcpy'. + * modules/unistr/u16-strcpy-tests: New file. + * tests/unistr/test-u16-strcpy.c: New file. + + Tests for module 'unistr/u8-strcpy'. + * modules/unistr/u8-strcpy-tests: New file. + * tests/unistr/test-u8-strcpy.c: New file. + * tests/unistr/test-strcpy.h: New file. + + Tests for module 'unistr/u32-strnlen'. + * modules/unistr/u32-strnlen-tests: New file. + * tests/unistr/test-u32-strnlen.c: New file. + + Tests for module 'unistr/u16-strnlen'. + * modules/unistr/u16-strnlen-tests: New file. + * tests/unistr/test-u16-strnlen.c: New file. + + Tests for module 'unistr/u8-strnlen'. + * modules/unistr/u8-strnlen-tests: New file. + * tests/unistr/test-u8-strnlen.c: New file. + * tests/unistr/test-strnlen.h: New file. + + Tests for module 'unistr/u32-strlen'. + * modules/unistr/u32-strlen-tests: New file. + * tests/unistr/test-u32-strlen.c: New file. + + Tests for module 'unistr/u16-strlen'. + * modules/unistr/u16-strlen-tests: New file. + * tests/unistr/test-u16-strlen.c: New file. + + Tests for module 'unistr/u8-strlen'. + * modules/unistr/u8-strlen-tests: New file. + * tests/unistr/test-u8-strlen.c: New file. + + Tests for module 'unistr/u32-prev'. + * modules/unistr/u32-prev-tests: New file. + * tests/unistr/test-u32-prev.c: New file. + + Tests for module 'unistr/u16-prev'. + * modules/unistr/u16-prev-tests: New file. + * tests/unistr/test-u16-prev.c: New file. + + Tests for module 'unistr/u8-prev'. + * modules/unistr/u8-prev-tests: New file. + * tests/unistr/test-u8-prev.c: New file. + + Tests for module 'unistr/u32-next'. + * modules/unistr/u32-next-tests: New file. + * tests/unistr/test-u32-next.c: New file. + + Tests for module 'unistr/u16-next'. + * modules/unistr/u16-next-tests: New file. + * tests/unistr/test-u16-next.c: New file. + + Tests for module 'unistr/u8-next'. + * modules/unistr/u8-next-tests: New file. + * tests/unistr/test-u8-next.c: New file. + + Tests for module 'unistr/u32-strmbtouc'. + * modules/unistr/u32-strmbtouc-tests: New file. + * tests/unistr/test-u32-strmbtouc.c: New file. + + Tests for module 'unistr/u16-strmbtouc'. + * modules/unistr/u16-strmbtouc-tests: New file. + * tests/unistr/test-u16-strmbtouc.c: New file. + + Tests for module 'unistr/u8-strmbtouc'. + * modules/unistr/u8-strmbtouc-tests: New file. + * tests/unistr/test-u8-strmbtouc.c: New file. + + Tests for module 'unistr/u32-strmblen'. + * modules/unistr/u32-strmblen-tests: New file. + * tests/unistr/test-u32-strmblen.c: New file. + + Tests for module 'unistr/u16-strmblen'. + * modules/unistr/u16-strmblen-tests: New file. + * tests/unistr/test-u16-strmblen.c: New file. + + Tests for module 'unistr/u8-strmblen'. + * modules/unistr/u8-strmblen-tests: New file. + * tests/unistr/test-u8-strmblen.c: New file. + + Tests for module 'unistr/u32-cpy-alloc'. + * modules/unistr/u32-cpy-alloc-tests: New file. + * tests/unistr/test-u32-cpy-alloc.c: New file. + + Tests for module 'unistr/u16-cpy-alloc'. + * modules/unistr/u16-cpy-alloc-tests: New file. + * tests/unistr/test-u16-cpy-alloc.c: New file. + + Tests for module 'unistr/u8-cpy-alloc'. + * modules/unistr/u8-cpy-alloc-tests: New file. + * tests/unistr/test-u8-cpy-alloc.c: New file. + * tests/unistr/test-cpy-alloc.h: New file. + + Tests for module 'unistr/u32-mbsnlen'. + * modules/unistr/u32-mbsnlen-tests: New file. + * tests/unistr/test-u32-mbsnlen.c: New file. + + Tests for module 'unistr/u16-mbsnlen'. + * modules/unistr/u16-mbsnlen-tests: New file. + * tests/unistr/test-u16-mbsnlen.c: New file. + + Tests for module 'unistr/u8-mbsnlen'. + * modules/unistr/u8-mbsnlen-tests: New file. + * tests/unistr/test-u8-mbsnlen.c: New file. + + Tests for module 'unistr/u32-chr'. + * modules/unistr/u32-chr-tests: New file. + * tests/unistr/test-u32-chr.c: New file. + + Tests for module 'unistr/u16-chr'. + * modules/unistr/u16-chr-tests: New file. + * tests/unistr/test-u16-chr.c: New file. + + Tests for module 'unistr/u8-chr'. + * modules/unistr/u8-chr-tests: New file. + * tests/unistr/test-u8-chr.c: New file. + * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c. + + Tests for module 'unistr/u32-cmp2'. + * modules/unistr/u32-cmp2-tests: New file. + * tests/unistr/test-u32-cmp2.c: New file. + + Tests for module 'unistr/u16-cmp2'. + * modules/unistr/u16-cmp2-tests: New file. + * tests/unistr/test-u16-cmp2.c: New file. + + Tests for module 'unistr/u8-cmp2'. + * modules/unistr/u8-cmp2-tests: New file. + * tests/unistr/test-u8-cmp2.c: New file. + * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h. + + Tests for module 'unistr/u32-cmp'. + * modules/unistr/u32-cmp-tests: New file. + * tests/unistr/test-u32-cmp.c: New file. + + Tests for module 'unistr/u16-cmp'. + * modules/unistr/u16-cmp-tests: New file. + * tests/unistr/test-u16-cmp.c: New file. + + Tests for module 'unistr/u8-cmp'. + * modules/unistr/u8-cmp-tests: New file. + * tests/unistr/test-u8-cmp.c: New file. + * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c. + + Tests for module 'unistr/u32-set'. + * modules/unistr/u32-set-tests: New file. + * tests/unistr/test-u32-set.c: New file. + + Tests for module 'unistr/u16-set'. + * modules/unistr/u16-set-tests: New file. + * tests/unistr/test-u16-set.c: New file. + + Tests for module 'unistr/u8-set'. + * modules/unistr/u8-set-tests: New file. + * tests/unistr/test-u8-set.c: New file. + * tests/unistr/test-set.h: New file. + + Tests for module 'unistr/u32-move'. + * modules/unistr/u32-move-tests: New file. + * tests/unistr/test-u32-move.c: New file. + + Tests for module 'unistr/u16-move'. + * modules/unistr/u16-move-tests: New file. + * tests/unistr/test-u16-move.c: New file. + + Tests for module 'unistr/u8-move'. + * modules/unistr/u8-move-tests: New file. + * tests/unistr/test-u8-move.c: New file. + * tests/unistr/test-move.h: New file. + + Tests for module 'unistr/u32-cpy'. + * modules/unistr/u32-cpy-tests: New file. + * tests/unistr/test-u32-cpy.c: New file. + + Tests for module 'unistr/u16-cpy'. + * modules/unistr/u16-cpy-tests: New file. + * tests/unistr/test-u16-cpy.c: New file. + + Tests for module 'unistr/u8-cpy'. + * modules/unistr/u8-cpy-tests: New file. + * tests/unistr/test-u8-cpy.c: New file. + * tests/unistr/test-cpy.h: New file. + +2010-01-09 Bruno Haible + + Tests for module 'unistr/u32-uctomb'. + * modules/unistr/u32-uctomb-tests: New file. + * tests/unistr/test-u32-uctomb.c: New file. + + Tests for module 'unistr/u16-uctomb'. + * modules/unistr/u16-uctomb-tests: New file. + * tests/unistr/test-u16-uctomb.c: New file. -2010-02-26 David Lutterkort + Tests for module 'unistr/u8-uctomb'. + * modules/unistr/u8-uctomb-tests: New file. + * tests/unistr/test-u8-uctomb.c: New file. - * src/fa.c: clean up error macros - The error macros _E, _F, and _N use names reserved for system libraries; - this leads to compile errors at least on Solaris (as reported by lanky). + Tests for module 'unistr/u32-mbtoucr'. + * modules/unistr/u32-mbtoucr-tests: New file. + * tests/unistr/test-u32-mbtoucr.c: New file. - Rename _E and _F to E and F, and eliminate _N. + Tests for module 'unistr/u16-mbtoucr'. + * modules/unistr/u16-mbtoucr-tests: New file. + * tests/unistr/test-u16-mbtoucr.c: New file. -2010-02-26 Frederik Wagner + Tests for module 'unistr/u8-mbtoucr'. + * modules/unistr/u8-mbtoucr-tests: New file. + * tests/unistr/test-u8-mbtoucr.c: New file. - Modprobe: Suse includes - * lenses/modprobe.aug: included /etc/modprobe.conf.local + Tests for module 'unistr/u32-mbtouc'. + * modules/unistr/u32-mbtouc-tests: New file. + * tests/unistr/test-u32-mbtouc.c: New file. - Shellvars: Suse includes - * lenses/shellvars.aug: - added include for /etc/sysconfig/network/ifcfg- + Tests for module 'unistr/u16-mbtouc'. + * modules/unistr/u16-mbtouc-tests: New file. + * tests/unistr/test-u16-mbtouc.c: New file. - Grub: support empty kernel parameters, Suse incl.s - * lenses/grub.aug: - - added support for kernel parameters of the form "parameter=" - w/o given value - - included /boot/grub/menu.lst - - changed default for delimiter in kw_menu_arg to " " - * lenses/tests/test_grub.aug: changes corresponding to lens change + Tests for module 'unistr/u8-mbtouc'. + * modules/unistr/u8-mbtouc-tests: New file. + * tests/unistr/test-u8-mbtouc.c: New file. + + Tests for module 'unistr/u32-mbtouc-unsafe'. + * modules/unistr/u32-mbtouc-unsafe-tests: New file. + * tests/unistr/test-u32-mbtouc-unsafe.c: New file. + * tests/unistr/test-u32-mbtouc.h: New file. -2010-02-26 Dominique Dumont + Tests for module 'unistr/u16-mbtouc-unsafe'. + * modules/unistr/u16-mbtouc-unsafe-tests: New file. + * tests/unistr/test-u16-mbtouc-unsafe.c: New file. + * tests/unistr/test-u16-mbtouc.h: New file. + + Tests for module 'unistr/u8-mbtouc-unsafe'. + * modules/unistr/u8-mbtouc-unsafe-tests: New file. + * tests/unistr/test-u8-mbtouc-unsafe.c: New file. + * tests/unistr/test-u8-mbtouc.h: New file. + + Tests for module 'unistr/u32-mblen'. + * modules/unistr/u32-mblen-tests: New file. + * tests/unistr/test-u32-mblen.c: New file. + + Tests for module 'unistr/u16-mblen'. + * modules/unistr/u16-mblen-tests: New file. + * tests/unistr/test-u16-mblen.c: New file. + + Tests for module 'unistr/u8-mblen'. + * modules/unistr/u8-mblen-tests: New file. + * tests/unistr/test-u8-mblen.c: New file. + + Tests for module 'unistr/u32-to-u16'. + * modules/unistr/u32-to-u16-tests: New file. + * tests/unistr/test-u32-to-u16.c: New file. + + Tests for module 'unistr/u32-to-u8'. + * modules/unistr/u32-to-u8-tests: New file. + * tests/unistr/test-u32-to-u8.c: New file. + + Tests for module 'unistr/u16-to-u32'. + * modules/unistr/u16-to-u32-tests: New file. + * tests/unistr/test-u16-to-u32.c: New file. + + Tests for module 'unistr/u16-to-u8'. + * modules/unistr/u16-to-u8-tests: New file. + * tests/unistr/test-u16-to-u8.c: New file. + + Tests for module 'unistr/u8-to-u32'. + * modules/unistr/u8-to-u32-tests: New file. + * tests/unistr/test-u8-to-u32.c: New file. + + Tests for module 'unistr/u8-to-u16'. + * modules/unistr/u8-to-u16-tests: New file. + * tests/unistr/test-u8-to-u16.c: New file. + + Tests for module 'unistr/u32-check'. + * modules/unistr/u32-check-tests: New file. + * tests/unistr/test-u32-check.c: New file. + + Tests for module 'unistr/u16-check'. + * modules/unistr/u16-check-tests: New file. + * tests/unistr/test-u16-check.c: New file. + + Tests for module 'unistr/u8-check'. + * modules/unistr/u8-check-tests: New file. + * tests/unistr/test-u8-check.c: New file. + + * tests/unictype/test-categ_byname.c: Include . + (category_equals): New function. + (main): Add more tests. + * modules/unictype/category-byname-tests (Depends-on): Add stdbool. + + * tests/unictype/test-bidi_byname.c (main): Add more tests. + +2010-01-10 Bruno Haible + + unistr/u*-strcoll: Try harder to distinguish different strings. + * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same, + compare s1 and s2 to see if they are different. + +2010-01-10 Bruno Haible + + unistr/u*-stpncpy: Fix the return value. + * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the + description of the return value consistent with stpncpy in glibc. + * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last + written non-NUL unit. + +2010-01-10 Bruno Haible + + unistr/u*-next: Add missing dependencies. + * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc. + * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc. + * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc. + +2010-01-10 Bruno Haible + + unistr/u8-mbsnlen: Fix return value for incomplete character. + * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of + u8_mblen. + * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr. + Remove unistr/u8-mblen. + * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of + u16_mblen. + * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr. + Remove unistr/u16-mblen. + +2010-01-10 Bruno Haible - Debctrl: new lens and test + wchar: Fix compilation error when is used from coreutils. + * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t. + Reported by Brian Gough and + Chris Clayton via + Mike Frysinger and Jim Meyering . -2010-02-23 David Lutterkort +2010-01-09 Bruno Haible - Ntp: add 'tinker' directive - Fixes bug #103 + unistr/u16-to-u32: Reject invalid input. + * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of + u16_mbtouc. + * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr. + Remove unistr/u16-mbtouc. - Logrotate: tolerate whitespace at the end of a line - Fixes bug #101 + unistr/u16-to-u8: Reject invalid input. + * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of + u16_mbtouc. + * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr. + Remove unistr/u16-mbtouc. -2010-02-23 Raphael Pinson + unistr/u8-to-u32: Reject invalid input. + * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of + u8_mbtouc. + * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr. + Remove unistr/u8-mbtouc. - Dhclient: add rfc code parsing - Fixes bug #107 + unistr/u8-to-u16: Reject invalid input. + * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of + u8_mbtouc. + * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr. + Remove unistr/u8-mbtouc. - Sudoers: allow del_negate even if no negate_node is found - Fixes bug #106 +2010-01-09 Bruno Haible - Logrotate: files can be separated by newlines - Fixes bug #104 + Tests for module 'getlogin'. + * modules/getlogin-tests: New file. + * tests/test-getlogin.c: New file. - Dput: add 'allow_dcut' parameter - Fixes bug #105 + New module 'getlogin'. + * lib/unistd.in.h (getlogin): New declaration. + * lib/getlogin.c: New file. + * m4/getlogin.m4: New file. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN, + HAVE_GETLOGIN. + * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN, + HAVE_GETLOGIN. + * modules/getlogin: New file. + * doc/posix-functions/getlogin.texi: Mention the new module. + Reported by John W. Eaton . -2010-02-22 David Lutterkort +2010-01-09 Bruno Haible - * src/augtool.c: ignore empty lines from stdin - We still complain about the nonsensical 'augtool ""'. + getlogin_r: Support for native Windows. + * lib/getlogin_r.c: Include + (getlogin_r): Implement for native Windows. + * tests/test-getlogin_r.c (main): Also test with a huge buffer. + Reported by Tatsuro MATSUOKA + via John W. Eaton . - Fixes BZ 566844 reported by Mike Burns +2010-01-09 Bruno Haible -2010-02-22 Stuart Sears + getlogin_r: Small fixes. + * lib/getlogin_r.c (getlogin_r): Don't set errno if the function + succeeds. + * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS + before testing whether getlogin_r is declared. No need to set + HAVE_DECL_GETLOGIN_R to 1. + (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration. - Sudoers (parameter_string_nobool_kw): accept "secure_path " - Fixes BX 566134 +2010-01-09 Bruno Haible -2010-02-19 Tim Stoop + * lib/unistd.in.h (getlogin_r): Add comment. - Nagisocfg: lens and test for /etc/nagios3/nagios.cfg +2010-01-09 Bruno Haible -2010-02-12 Ivana Hutarova Varekova + Tests for module 'getlogin_r'. + * modules/getlogin_r-tests: New file. + * tests/test-getlogin_r.c: New file. - Cgrules: new lens and test - See cgrules.conf for http://libcg.sourceforge.net/ +2010-01-09 Jim Meyering -2010-02-11 Ivana Hutarova Varekova + maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule + * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work + also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD. - Cgconfig: lens and tests for libcgroup config - See http://libcg.sourceforge.net/ +2010-01-08 Simon Josefsson -2010-02-11 Laine Stump + * lib/dup2.c (rpl_dup2): Improve comment. - * src/transform.c (file_info): fix memory leak +2010-01-08 Eric Blake -2010-02-09 David Lutterkort + maint.mk: allow packages to add makefile @@ exceptions + * top/maint.mk (_makefile_at_at_check_exceptions): New hook. + (sc_makefile_check): Rename... + (sc_makefile_at_at_check): ...to this, and use hook. - * lens.c (ambig_check): pretty print tree type errors - Instead of dumping raw regular expressions for the tree encoding, print out - something resembling our tree notation. + dup2: work around mingw bug + * lib/dup2.c (rpl_dup2): Sanitize return value on mingw. + Reported by Simon Josefsson. -2010-02-08 David Lutterkort +2010-01-07 John W. Eaton (tiny change) - libfa: handle the syntax r{min,} properly - * src/fa.c (parse_repeated_regexp): set max = -1 when we see r{min,}; - (re_iter_as_string): when max == -1, print r{min,} - * tests/fatext.c (testExample): add a few tests for this syntax + glob: Fix C++ compilation. + * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for + C++. - * src/fa.c (parse_int): flag not parsing anything as an error +2010-01-07 Bruno Haible -2010-02-08 David Lutterkort + Fix indentation of wctype.in.h, broken since 2007-01-06. + * lib/wctype.in.h: Fix indentation of preprocessor directives. - * src/jmt.c: add caller filtering - Caller filtering is needed to weed out seemingly ambiguous parse trees (see - Section 5.3 of Jim/Mandelbaum's paper) +2010-01-07 Bruno Haible - Also adds two pathological lenses and tests to - pass_simple_recursion.aug. Those tests fail without caller filtering. + mbslen: Avoid collision with system function. + * lib/string.in.h [MirBSD]: Include . + (mbslen): Undefine first. Alias mbslen to rpl_mbslen. + * m4/mbslen.m4: New file. + * modules/mbslen (Files): Add it. + (configure.ac): Invoke gl_MBSLEN. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN. + * modules/string (Makefile.am): Substitute HAVE_MBSLEN. + Reported by Nelson H. F. Beebe + via Ian Beckwith . -2010-02-08 David Lutterkort +2010-01-07 Bruno Haible - * AUTHORS: reformatted + dirent: Document the last fix. + * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'. - * tests/Makefile.am: add test for cobblermodules.aug +2010-01-07 Bruno Haible -2010-02-08 Shannon Hughes + stdio: Ensure defines off_t, ssize_t, va_list. + * lib/stdio.in.h: Include unconditionally. + * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t, + va_list are defined. + * doc/posix-headers/stdio.texi: Document the bug of missing types. + Reported by Eric Blake. - Cobblermodules: lens + tests for cobbler's modules.conf +2010-01-07 Bruno Haible -2010-02-02 David Lutterkort + xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13. + * modules/xlist (Depends-on): Add 'list', + * modules/xoset (Depends-on): Add 'oset'. + Reported by Ralf Wildenhues . - Shellvars: allow spaces after/before opening/closing parens for array - Bug reported by Doug Warner +2010-01-07 Bruno Haible -2010-02-01 Matthew Palmer + * doc/posix-functions/strcasecmp.texi: Clarify the platforms. + * doc/posix-functions/strncasecmp.texi: Likewise. - Sshd: allow optional arguments in subsystem commands +2010-01-07 Bruno Haible -2010-01-27 David Lutterkort + * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic. - * src/augeas.c (tree_replace): don't bother marking the new parent as dirty - We call tree_rm on it earlier, which already marks it as dirty. +2010-01-07 John W. Eaton - This line also triggered a SEGV when sub == NULL; this happened, for - example, when /etc/apt/preferences was an empty file. + wctype: allow C++ use + * lib/wctype.in.h: Add extern "C" block for C++. - Bug reported by Matt Palmer +2010-01-06 Eric Blake -2010-01-27 David Lutterkort + maint.mk: detect incorrect GFDL usage + * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule. - * src/get.c (no_match_error): initialize lname - Otherwise, gcc complains about a possibly uninitialized value with -O2 +2010-01-06 Jim Meyering + and Eric Blake -2010-01-25 David Lutterkort + maint.mk: ignore multi-line copyright in NEWS + * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright. - Test for using a recursive lens inside other lenses +2010-01-06 Eric Blake -2010-01-25 David Lutterkort + select: add missing dependency + * modules/select-tests (Depends-on): Move sockets dependency... + * modules/select (Depends-on): ...here. + Reported by Ian Beckwith. - * src/get.c: handle recursive lenses that are not L_REC - Since any lens that uses an L_REC is itself recursive, the distinction - whether to use get_rec or get_lens can be made in lns_get + doc: regenerate INSTALL + * doc/INSTALL: Reflect recent autoconf update. + * doc/INSTALL.ISO: Likewise. + * doc/INSTALL.UTF-8: Likewise. - rec_process will also build the jmt if it does not exist yet + pread: fix compilation on glibc + * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces. + Reported by Ralf Wildenhues. - Fixes ticket #100 + dirent: fix test failure + * lib/dirent.in.h (includes): Guarantee ino_t. + Reported by Ralf Wildenhues. -2010-01-25 David Lutterkort +2010-01-06 Petr Salinger (tiny change) - Properly handle lenses that use L_REC lenses - In constructs involving a recursive lens, we need to take the body of the - recursive lens into consideration. We avoid infinite recursion by stopping - when we see an L_REC that is marked as rec_internal, since that's the - struct lens that points back to the top of the lens from within it. + linkat, renameat: avoid bad free + * lib/at-func2.c (at_func2): Fix typo. + Reported via Ian Beckwith, from http://bugs.debian.org/561117. - jmt_build now expects to be handed a properly set up recursive lens, which - means that for an L_REC both the internal and external instances have to - exist and be connected +2010-01-06 Ralf Wildenhues - * src/lens.c (lns_check_rec): defer building the jmt until the end - * src/jmt.c: when building the jmt, consider L_REC as long as it's not - internal + cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test + * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2, + to avoid failure of symlink test later. -2010-01-25 David Lutterkort +2010-01-06 Eric Blake - * src/jmt.c (print_grammar): recurse into L_REC if they are not rec_internal + stdio, unistd: guarantee ssize_t + * lib/unistd.in.h (includes): Ensure that types required by POSIX + 2008 are exposed when needed. + * lib/stdio.in.h (includes): Likewise. + Reported by Ralf Wildenhues. -2010-01-25 David Lutterkort +2010-01-06 Paolo Bonzini - * src/jmt.c (jmt_visit): allow for toplevel lenses that are not L_REC - To reconstruct the parse of a lens that is not L_REC, but uses L_REC, - e.g. l* where l is L_REC, we can not assume any longer that the root of the - parse tree has only one child. Consequently, we need to start - reconstruction with listing all the children of the root node. + nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if. + * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call + AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo. - Split build_tree into build_children (collects a list of child nodes) and - build_tree which creates the tree for a nonterminal. +2010-01-06 Jim Meyering - To start reconstruction, we now start with collecting the list of children - of the root of the parse tree; the Earley graph does not contain an item - for that, which makes this operation slightly special. + readtokens: this module *does* require xalloc.h + It uses only functions that were omitted by the old syntax-check rule. + * lib/readtokens.c: Include "xalloc.h" once again. + * modules/readtokens (Depends-on): Add xalloc. + This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c. -2010-01-25 David Lutterkort +2010-01-05 Eric Blake - * src/lens.c: propagate rec_internal in the body of an L_REC + maint: support 'make announcement' from a VPATH build + * top/maint.mk (announcement): Look for correct NEWS file. - * src/lens.c: don't short-circuit typechecking for recursive lenses explicitly - The typecheck helpers are all smart enough to not run checks when one of - the types is NULL, as is the case for recursive lenses. +2010-01-05 Aurelien Jarno (tiny change) - * src/lens.h (struct lens): explain better how we handle recursive lenses + utimens (fdutimens): ignore a negative FD, per contract + * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only + when we have a valid file descriptor. Otherwise, using a brand + new glibc (with just-patched futimens that now fails with EBADF) + would cause this function to fail with ENOSYS. + Reported by Guillaume Ayoub in http://bugs.debian.org/563726. + See also http://bugzilla.redhat.com/552320. - * src/jmt.c (build_trace): allow passing in a NULL item +2010-01-05 Eric Blake - * src/lens.c (tags): add name for value primitive + strcase: document what it provides + * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the + gnulib module. + * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise. + Reported by Dilyan Palauzov . - * src/get.c: replace assert's by ensure's - assert aborts, which a library shouldn't do +2010-01-05 Jim Meyering - * src/errcode.h (ensure0): convenience version of ensure + maint: remove useless inclusions of "xalloc.h" + * lib/getloadavg.c: Remove useless inclusion of "xalloc.h". + * lib/readtokens.c: Likewise. + * lib/same.c: Likewise. + * modules/getloadavg (Depends-on): Remove xalloc. + * modules/readtokens: Likewise. + * modules/same: Likewise. - * src/get.c (find_seq): properly report OOM, do not call abort + maint.mk: include 4 more function names in alloca.h-checking regexp + * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete + regexp. Before, we would give a false-positive (saying alloca.h + is included unnecessarily) when the only uses involved omitted symbols. - Remove assert_error_at - This function was dangerous, since it does not jump, and therefore users - will continue doing what they were doing, even if an assertion failed. Use - BUG_ON instead. + xalloc.h: use consistent formatting + * lib/xalloc.h: Move declarations to start in the first column. - * src/get.c (struct state): make info a pointer +2010-01-05 Eric Blake -2010-01-23 David Lutterkort + mkdir: avoid xalloc + * lib/mkdir.c (includes): Drop unused header. + Reported by John W. Eaton. - * src/lens.c (restrict_regexp): properly report OOM +2010-01-04 Jim Meyering -2010-01-20 David Lutterkort + nl_langinfo: avoid configure-time syntax error + * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested + for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to + the empty string. Don't let that provoke a shell syntax error. - Document the basics of building from git + regcomp, regexec, fnmatch: avoid array bounds read error + * lib/regcomp.c (build_equiv_class): From glibc: + Use only the low 24 bits of a findidx return value as an index + into the weights array. Patch by Ulrich Drepper: + http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30 + * lib/regexec.c (check_node_accept_bytes): Likewise. + * lib/fnmatch_loop.c (FCT): Likewise. -2010-01-15 David Lutterkort + regcomp: skip collseq lookup when there are no rules + * lib/regcomp.c (lookup_collation_sequence_value): From glibc: + http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58 - * src/builtin.c: builtins for printing and inspecting lenses + regcomp: recognize ill-formed { } expressions + * lib/regcomp.c (parse_dup_op): From glibc: + http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb - Add a unit type - The literal '()' is the only member of the unit type. Composition is now - allowed if the first expression is of type unit, i.e. '() ; something' is - legal. + regcomp: fix typo in comment + * lib/regcomp.c (duplicate_node_closure): Sync from glibc. + s/satisfy/satisfies/. -2010-01-15 David Lutterkort + regcomp: sync from glibc: remove dead store + * lib/regcomp.c (duplicate_node_closure): Remove useless + search_duplicated_node call and dead store. - Language: allow '_' as an identifier that is never bound - The expression - let _ = something - will evaluate something and then immediately forget it + regcomp: sync from glibc; always use nl_langinfo + * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET), + now that gnulib provides it. Recognize UTF8 as well as UTF-8. + * modules/regex (Depends-on): Add nl_langinfo. - * src/lexer.l (LID): allow leading underscore - * src/syntax.c (bind, bind_type): do not bind '_' +2010-01-04 Eric Blake -2010-01-15 David Lutterkort + fdopendir: fix configure test + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file. - New primitive lens 'value' - In analogy to 'label', this lens allows setting the value of a tree node to - a fixed string +2010-01-01 Bruno Haible -2010-01-14 David Lutterkort + wchar: Remove unused configure check. + * m4/wchar.m4 (gl_WCHAR_H): Don't test whether is standalone. - Version 0.7.0 +2010-01-01 Eric Blake - Json: lens and tests for generic Json files + headers: make check of system header explicit + * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of + gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE + ourselves. + * m4/search_h.m4 (gl_SEARCH_H): Likewise. + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise. + * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI + internals. + * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is + missing. + Suggested by Bruno Haible. - Tests for recursive (context free) lenses +2010-01-01 Jim Meyering -2010-01-14 David Lutterkort + ChangeLog: tweak to eliminate unnecessary copyright line + * ChangeLog: Remove a copyright line that was mistakenly updated + by today's update-copyright run. Reported by Eric Blake. - Syntax for recursive lenses - Add a 'let rec' construct; the syntax should be considered experimental and - might be changed to some other form of expressing recursion. + test-update-copyright: don't let envvar setting cause test failure + * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH. - With recursive lenses, we can't do the bottom-up typechecking that we do - for regular lenses; we need to consider the whole lens at once. This is - achieved by inserting a callback to lns_check_rec when we parse 'let rec - ident = exp'. +2010-01-01 Bruno Haible - * src/builtin.c (lns_check_rec_glue): new function - * src/lexer.l: new token LETREC - * src/parser.y: add syntax rule for LETREC and desugar it into a call to - lns_check_rec - * src/syntax.h: make free_term available, constant for name - of let_check_rec within the interpreter - * src/syntax.c (free_term): now extern, not static + localename: Avoid gcc warning. + * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this + function if it is not used. -2010-01-14 David Lutterkort +2010-01-01 Jim Meyering - * src/get.c (get_rec, parse_rec): get/parse for recursive lenses + update nearly all FSF copyright year lists to include 2010 + Use the same procedure as for 2009, outlined in + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081 - * src/put.c: put/create for recursive lenses + version-etc: set COPYRIGHT_YEAR to 2010 + * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum. - Remember the jmt in the lens and free it when it is no loner needed +2009-12-31 Eric Blake - Earley parser based on Jim/Mandelbaum's transducers + doc: correct availability of cygwin 1.5.x getopt + * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt + variables. + * doc/posix-functions/opterr.texi (opterr): Likewise. + * doc/posix-functions/optind.texi (optind): Likewise. + * doc/posix-functions/optopt.texi (optopt): Likewise. + * doc/posix-functions/tzname.texi (tzname): Likewise. - Calculate if a lens's ctype is nullable + openat: update maintainer + * modules/openat (Maintainer): Add myself. - Add a typechecker and constructor for recursive lenses - * src/lens.h (lns_make_rec, lns_check_rec): new functions - * src/lens.c (lns_make_rec, lns_check_rec): new functions + utimens: avoid shadowing warning + * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat + buffers into one, to avoid shadowing, as well as avoiding a + redundant stat. + Reported by Jim Meyering. + + test-dup2: avoid compiler warning + * tests/test-dup2.c (is_inheritable): Only define if used. + +2010-01-01 Bruno Haible + + vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb. + * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is + defined, use wctomb instead of wcrtomb. + +2010-01-01 Bruno Haible + + iconv: Reject native Solaris iconv. + * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug. + * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug. + +2009-12-31 Bruno Haible + + * tests/test-signal.c (main): Remove test of 'SIG'. + +2009-12-31 Bruno Haible + + spawn: Fix incomplete fix. + * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags, + posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link + warnings for GNULIB_POSIXCHECK again. + Reported by Eric Blake. + +2009-12-31 Bruno Haible + + Avoid namespace pollution on glibc systems. + * lib/spawn.in.h: Don't include , on glibc systems. + * lib/sys_times.in.h: Don't include on glibc systems. + * lib/wchar.in.h: Don't include , , on + glibc systems. + +2009-12-31 Bruno Haible + + * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation. + (gl_REPLACE_WCHAR_H): Turn into a no-op. + * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise. + * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise. + * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise. + * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise. + * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise. + +2009-12-31 Bruno Haible + + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke + gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not + afterwards. + +2009-12-31 Bruno Haible + + * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set + SYS_UTSNAME_H. + +2009-12-31 Bruno Haible + + spawn: Fix misapplied patch. + * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags, + posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link + warnings for GNULIB_POSIXCHECK. + +2009-12-31 Bruno Haible + + times: Update after sys_times changed. + * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES. + * modules/times (Files): Add it. + (configure.ac): Invoke gl_FUNC_TIMES. + +2009-12-31 Bruno Haible + + Use AC_C_INLINE where necessary. + * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE. + * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise. + * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise. + * m4/mbchar.m4 (gl_MBCHAR): Likewise. + * m4/mbfile.m4 (gl_MBFILE): Likewise. + * m4/mbiter.m4 (gl_MBITER): Likewise. + * m4/regex.m4 (gl_PREREQ_REGEX): Likewise. + * m4/stat.m4 (gl_FUNC_STAT): Likewise. + * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise. + * modules/u64 (configure.ac): Likewise. + +2009-12-31 Bruno Haible + + Use AC_C_INLINE instead of module 'inline' where possible. + * modules/inline (Description): Clarify purpose. + * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE. + * modules/count-one-bits (Depends-on): Remove inline. + * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE. + * modules/openat (Depends-on): Remove inline. + * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE + instead of depending on module 'inline'. + * modules/filevercmp (Depends-on, configure.ac): Likewise. + * modules/unicase/cased (Depends-on, configure.ac): Likewise. + * modules/unicase/ignorable (Depends-on, configure.ac): Likewise. + * modules/unictype/category-of (Depends-on, configure.ac): Likewise. + * modules/unictype/category-test (Depends-on, configure.ac): Likewise. + * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise. + * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise. + * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise. + * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise. + * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise. + * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise. + * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise. + * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise. + * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise. + * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise. + * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise. + * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise. + * modules/unictype/property-alphabetic (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-ascii-hex-digit (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-arabic-digit (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-arabic-right-to-left (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-block-separator (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-boundary-neutral (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-common-separator (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-control (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-bidi-embedding-or-override (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-eur-num-separator (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-eur-num-terminator (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-european-digit (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-left-to-right (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-non-spacing-mark (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-other-neutral (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-pdf (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-bidi-segment-separator (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-bidi-whitespace (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-combining (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-composite (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-currency-symbol (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-dash (Depends-on, configure.ac): Likewise. + * modules/unictype/property-decimal-digit (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-default-ignorable-code-point (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-deprecated (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-diacritic (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-extender (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-format-control (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-grapheme-base (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-grapheme-extend (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-grapheme-link (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-hex-digit (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-hyphen (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-id-continue (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-id-start (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-ideographic (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-ids-binary-operator (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-ids-trinary-operator (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-ignorable-control (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-iso-control (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-join-control (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-left-of-pair (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-line-separator (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-logical-order-exception (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-lowercase (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-math (Depends-on, configure.ac): Likewise. + * modules/unictype/property-non-break (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-not-a-character (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-numeric (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-other-alphabetic (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-other-default-ignorable-code-point + (Depends-on, configure.ac): Likewise. + * modules/unictype/property-other-grapheme-extend (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-other-id-continue (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-other-id-start (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-other-lowercase (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-other-math (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-other-uppercase (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-paired-punctuation (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-paragraph-separator (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-pattern-syntax (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-pattern-white-space (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-private-use (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-punctuation (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-quotation-mark (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-radical (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-sentence-terminal (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-soft-dotted (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-space (Depends-on, configure.ac): Likewise. + * modules/unictype/property-terminal-punctuation (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-titlecase (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-unassigned-code-value (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-unified-ideograph (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-uppercase (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-variation-selector (Depends-on, + configure.ac): Likewise. + * modules/unictype/property-white-space (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-xid-continue (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-xid-start (Depends-on, configure.ac): + Likewise. + * modules/unictype/property-zero-width (Depends-on, configure.ac): + Likewise. + * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise. + * modules/unictype/syntax-java-ident (Depends-on, configure.ac): + Likewise. + +2009-12-31 Bruno Haible + + Remove unnecessary AC_C_INLINE invocation. + * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed + since 2009-08-21. + +2009-12-31 Jim Meyering + + maint.mk: don't require explicit gpg_key_ID in cfg.mk + * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag. + With this change, we can all remove the gpg_key_ID = ... definition + from our respective cfg.mk files. + + maint.mk: create announcement template in ~/, not in /tmp + * top/maint.mk (emit_upload_commands): Adjust. + (release-prep): Emit into ~/announce-..., not /tmp/announce-... + Remove temporary file, .ci-msg. + +2009-12-31 Eric Blake + + link-warning: always build headers with link warnings + * modules/arpa_inet (Makefile.am): Always build replacement + header. + * modules/ctype (Makefile.am): Likewise. + * modules/dirent (Makefile.am): Likewise. + * modules/inttypes (Makefile.am): Likewise. + * modules/langinfo (Makefile.am): Likewise. + * modules/locale (Makefile.am): Likewise. + * modules/spawn (Makefile.am): Likewise. + * modules/sys_file (Makefile.am): Likewise. + * modules/sys_ioctl (Makefile.am): Likewise. + * modules/sys_select (Makefile.am): Likewise. + * modules/sys_socket (Makefile.am): Likewise. + * modules/sys_times (Makefile.am): Likewise. + * modules/sys_utsname (Makefile.am): Likewise. + * modules/sys_wait (Makefile.am): Likewise. + * modules/wchar (Makefile.am): Likewise. + * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET) + (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable. + * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise. + * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise. + * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS): + Likewise. + * m4/inttypes.m4 (gl_INTTYPES_H): Likewise. + * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise. + * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS): + Likewise. + * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS): + Likewise. + * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise. + * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H) + (gl_SYS_IOCTL_H_DEFAULTS): Likewise. + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. + * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise. + * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H) + (gl_SYS_UTSNAME_H_DEFAULTS): Likewise. + * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H) + (gl_WCHAR_H_DEFAULTS): Likewise. + +2009-12-31 Eric Blake + + signal, spawn: use link warnings + * lib/signal.in.h (sigset_t): Make unconditional. + (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset) + (sigpending, sigprocmask, sigaction): Add link warnings. + * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init) + (posix_spawnattr_destroy, posix_spawnattr_getsigdefault) + (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask) + (posix_spawnattr_setsigmask, posix_spawnattr_getflags) + (posix_spawnattr_setflags, posix_spawnattr_getpgroup) + (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy) + (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam) + (posix_spawnattr_setschedparam, posix_spawn_file_actions_init) + (posix_spawn_file_actions_destroy) + (posix_spawn_file_actions_addopen) + (posix_spawn_file_actions_addclose) + (posix_spawn_file_actions_adddup2): Likewise. + * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t. + * tests/test-signal.c (main): Enhance test. + + spawn: improve wrapper support + * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence. + (gl_SPAWN_H_DEFAULTS): New defaults. + * modules/spawn (Makefile.am): Substitute them. + * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t): + Only declare if missing or broken. + + sys_times, sys_utsname: use include_next + * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing + header. + (gl_SYS_TIMES_H_DEFAULTS): Add another variable. + * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H) + (gl_SYS_UTSNAME_H_DEFAULTS): Likewise. + * modules/sys_times (Depends-on): Add include_next. + (Makefile.am): Substitute additional values. + * modules/sys_utsname (Depends-on, Makefile.am): Likewise. + * lib/sys_times.in.h (includes): Include native header, if + available. + * lib/sys_utsname.in.h (includes): Likewise. + * tests/test-sys_times.c (main): Enhance test. + + fdutimensat: revert prior patch + * modules/fdutimensat (Depends-on): Re-add inline; it is needed by + utimens.h. + Reported by Bruno Haible. + +2009-12-30 Eric Blake + + sys_wait: drop link-warning dependency + * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded + link-warning efforts. + * lib/sys_wait.in.h: Likewise. + + fdutimensat: remove bogus dependency + * modules/fdutimensat (Depends-on): Drop inline. + + unistd: fix typo + * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo. + +2009-12-30 Bruno Haible + + Fix compilation error with Solaris cc. + * lib/unicase/u8-is-invariant.c: Include . + * lib/unicase/u16-is-invariant.c: Likewise. + * lib/unicase/u32-is-invariant.c: Likewise. + Reported by Nelson H. F. Beebe . + +2009-12-30 Bruno Haible + + Fix test crash. + * tests/test-localename.c (test_locale_name_thread): Skip unavailable + locales. + Reported by Simon Josefsson . + +2009-12-30 Bruno Haible + + Fix compilation error on most platforms. + * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE. + Reported by Simon Josefsson + and Nelson H. F. Beebe . + +2009-12-30 Eric Blake + + futimens, utimensat: work around ntfs-3g bug + * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether + a ctime bug is present, and expand workaround to cover ntfs-3g. + * lib/utimens.c (fdutimens, lutimens): Likewise. + (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism. + (validate_timespec): Adjust return value. + * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment. + * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise. + Reported by ctrn3e8 . + +2009-12-29 Eric Blake + + link-warning: make usage consistent + * modules/ctype (Depends-on): Add link-warning. + (Makefile.am): Update rules accordingly. + * modules/langinfo (Depends-on, Makefile.am): Likewise. + * modules/locale (Depends-on, Makefile.am): Likewise. + * modules/sys_file (Makefile.am): Likewise. + * modules/getopt-posix (Makefile.am): Delete unused link warning + efforts. + * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use. + * lib/langinfo.in.h (GL_LINK_WARNING): Likewise. + * lib/locale.in.h (GL_LINK_WARNING): Likewise. + * lib/sys_file.in.h (GL_LINK_WARNING): Likewise. + + stdio: remove unused variables + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables. + * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise. + * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise. + + tests: test more substitute headers + * modules/ctype-tests: New file. + * modules/dirent-tests: Likewise. + * modules/spawn-tests: Likewise. + * modules/sys_file-tests: Likewise. + * modules/sys_ioctl-tests: Likewise. + * modules/sys_wait-tests: Likewise. + * tests/test-ctype.c: Likewise. + * tests/test-dirent.c: Likewise. + * tests/test-spawn.c: Likewise. + * tests/test-sys_file.c: Likewise. + * tests/test-sys_ioctl.c: Likewise. + * tests/test-sys_wait.c: Likewise. + * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing. + * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide + whether or not flock is in use. + + tests: remove License section from module + * modules/arpa_inet-tests: Remove unneeded section. + * modules/byteswap-tests: Likewise. + * modules/ceilf-tests: Likewise. + * modules/ceill-tests: Likewise. + * modules/crypto/des-tests: Likewise. + * modules/crypto/gc-arcfour-tests: Likewise. + * modules/crypto/gc-arctwo-tests: Likewise. + * modules/crypto/gc-des-tests: Likewise. + * modules/crypto/gc-hmac-md5-tests: Likewise. + * modules/crypto/gc-hmac-sha1-tests: Likewise. + * modules/crypto/gc-md2-tests: Likewise. + * modules/crypto/gc-md4-tests: Likewise. + * modules/crypto/gc-md5-tests: Likewise. + * modules/crypto/gc-pbkdf2-sha1-tests: Likewise. + * modules/crypto/gc-rijndael-tests: Likewise. + * modules/crypto/gc-sha1-tests: Likewise. + * modules/crypto/gc-tests: Likewise. + * modules/crypto/md2-tests: Likewise. + * modules/crypto/md4-tests: Likewise. + * modules/fcntl-h-tests: Likewise. + * modules/floorf-tests: Likewise. + * modules/floorl-tests: Likewise. + * modules/frexp-nolibm-tests: Likewise. + * modules/frexp-tests: Likewise. + * modules/frexpl-nolibm-tests: Likewise. + * modules/frexpl-tests: Likewise. + * modules/getaddrinfo-tests: Likewise. + * modules/inttypes-tests: Likewise. + * modules/isfinite-tests: Likewise. + * modules/isinf-tests: Likewise. + * modules/ldexpl-tests: Likewise. + * modules/locale-tests: Likewise. + * modules/math-tests: Likewise. + * modules/netdb-tests: Likewise. + * modules/netinet_in-tests: Likewise. + * modules/printf-frexp-tests: Likewise. + * modules/printf-frexpl-tests: Likewise. + * modules/priv-set-tests: Likewise. + * modules/random_r-tests: Likewise. + * modules/round-tests: Likewise. + * modules/roundf-tests: Likewise. + * modules/roundl-tests: Likewise. + * modules/search-tests: Likewise. + * modules/select-tests: Likewise. + * modules/signal-tests: Likewise. + * modules/stdbool-tests: Likewise. + * modules/stddef-tests: Likewise. + * modules/stdint-tests: Likewise. + * modules/stdio-tests: Likewise. + * modules/stdlib-tests: Likewise. + * modules/string-tests: Likewise. + * modules/strings-tests: Likewise. + * modules/sys_select-tests: Likewise. + * modules/sys_socket-tests: Likewise. + * modules/sys_stat-tests: Likewise. + * modules/sys_time-tests: Likewise. + * modules/sys_utsname-tests: Likewise. + * modules/sysexits-tests: Likewise. + * modules/time-tests: Likewise. + * modules/trunc-tests: Likewise. + * modules/truncf-tests: Likewise. + * modules/truncl-tests: Likewise. + * modules/tsearch-tests: Likewise. + * modules/unistd-tests: Likewise. + * modules/wchar-tests: Likewise. + * modules/wctype-tests: Likewise. + + tests: fix license on several tests + * tests/test-des.c: Update to GPLv3+. + * tests/test-flock.c: Likewise. + * tests/test-fsync.c: Likewise. + * tests/test-futimens.h: Likewise. + * tests/test-gc-arcfour.c: Likewise. + * tests/test-gc-arctwo.c: Likewise. + * tests/test-gc-des.c: Likewise. + * tests/test-gc-hmac-md5.c: Likewise. + * tests/test-gc-hmac-sha1.c: Likewise. + * tests/test-gc-md2.c: Likewise. + * tests/test-gc-md4.c: Likewise. + * tests/test-gc-md5.c: Likewise. + * tests/test-gc-pbkdf2-sha1.c: Likewise. + * tests/test-gc-rijndael.c: Likewise. + * tests/test-gc-sha1.c: Likewise. + * tests/test-gc.c: Likewise. + * tests/test-getcwd.c: Likewise. + * tests/test-link.c: Likewise. + * tests/test-link.h: Likewise. + * tests/test-lutimens.h: Likewise. + * tests/test-md2.c: Likewise. + * tests/test-md4.c: Likewise. + * tests/test-mkdir.h: Likewise. + * tests/test-rename.c: Likewise. + * tests/test-rename.h: Likewise. + * tests/test-safe-alloc.c: Likewise. + * tests/test-utimens-common.h: Likewise. + * tests/test-utimens.h: Likewise. + + maint: sync license texts + * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi. + * doc/gpl-3.0.texi: Revert copyright year update. + * doc/lgpl-3.0.texi: Likewise. + +2009-12-29 Jim Meyering + + update nearly all FSF copyright year lists to include 2009 + The files named by the following are exempted: + grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do + test -f "$dst" && { echo "$dst"; continue; } + test -d "$dst" || continue + echo "$dst"/$(basename "$src") + done > exempt + git ls-files tests/unictype >> exempt + In the remaining files, convert to all-interval notation if + - there is already at least one year interval like 2000-2003 + - the file is maintained by me + - the file is in lib/uni*/, where that style already prevails + Otherwise, use update-copyright's default. + +2009-12-29 Simon Josefsson + and Eric Blake + + tests: don't require debug system() to pass + * tests/test-lstat.h (test_lstat_func): Move debug cleanup... + * tests/test-rmdir.h (test_rmdir_func): Likewise. + * tests/test-unlink.h (test_unlink_func): Likewise. + * tests/test-fstatat.c (main): ...into callers. + * tests/test-lstat.c (main): Likewise. + * tests/test-rmdir.c (main): Likewise. + * tests/test-unlink.c (main): Likewise. + * tests/test-unlinkat.c (main): Likewise. + * tests/test-areadlink-with-size.c (main): Don't require a + debug-only system call to pass, aiding cross-testing to mingw. + * tests/test-areadlink.c (main): Likewise. + * tests/test-areadlinkat-with-size.c (main): Likewise. + * tests/test-areadlinkat.c (main): Likewise. + * tests/test-canonicalize-lgpl.c (main): Likewise. + * tests/test-canonicalize.c (main): Likewise. + * tests/test-chown.c (main): Likewise. + * tests/test-fchownat.c (main): Likewise. + * tests/test-lchown.c (main): Likewise. + * tests/test-fdutimensat.c (main): Likewise. + * tests/test-futimens.c (main): Likewise. + * tests/test-link.c (main): Likewise. + * tests/test-linkat.c (main): Likewise. + * tests/test-mkdir.c (main): Likewise. + * tests/test-mkdirat.c (main): Likewise. + * tests/test-mkfifo.c (main): Likewise. + * tests/test-mkfifoat.c (main): Likewise. + * tests/test-mknod.c (main): Likewise. + * tests/test-readlink.c (main): Likewise. + * tests/test-remove.c (main): Likewise. + * tests/test-rename.c (main): Likewise. + * tests/test-renameat.c (main): Likewise. + * tests/test-symlink.c (main): Likewise. + * tests/test-symlinkat.c (main): Likewise. + * tests/test-utimens.c (main): Likewise. + * tests/test-utimensat.c (main): Likewise. + +2009-12-29 Simon Josefsson + + * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend + on $(UNUSED_PARAMETER_H) to avoid build failure. + +2009-12-28 Jim Meyering + + update-copyright: you may specify a max. line length other than 72 + * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH. + + maint: use consistent FSF copyright line syntax + * lib/posixtm.c: Add missing comma in FSF copyright line. + * lib/posixtm.h: Likewise. + * lib/getugroups.c: Add missing ", Inc.". + + pmccabe2html: emit consistent FSF copyright; remove trailing blanks + * build-aux/pmccabe2html: Insert comma before "Inc." in emitted + FSF copyright line. Remove trailing blanks. + +2009-12-28 Eric Blake + + test-dup2: reduce dependencies + * modules/cloexec (Configure.ac): Set witness. + * modules/dup2-tests (Depends-on): Drop cloexec. + * tests/test-dup2.c (main): Skip portion of test if cloexec module + not present. + Suggested by Bruno Haible. + +2009-12-26 Bruno Haible + + Remove an unneeded dependency. + * modules/fseterr (Depends-on): Remove dup2. + +2009-12-26 Eric Blake + + tests: use macros.h in more places + * tests/macros.h (ASSERT): Depend on ASSERT_STREAM. + (ASSERT_STREAM): Provide default of stderr. + * tests/test-dirent-safer.c: Include macros.h, using alternate + stream for assertions. + * tests/test-dup-safer.c: Likewise. + * tests/test-freopen-safer.c: Likewise. + * tests/test-getopt.c: Likewise. + * tests/test-openat-safer.c: Likewise. + * tests/test-pipe.c: Likewise. + * tests/test-popen-safer.c: Likewise. + * modules/dirent-safer-tests (Files): Include macros.h. + * modules/unistd-safer-tests (Files): Likewise. + * modules/freopen-safer-tests (Files): Likewise. + * modules/getopt-posix-tests (Files): Likewise. + * modules/openat-safer-tests (Files): Likewise. + * modules/pipe-tests (Files): Likewise. + +2009-12-26 Bruno Haible + + javacomp: Portability fix. + * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so + that it also works on Solaris. + +2009-12-26 Bruno Haible + + localename: Fix storage allocation of gl_locale_name_thread's result. + * lib/localename.c (SIZE_BITS, string_hash, struct hash_node, + HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on + all platforms that have 'uselocale'. + (gl_locale_name_thread_unsafe): New function, extracted from + gl_locale_name_thread. + (gl_locale_name_thread): Call struniq on all platforms that have + 'uselocale'. + * tests/test-localename.c (test_locale_name_thread): Check that the + resulting strings are permanently allocated. + * modules/localename-tests (Depends-on): Add strdup. + +2009-12-26 Bruno Haible + + * tests/test-localename.c (categories): Fill in the strings. + +2009-12-26 Jim Meyering + + isdir: complete the removal of m4/isdir.m4 + * modules/isdir (configure.ac): Remove reference to gl_ISDIR. + + isdir: clean up, since at least grep still uses it + * lib/isdir.c: Include "isdir.h". + (S_ISDIR): Remove now-unneeded definition. + * modules/isdir (Files): Add lib/isdir.h. + * lib/isdir.h: New file, with declaration. + * m4/isdir.m4: Remove file -- unneeded. + +2009-12-25 Bruno Haible + + selinux-h: Make generated .h files standalone. + * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER + definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED. + * lib/se-selinux.in.h: Likewise. + * modules/selinux-h (Depends-on): Add unused-parameter. + (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into + selinux/selinux.h and selinux/context.h. + Suggested by Eric Blake. + +2009-12-25 Bruno Haible + + Move gl_FCNTL_O_FLAGS to a separate .m4 file. + * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4. + * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro. + * modules/fcntl-h (Files): Add m4/fcntl-o.m4. + * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4. + +2009-12-24 Bruno Haible + + openat: Fix warning. + * lib/openat-proc.c: Include . + +2009-12-24 Bruno Haible + + New module 'unused-parameter'. + * build-aux/unused-parameter.h: New file, extracted from earlier + gnulib-common.m4. + * modules/unused-parameter: New file. + * lib/unistr.h: Include unused-parameter.h. + (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of + _GL_UNUSED. + * modules/unistr/base (Depends-on): Add unused-parameter. + +2009-12-24 Bruno Haible + + Add missing dependencies to 'extensions' module. + * m4/extensions.m4: Add comment. + * modules/accept4 (Depends-on): Add extensions. + * modules/dup3 (Depends-on): Likewise. + * modules/fcntl (Depends-on): Likewise. + * modules/futimens (Depends-on): Likewise. + * modules/mknod (Depends-on): Likewise. + * modules/pipe2 (Depends-on): Likewise. + * modules/stat-time (Depends-on): Likewise. + * modules/strcasestr-simple (Depends-on): Likewise. + * modules/strsignal (Depends-on): Likewise. + * modules/utimensat (Depends-on): Likewise. + * modules/localcharset (Depends-on): Likewise. Needed because of + gl_FCNTL_O_FLAGS. + * modules/wcrtomb (Depends-on): Likewise. Needed because of + AC_TYPE_MBSTATE_T. + * modules/wcsnrtombs (Depends-on): Likewise. + * modules/wcsrtombs (Depends-on): Likewise. + +2009-12-24 Bruno Haible + + binary-io: Avoid gcc warning due to SET_BINARY. + * lib/binary-io.h (SET_BINARY): Cast the result to void. + Reported by Jim Meyering . Suggestion by Eric Blake. + +2009-12-24 Bruno Haible + + Avoid future namespace pollution on glibc systems. + * lib/arpa_inet.in.h: Don't include on glibc systems. + * lib/sys_ioctl.in.h: Don't include on glibc systems. + * lib/sys_select.in.h: Don't include and on + glibc systems. + +2009-12-24 Bruno Haible + + Refactor common macros used in tests. + * tests/macros.h: New file. + * tests/test-areadlink.c: Include macros.h. Don't include + and/or , if appropriate. + (ASSERT, SIZEOF): Remove macros. + * tests/test-areadlink-with-size.c: Likewise. + * tests/test-areadlinkat.c: Likewise. + * tests/test-areadlinkat-with-size.c: Likewise. + * tests/test-argmatch.c: Likewise. + * tests/test-argv-iter.c: Likewise. + * tests/test-array-mergesort.c: Likewise. + * tests/test-array_list.c: Likewise. + * tests/test-array_oset.c: Likewise. + * tests/test-avltree_list.c: Likewise. + * tests/test-avltree_oset.c: Likewise. + * tests/test-avltreehash_list.c: Likewise. + * tests/test-base64.c: Likewise. + * tests/test-binary-io.c: Likewise. + * tests/test-bitrotate.c: Likewise. + * tests/test-btowc.c: Likewise. + * tests/test-byteswap.c: Likewise. + * tests/test-c-ctype.c: Likewise. + * tests/test-c-stack.c: Likewise. + * tests/test-c-strcasecmp.c: Likewise. + * tests/test-c-strcasestr.c: Likewise. + * tests/test-c-strncasecmp.c: Likewise. + * tests/test-c-strstr.c: Likewise. + * tests/test-canonicalize-lgpl.c: Likewise. + * tests/test-canonicalize.c: Likewise. + * tests/test-carray_list.c: Likewise. + * tests/test-ceilf1.c: Likewise. + * tests/test-ceilf2.c: Likewise. + * tests/test-ceill.c: Likewise. + * tests/test-chown.c: Likewise. + * tests/test-cloexec.c: Likewise. + * tests/test-copy-acl.c: Likewise. + * tests/test-copy-file.c: Likewise. + * tests/test-count-one-bits.c: Likewise. + * tests/test-dprintf-posix.c: Likewise. + * tests/test-dup2.c: Likewise. + * tests/test-dup3.c: Likewise. + * tests/test-duplocale.c: Likewise. + * tests/test-fbufmode.c: Likewise. + * tests/test-fchdir.c: Likewise. + * tests/test-fchownat.c: Likewise. + * tests/test-fcntl-safer.c: Likewise. + * tests/test-fcntl.c: Likewise. + * tests/test-fdopendir.c: Likewise. + * tests/test-fdutimensat.c: Likewise. + * tests/test-fflush2.c: Likewise. + * tests/test-file-has-acl.c: Likewise. + * tests/test-filevercmp.c: Likewise. + * tests/test-flock.c: Likewise. + * tests/test-floorf1.c: Likewise. + * tests/test-floorf2.c: Likewise. + * tests/test-floorl.c: Likewise. + * tests/test-fnmatch.c: Likewise. + * tests/test-fopen.h: Likewise. + * tests/test-fpending.c: Likewise. + * tests/test-fprintf-posix.c: Likewise. + * tests/test-fpurge.c: Likewise. + * tests/test-freadable.c: Likewise. + * tests/test-freadahead.c: Likewise. + * tests/test-freading.c: Likewise. + * tests/test-freadptr.c: Likewise. + * tests/test-freadptr2.c: Likewise. + * tests/test-freadseek.c: Likewise. + * tests/test-freopen.c: Likewise. + * tests/test-frexp.c: Likewise. + * tests/test-frexpl.c: Likewise. + * tests/test-fseek.c: Likewise. + * tests/test-fseeko.c: Likewise. + * tests/test-fstatat.c: Likewise. + * tests/test-fstrcmp.c: Likewise. + * tests/test-fsync.c: Likewise. + * tests/test-ftell.c: Likewise. + * tests/test-ftello.c: Likewise. + * tests/test-func.c: Likewise. + * tests/test-futimens.c: Likewise. + * tests/test-fwritable.c: Likewise. + * tests/test-fwriting.c: Likewise. + * tests/test-getcwd.c: Likewise. + * tests/test-getdate.c: Likewise. + * tests/test-getdelim.c: Likewise. + * tests/test-getdtablesize.c: Likewise. + * tests/test-getgroups.c: Likewise. + * tests/test-getline.c: Likewise. + * tests/test-getndelim2.c: Likewise. + * tests/test-glob.c: Likewise. + * tests/test-hash.c: Likewise. + * tests/test-i-ring.c: Likewise. + * tests/test-iconv-utf.c: Likewise. + * tests/test-iconv.c: Likewise. + * tests/test-idpriv-drop.c: Likewise. + * tests/test-idpriv-droptemp.c: Likewise. + * tests/test-inet_ntop.c: Likewise. + * tests/test-inet_pton.c: Likewise. + * tests/test-isblank.c: Likewise. + * tests/test-isfinite.c: Likewise. + * tests/test-isinf.c: Likewise. + * tests/test-isnan.c: Likewise. + * tests/test-isnand.h: Likewise. + * tests/test-isnanf.h: Likewise. + * tests/test-isnanl.h: Likewise. + * tests/test-lchown.c: Likewise. + * tests/test-ldexpl.c: Likewise. + * tests/test-link.c: Likewise. + * tests/test-linkat.c: Likewise. + * tests/test-linked_list.c: Likewise. + * tests/test-linkedhash_list.c: Likewise. + * tests/test-localename.c: Likewise. + * tests/test-lseek.c: Likewise. + * tests/test-lstat.c: Likewise. + * tests/test-mbmemcasecmp.c: Likewise. + * tests/test-mbmemcasecoll.c: Likewise. + * tests/test-mbrtowc.c: Likewise. + * tests/test-mbscasecmp.c: Likewise. + * tests/test-mbscasestr1.c: Likewise. + * tests/test-mbscasestr2.c: Likewise. + * tests/test-mbscasestr3.c: Likewise. + * tests/test-mbscasestr4.c: Likewise. + * tests/test-mbschr.c: Likewise. + * tests/test-mbscspn.c: Likewise. + * tests/test-mbsinit.c: Likewise. + * tests/test-mbsncasecmp.c: Likewise. + * tests/test-mbsnrtowcs.c: Likewise. + * tests/test-mbspbrk.c: Likewise. + * tests/test-mbspcasecmp.c: Likewise. + * tests/test-mbsrchr.c: Likewise. + * tests/test-mbsrtowcs.c: Likewise. + * tests/test-mbsspn.c: Likewise. + * tests/test-mbsstr1.c: Likewise. + * tests/test-mbsstr2.c: Likewise. + * tests/test-mbsstr3.c: Likewise. + * tests/test-memchr.c: Likewise. + * tests/test-memchr2.c: Likewise. + * tests/test-memcmp.c: Likewise. + * tests/test-memmem.c: Likewise. + * tests/test-memrchr.c: Likewise. + * tests/test-mkdir.c: Likewise. + * tests/test-mkdirat.c: Likewise. + * tests/test-mkfifo.c: Likewise. + * tests/test-mkfifoat.c: Likewise. + * tests/test-mknod.c: Likewise. + * tests/test-nanosleep.c: Likewise. + * tests/test-nl_langinfo.c: Likewise. + * tests/test-obstack-printf.c: Likewise. + * tests/test-open.c: Likewise. + * tests/test-openat.c: Likewise. + * tests/test-pipe-filter-gi1.c: Likewise. + * tests/test-pipe-filter-gi2-main.c: Likewise. + * tests/test-pipe-filter-ii1.c: Likewise. + * tests/test-pipe-filter-ii2-main.c: Likewise. + * tests/test-pipe2.c: Likewise. + * tests/test-popen.h: Likewise. + * tests/test-posixtm.c: Likewise. + * tests/test-pread.c: Likewise. + * tests/test-printf-frexp.c: Likewise. + * tests/test-printf-frexpl.c: Likewise. + * tests/test-printf-posix.c: Likewise. + * tests/test-priv-set.c: Likewise. + * tests/test-quotearg.c: Likewise. + * tests/test-random_r.c: Likewise. + * tests/test-rawmemchr.c: Likewise. + * tests/test-rbtree_list.c: Likewise. + * tests/test-rbtree_oset.c: Likewise. + * tests/test-rbtreehash_list.c: Likewise. + * tests/test-readlink.c: Likewise. + * tests/test-remove.c: Likewise. + * tests/test-rename.c: Likewise. + * tests/test-renameat.c: Likewise. + * tests/test-rmdir.c: Likewise. + * tests/test-round1.c: Likewise. + * tests/test-roundf1.c: Likewise. + * tests/test-roundl.c: Likewise. + * tests/test-safe-alloc.c: Likewise. + * tests/test-sameacls.c: Likewise. + * tests/test-set-mode-acl.c: Likewise. + * tests/test-setenv.c: Likewise. + * tests/test-sigaction.c: Likewise. + * tests/test-signbit.c: Likewise. + * tests/test-sleep.c: Likewise. + * tests/test-snprintf-posix.c: Likewise. + * tests/test-snprintf.c: Likewise. + * tests/test-sprintf-posix.c: Likewise. + * tests/test-stat-time.c: Likewise. + * tests/test-stat.c: Likewise. + * tests/test-strcasestr.c: Likewise. + * tests/test-strchrnul.c: Likewise. + * tests/test-strerror.c: Likewise. + * tests/test-striconv.c: Likewise. + * tests/test-striconveh.c: Likewise. + * tests/test-striconveha.c: Likewise. + * tests/test-strsignal.c: Likewise. + * tests/test-strstr.c: Likewise. + * tests/test-strtod.c: Likewise. + * tests/test-strverscmp.c: Likewise. + * tests/test-symlink.c: Likewise. + * tests/test-symlinkat.c: Likewise. + * tests/test-trunc1.c: Likewise. + * tests/test-trunc2.c: Likewise. + * tests/test-truncf1.c: Likewise. + * tests/test-truncf2.c: Likewise. + * tests/test-truncl.c: Likewise. + * tests/test-uname.c: Likewise. + * tests/test-unlink.c: Likewise. + * tests/test-unlinkat.c: Likewise. + * tests/test-unsetenv.c: Likewise. + * tests/test-usleep.c: Likewise. + * tests/test-utimens.c: Likewise. + * tests/test-utimensat.c: Likewise. + * tests/test-vasnprintf-posix.c: Likewise. + * tests/test-vasnprintf-posix2.c: Likewise. + * tests/test-vasnprintf.c: Likewise. + * tests/test-vasprintf-posix.c: Likewise. + * tests/test-vasprintf.c: Likewise. + * tests/test-vdprintf-posix.c: Likewise. + * tests/test-vfprintf-posix.c: Likewise. + * tests/test-vprintf-posix.c: Likewise. + * tests/test-vsnprintf-posix.c: Likewise. + * tests/test-vsnprintf.c: Likewise. + * tests/test-vsprintf-posix.c: Likewise. + * tests/test-wcrtomb.c: Likewise. + * tests/test-wcsnrtombs.c: Likewise. + * tests/test-wcsrtombs.c: Likewise. + * tests/test-wctype.c: Likewise. + * tests/test-wcwidth.c: Likewise. + * tests/test-xfprintf-posix.c: Likewise. + * tests/test-xmemdup0.c: Likewise. + * tests/test-xprintf-posix.c: Likewise. + * tests/test-xvasprintf.c: Likewise. + * tests/unicase/test-locale-language.c: Likewise. + * tests/unicase/test-mapping-part1.h: Likewise. + * tests/unicase/test-predicate-part1.h: Likewise. + * tests/unicase/test-u8-casecmp.c: Likewise. + * tests/unicase/test-u8-casecoll.c: Likewise. + * tests/unicase/test-u8-casefold.c: Likewise. + * tests/unicase/test-u8-is-cased.c: Likewise. + * tests/unicase/test-u8-is-casefolded.c: Likewise. + * tests/unicase/test-u8-is-lowercase.c: Likewise. + * tests/unicase/test-u8-is-titlecase.c: Likewise. + * tests/unicase/test-u8-is-uppercase.c: Likewise. + * tests/unicase/test-u8-tolower.c: Likewise. + * tests/unicase/test-u8-totitle.c: Likewise. + * tests/unicase/test-u8-toupper.c: Likewise. + * tests/unicase/test-u16-casecmp.c: Likewise. + * tests/unicase/test-u16-casecoll.c: Likewise. + * tests/unicase/test-u16-casefold.c: Likewise. + * tests/unicase/test-u16-is-cased.c: Likewise. + * tests/unicase/test-u16-is-casefolded.c: Likewise. + * tests/unicase/test-u16-is-lowercase.c: Likewise. + * tests/unicase/test-u16-is-titlecase.c: Likewise. + * tests/unicase/test-u16-is-uppercase.c: Likewise. + * tests/unicase/test-u16-tolower.c: Likewise. + * tests/unicase/test-u16-totitle.c: Likewise. + * tests/unicase/test-u16-toupper.c: Likewise. + * tests/unicase/test-u32-casecmp.c: Likewise. + * tests/unicase/test-u32-casecoll.c: Likewise. + * tests/unicase/test-u32-casefold.c: Likewise. + * tests/unicase/test-u32-is-cased.c: Likewise. + * tests/unicase/test-u32-is-casefolded.c: Likewise. + * tests/unicase/test-u32-is-lowercase.c: Likewise. + * tests/unicase/test-u32-is-titlecase.c: Likewise. + * tests/unicase/test-u32-is-uppercase.c: Likewise. + * tests/unicase/test-u32-tolower.c: Likewise. + * tests/unicase/test-u32-totitle.c: Likewise. + * tests/unicase/test-u32-toupper.c: Likewise. + * tests/unicase/test-ulc-casecmp.c: Likewise. + * tests/unicase/test-ulc-casecoll.c: Likewise. + * tests/uniconv/test-u8-conv-from-enc.c: Likewise. + * tests/uniconv/test-u8-conv-to-enc.c: Likewise. + * tests/uniconv/test-u8-strconv-from-enc.c: Likewise. + * tests/uniconv/test-u8-strconv-to-enc.c: Likewise. + * tests/uniconv/test-u16-conv-from-enc.c: Likewise. + * tests/uniconv/test-u16-conv-to-enc.c: Likewise. + * tests/uniconv/test-u16-strconv-from-enc.c: Likewise. + * tests/uniconv/test-u16-strconv-to-enc.c: Likewise. + * tests/uniconv/test-u32-conv-from-enc.c: Likewise. + * tests/uniconv/test-u32-conv-to-enc.c: Likewise. + * tests/uniconv/test-u32-strconv-from-enc.c: Likewise. + * tests/uniconv/test-u32-strconv-to-enc.c: Likewise. + * tests/unictype/test-bidi_byname.c: Likewise. + * tests/unictype/test-bidi_name.c: Likewise. + * tests/unictype/test-bidi_of.c: Likewise. + * tests/unictype/test-bidi_test.c: Likewise. + * tests/unictype/test-block_list.c: Likewise. + * tests/unictype/test-block_of.c: Likewise. + * tests/unictype/test-block_test.c: Likewise. + * tests/unictype/test-categ_and.c: Likewise. + * tests/unictype/test-categ_and_not.c: Likewise. + * tests/unictype/test-categ_byname.c: Likewise. + * tests/unictype/test-categ_name.c: Likewise. + * tests/unictype/test-categ_none.c: Likewise. + * tests/unictype/test-categ_of.c: Likewise. + * tests/unictype/test-categ_or.c: Likewise. + * tests/unictype/test-categ_test_withtable.c: Likewise. + * tests/unictype/test-combining.c: Likewise. + * tests/unictype/test-decdigit.c: Likewise. + * tests/unictype/test-digit.c: Likewise. + * tests/unictype/test-mirror.c: Likewise. + * tests/unictype/test-numeric.c: Likewise. + * tests/unictype/test-pr_byname.c: Likewise. + * tests/unictype/test-pr_test.c: Likewise. + * tests/unictype/test-predicate-part1.h: Likewise. + * tests/unictype/test-scripts.c: Likewise. + * tests/unictype/test-sy_c_ident.c: Likewise. + * tests/unictype/test-sy_java_ident.c: Likewise. + * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise. + * tests/unilbrk/test-u8-width-linebreaks.c: Likewise. + * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise. + * tests/unilbrk/test-u16-width-linebreaks.c: Likewise. + * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise. + * tests/unilbrk/test-u32-width-linebreaks.c: Likewise. + * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise. + * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise. + * tests/uninorm/test-canonical-decomposition.c: Likewise. + * tests/uninorm/test-compat-decomposition.c: Likewise. + * tests/uninorm/test-composition.c: Likewise. + * tests/uninorm/test-decomposing-form.c: Likewise. + * tests/uninorm/test-decomposition.c: Likewise. + * tests/uninorm/test-u8-nfc.c: Likewise. + * tests/uninorm/test-u8-nfd.c: Likewise. + * tests/uninorm/test-u8-nfkc.c: Likewise. + * tests/uninorm/test-u8-nfkd.c: Likewise. + * tests/uninorm/test-u8-normcmp.c: Likewise. + * tests/uninorm/test-u8-normcoll.c: Likewise. + * tests/uninorm/test-u16-nfc.c: Likewise. + * tests/uninorm/test-u16-nfd.c: Likewise. + * tests/uninorm/test-u16-nfkc.c: Likewise. + * tests/uninorm/test-u16-nfkd.c: Likewise. + * tests/uninorm/test-u16-normcmp.c: Likewise. + * tests/uninorm/test-u16-normcoll.c: Likewise. + * tests/uninorm/test-u32-nfc.c: Likewise. + * tests/uninorm/test-u32-nfd.c: Likewise. + * tests/uninorm/test-u32-nfkc.c: Likewise. + * tests/uninorm/test-u32-nfkd.c: Likewise. + * tests/uninorm/test-u32-normalize-big.c: Likewise. + * tests/uninorm/test-u32-normcmp.c: Likewise. + * tests/uninorm/test-u32-normcoll.c: Likewise. + * tests/uninorm/test-uninorm-filter-nfc.c: Likewise. + * tests/unistdio/test-u8-asnprintf1.c: Likewise. + * tests/unistdio/test-u8-vasnprintf1.c: Likewise. + * tests/unistdio/test-u8-vasnprintf2.c: Likewise. + * tests/unistdio/test-u8-vasnprintf3.c: Likewise. + * tests/unistdio/test-u8-vasprintf1.c: Likewise. + * tests/unistdio/test-u8-vsnprintf1.c: Likewise. + * tests/unistdio/test-u8-vsprintf1.c: Likewise. + * tests/unistdio/test-u16-asnprintf1.c: Likewise. + * tests/unistdio/test-u16-vasnprintf1.c: Likewise. + * tests/unistdio/test-u16-vasnprintf2.c: Likewise. + * tests/unistdio/test-u16-vasnprintf3.c: Likewise. + * tests/unistdio/test-u16-vasprintf1.c: Likewise. + * tests/unistdio/test-u16-vsnprintf1.c: Likewise. + * tests/unistdio/test-u16-vsprintf1.c: Likewise. + * tests/unistdio/test-u32-asnprintf1.c: Likewise. + * tests/unistdio/test-u32-vasnprintf1.c: Likewise. + * tests/unistdio/test-u32-vasnprintf2.c: Likewise. + * tests/unistdio/test-u32-vasnprintf3.c: Likewise. + * tests/unistdio/test-u32-vasprintf1.c: Likewise. + * tests/unistdio/test-u32-vsnprintf1.c: Likewise. + * tests/unistdio/test-u32-vsprintf1.c: Likewise. + * tests/unistdio/test-ulc-asnprintf1.c: Likewise. + * tests/unistdio/test-ulc-vasnprintf1.c: Likewise. + * tests/unistdio/test-ulc-vasnprintf2.c: Likewise. + * tests/unistdio/test-ulc-vasnprintf3.c: Likewise. + * tests/unistdio/test-ulc-vasprintf1.c: Likewise. + * tests/unistdio/test-ulc-vsnprintf1.c: Likewise. + * tests/unistdio/test-ulc-vsprintf1.c: Likewise. + * tests/uniwbrk/test-u8-wordbreaks.c: Likewise. + * tests/uniwbrk/test-u16-wordbreaks.c: Likewise. + * tests/uniwbrk/test-u32-wordbreaks.c: Likewise. + * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise. + * tests/uniwidth/test-u8-strwidth.c: Likewise. + * tests/uniwidth/test-u8-width.c: Likewise. + * tests/uniwidth/test-u16-strwidth.c: Likewise. + * tests/uniwidth/test-u16-width.c: Likewise. + * tests/uniwidth/test-u32-strwidth.c: Likewise. + * tests/uniwidth/test-u32-width.c: Likewise. + * tests/uniwidth/test-uc_width.c: Likewise. + * tests/uniwidth/test-uc_width2.c: Likewise. + * modules/acl-tests (Files): Add tests/macros.h. + * modules/areadlink-tests (Files): Likewise. + * modules/areadlink-with-size-tests (Files): Likewise. + * modules/areadlinkat-tests (Files): Likewise. + * modules/areadlinkat-with-size-tests (Files): Likewise. + * modules/argmatch-tests (Files): Likewise. + * modules/argv-iter-tests (Files): Likewise. + * modules/array-list-tests (Files): Likewise. + * modules/array-mergesort-tests (Files): Likewise. + * modules/array-oset-tests (Files): Likewise. + * modules/avltree-list-tests (Files): Likewise. + * modules/avltree-oset-tests (Files): Likewise. + * modules/avltreehash-list-tests (Files): Likewise. + * modules/base64-tests (Files): Likewise. + * modules/binary-io-tests (Files): Likewise. + * modules/bitrotate-tests (Files): Likewise. + * modules/btowc-tests (Files): Likewise. + * modules/byteswap-tests (Files): Likewise. + * modules/c-ctype-tests (Files): Likewise. + * modules/c-stack-tests (Files): Likewise. + * modules/c-strcase-tests (Files): Likewise. + * modules/c-strcasestr-tests (Files): Likewise. + * modules/c-strstr-tests (Files): Likewise. + * modules/canonicalize-lgpl-tests (Files): Likewise. + * modules/canonicalize-tests (Files): Likewise. + * modules/carray-list-tests (Files): Likewise. + * modules/ceilf-tests (Files): Likewise. + * modules/ceill-tests (Files): Likewise. + * modules/chown-tests (Files): Likewise. + * modules/cloexec-tests (Files): Likewise. + * modules/copy-file-tests (Files): Likewise. + * modules/count-one-bits-tests (Files): Likewise. + * modules/dprintf-posix-tests (Files): Likewise. + * modules/dup2-tests (Files): Likewise. + * modules/dup3-tests (Files): Likewise. + * modules/duplocale-tests (Files): Likewise. + * modules/fbufmode-tests (Files): Likewise. + * modules/fchdir-tests (Files): Likewise. + * modules/fcntl-safer-tests (Files): Likewise. + * modules/fcntl-tests (Files): Likewise. + * modules/fdopendir-tests (Files): Likewise. + * modules/fdutimensat-tests (Files): Likewise. + * modules/fflush-tests (Files): Likewise. + * modules/filevercmp-tests (Files): Likewise. + * modules/flock-tests (Files): Likewise. + * modules/floorf-tests (Files): Likewise. + * modules/floorl-tests (Files): Likewise. + * modules/fnmatch-tests (Files): Likewise. + * modules/fopen-safer-tests (Files): Likewise. + * modules/fopen-tests (Files): Likewise. + * modules/fpending-tests (Files): Likewise. + * modules/fprintf-posix-tests (Files): Likewise. + * modules/fpurge-tests (Files): Likewise. + * modules/freadable-tests (Files): Likewise. + * modules/freadahead-tests (Files): Likewise. + * modules/freading-tests (Files): Likewise. + * modules/freadptr-tests (Files): Likewise. + * modules/freadseek-tests (Files): Likewise. + * modules/freopen-tests (Files): Likewise. + * modules/frexp-nolibm-tests (Files): Likewise. + * modules/frexp-tests (Files): Likewise. + * modules/frexpl-nolibm-tests (Files): Likewise. + * modules/frexpl-tests (Files): Likewise. + * modules/fseek-tests (Files): Likewise. + * modules/fseeko-tests (Files): Likewise. + * modules/fstrcmp-tests (Files): Likewise. + * modules/fsync-tests (Files): Likewise. + * modules/ftell-tests (Files): Likewise. + * modules/ftello-tests (Files): Likewise. + * modules/func-tests (Files): Likewise. + * modules/futimens-tests (Files): Likewise. + * modules/fwritable-tests (Files): Likewise. + * modules/fwriting-tests (Files): Likewise. + * modules/getcwd-tests (Files): Likewise. + * modules/getdate-tests (Files): Likewise. + * modules/getdelim-tests (Files): Likewise. + * modules/getdtablesize-tests (Files): Likewise. + * modules/getgroups-tests (Files): Likewise. + * modules/getline-tests (Files): Likewise. + * modules/getndelim2-tests (Files): Likewise. + * modules/glob-tests (Files): Likewise. + * modules/hash-tests (Files): Likewise. + * modules/i-ring-tests (Files): Likewise. + * modules/iconv-tests (Files): Likewise. + * modules/iconv_open-utf-tests (Files): Likewise. + * modules/idpriv-drop-tests (Files): Likewise. + * modules/idpriv-droptemp-tests (Files): Likewise. + * modules/inet_ntop-tests (Files): Likewise. + * modules/inet_pton-tests (Files): Likewise. + * modules/isblank-tests (Files): Likewise. + * modules/isfinite-tests (Files): Likewise. + * modules/isinf-tests (Files): Likewise. + * modules/isnan-tests (Files): Likewise. + * modules/isnand-nolibm-tests (Files): Likewise. + * modules/isnand-tests (Files): Likewise. + * modules/isnanf-nolibm-tests (Files): Likewise. + * modules/isnanf-tests (Files): Likewise. + * modules/isnanl-nolibm-tests (Files): Likewise. + * modules/isnanl-tests (Files): Likewise. + * modules/lchown-tests (Files): Likewise. + * modules/ldexpl-tests (Files): Likewise. + * modules/link-tests (Files): Likewise. + * modules/linkat-tests (Files): Likewise. + * modules/linked-list-tests (Files): Likewise. + * modules/linkedhash-list-tests (Files): Likewise. + * modules/localename-tests (Files): Likewise. + * modules/lseek-tests (Files): Likewise. + * modules/lstat-tests (Files): Likewise. + * modules/mbmemcasecmp-tests (Files): Likewise. + * modules/mbmemcasecoll-tests (Files): Likewise. + * modules/mbrtowc-tests (Files): Likewise. + * modules/mbscasecmp-tests (Files): Likewise. + * modules/mbscasestr-tests (Files): Likewise. + * modules/mbschr-tests (Files): Likewise. + * modules/mbscspn-tests (Files): Likewise. + * modules/mbsinit-tests (Files): Likewise. + * modules/mbsncasecmp-tests (Files): Likewise. + * modules/mbsnrtowcs-tests (Files): Likewise. + * modules/mbspbrk-tests (Files): Likewise. + * modules/mbspcasecmp-tests (Files): Likewise. + * modules/mbsrchr-tests (Files): Likewise. + * modules/mbsrtowcs-tests (Files): Likewise. + * modules/mbsspn-tests (Files): Likewise. + * modules/mbsstr-tests (Files): Likewise. + * modules/memchr-tests (Files): Likewise. + * modules/memchr2-tests (Files): Likewise. + * modules/memcmp-tests (Files): Likewise. + * modules/memmem-tests (Files): Likewise. + * modules/memrchr-tests (Files): Likewise. + * modules/mkdir-tests (Files): Likewise. + * modules/mkfifo-tests (Files): Likewise. + * modules/mkfifoat-tests (Files): Likewise. + * modules/mknod-tests (Files): Likewise. + * modules/nanosleep-tests (Files): Likewise. + * modules/nl_langinfo-tests (Files): Likewise. + * modules/obstack-printf-tests (Files): Likewise. + * modules/open-tests (Files): Likewise. + * modules/openat-tests (Files): Likewise. + * modules/pipe-filter-gi-tests (Files): Likewise. + * modules/pipe-filter-ii-tests (Files): Likewise. + * modules/pipe2-tests (Files): Likewise. + * modules/popen-safer-tests (Files): Likewise. + * modules/popen-tests (Files): Likewise. + * modules/posixtm-tests (Files): Likewise. + * modules/pread-tests (Files): Likewise. + * modules/printf-frexp-tests (Files): Likewise. + * modules/printf-frexpl-tests (Files): Likewise. + * modules/printf-posix-tests (Files): Likewise. + * modules/priv-set-tests (Files): Likewise. + * modules/quotearg-tests (Files): Likewise. + * modules/random_r-tests (Files): Likewise. + * modules/rawmemchr-tests (Files): Likewise. + * modules/rbtree-list-tests (Files): Likewise. + * modules/rbtree-oset-tests (Files): Likewise. + * modules/rbtreehash-list-tests (Files): Likewise. + * modules/readlink-tests (Files): Likewise. + * modules/remove-tests (Files): Likewise. + * modules/rename-tests (Files): Likewise. + * modules/renameat-tests (Files): Likewise. + * modules/rmdir-tests (Files): Likewise. + * modules/round-tests (Files): Likewise. + * modules/roundf-tests (Files): Likewise. + * modules/roundl-tests (Files): Likewise. + * modules/safe-alloc-tests (Files): Likewise. + * modules/setenv-tests (Files): Likewise. + * modules/sigaction-tests (Files): Likewise. + * modules/signbit-tests (Files): Likewise. + * modules/sleep-tests (Files): Likewise. + * modules/snprintf-posix-tests (Files): Likewise. + * modules/snprintf-tests (Files): Likewise. + * modules/sprintf-posix-tests (Files): Likewise. + * modules/stat-tests (Files): Likewise. + * modules/stat-time-tests (Files): Likewise. + * modules/strcasestr-tests (Files): Likewise. + * modules/strchrnul-tests (Files): Likewise. + * modules/strerror-tests (Files): Likewise. + * modules/striconv-tests (Files): Likewise. + * modules/striconveh-tests (Files): Likewise. + * modules/striconveha-tests (Files): Likewise. + * modules/strsignal-tests (Files): Likewise. + * modules/strstr-tests (Files): Likewise. + * modules/strtod-tests (Files): Likewise. + * modules/strverscmp-tests (Files): Likewise. + * modules/symlink-tests (Files): Likewise. + * modules/symlinkat-tests (Files): Likewise. + * modules/trunc-tests (Files): Likewise. + * modules/truncf-tests (Files): Likewise. + * modules/truncl-tests (Files): Likewise. + * modules/uname-tests (Files): Likewise. + * modules/unicase/cased-tests (Files): Likewise. + * modules/unicase/ignorable-tests (Files): Likewise. + * modules/unicase/locale-language-tests (Files): Likewise. + * modules/unicase/tolower-tests (Files): Likewise. + * modules/unicase/totitle-tests (Files): Likewise. + * modules/unicase/toupper-tests (Files): Likewise. + * modules/unicase/u8-casecmp-tests (Files): Likewise. + * modules/unicase/u8-casecoll-tests (Files): Likewise. + * modules/unicase/u8-casefold-tests (Files): Likewise. + * modules/unicase/u8-is-cased-tests (Files): Likewise. + * modules/unicase/u8-is-casefolded-tests (Files): Likewise. + * modules/unicase/u8-is-lowercase-tests (Files): Likewise. + * modules/unicase/u8-is-titlecase-tests (Files): Likewise. + * modules/unicase/u8-is-uppercase-tests (Files): Likewise. + * modules/unicase/u8-tolower-tests (Files): Likewise. + * modules/unicase/u8-totitle-tests (Files): Likewise. + * modules/unicase/u8-toupper-tests (Files): Likewise. + * modules/unicase/u16-casecmp-tests (Files): Likewise. + * modules/unicase/u16-casecoll-tests (Files): Likewise. + * modules/unicase/u16-casefold-tests (Files): Likewise. + * modules/unicase/u16-is-cased-tests (Files): Likewise. + * modules/unicase/u16-is-casefolded-tests (Files): Likewise. + * modules/unicase/u16-is-lowercase-tests (Files): Likewise. + * modules/unicase/u16-is-titlecase-tests (Files): Likewise. + * modules/unicase/u16-is-uppercase-tests (Files): Likewise. + * modules/unicase/u16-tolower-tests (Files): Likewise. + * modules/unicase/u16-totitle-tests (Files): Likewise. + * modules/unicase/u16-toupper-tests (Files): Likewise. + * modules/unicase/u32-casecmp-tests (Files): Likewise. + * modules/unicase/u32-casecoll-tests (Files): Likewise. + * modules/unicase/u32-casefold-tests (Files): Likewise. + * modules/unicase/u32-is-cased-tests (Files): Likewise. + * modules/unicase/u32-is-casefolded-tests (Files): Likewise. + * modules/unicase/u32-is-lowercase-tests (Files): Likewise. + * modules/unicase/u32-is-titlecase-tests (Files): Likewise. + * modules/unicase/u32-is-uppercase-tests (Files): Likewise. + * modules/unicase/u32-tolower-tests (Files): Likewise. + * modules/unicase/u32-totitle-tests (Files): Likewise. + * modules/unicase/u32-toupper-tests (Files): Likewise. + * modules/unicase/ulc-casecmp-tests (Files): Likewise. + * modules/unicase/ulc-casecoll-tests (Files): Likewise. + * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise. + * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise. + * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise. + * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise. + * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise. + * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise. + * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise. + * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise. + * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise. + * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise. + * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise. + * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise. + * modules/unictype/bidicategory-byname-tests (Files): Likewise. + * modules/unictype/bidicategory-name-tests (Files): Likewise. + * modules/unictype/bidicategory-of-tests (Files): Likewise. + * modules/unictype/bidicategory-test-tests (Files): Likewise. + * modules/unictype/block-list-tests (Files): Likewise. + * modules/unictype/block-of-tests (Files): Likewise. + * modules/unictype/block-test-tests (Files): Likewise. + * modules/unictype/category-C-tests (Files): Likewise. + * modules/unictype/category-Cc-tests (Files): Likewise. + * modules/unictype/category-Cf-tests (Files): Likewise. + * modules/unictype/category-Cn-tests (Files): Likewise. + * modules/unictype/category-Co-tests (Files): Likewise. + * modules/unictype/category-Cs-tests (Files): Likewise. + * modules/unictype/category-L-tests (Files): Likewise. + * modules/unictype/category-Ll-tests (Files): Likewise. + * modules/unictype/category-Lm-tests (Files): Likewise. + * modules/unictype/category-Lo-tests (Files): Likewise. + * modules/unictype/category-Lt-tests (Files): Likewise. + * modules/unictype/category-Lu-tests (Files): Likewise. + * modules/unictype/category-M-tests (Files): Likewise. + * modules/unictype/category-Mc-tests (Files): Likewise. + * modules/unictype/category-Me-tests (Files): Likewise. + * modules/unictype/category-Mn-tests (Files): Likewise. + * modules/unictype/category-N-tests (Files): Likewise. + * modules/unictype/category-Nd-tests (Files): Likewise. + * modules/unictype/category-Nl-tests (Files): Likewise. + * modules/unictype/category-No-tests (Files): Likewise. + * modules/unictype/category-P-tests (Files): Likewise. + * modules/unictype/category-Pc-tests (Files): Likewise. + * modules/unictype/category-Pd-tests (Files): Likewise. + * modules/unictype/category-Pe-tests (Files): Likewise. + * modules/unictype/category-Pf-tests (Files): Likewise. + * modules/unictype/category-Pi-tests (Files): Likewise. + * modules/unictype/category-Po-tests (Files): Likewise. + * modules/unictype/category-Ps-tests (Files): Likewise. + * modules/unictype/category-S-tests (Files): Likewise. + * modules/unictype/category-Sc-tests (Files): Likewise. + * modules/unictype/category-Sk-tests (Files): Likewise. + * modules/unictype/category-Sm-tests (Files): Likewise. + * modules/unictype/category-So-tests (Files): Likewise. + * modules/unictype/category-Z-tests (Files): Likewise. + * modules/unictype/category-Zl-tests (Files): Likewise. + * modules/unictype/category-Zp-tests (Files): Likewise. + * modules/unictype/category-Zs-tests (Files): Likewise. + * modules/unictype/category-and-not-tests (Files): Likewise. + * modules/unictype/category-and-tests (Files): Likewise. + * modules/unictype/category-byname-tests (Files): Likewise. + * modules/unictype/category-name-tests (Files): Likewise. + * modules/unictype/category-none-tests (Files): Likewise. + * modules/unictype/category-of-tests (Files): Likewise. + * modules/unictype/category-or-tests (Files): Likewise. + * modules/unictype/category-test-withtable-tests (Files): Likewise. + * modules/unictype/combining-class-tests (Files): Likewise. + * modules/unictype/ctype-alnum-tests (Files): Likewise. + * modules/unictype/ctype-alpha-tests (Files): Likewise. + * modules/unictype/ctype-blank-tests (Files): Likewise. + * modules/unictype/ctype-cntrl-tests (Files): Likewise. + * modules/unictype/ctype-digit-tests (Files): Likewise. + * modules/unictype/ctype-graph-tests (Files): Likewise. + * modules/unictype/ctype-lower-tests (Files): Likewise. + * modules/unictype/ctype-print-tests (Files): Likewise. + * modules/unictype/ctype-punct-tests (Files): Likewise. + * modules/unictype/ctype-space-tests (Files): Likewise. + * modules/unictype/ctype-upper-tests (Files): Likewise. + * modules/unictype/ctype-xdigit-tests (Files): Likewise. + * modules/unictype/decimal-digit-tests (Files): Likewise. + * modules/unictype/digit-tests (Files): Likewise. + * modules/unictype/mirror-tests (Files): Likewise. + * modules/unictype/numeric-tests (Files): Likewise. + * modules/unictype/property-alphabetic-tests (Files): Likewise. + * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise. + * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise. + * modules/unictype/property-bidi-arabic-right-to-left-tests (Files): + Likewise. + * modules/unictype/property-bidi-block-separator-tests (Files): + Likewise. + * modules/unictype/property-bidi-boundary-neutral-tests (Files): + Likewise. + * modules/unictype/property-bidi-common-separator-tests (Files): + Likewise. + * modules/unictype/property-bidi-control-tests (Files): Likewise. + * modules/unictype/property-bidi-embedding-or-override-tests (Files): + Likewise. + * modules/unictype/property-bidi-eur-num-separator-tests (Files): + Likewise. + * modules/unictype/property-bidi-eur-num-terminator-tests (Files): + Likewise. + * modules/unictype/property-bidi-european-digit-tests (Files): Likewise. + * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files): + Likewise. + * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise. + * modules/unictype/property-bidi-non-spacing-mark-tests (Files): + Likewise. + * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise. + * modules/unictype/property-bidi-pdf-tests (Files): Likewise. + * modules/unictype/property-bidi-segment-separator-tests (Files): + Likewise. + * modules/unictype/property-bidi-whitespace-tests (Files): Likewise. + * modules/unictype/property-byname-tests (Files): Likewise. + * modules/unictype/property-combining-tests (Files): Likewise. + * modules/unictype/property-composite-tests (Files): Likewise. + * modules/unictype/property-currency-symbol-tests (Files): Likewise. + * modules/unictype/property-dash-tests (Files): Likewise. + * modules/unictype/property-decimal-digit-tests (Files): Likewise. + * modules/unictype/property-default-ignorable-code-point-tests (Files): + Likewise. + * modules/unictype/property-deprecated-tests (Files): Likewise. + * modules/unictype/property-diacritic-tests (Files): Likewise. + * modules/unictype/property-extender-tests (Files): Likewise. + * modules/unictype/property-format-control-tests (Files): Likewise. + * modules/unictype/property-grapheme-base-tests (Files): Likewise. + * modules/unictype/property-grapheme-extend-tests (Files): Likewise. + * modules/unictype/property-grapheme-link-tests (Files): Likewise. + * modules/unictype/property-hex-digit-tests (Files): Likewise. + * modules/unictype/property-hyphen-tests (Files): Likewise. + * modules/unictype/property-id-continue-tests (Files): Likewise. + * modules/unictype/property-id-start-tests (Files): Likewise. + * modules/unictype/property-ideographic-tests (Files): Likewise. + * modules/unictype/property-ids-binary-operator-tests (Files): Likewise. + * modules/unictype/property-ids-trinary-operator-tests (Files): + Likewise. + * modules/unictype/property-ignorable-control-tests (Files): Likewise. + * modules/unictype/property-iso-control-tests (Files): Likewise. + * modules/unictype/property-join-control-tests (Files): Likewise. + * modules/unictype/property-left-of-pair-tests (Files): Likewise. + * modules/unictype/property-line-separator-tests (Files): Likewise. + * modules/unictype/property-logical-order-exception-tests (Files): + Likewise. + * modules/unictype/property-lowercase-tests (Files): Likewise. + * modules/unictype/property-math-tests (Files): Likewise. + * modules/unictype/property-non-break-tests (Files): Likewise. + * modules/unictype/property-not-a-character-tests (Files): Likewise. + * modules/unictype/property-numeric-tests (Files): Likewise. + * modules/unictype/property-other-alphabetic-tests (Files): Likewise. + * modules/unictype/property-other-default-ignorable-code-point-tests + (Files): Likewise. + * modules/unictype/property-other-grapheme-extend-tests (Files): + Likewise. + * modules/unictype/property-other-id-continue-tests (Files): Likewise. + * modules/unictype/property-other-id-start-tests (Files): Likewise. + * modules/unictype/property-other-lowercase-tests (Files): Likewise. + * modules/unictype/property-other-math-tests (Files): Likewise. + * modules/unictype/property-other-uppercase-tests (Files): Likewise. + * modules/unictype/property-paired-punctuation-tests (Files): Likewise. + * modules/unictype/property-paragraph-separator-tests (Files): Likewise. + * modules/unictype/property-pattern-syntax-tests (Files): Likewise. + * modules/unictype/property-pattern-white-space-tests (Files): Likewise. + * modules/unictype/property-private-use-tests (Files): Likewise. + * modules/unictype/property-punctuation-tests (Files): Likewise. + * modules/unictype/property-quotation-mark-tests (Files): Likewise. + * modules/unictype/property-radical-tests (Files): Likewise. + * modules/unictype/property-sentence-terminal-tests (Files): Likewise. + * modules/unictype/property-soft-dotted-tests (Files): Likewise. + * modules/unictype/property-space-tests (Files): Likewise. + * modules/unictype/property-terminal-punctuation-tests (Files): + Likewise. + * modules/unictype/property-test-tests (Files): Likewise. + * modules/unictype/property-titlecase-tests (Files): Likewise. + * modules/unictype/property-unassigned-code-value-tests (Files): + Likewise. + * modules/unictype/property-unified-ideograph-tests (Files): Likewise. + * modules/unictype/property-uppercase-tests (Files): Likewise. + * modules/unictype/property-variation-selector-tests (Files): Likewise. + * modules/unictype/property-white-space-tests (Files): Likewise. + * modules/unictype/property-xid-continue-tests (Files): Likewise. + * modules/unictype/property-xid-start-tests (Files): Likewise. + * modules/unictype/property-zero-width-tests (Files): Likewise. + * modules/unictype/scripts-tests (Files): Likewise. + * modules/unictype/syntax-c-ident-tests (Files): Likewise. + * modules/unictype/syntax-c-whitespace-tests (Files): Likewise. + * modules/unictype/syntax-java-ident-tests (Files): Likewise. + * modules/unictype/syntax-java-whitespace-tests (Files): Likewise. + * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise. + * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise. + * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise. + * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise. + * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise. + * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise. + * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise. + * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise. + * modules/uninorm/canonical-decomposition-tests (Files): Likewise. + * modules/uninorm/compat-decomposition-tests (Files): Likewise. + * modules/uninorm/composition-tests (Files): Likewise. + * modules/uninorm/decomposing-form-tests (Files): Likewise. + * modules/uninorm/decomposition-tests (Files): Likewise. + * modules/uninorm/filter-tests (Files): Likewise. + * modules/uninorm/nfc-tests (Files): Likewise. + * modules/uninorm/nfd-tests (Files): Likewise. + * modules/uninorm/nfkc-tests (Files): Likewise. + * modules/uninorm/nfkd-tests (Files): Likewise. + * modules/uninorm/u8-normcmp-tests (Files): Likewise. + * modules/uninorm/u8-normcoll-tests (Files): Likewise. + * modules/uninorm/u16-normcmp-tests (Files): Likewise. + * modules/uninorm/u16-normcoll-tests (Files): Likewise. + * modules/uninorm/u32-normcmp-tests (Files): Likewise. + * modules/uninorm/u32-normcoll-tests (Files): Likewise. + * modules/unistdio/u8-asnprintf-tests (Files): Likewise. + * modules/unistdio/u8-vasnprintf-tests (Files): Likewise. + * modules/unistdio/u8-vasprintf-tests (Files): Likewise. + * modules/unistdio/u8-vsnprintf-tests (Files): Likewise. + * modules/unistdio/u8-vsprintf-tests (Files): Likewise. + * modules/unistdio/u16-asnprintf-tests (Files): Likewise. + * modules/unistdio/u16-vasnprintf-tests (Files): Likewise. + * modules/unistdio/u16-vasprintf-tests (Files): Likewise. + * modules/unistdio/u16-vsnprintf-tests (Files): Likewise. + * modules/unistdio/u16-vsprintf-tests (Files): Likewise. + * modules/unistdio/u32-asnprintf-tests (Files): Likewise. + * modules/unistdio/u32-vasnprintf-tests (Files): Likewise. + * modules/unistdio/u32-vasprintf-tests (Files): Likewise. + * modules/unistdio/u32-vsnprintf-tests (Files): Likewise. + * modules/unistdio/u32-vsprintf-tests (Files): Likewise. + * modules/unistdio/ulc-asnprintf-tests (Files): Likewise. + * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise. + * modules/unistdio/ulc-vasprintf-tests (Files): Likewise. + * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise. + * modules/unistdio/ulc-vsprintf-tests (Files): Likewise. + * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise. + * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise. + * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise. + * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise. + * modules/uniwidth/u8-strwidth-tests (Files): Likewise. + * modules/uniwidth/u8-width-tests (Files): Likewise. + * modules/uniwidth/u16-strwidth-tests (Files): Likewise. + * modules/uniwidth/u16-width-tests (Files): Likewise. + * modules/uniwidth/u32-strwidth-tests (Files): Likewise. + * modules/uniwidth/u32-width-tests (Files): Likewise. + * modules/uniwidth/width-tests (Files): Likewise. + * modules/unlink-tests (Files): Likewise. + * modules/unsetenv-tests (Files): Likewise. + * modules/usleep-tests (Files): Likewise. + * modules/utimens-tests (Files): Likewise. + * modules/utimensat-tests (Files): Likewise. + * modules/vasnprintf-posix-tests (Files): Likewise. + * modules/vasnprintf-tests (Files): Likewise. + * modules/vasprintf-posix-tests (Files): Likewise. + * modules/vasprintf-tests (Files): Likewise. + * modules/vdprintf-posix-tests (Files): Likewise. + * modules/vfprintf-posix-tests (Files): Likewise. + * modules/vprintf-posix-tests (Files): Likewise. + * modules/vsnprintf-posix-tests (Files): Likewise. + * modules/vsnprintf-tests (Files): Likewise. + * modules/vsprintf-posix-tests (Files): Likewise. + * modules/wcrtomb-tests (Files): Likewise. + * modules/wcsnrtombs-tests (Files): Likewise. + * modules/wcsrtombs-tests (Files): Likewise. + * modules/wctype-tests (Files): Likewise. + * modules/wcwidth-tests (Files): Likewise. + * modules/xmemdup0-tests (Files): Likewise. + * modules/xprintf-posix-tests (Files): Likewise. + * modules/xvasprintf-tests (Files): Likewise. + +2009-12-24 Eric Blake + + test-nanosleep: fix typo + * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous + patch. + Reported by Bruno Haible. + +2009-12-24 Bruno Haible + + Reduce namespace pollution on glibc systems. + * lib/inttypes.in.h: Don't include on glibc systems. + * lib/stdlib.in.h: Don't include , on glibc + systems. + * lib/unistd.in.h: Don't include , , , + on glibc systems. + * lib/fcntl.in.h: Don't include , on glibc + systems. + * lib/fcntl.c: Include here instead. + +2009-12-24 Bruno Haible + + * lib/stdlib.in.h (includes): Fix typo in today's commit. + +2009-12-24 Eric Blake + + tests: add signature checks + * tests/signature.h (SIGNATURE_CHECK): New file. + * modules/atexit-tests (Files): Use it. + * modules/btowc-tests (Files): Likewise. + * modules/canonicalize-lgpl-tests (Files): Likewise. + * modules/ceilf-tests (Files): Likewise. + * modules/ceill-tests (Files): Likewise. + * modules/chown-tests (Files): Likewise. + * modules/dprintf-posix-tests (Files): Likewise. + * modules/dup2-tests (Files): Likewise. + * modules/dup3-tests (Files): Likewise. + * modules/duplocale-tests (Files): Likewise. + * modules/fchdir-tests (Files): Likewise. + * modules/fcntl-tests (Files): Likewise. + * modules/fdopendir-tests (Files): Likewise. + * modules/fflush-tests (Files): Likewise. + * modules/flock-tests (Files): Likewise. + * modules/floorf-tests (Files): Likewise. + * modules/floorl-tests (Files): Likewise. + * modules/fnmatch-tests (Files): Likewise. + * modules/fopen-tests (Files): Likewise. + * modules/fprintf-posix-tests (Files): Likewise. + * modules/freopen-tests (Files): Likewise. + * modules/frexp-nolibm-tests (Files): Likewise. + * modules/frexp-tests (Files): Likewise. + * modules/frexpl-nolibm-tests (Files): Likewise. + * modules/frexpl-tests (Files): Likewise. + * modules/fseek-tests (Files): Likewise. + * modules/fseeko-tests (Files): Likewise. + * modules/fsync-tests (Files): Likewise. + * modules/ftell-tests (Files): Likewise. + * modules/ftello-tests (Files): Likewise. + * modules/futimens-tests (Files): Likewise. + * modules/getaddrinfo-tests (Files): Likewise. + * modules/getcwd-tests (Files): Likewise. + * modules/getdelim-tests (Files): Likewise. + * modules/getdtablesize-tests (Files): Likewise. + * modules/getgroups-tests (Files): Likewise. + * modules/gethostname-tests (Files): Likewise. + * modules/getline-tests (Files): Likewise. + * modules/getopt-posix-tests (Files): Likewise. + * modules/gettimeofday-tests (Files): Likewise. + * modules/glob-tests (Files): Likewise. + * modules/iconv-tests (Files): Likewise. + * modules/inet_ntop-tests (Files): Likewise. + * modules/inet_pton-tests (Files): Likewise. + * modules/isblank-tests (Files): Likewise. + * modules/lchown-tests (Files): Likewise. + * modules/ldexpl-tests (Files): Likewise. + * modules/link-tests (Files): Likewise. + * modules/linkat-tests (Files): Likewise. + * modules/lseek-tests (Files): Likewise. + * modules/lstat-tests (Files): Likewise. + * modules/mbrtowc-tests (Files): Likewise. + * modules/mbsinit-tests (Files): Likewise. + * modules/mbsnrtowcs-tests (Files): Likewise. + * modules/mbsrtowcs-tests (Files): Likewise. + * modules/memchr-tests (Files): Likewise. + * modules/memcmp-tests (Files): Likewise. + * modules/memmem-tests (Files): Likewise. + * modules/memrchr-tests (Files): Likewise. + * modules/mkdir-tests (Files): Likewise. + * modules/mkfifo-tests (Files): Likewise. + * modules/mkfifoat-tests (Files): Likewise. + * modules/mknod-tests (Files): Likewise. + * modules/nanosleep-tests (Files): Likewise. + * modules/nl_langinfo-tests (Files): Likewise. + * modules/obstack-printf-tests (Files): Likewise. + * modules/open-tests (Files): Likewise. + * modules/openat-tests (Files): Likewise. + * modules/perror-tests (Files): Likewise. + * modules/pipe2-tests (Files): Likewise. + * modules/poll-tests (Files): Likewise. + * modules/popen-tests (Files): Likewise. + * modules/posix_spawn-tests (Files): Likewise. + * modules/posix_spawnp-tests (Files): Likewise. + * modules/pread-tests (Files): Likewise. + * modules/printf-posix-tests (Files): Likewise. + * modules/pty-tests (Files): Likewise. + * modules/random_r-tests (Files): Likewise. + * modules/rawmemchr-tests (Files): Likewise. + * modules/readlink-tests (Files): Likewise. + * modules/remove-tests (Files): Likewise. + * modules/rename-tests (Files): Likewise. + * modules/renameat-tests (Files): Likewise. + * modules/rmdir-tests (Files): Likewise. + * modules/round-tests (Files): Likewise. + * modules/roundf-tests (Files): Likewise. + * modules/roundl-tests (Files): Likewise. + * modules/select-tests (Files): Likewise. + * modules/setenv-tests (Files): Likewise. + * modules/sigaction-tests (Files): Likewise. + * modules/sleep-tests (Files): Likewise. + * modules/snprintf-posix-tests (Files): Likewise. + * modules/snprintf-tests (Files): Likewise. + * modules/sprintf-posix-tests (Files): Likewise. + * modules/stat-tests (Files): Likewise. + * modules/strcasestr-tests (Files): Likewise. + * modules/strchrnul-tests (Files): Likewise. + * modules/strerror-tests (Files): Likewise. + * modules/strsignal-tests (Files): Likewise. + * modules/strstr-tests (Files): Likewise. + * modules/strtod-tests (Files): Likewise. + * modules/strverscmp-tests (Files): Likewise. + * modules/symlink-tests (Files): Likewise. + * modules/symlinkat-tests (Files): Likewise. + * modules/times-tests (Files): Likewise. + * modules/trunc-tests (Files): Likewise. + * modules/truncf-tests (Files): Likewise. + * modules/truncl-tests (Files): Likewise. + * modules/tsearch-tests (Files): Likewise. + * modules/uname-tests (Files): Likewise. + * modules/unlink-tests (Files): Likewise. + * modules/unsetenv-tests (Files): Likewise. + * modules/usleep-tests (Files): Likewise. + * modules/utimensat-tests (Files): Likewise. + * modules/vasprintf-tests (Files): Likewise. + * modules/vdprintf-posix-tests (Files): Likewise. + * modules/vfprintf-posix-tests (Files): Likewise. + * modules/vprintf-posix-tests (Files): Likewise. + * modules/vsnprintf-posix-tests (Files): Likewise. + * modules/vsnprintf-tests (Files): Likewise. + * modules/vsprintf-posix-tests (Files): Likewise. + * modules/wcrtomb-tests (Files): Likewise. + * modules/wcsnrtombs-tests (Files): Likewise. + * modules/wcsrtombs-tests (Files): Likewise. + * modules/wcwidth-tests (Files): Likewise. + * tests/test-isfinite.c (isfinite): Ensure macro declaration. + * tests/test-isinf.c (isinf): Likewise. + * tests/test-isnan.c (isnan): Likewise. + * tests/test-signbit.c (signbit): Likewise. + * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure + declaration, either as macro or with correct signature. + (select): Ensure function under test is declared with correct + signature in correct header. + * tests/test-atexit.c (atexit): Likewise. + * tests/test-btowc.c (btowc): Likewise. + * tests/test-canonicalize-lgpl.c (realpath) + (canonicalize_file_name): Likewise. + * tests/test-ceilf1.c (ceilf): Likewise. + * tests/test-ceill.c (ceill): Likewise. + * tests/test-chown.c (chown): Likewise. + * tests/test-dprintf-posix.c (dprintf): Likewise. + * tests/test-dup2.c (dup2): Likewise. + * tests/test-dup3.c (dup3): Likewise. + * tests/test-duplocale.c (duplocale): Likewise. + * tests/test-fchdir.c (fchdir): Likewise. + * tests/test-fchownat.c (fchownat): Likewise. + * tests/test-fcntl.c (fcntl): Likewise. + * tests/test-fdopendir.c (fdopendir): Likewise. + * tests/test-fflush.c (fflush): Likewise. + * tests/test-flock.c (flock): Likewise. + * tests/test-floorf1.c (floorf): Likewise. + * tests/test-floorl.c (floorl): Likewise. + * tests/test-fnmatch.c (fnmatch): Likewise. + * tests/test-fopen.c (fopen): Likewise. + * tests/test-fprintf-posix.c (fprintf): Likewise. + * tests/test-freopen.c (freopen): Likewise. + * tests/test-frexp.c (frexp): Likewise. + * tests/test-frexpl.c (frexpl): Likewise. + * tests/test-fseek.c (fseek): Likewise. + * tests/test-fseeko.c (fseeko): Likewise. + * tests/test-fstatat.c (fstatat): Likewise. + * tests/test-fsync.c (fsync): Likewise. + * tests/test-ftell.c (ftell): Likewise. + * tests/test-ftello.c (ftello): Likewise. + * tests/test-futimens.c (futimens): Likewise. + * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo) + (gai_strerror): Likewise. + * tests/test-getcwd.c (getcwd): Likewise. + * tests/test-getdelim.c (getdelim): Likewise. + * tests/test-getdtablesize.c (getdtablesize): Likewise. + * tests/test-getgroups.c (getgroups): Likewise. + * tests/test-gethostname.c (gethostname): Likewise. + * tests/test-getline.c (getline): Likewise. + * tests/test-getopt.c (getopt, getopt_long, getopt_long_only): + Likewise. + * tests/test-gettimeofday.c (gettimeofday): Likewise. + * tests/test-glob.c (glob, globfree): Likewise. + * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise. + * tests/test-inet_ntop.c (inet_ntop): Likewise. + * tests/test-inet_pton.c (inet_pton): Likewise. + * tests/test-isblank.c (isblank): Likewise. + * tests/test-lchown.c (lchown): Likewise. + * tests/test-ldexpl.c (ldexpl): Likewise. + * tests/test-link.c (link): Likewise. + * tests/test-linkat.c (linkat): Likewise. + * tests/test-lseek.c (lseek): Likewise. + * tests/test-lstat.c (lstat): Likewise. + * tests/test-mbrtowc.c (mbrtowc): Likewise. + * tests/test-mbsinit.c (mbsinit): Likewise. + * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise. + * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise. + * tests/test-memchr.c (memchr): Likewise. + * tests/test-memcmp.c (memcmp): Likewise. + * tests/test-memmem.c (memmem): Likewise. + * tests/test-memrchr.c (memrchr): Likewise. + * tests/test-mkdir.c (mkdir): Likewise. + * tests/test-mkdirat.c (mkdirat): Likewise. + * tests/test-mkfifo.c (mkfifo): Likewise. + * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise. + * tests/test-mknod.c (mknod): Likewise. + * tests/test-nanosleep.c (nanosleep): Likewise. + * tests/test-nl_langinfo.c (nl_langinfo): Likewise. + * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf): + Likewise. + * tests/test-open.c (open): Likewise. + * tests/test-openat.c (openat): Likewise. + * tests/test-perror.c (perror): Likewise. + * tests/test-pipe2.c (pipe2): Likewise. + * tests/test-poll.c (poll): Likewise. + * tests/test-popen.c (popen, pclose): Likewise. + * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init) + (posix_spawnattr_destroy, posix_spawnattr_setsigmask) + (posix_spawnattr_setflags, posix_spawn_file_actions_init) + (posix_spawn_file_actions_destroy) + (posix_spawn_file_actions_addclose) + (posix_spawn_file_actions_addopen) + (posix_spawn_file_actions_adddup2): Likewise. + * tests/test-posix_spawn3.c (posix_spawn): Likewise. + * tests/test-pread.c (pread): Likewise. + * tests/test-printf-posix.c (printf): Likewise. + * tests/test-pty.c (openpty, forkpty): Likewise. + * tests/test-random_r.c (srandom_r, initstate_r, setstate_r) + (random_r): Likewise. + * tests/test-rawmemchr.c (rawmemchr): Likewise. + * tests/test-readlink.c (readlink): Likewise. + * tests/test-remove.c (remove): Likewise. + * tests/test-rename.c (rename): Likewise. + * tests/test-renameat.c (renameat): Likewise. + * tests/test-rmdir.c (rmdir): Likewise. + * tests/test-round1.c (round): Likewise. + * tests/test-roundf1.c (roundf): Likewise. + * tests/test-roundl.c (roundl): Likewise. + * tests/test-setenv.c (setenv): Likewise. + * tests/test-sigaction.c (sigaction): Likewise. + * tests/test-sleep.c (sleep): Likewise. + * tests/test-snprintf.c (snprintf): Likewise. + * tests/test-sprintf-posix.c (sprintf): Likewise. + * tests/test-stat.c (stat): Likewise. + * tests/test-stpncpy.c (stpncpy): Likewise. + * tests/test-strcasestr.c (strcasestr): Likewise. + * tests/test-strchrnul.c (strchrnul): Likewise. + * tests/test-strerror.c (strerror): Likewise. + * tests/test-strsignal.c (strsignal): Likewise. + * tests/test-strstr.c (strstr): Likewise. + * tests/test-strtod.c (strtod): Likewise. + * tests/test-strverscmp.c (strverscmp): Likewise. + * tests/test-symlink.c (symlink): Likewise. + * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise. + * tests/test-times.c (times): Likewise. + * tests/test-trunc1.c (trunc): Likewise. + * tests/test-truncf1.c (truncf): Likewise. + * tests/test-truncl.c (truncl): Likewise. + * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk): + Likewise. + * tests/test-uname.c (uname): Likewise. + * tests/test-unlink.c (unlink): Likewise. + * tests/test-unlinkat.c (unlinkat): Likewise. + * tests/test-unsetenv.c (unsetenv): Likewise. + * tests/test-usleep.c (usleep): Likewise. + * tests/test-utimensat.c (utimensat): Likewise. + * tests/test-vasprintf.c (asprintf, vasprintf): Likewise. + * tests/test-vdprintf-posix.c (vdprintf): Likewise. + * tests/test-vfprintf-posix.c (vfprintf): Likewise. + * tests/test-vprintf-posix.c (vprintf): Likewise. + * tests/test-vsnprintf.c (vsnprintf): Likewise. + * tests/test-vsprintf-posix.c (vsprintf): Likewise. + * tests/test-wcrtomb.c (wcrtomb): Likewise. + * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise. + * tests/test-wcsrtombs.c (wcsrtombs): Likewise. + * tests/test-wcwidth.c (wcwidth): Likewise. + + build: pull in conditional headers during GNULIB_POSIXCHECK + * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires + definitions from any conditionally-included headers. + * lib/stdlib.in.h (includes): Likewise. + * lib/unistd.in.h (includes): Likewise. + +2009-12-24 Bruno Haible + + * tests/test-argv-iter.c: Include header file being tested immediately + after config.h. + * tests/test-base64.c: Likewise. + * tests/test-flock.c: Likewise. + * tests/test-fsync.c: Likewise. + * tests/test-getdate.c: Likewise. + * tests/test-getndelim2.c: Likewise. + * tests/test-isfinite.c: Likewise. + * tests/test-isinf.c: Likewise. + * tests/test-strerror.c: Likewise. + * tests/test-strsignal.c: Likewise. + +2009-12-23 Eric Blake + + unistd: work around cygwin bug + * lib/unistd.in.h (includes): Pick up headers needed for cygwin. + * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug. + * doc/posix-functions/symlinkat.texi (symlinkat): Likewise. + +2009-12-23 Bruno Haible + + localename: More tests. + * tests/test-localename.c (SIZEOF): New macro. + (categories): New variable. + (test_locale_name, test_locale_name_posix, test_locale_name_environ, + test_locale_name_default): Add test w.r.t. thread locale. + (test_locale_name_thread): New function. + (main): Invoke it. + + localename: Make aware of thread locale. + * lib/localename.h (gl_locale_name_thread): New declaration. + (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify + behaviour with respect to thread locale. + * lib/localename.c: Include , , , + , glthread/lock.h. + (SIZE_BITS): New macro. + (string_hash): New function. + (struct hash_node): New type. + (HASH_TABLE_SIZE): New macro. + (struniq_hash_table, struniq_lock): New variables. + (struniq): New function. + (gl_locale_name_thread): New function. + (gl_locale_name): Invoke it. + * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function. + * modules/localename (Depends-on): Add lock. + Reported by Mike Gran . + +2009-12-23 Eric Blake + + va-args: new module + * modules/va-args: New file. + * m4/va-args.m4 (gl_VA_ARGS): Likewise. + * MODULES.html.sh (Core language properties): Mention it. + + gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_ + * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately + named alias for __attribute__((__unused__)). + * lib/chown.c: Update client. + * lib/fchmodat.c: Likewise. + * lib/fts.c: Likewise. + * lib/getdate.y: Likewise. + * lib/getgroups.c: Likewise. + * lib/getopt.c: Likewise. + * lib/getugroups.c: Likewise. + * lib/mkdir.c: Likewise. + * lib/mkfifo.c: Likewise. + * lib/mkfifoat.c: Likewise. + * lib/mknod.c: Likewise. + * lib/mknodat.c: Likewise. + * lib/readlink.c: Likewise. + * lib/se-context.in.h: Likewise. + * lib/se-selinux.in.h: Likewise. + * lib/sockets.c: Likewise. + * lib/symlink.c: Likewise. + * lib/symlinkat.c: Likewise. + * lib/unicodeio.c: Likewise. + * lib/unistr.h: Likewise. + * tests/test-areadlink.c: Likewise. + * tests/test-areadlinkat.c: Likewise. + * tests/test-filenamecat.c: Likewise. + * tests/test-fseeko.c: Likewise. + * tests/test-ftello.c: Likewise. + * tests/test-getdate.c: Likewise. + * tests/test-getgroups.c: Likewise. + * tests/test-gethostname.c: Likewise. + * tests/test-quotearg.c: Likewise. + * tests/test-version-etc.c: Likewise. + * tests/test-xalloc-die.c: Likewise. + * tests/test-xfprintf-posix.c: Likewise. + * tests/test-xprintf-posix.c: Likewise. + * tests/test-xvasprintf.c: Likewise. + + tests: avoid compiler warnings + * tests/test-fcntl.c (main): Delete unused parameters. + * tests/test-freopen-safer.c (main): Likewise. + * tests/test-xalloc-die.c (main): Mark unused parameters. + * tests/test-fseeko.c (main): Likewise. + * tests/test-ftello.c (main): Likewise. + * tests/test-nanosleep.c (main): Avoid declaration warning. + * tests/test-sleep.c (main): Likewise. + * tests/test-unsetenv.c (main): Silence warning about string + literal. + * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise. + +2009-12-23 Bruno Haible + + * tests/test-localename.c (test_locale_name): New function, extracted + from main. Also test mixed situations. + (test_locale_name_posix, test_locale_name_environ, + test_locale_name_default): New functions. + (main): Invoke them all. + * modules/localename-tests (configure.ac): Test for newlocale. + +2009-12-23 Bruno Haible + + unistd: Ensure getcwd gets declared before being overridden. + * lib/unistd.in.h: Conditionally include . + +2009-12-22 Bruno Haible + + wchar: Diagnose broken combination of glibc and gcc versions and flags. + * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro. + (gl_WCHAR_H): Invoke it. + * m4/btowc.m4 (gl_FUNC_BTOWC): Require it. + * doc/posix-headers/wchar.texi: Mention the interoperability problem. + Reported by Karl Berry . + +2009-12-22 Eric Blake + + math, unistd: avoid redundant includes + * lib/math.in.h (isnan): No need to re-include . + * lib/unistd.in.h (getcwd): Likewise, for . + + getsubopt: work around cygwin bug + * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to + avoid conflicting with system getsubopt. + * doc/posix-functions/getsubopt.texi (getsubopt): Document the + bug. + + getopt: synchronize from glibc + * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap + parameter order. Adjust all callers. + (_getopt_internal_r, main): Adjust quoting in error messages. + Drop considerations for outdated POSIX 1003.2 error message. + * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust + callers. + * lib/getopt_int.h (_getopt_internal_r): Adjust prototype. + + test-getopt: test stderr behavior + * modules/getopt-posix-tests (Depends-on): Add dup2. + * tests/test-getopt.c (ASSERT): Avoid stderr. + (main): Move stderr to a temporary file. + * tests/test-getopt.h (getopt_loop): No longer manipulate opterr. + Instead, add parameter to inform caller if output occurred. + (test_getopt): Adjust all existing tests to expect silence, and + add new tests of leading ":". + * doc/glibc-functions/getopt_long.texi (getopt_long): Document + glibc shortcomings with leading "-:" or "+:" in optstring. + * doc/glibc-functions/getopt_long_only.texi (getopt_long_only): + Likewise. + * doc/posix-functions/getopt.texi (getopt): Likewise. + + test-getopt: enhance test + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long + supports optind=0. + * tests/test-getopt.c (OPTIND_MIN): Move... + * tests/test-getopt.h (OPTIND_MIN): ...here. + * tests/test-getopt_long.h (test_getopt_long): Add more coverage. + Require that optind=0 works, since modern BSD supports it in + addition to optreset, and since coreutils expects it. + (test_getopt_long_only): New test. + * doc/glibc-functions/getopt_long.texi (getopt_long): Document + glibc shortcomings with 'W;', and enforcement of optind=0. + * doc/glibc-functions/getopt_long_only.texi (getopt_long_only): + Likewise. + +2009-12-21 Bruno Haible + + localename: Improvements for MacOS X and Cygwin. + * lib/localename.h (gl_locale_name_environ): New declaration. + * lib/localename.c (gl_locale_name_environ): New function, extracted from + gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin. + (gl_locale_name_posix): Invoke it. + (gl_locale_name_default): Add comments. Use Windows native API also on + Cygwin. + +2009-12-21 Bruno Haible + + Update list of Win32 locale ids. + * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE. + (LANG_SAMI): Renamed from LANG_SAAMI. + (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC, + LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN, + LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF, + LANG_DARI, LANG_SCOTTISH_GAELIC): New macros. + (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA, + SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA, + SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA, + SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE, + SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE, + SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA, + SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE, + SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK, + SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES, + SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA, + SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN, + SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS, + SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA, + SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND, + SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN, + SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY, + SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA, + SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA, + SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND, + SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA, + SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA, + SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA, + SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA, + SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY, + SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA, + SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA, + SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE, + SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL, + SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA, + SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND, + SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY, + SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND, + SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN, + SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN, + SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND, + SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA, + SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA, + SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA, + SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA, + SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN, + SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA, + SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA, + SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN, + SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY, + SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM, + SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA, + SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA, + SUBLANG_ZULU_SOUTH_AFRICA): New macros. + (gl_locale_name_from_win32_LANGID): Handle also the territory neutral + locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari, + Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk, + Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi. + Add more languages and countries for Sami, Sorbian. Add more countries + for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise + for Pashto. Change country for Syriac, Tswana. + +2009-12-21 Eric Blake + + test-utimens: avoid spurious failure + * tests/test-chown.h (nap): Factor... + * tests/nap.h: ...into new file. + * tests/test-lchown.h (nap): Avoid duplication. + * tests/test-utimens-common.h (nap): Use shared implementation, + necessary on file systems with 1-second resolution. + * modules/chown-tests (Files): Include new file. + * modules/fdutimensat-tests (Files): Likewise. + * modules/futimens-tests (Files): Likewise. + * modules/lchown-tests (Files): Likewise. + * modules/openat-tests (Files): Likewise. + * modules/utimens-tests (Files): Likewise. + * modules/utimensat-tests (Files): Likewise. + +2009-12-19 Eric Blake + + futimens, utimensat: work around Linux bug + * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug. + * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise. + * lib/utimensat.c (rpl_utimensat): Work around it. + * lib/futimens.c (rpl_futimens): Adjust comment. + + utimens: work around Linux ctime bug + * lib/utimens.c (detect_ctime_bug): New helper function. + (update_timespec): Differentiate between workaround needed for + this bug vs. what is needed for systems that lack utimensat. + (fdutimens, lutimens): Work around bug. + + utimens: check for ctime update + * tests/test-utimens-common.h (check_ctime): Define. + * tests/test-utimens.h (test_utimens): Expose the Linux bug. + * tests/test-futimens.h (test_futimens): Likewise. + * tests/test-lutimens.h (test_lutimens): Likewise. + * doc/posix-functions/futimens.texi (futimens): Document the bug. + * doc/posix-functions/utimensat.texi (utimensat): Likewise. + +2009-12-19 Bruno Haible + + dprintf-posix: Check against memory leak fixed on 2009-12-15. + * tests/test-dprintf-posix2.sh: New file. + * tests/test-dprintf-posix2.c: New file. + * modules/dprintf-posix-tests (Files): Add them. + (configure.ac): Check for getrlimit and setrlimit. + (Makefile.am): Augment TESTS and CHECK_PROGRAMS. + +2009-12-19 Bruno Haible + + fprintf-posix: Check against memory leak fixed on 2009-12-15. + * tests/test-fprintf-posix3.sh: New file. + * tests/test-fprintf-posix3.c: New file. + * modules/fprintf-posix-tests (Files): Add them. + (Makefile.am): Augment TESTS and CHECK_PROGRAMS. + +2009-12-19 Eric Blake + + dirfd: fix prototype + * lib/dirent.in.h (dirfd): Argument is not const, per POSIX. + * lib/dirfd.c (dirfd): Likewise. + + canonicalize: reduce memory usage + * lib/canonicalize.c (canonicalize_filename_mode): Trim the + allocation to size. + Reported by Solar Designer . + +2009-12-19 Bruno Haible + + New module attribute 'Applicability'. + * modules/TEMPLATE-EXTENDED: New field 'Applicability'. + * gnulib-tool: New option --extract-applicability. + (func_usage): Document it. + (sed_extract_prog): Recognize it. + (func_get_applicability): New function. + (func_import): Generalize handling of 'link-warning' module. + * modules/link-warning (Applicability): New section. + * modules/arg-nonnull (Applicability): New section. + Repoted by Simon Josefsson . + +2009-12-19 Bruno Haible + + fflush: tweak + * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin. + * lib/fseeko.c (rpl_fseeko): Likewise. + +2009-12-16 José E. Marchesi (tiny change) + + * lib/gl_list.h: Fix typo in comment. + +2009-12-16 Eric Blake + + fcntl: use to simplify other modules + * modules/cloexec (Depends-on): Add fcntl. + * modules/fchdir (Depends-on): Likewise. + * modules/fd-safer-flag (Depends-on): Likewise. + * modules/unistd-safer (Depends-on): Likewise. + * modules/dup3 (configure.ac): Set module indicator. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is + missing. + * lib/fchdir.c (_gl_register_dup): Fix comment. + * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl. + * lib/dup-safer.c (dup_safer): Likewise. + * lib/dup-safer-flag.c (dup_safer_flag): Likewise. + * lib/dup3.c (dup3): Likewise. + * tests/test-fchdir.c (main): Enhance test. + Fixes a dup_cloexec bug reported by Ondřej Vašík. + + fcntl: port portions of fcntl to mingw + * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw. + * lib/fcntl.c (fcntl) : Provide + replacement for mingw. + * modules/fcntl (Description): Update. + (Depends-on): Add dup2. + * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness. + * modules/fcntl-h (Makefile.am): Substitute it. + * lib/fcntl.in.h (fcntl): Update declaration. + (F_DUPFD, F_GETFD): New macros, when needed. + * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation. + * doc/posix-functions/fcntl.texi (fcntl): Likewise. + * tests/test-fcntl.c (check_flags, main): Enhance test for items + we now guarantee. + + fcntl: work around cygwin bug in F_DUPFD + * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro. + (gl_FUNC_FCNTL): Use it. Test for F_DUPFD bug. + * lib/fcntl.c (rpl_fcntl) : Work around it. + : Reduce calls to _gl_register_dup. + * doc/posix-functions/fcntl.texi (fcntl): Document it. + + fcntl: support F_DUPFD_CLOEXEC on systems with fcntl + * modules/fcntl (Files): List new files. + (configure.ac): Run a test. + * m4/fcntl.m4 (gl_FUNC_FCNTL): New file. + * lib/fcntl.c (rpl_fcntl): Likewise. + * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults. + (gl_FCNTL_H): Always replace fcntl.h. + * modules/fcntl-h (Makefile.am): Substitute witnesses. + * lib/fcntl.in.h (fcntl): Declare replacement. + (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when + needed, plus a witness. + * doc/posix-functions/fcntl.texi (fcntl): Document this. + * doc/posix-headers/fcntl.texi (fcntl.h): Likewise. + * tests/test-fcntl.c: New file. + * modules/fcntl-tests: Likewise. + + binary-io: avoid potential compilation warning + * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor + directives. + + fflush: avoid compilation error on NetBSD + * lib/fflush.c (update_fpos_cache): Use a union to safely convert + between off_t and fpos_t, since the latter is sometimes a struct. + * lib/fseeko.c (rpl_fseeko): Likewise. + Reported by Alexander Nasonov . + +2009-12-15 Eric Blake + + fcntl-h, stdio, sys_ioctl: fix declarations + * lib/stdio.in.h (dprintf): Use of link warning on a variadic + function must not take arguments. + * lib/sys_ioctl.in.h (ioctl): Likewise. + * lib/fcntl.in.h (openat): Likewise. Declare extern. + (open): Add a link warning. + +2009-12-15 Jim Meyering + + areadlink, areadlink-with-size: relax license to LGPLv2+ + * modules/areadlink (License): Relax to LGPLv2+. + * modules/areadlink-with-size (License): Likewise. + +2009-12-15 Joel E. Denny + Bruno Haible + + *printf: Fix memory leak. + * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf. + * lib/vfprintf.c (vfprintf): Likewise. + * lib/dprintf.c (dprintf): Likewise. + * lib/vdprintf.c (vdprintf): Likewise. + +2009-12-14 Eric Blake + + accept4: adjust module dependencies + * modules/accept4 (Depends-on): Use fcntl-h, not fcntl. + + utimens: one more try at avoiding compiler warning + * lib/utimens.c (lutimens): Lower scope of result. + +2009-12-13 Bruno Haible + + Move the malloc checking from module 'list' to new module 'xlist'. + * modules/xlist: New file. + * lib/gl_xlist.h: New file. + * lib/gl_xlist.c: New file. + * lib/gl_list.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_nx_add_at, gl_sortedlist_add): Disable declarations. + (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value, + gl_list_nx_set_at, 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_sortedlist_nx_add): New declarations. + (struct gl_list_implementation): Rename and change methods accordingly. + (gl_list_nx_create_empty): Renamed from gl_list_create_empty. + (gl_list_nx_create): Renamed from gl_list_create. + (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value. + (gl_list_nx_set_at): Renamed from gl_list_set_at. + (gl_list_nx_add_first): Renamed from gl_list_add_first. + (gl_list_nx_add_last): Renamed from gl_list_add_last. + (gl_list_nx_add_before): Renamed from gl_list_add_before. + (gl_list_nx_add_after): Renamed from gl_list_add_after. + (gl_list_nx_add_at): Renamed from gl_list_add_at. + (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add. + * lib/gl_list.c (gl_list_nx_create_empty): Renamed from + gl_list_create_empty. + (gl_list_nx_create): Renamed from gl_list_create. + (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value. + (gl_list_nx_set_at): Renamed from gl_list_set_at. + (gl_list_nx_add_first): Renamed from gl_list_add_first. + (gl_list_nx_add_last): Renamed from gl_list_add_last. + (gl_list_nx_add_before): Renamed from gl_list_add_before. + (gl_list_nx_add_after): Renamed from gl_list_add_after. + (gl_list_nx_add_at): Renamed from gl_list_add_at. + (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add. + * lib/gl_array_list.c: Don't include xalloc.h. + (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return + NULL upon out-of-memory. + (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon + out-of-memory. + (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value. + Change return type to 'int'. + (gl_array_nx_set_at): Renamed from gl_array_set_at. + (grow): Change return type to 'int'. Return -1 upon out-of-memory. + (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL + upon out-of-memory. + (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL + upon out-of-memory. + (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL + upon out-of-memory. + (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL + upon out-of-memory. + (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon + out-of-memory. + (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add. + Update. + (gl_array_list_implementation): Update. + * lib/gl_carray_list.c: Don't include xalloc.h. + (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty. + Return NULL upon out-of-memory. + (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon + out-of-memory. + (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value. + Change return type to 'int'. + (gl_carray_nx_set_at): Renamed from gl_carray_set_at. + (grow): Change return type to 'int'. Return -1 upon out-of-memory. + (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL + upon out-of-memory. + (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL + upon out-of-memory. + (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon + out-of-memory. + (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update. + (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update. + (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add. + Update. + (gl_carray_list_implementation): Update. + * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory. + * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from + gl_linked_create_empty. Return NULL upon out-of-memory. + (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon + out-of-memory. + (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value. + Change return type to 'int'. Return -1 upon out-of-memory. + (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon + out-of-memory. + (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL + upon out-of-memory. + (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL + upon out-of-memory. + (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return + NULL upon out-of-memory. + (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL + upon out-of-memory. + (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon + out-of-memory. + (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add. + Update. + * lib/gl_linked_list.c: Don't include xalloc.h. + (gl_linked_list_implementation): Update. + * lib/gl_linkedhash_list.c: Don't include xalloc.h. + (add_to_bucket): Change return type to 'int'. + (gl_linkedhash_list_implementation): Update. + * lib/gl_anytree_list1.h (free_subtree): New function. + * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from + gl_tree_create_empty. Return NULL upon out-of-memory. + (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value. + Change return type to 'int'. Return -1 upon out-of-memory. + (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon + out-of-memory. + (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update. + (gl_tree_remove_node): New function, moved here from + lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h. + (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add. + Update. + * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use + malloc, not xmalloc. Return NULL upon out-of-memory. + (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon + out-of-memory. + (gl_tree_remove_node_from_tree): New function, extracted from + gl_tree_remove_node. + (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL + upon out-of-memory. + (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon + out-of-memory. + (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL + upon out-of-memory. + (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL + upon out-of-memory. + (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h. + * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc, + not xmalloc. Return NULL upon out-of-memory. + (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon + out-of-memory. + (gl_tree_remove_node_from_tree): New function, extracted from + gl_tree_remove_node. + (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL + upon out-of-memory. + (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon + out-of-memory. + (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL + upon out-of-memory. + (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL + upon out-of-memory. + (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h. + * lib/gl_avltree_list.c: Don't include xalloc.h. Include + gl_anytree_list1.h before gl_anyavltree_list2.h. + (gl_avltree_list_implementation): Update. + * lib/gl_rbtree_list.c: Don't include xalloc.h. Include + gl_anytree_list1.h before gl_anyavltree_list2.h. + (gl_rbtree_list_implementation): Update. + * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets): + Change return type to 'int'. Return -1 upon out-of-memory. Use + __builtin_expect. + * lib/gl_avltreehash_list.c: Don't include xalloc.h. + (gl_avltreehash_list_implementation): Update. + * lib/gl_rbtreehash_list.c: Don't include xalloc.h. + (gl_rbtreehash_list_implementation): Update. + * modules/array-list (Depends-on): Remove xalloc. + * modules/carray-list (Depends-on): Likewise. + * modules/linked-list (Depends-on): Likewise. + * modules/linkedhash-list (Depends-on): Likewise. + * modules/avltree-list (Depends-on): Likewise. + * modules/rbtree-list (Depends-on): Likewise. + * modules/avltreehash-list (Depends-on): Likewise. + * modules/rbtreehash-list (Depends-on): Likewise. + + * modules/xsublist: New file. + * lib/gl_xsublist.h: New file. + * lib/gl_xsublist.c: New file. + * lib/gl_sublist.h (gl_sublist_create): Disable declaration. + (gl_sublist_nx_create): New declaration. + * lib/gl_sublist.c: Don't include xalloc.h. + (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty. + (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill. + (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value. + Change return type to 'int'. Return -1 upon out-of-memory. + (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL + upon out-of-memory. + (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return + NULL upon out-of-memory. + (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL + upon out-of-memory. + (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return + NULL upon out-of-memory. + (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return + NULL upon out-of-memory. + (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL + upon out-of-memory. + (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add. + (gl_sublist_list_implementation): Update. + (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL + upon out-of-memory. + * modules/sublist (Depends-on): Remove xalloc. + + * tests/test-array_list.c: Use gl_list_nx_* functions where possible. + * tests/test-carray_list.c: Likewise. + * tests/test-linked_list.c: Likewise. + * tests/test-linkedhash_list.c: Likewise. + * tests/test-avltree_list.c: Likewise. + * tests/test-rbtree_list.c: Likewise. + * tests/test-avltreehash_list.c: Likewise. + * tests/test-rbtreehash_list.c: Likewise. + * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@. + * modules/carray-list-tests (Makefile.am): Likewise. + * modules/linked-list-tests (Makefile.am): Likewise. + * modules/linkedhash-list-tests (Makefile.am): Likewise. + * modules/avltree-list-tests (Makefile.am): Likewise. + * modules/rbtree-list-tests (Makefile.am): Likewise. + * modules/avltreehash-list-tests (Makefile.am): Likewise. + * modules/rbtreehash-list-tests (Makefile.am): Likewise. + + * NEWS: Mention the changes. + + * lib/clean-temp.c: Include gl_xlist.h. + * modules/clean-temp (Depends-on): Add xlist. + + * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h. + * modules/git-merge-changelog (Depends-on): Add xlist. Remove list. + + * tests/test-array_oset.c: Include gl_xlist.h. + * modules/array-oset-tests (Depends-on): Add xlist. + + Reported by José E. Marchesi . + +2009-12-13 Bruno Haible + + Move the malloc checking from module 'oset' to new module 'xoset'. + * modules/xoset: New file. + * lib/gl_xoset.h: New file. + * lib/gl_xoset.c: New file. + * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable + declarations. + (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations. + (struct gl_oset_implementation): Rename and change methods accordingly. + (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty. + (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to + 'int'. Mark as __warn_unused_result__. + * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from + gl_oset_create_empty. + (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to + 'int'. + * lib/gl_array_oset.c: Don't include xalloc.h. + (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use + malloc, not xmalloc. + (grow): Change return type to 'int'. Don't call xalloc_die. + (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type + to 'int'. + (gl_array_nx_add): Renamed from gl_array_add. Change return type to + 'int'. + (gl_array_oset_implementation): Update. + * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from + gl_tree_create_empty. + (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to + 'int'. + * lib/gl_avltree_oset.c: Don't include xalloc.h. + (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not + xmalloc. + (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc, + not xmalloc. + (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not + xmalloc. + (gl_avltree_oset_implementation): Update. + * lib/gl_rbtree_oset.c: Don't include xalloc.h. + (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not + xmalloc. + (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc, + not xmalloc. + (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not + xmalloc. + (gl_rbtree_oset_implementation): Update. + * modules/array-oset (Depends-on): Remove xalloc. + * modules/avltree-oset (Depends-on): Likewise. + * modules/rbtree-oset (Depends-on): Likewise. + * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible. + * tests/test-avltree_oset.c: Likewise. + * tests/test-rbtree_oset.c: Likewise. + * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise. + * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@. + * modules/rbtree-oset-tests (Makefile.am): Likewise. + * NEWS: Mention the change. + +2009-12-05 Alfred M. Szmidt + + maint.mk: allow a project to override release-prep commands + * top/maint.mk (alpha, beta, stable): Move release-preparatory + commands into a new rule. + (release-prep): New rule. + (release-prep-hook): New overridable variable. + +2009-12-13 Bruno Haible + + * lib/localcharset.c (locale_charset): Fix comment about use of GetACP. + +2009-12-13 Jim Meyering + + maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions + * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions. + +2009-12-12 Bruno Haible + + duplocale: Tweak. + * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'. + +2009-12-12 Karl Berry + + * config/srclist.txt (strtoll.c): tab changes, no more sync. + +2009-12-12 Bruno Haible + + * m4/po.m4: Undo incorrect untabification. + +2009-12-12 Bruno Haible + + c-strtod, c-strtold: Use multithread-safe implementation on MacOS X. + * modules/c-strtod (Depends-on): Add locale. + * modules/c-strtold (Depends-on): Likewise. + +2009-12-12 Bruno Haible + + * lib/localcharset.c (locale_charset): Add comment about use of GetACP. + +2009-12-11 Eric Blake + + setenv: relax requirement in light of POSIX ruling + * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but + not NULL. + * tests/test-setenv.c (main): Relax test. + * tests/test-unsetenv.c (main): Likewise. + * doc/posix-functions/setenv.texi (setenv): Document this. + * doc/posix-functions/unsetenv.texi (unsetenv): Likewise. + +2009-12-11 Bruno Haible + + New module 'fd-safer-flag'. + * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c. + * lib/dup-safer.c (dup_safer_flag): Remove function. + * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c. + * lib/fd-safer.c (fd_safer_flag): Remove function. + * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition. + * modules/cloexec (configure.ac): Drop indicator macro. + * modules/fd-safer-flag: New file. + * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec. + * modules/stdlib-safer (Depends-on): Add fd-safer-flag. + * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag. + +2009-12-11 Bruno Haible + + Tests for module 'nl_langinfo'. + * modules/nl_langinfo-tests: New file. + * tests/test-nl_langinfo.sh: New file. + * tests/test-nl_langinfo.c: New file. + + New module 'nl_langinfo'. + * lib/nl_langinfo.c: New file. + * m4/nl_langinfo.m4: New file. + * modules/nl_langinfo: New file. + * doc/posix-functions/nl_langinfo.texi: Mention the new module. + +2009-12-11 Bruno Haible + + Tests for module 'langinfo'. + * modules/langinfo-tests: New file. + * tests/test-langinfo.c: New file. + + New module 'langinfo'. + * lib/langinfo.in.h: New file. + * m4/langinfo_h.m4: New file. + * modules/langinfo: New file. + * doc/posix-headers/langinfo.texi: Mention the new module. + +2009-12-11 Bruno Haible + + * lib/config.charset: Untabify. + +2009-12-11 Bruno Haible + + * modules/unistd-safer (configure.ac): Drop indicator macro. + +2009-12-11 Bruno Haible + + Move pipe2-safer code to its own file. + * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c. + * lib/pipe-safer.c (pipe2_safer): Remove function. + * modules/pipe2-safer (Files): Add lib/pipe2-safer.c. + (Makefile.am): Add it to lib_SOURCES. + +2009-12-10 Bruno Haible + + * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL. + +2009-12-10 Bruno Haible + + Declare which arguments expect non-NULL values, for GCC and clang. + * build-aux/arg-nonnull.h: New file. + * modules/arg-nonnull: New file. + * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder. + (inet_ntop, inet_pton): Use it. + * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder. + (closedir, dirfd, opendir, scandir, alphasort): Use it. + * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder. + (open, openat): Use it. + * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder. + (fnmatch): Use it. + * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder. + (getopt, getopt_long, getopt_long_only): Use it. + * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder. + * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p): + Use it. + * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder. + (iconv_open): Use it. + * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder. + (strtoimax, strtoumax): Use it. + * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder. + (duplocale): Use it. + * lib/math.in.h (_GL_ARG_NONNULL): New placeholder. + (frexp, frexpl): Use it. + * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder. + (getaddrinfo, freeaddrinfo, getnameinfo): Use it. + * lib/search.in.h (_GL_ARG_NONNULL): New placeholder. + (tsearch, tfind, tdelete, twalk): Use it. + * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder. + (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset, + sigpending): Use it. + * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder. + (posix_spawn, posix_spawnp, posix_spawnattr_init, + posix_spawnattr_destroy, posix_spawnattr_getsigdefault, + posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask, + posix_spawnattr_setsigmask, posix_spawnattr_getflags, + posix_spawnattr_setflags, posix_spawnattr_getpgroup, + posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy, + posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam, + posix_spawnattr_setschedparam, posix_spawn_file_actions_init, + posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen, + posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2): + Use it. + * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder. + (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen, + rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline, + obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove, + rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf, + vfprintf, vprintf, vsnprintf, vsprintf): Use it. + * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder. + (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp, + mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r, + setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll, + strtoull, unsetenv): Use it. + * lib/string.in.h (_GL_ARG_NONNULL): New placeholder. + (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy, + strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr, + strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr, + mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk, + mbsspn, mbssep, mbstok_r, strverscmp): Use it. + * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder. + (strcasecmp, strncasecmp): Use it. + * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder. + (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname, + rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto, + rpl_setsockopt): Use it. + * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder. + (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo, + mkfifoat, mknod, mknodat, stat, utimensat): Use it. + * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder. + (gettimeofday): Use it. + * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder. + (times): Use it. + * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder. + (uname): Use it. + * lib/time.in.h (_GL_ARG_NONNULL): New placeholder. + (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it. + * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder. + (chown, euidaccess, faccessat, _gl_register_fd, fchownat, + getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2, + pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink, + unlinkat, write): Use it. + * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder. + (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it. + * lib/argv-iter.h: Include arg-nonnull.h. + (_ATTRIBUTE_NONNULL_): Remove macro. + (argv_iter_init_argv, argv_iter_init_stream, argv_iter, + argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL. + * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc + optimization. + * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise. + * lib/getdelim.c (_GL_ARG_NONNULL): Likewise. + * lib/glob.c (_GL_ARG_NONNULL): Likewise. + * lib/random_r.c (_GL_ARG_NONNULL): Likewise. + * lib/setenv.c (_GL_ARG_NONNULL): Likewise. + * lib/strtod.c (_GL_ARG_NONNULL): Likewise. + * lib/tsearch.c (_GL_ARG_NONNULL): Likewise. + * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise. + * modules/arpa_inet (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into arpa/inet.h. + * modules/dirent (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into dirent.h. + * modules/fcntl-h (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into fcntl.h. + * modules/fnmatch (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into fnmatch.h. + * modules/getopt-posix (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into getopt.h. + * modules/glob (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into glob.h. + * modules/iconv_open (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into iconv.h. + * modules/inttypes (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into inttypes.h. + * modules/locale (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into locale.h. + * modules/math (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into math.h. + * modules/netdb (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into netdb.h. + * modules/search (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into search.h. + * modules/signal (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into signal.h. + * modules/spawn (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into spawn.h. + * modules/stdio (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into stdio.h. + * modules/stdlib (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into stdlib.h. + * modules/string (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into string.h. + * modules/strings (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into strings.h. + * modules/sys_socket (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into sys/socket.h. + * modules/sys_stat (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into sys/stat.h. + * modules/sys_time (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into sys/time.h. + * modules/sys_times (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into sys/times.h. + * modules/sys_utsname (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into sys/utsname.h. + * modules/time (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into time.h. + * modules/unistd (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into unistd.h. + * modules/wchar (Depends-on): Add arg-nonnull. + (Makefile.am): Insert arg-nonnull.h into wchar.h. + * modules/argv-iter (Depends-on): Add arg-nonnull. + * tests/test-canonicalize.c (null_ptr): New function. + (main): Use it. + * tests/test-canonicalize-lgpl.c (null_ptr): New function. + (main): Use it. + * tests/test-memmem.c (null_ptr): New function. + (main): Use it. + Reported by Jim Meyering. + +2009-12-10 Bruno Haible + + Use spaces for indentation, not tabs. + * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify. + * m4/*.m4: Untabify. + * build-aux/*.h: Untabify. + * tests/**/*.[hc]: Untabify. + * README: New section "Indent with spaces, not TABs", based on + coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini. + * NEWS: Mention the change. + +2009-12-10 Bruno Haible + + pty test: Fix link error. + * modules/pty-tests (Makefile.am): Add the default LDADD value to + test_pty_LDADD. + +2009-12-07 Simon Josefsson + + * modules/pty: New file. + * modules/pty-tests: New file. + * m4/pty.m4: New file. + * tests/test-pty.c: New file. + * doc/glibc-headers/pty.texi: Modified. + * doc/glibc-functions/forkpty.texi: Modified. + * doc/glibc-functions/openpty.texi: Modified. + +2009-12-10 Bruno Haible + + Avoid syntax error in C++ mode. + * lib/stdio.in.h (rename): Don't use parameter name 'new'. + +2009-12-10 Bruno Haible + + Use sed with option -e. + * gnulib-tool (func_version, func_emit_copyright_notice, + func_emit_initmacro_end, func_import, func_create_testdir): Pass + option -e to sed. + * modules/link-warning (Makefile.am): Likewise. + +2009-12-10 Jim Meyering + + mgetgroups: do not write bytes beyond end of malloc'd buffer + * lib/mgetgroups.c: Fix an off-by-one error. When we have no + username, we call getgroups with a one-element-shorter buffer, + but still told it the length was original, max_n_groups. + +2009-12-09 Eric Blake + + cloexec: relax license + * modules/cloexec (Maintainer): Add myself. + (License): Use LGPL, not GPL. + + link-warning: optimize generation + * modules/link-warning (Makefile.am): Reduce process usage. + +2009-12-09 Bruno Haible + + * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a + workaround was added on 2009-11-17. + +2009-12-09 Jim Meyering + Bruno Haible + + link-warning: Allow extra lines at the top of build-aux/link-warning.h. + * modules/link-warning (Makefile.am): Make the comment-removing sed + command more robust in the face of bootstrap-prepended comment lines. + +2009-12-09 Bruno Haible + + * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at + most one group. + +2009-12-09 Simon Josefsson + Bruno Haible + + * build-aux/link-warning.h: Add copyright notice. + * modules/link-warning (Makefile.am): Generate link-warning.h from + build-aux/link-warning.h. Update LINK_WARNING_H accordingly. + * NEWS: Mention change in link-warning module. + * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h. + * modules/dirent (Makefile.am): Add dependency to dirent.h. + * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h. + * modules/getopt-posix (Makefile.am): Add dependency to getopt.h. + * modules/inttypes (Makefile.am): Add dependency to inttypes.h. + * modules/math (Makefile.am): Add dependency to math.h. + * modules/search (Makefile.am): Add dependency to search.h. + * modules/signal (Makefile.am): Add dependency to signal.h. + * modules/spawn (Makefile.am): Add dependency to spawn.h. + * modules/stdio (Makefile.am): Add dependency to stdio.h. + * modules/stdlib (Makefile.am): Add dependency to stdlib.h. + * modules/string (Makefile.am): Add dependency to string.h. + * modules/strings (Makefile.am): Add dependency to strings.h. + * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h. + * modules/sys_select (Makefile.am): Add dependency to sys/select.h. + * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h. + * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h. + * modules/sys_times (Makefile.am): Add dependency to sys/times.h. + * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h. + * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h. + * modules/unistd (Makefile.am): Add dependency to unistd.h. + * modules/wchar (Makefile.am): Add dependency to wchar.h. + +2009-12-09 Bruno Haible + + fchdir: Optimize away rpl_fstat when possible. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with + REPLACE_OPEN_DIRECTORY. + * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY. + +2009-12-09 Bruno Haible + + * lib/fchdir.c: Update comment. + +2009-12-09 Bruno Haible + + * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call. + +2009-12-08 Eric Blake + + fchdir: avoid memory leak on re-registration. + * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak. + +2009-12-08 Jim Meyering + + init.sh: avoid Solaris 10 /bin/sh portability problem + Solaris 10's /bin/sh does not pass '.' arguments 2.. to the + sourced script: + $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar' + $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar' + bar + tests/init.sh relied on that, accepting a --set-path=DIR argument, + and two tests used that idiom. + * tests/init.sh: Update suggested usage comments. + (path_prepend_): New function, to be used in place + of the --src-path=DIR option. + (setup_): Move PATH-prepending code into path_prepend_. + * tests/test-pread.sh: Adapt to new usage. + * tests/test-xalloc-die.sh: Likewise. + +2009-12-08 Simon Josefsson + + * doc/gnulib.texi (Glibc pty.h): Add. + * doc/glibc-functions/forkpty.texi: Add. + * doc/glibc-functions/openpty.texi: Add. + Suggested by Bruno Haible. + +2009-12-08 Eric Blake + + fchdir: fix logic bugs + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug. + * tests/test-fchdir.c (main): Enhance test. + * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement + is in use. + + dup2: fix logic bugs + * lib/dup2.c (dup2): Fix logic bugs. Use HAVE_DUP2 rather than + REPLACE_DUP2 to decide when rpl_dup2 is needed. + * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2 + exists. + (gl_FUNC_DUP2): Drop unneeded AC_DEFINE. + +2009-12-07 Eric Blake + + unlink: fix m4 detection + * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header. + + unistd-safer: add unit test + * modules/unistd-safer-tests: New file. + * tests/test-dup-safer.c: Likewise. + * tests/test-cloexec.c (setmode): Avoid compiler warning. + * tests/test-dup2.c (setmode): Likewise. + * lib/cloexec.c (dup_cloexec): Fix mingw compile error. + + cloexec: preserve text vs. binary across dup_cloexec + * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation + mode. + * modules/dup2-tests (Depends-on): Add binary-io. + * modules/cloexec-tests (Depends-on): Likewise. + * tests/test-dup2.c (setmode, is_mode): New helpers. + (main): Add tests that translation mode is preserved. + * tests/test-cloexec.c (setmode, is_mode, main): Likewise. + Reported by Bruno Haible. + + mgetgroups: reduce duplicate listings + * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the + resulting array. + * tests/test-chown.h (test_chown): Simplify client. + * tests/test-lchown.h (test_lchown): Likewise. + +2009-12-06 Bruno Haible + + * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return + value. + +2009-12-06 Bruno Haible + + * lib/progname.c: Include stdio.h, stdlib.h. + (set_program_name): Reject a NULL argument. + +2009-12-05 Eric Blake + + pipe2-safer: new module + * modules/pipe2-safer: New file. + * lib/unistd-safer.h (pipe2_safer): New prototype. + * lib/unistd--.h (pipe2): New wrapper. + * lib/pipe-safer.c (pipe2_safer): New function. + * modules/pipe (Depends-on): Add pipe2-safer. + * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work. + + stdlib-safer: preserve cloexec flag for mkostemp[s] + * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new + fd_safer_flag. + + unistd-safer: allow preservation of cloexec status via flag + * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New + prototypes. + * lib/dup-safer.c (dup_safer_flag): New function. + * lib/fd-safer.c (fd_safer_flag): Likewise. + * modules/cloexec (configure.ac): Set witness. + + test-dup2: enhance test + * modules/dup2-tests (Depends-on): Add cloexec. + * tests/test-dup2.c (main): Enhance test. + + cloexec: add dup_cloexec + * lib/cloexec.h (dup_cloexec): New prototype. Add copyright + header and comments. + * lib/cloexec.c (set_cloexec_flag): Add comments. + (dup_cloexec): New function, with mingw implementation borrowed + from... + * lib/w32spawn.h (dup_noinherit): ...here. + * modules/execute (Depends-on): Add cloexec. + * modules/pipe (Depends-on): Likewise. + * modules/cloexec (Depends-on): Add dup2. + * modules/cloexec-tests (Files): New file. + * tests/test-cloexec.c: Likewise. + + test-xalloc-die: fix test for mingw + * modules/xalloc-die-tests (Files): Add tests/init.sh. + * tests/test-xalloc-die.sh: Rewrite to use init.sh. Strip + directory and .exe suffix off argv[0] output. + + test-fseeko: fix test for mingw + * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather + than undefining fseek, so test will pass on mingw. + +2009-12-05 Bruno Haible + + * lib/progname.h (set_program_name): Clarify specification. + * lib/progname.c (set_program_name): Likewise. + Reported by Jim Meyering. + +2009-12-05 Jim Meyering + + maint.mk: backslash-escape parens in default regexp + * top/maint.mk (news-check-regexp): Now that we're using grep -E, + backslash-escape the literal parentheses. + + maint.mk: news-date-check: use grep -E + * top/maint.mk (today): Define a Make variable, not a... + (news-date-check): ...shell variable. + (news-date-regexp): Use the Make variable. + Use grep's -E option. Change the failing diagnostic to mention + the variable, $(news-date-regexp). + +2009-12-04 Alfred M. Szmidt + + maintainer-makefile: allow customization of NEWS entry format + * top/maint.mk (news-date-regexp): New overridable variable. + (news-date-check): Use it. + +2009-12-04 Eric Blake + + mgetgroups: add xgetgroups, and avoid ENOSYS failures + * lib/mgetgroups.h (xgetgroups): New prototype. + * lib/mgetgroups.c (xgetgroups): New wrapper. + (mgetgroups): Handle ENOSYS. + * modules/mgetgroups (Depends-on): Add realloc. + Reported by Scott Harrison . + + mgetgroups: avoid argument promotion issues with -1 + * lib/mgetgroups.c (mgetgroups): A cast is required when checking + for invalid gid_t. + * tests/test-chown.h (getegid, test_chown): Likewise. + * tests/test-lchown.h (getegid, test_lchown): Likewise. + +2009-12-03 Paolo Bonzini + + exclude: Fix header file problems. + * lib/exclude.h: Add multiple inclusion guards and include stdbool.h. + +2009-12-01 Jim Meyering + + fts: fts_open: do not let an empty string cause immediate failure + This is required in support of GNU rm, for which the command + "rm A '' B" must process and remove both A and B, in spite of + the empty string argument. + * lib/fts.c (fts_open): Do not let the presence of an empty string + cause fts_open to fail immediately. Most fts-using tools must be + able to process all arguments, in order, and can be expected to + diagnose such arguments themselves. + +2009-11-30 Eric Blake + + utimens: fix compilation error + * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]: + Declare variable at right scope. + +2009-11-29 Jim Meyering + + bootstrap: handle perl-5.11's changed --version output + * build-aux/bootstrap (get_version): Handle perl separately, + since perl-5.11's --version output is different. + +2009-11-28 Jim Meyering + + userspec: depend on the inttostr module, too + * modules/userspec (Depends-on): Add inttostr. + + userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1 + * lib/userspec.c (parse_with_separator): Do not accept a user ID + number of MAXUID when it evaluates to (uid_t) -1. + Likewise for group ID. Reported by Matt McCutchen in + + + userspec: reformat to use spaces, not TABs + * lib/userspec.c: Expand TABs to spaces. + Add Emacs' "indent-tabs-mode: nil" hint. + +2009-11-27 Eric Blake + + getopt-gnu: flush out another BSD bug + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug. + * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to + flush out BSD bug. + * tests/test-getopt.h (test_getopt): End lists with NULL. + * tests/test-getopt_long.h (test_getopt_long): Likewise. + (test_getopt_long_posix): Enhance test. + * modules/getopt-posix-tests (Depends-on): Add stdbool. + * doc/glibc-functions/getopt_long.texi (getopt_long): Mention + getopt-gnu. + * doc/glibc-functions/getopt_long_only.texi (getopt_long_only): + Likewise. + +2009-11-27 Simon Josefsson + + * modules/idpriv-droptemp-tests (Notice): Fix text. + +2009-11-27 Jim Meyering + + test-xalloc-die: avoid spurious failure due to libtool argv difference + In a libtool-enabled project, this test would fail due to a difference + in the emitted program name, e.g., + -test-xalloc-die: memory exhausted + +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted + Use program to avoid that. + * modules/xalloc-die-tests (Depends-on): Add progname. + * tests/test-xalloc-die.c: Include progname.h". + (program_name): Remove decl. + (main): Call set_program_name. + * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}. + +2009-11-26 Richard Jones - Suppress buildtime typechecks for L_REC; propagate recursive flag + w32sock: leave win32 error in place. + * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError. - * src/lens.c (free_lens): free recursive lenses +2009-11-26 Eric Blake - * src/lens.h: add a recursive lens combinator + init.sh: suggest to use skip_ and fail_ functions in comments + * tests/init.sh: Add a sentence. -2010-01-14 David Lutterkort +2009-11-25 Bruno Haible + + init.sh: add documentation in comments + * tests/init.sh: Add some developer and user documentation. + +2009-11-26 Jim Meyering + + init.sh: accommodate even those who specify bogus srcdir manually + * tests/init.sh: Normally, srcdir is guaranteed by automake and + configure-time tests to be sanitized, so that there is no need to + use "$srcdir" in Makefile rules and shell scripts. Using $srcdir + (with no double quotes) suffices. However, since tests may be + invoked manually, and since you may explicitly set srcdir to the + name of a directory containing spaces, do quote its uses here. + * tests/test-pread.sh: Likewise. + Suggested by Bruno Haible. + + test-pread.sh: avoid diagnostics for those who ignore SIGPIPE + * tests/test-pread.sh: Write no data into the pipe, because + test-pread actually reads none. This avoids a diagnostic, + "bash: echo: write error: Broken pipe", that arises in the unusual + event something is ignoring SIGPIPE, and might be interpreted + as some sort of failure. Reported by Bruno Haible. + +2009-11-25 Jim Meyering + + test-pread: cover failure with ESPIPE and EINVAL + * tests/test-pread.c (main): Test for failure, too. + * tests/test-pread.sh: Invoke with stdin on a pipe. + Suggested by Eric Blake. + + pread: improvement and fix + * modules/pread (Depends-on): Depend on lseek, for portability to + e.g., mingw. Suggested by Eric Blake. + * lib/pread.c (__libc_read): Define. Reported by Richard W.M. Jones. + + unistd.in.h: correct declaration of pread + * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char* + Reported by Richard W.M. Jones. + + test-pread.sh: distribute the test script + * modules/pread-tests (Files): Include test-pread.sh. + + test-pread.sh: clean up + * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".". + * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir. + That is unnecessary, since it's always ".". + Suggestion from Eric Blake. + + test-pread.sh: make executable + * tests/test-pread.sh: Set executable bit. + Reported by Eric Blake. + + correct typo in test-pread.sh + * tests/test-pread.sh: Add #! line. + + test pread + * tests/test-pread.c: New file. + * tests/test-pread.sh: Likewise. + * modules/pread-tests: Likewise. + + pread: new module + * modules/pread: New file. + * lib/unistd.in.h (pread): Define/declare. + * lib/pread.c (pread): New file. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults. + * modules/unistd (Makefile.am): Substitute witnesses. + * doc/posix-functions/pread.texi (pread): Update. + * MODULES.html.sh: Add pread. + +2009-11-25 Jim Meyering + + tests/init.sh: new file to be used via most *.sh tests + * tests/init.sh: New file. + +2009-11-25 Eric Blake + + utimens: work around older Linux failure with symlinks + * lib/utimens.c (lutimensat_works_really): New variable. + (fdutimens, lutimens): Use it to manage kernels that support + nanosecond times on files, but not on symlinks. + Reported by Ondřej Vašík. + + utimes: fix configure grammar + * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word. + +2009-11-25 Paolo Bonzini + + regex: Fix fastmap for multibyte character ranges. + * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead + characters when a multibyte character range is included. + +2009-11-22 Andy Wingo + + version-etc: work also with AM_INIT_AUTOMAKE's no-define option + * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME. + +2009-11-24 Bruno Haible + + doc: Most *_l functions exist in MacOS X 10.5. + * doc/posix-functions/duplocale.texi: Update platforms list. + * doc/posix-functions/freelocale.texi: Likewise. + * doc/posix-functions/newlocale.texi: Likewise. + * doc/posix-functions/uselocale.texi: Likewise. + * doc/posix-functions/isalnum_l.texi: Likewise. + * doc/posix-functions/isalpha_l.texi: Likewise. + * doc/posix-functions/isblank_l.texi: Likewise. + * doc/posix-functions/iscntrl_l.texi: Likewise. + * doc/posix-functions/isdigit_l.texi: Likewise. + * doc/posix-functions/isgraph_l.texi: Likewise. + * doc/posix-functions/islower_l.texi: Likewise. + * doc/posix-functions/isprint_l.texi: Likewise. + * doc/posix-functions/ispunct_l.texi: Likewise. + * doc/posix-functions/isspace_l.texi: Likewise. + * doc/posix-functions/isupper_l.texi: Likewise. + * doc/posix-functions/iswalnum_l.texi: Likewise. + * doc/posix-functions/iswalpha_l.texi: Likewise. + * doc/posix-functions/iswblank_l.texi: Likewise. + * doc/posix-functions/iswcntrl_l.texi: Likewise. + * doc/posix-functions/iswctype_l.texi: Likewise. + * doc/posix-functions/iswdigit_l.texi: Likewise. + * doc/posix-functions/iswgraph_l.texi: Likewise. + * doc/posix-functions/iswlower_l.texi: Likewise. + * doc/posix-functions/iswprint_l.texi: Likewise. + * doc/posix-functions/iswpunct_l.texi: Likewise. + * doc/posix-functions/iswspace_l.texi: Likewise. + * doc/posix-functions/iswupper_l.texi: Likewise. + * doc/posix-functions/iswxdigit_l.texi: Likewise. + * doc/posix-functions/isxdigit_l.texi: Likewise. + * doc/posix-functions/nl_langinfo_l.texi: Likewise. + * doc/posix-functions/strcasecmp_l.texi: Likewise. + * doc/posix-functions/strcoll_l.texi: Likewise. + * doc/posix-functions/strfmon_l.texi: Likewise. + * doc/posix-functions/strftime_l.texi: Likewise. + * doc/posix-functions/strncasecmp_l.texi: Likewise. + * doc/posix-functions/strxfrm_l.texi: Likewise. + * doc/posix-functions/tolower_l.texi: Likewise. + * doc/posix-functions/toupper_l.texi: Likewise. + * doc/posix-functions/towctrans_l.texi: Likewise. + * doc/posix-functions/towlower_l.texi: Likewise. + * doc/posix-functions/towupper_l.texi: Likewise. + * doc/posix-functions/wcscoll_l.texi: Likewise. + * doc/posix-functions/wcsxfrm_l.texi: Likewise. + * doc/posix-functions/wctrans_l.texi: Likewise. + * doc/posix-functions/wctype_l.texi: Likewise. + * doc/glibc-functions/strptime_l.texi: Likewise. + * doc/glibc-functions/strtod_l.texi: Likewise. + * doc/glibc-functions/strtof_l.texi: Likewise. + * doc/glibc-functions/strtol_l.texi: Likewise. + * doc/glibc-functions/strtold_l.texi: Likewise. + * doc/glibc-functions/strtoll_l.texi: Likewise. + * doc/glibc-functions/strtoul_l.texi: Likewise. + * doc/glibc-functions/strtoull_l.texi: Likewise. + * doc/glibc-functions/wcsftime_l.texi: Likewise. + * doc/glibc-functions/wcstod_l.texi: Likewise. + * doc/glibc-functions/wcstof_l.texi: Likewise. + * doc/glibc-functions/wcstol_l.texi: Likewise. + * doc/glibc-functions/wcstold_l.texi: Likewise. + * doc/glibc-functions/wcstoll_l.texi: Likewise. + * doc/glibc-functions/wcstoul_l.texi: Likewise. + * doc/glibc-functions/wcstoull_l.texi: Likewise. + +2009-11-24 Bruno Haible + + duplocale: Fix logic bug. + * lib/duplocale.c: Don't include . + (_NL_LOCALE_NAME): Remove macro. + (rpl_duplocale): Use setlocale instead of nl_langinfo. + * tests/test-duplocale.c (main): Also test duplocale after uselocale. + +2009-11-23 Jim Meyering + + test-update-copyright: don't hard-code /usr/bin/perl + * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than + perl to print the current year. Gilles Espinasse reported that + the replaced use of perl was hard-coded as /usr/bin/perl. + +2009-11-23 Bruno Haible + + duplocale: Add support for glibc 2.3.x. + * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x. + +2009-11-22 Bruno Haible + + vasnprintf: Tiny optimization. + * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on + MacOS X. + +2009-11-22 Bruno Haible + + Tests for module 'duplocale'. + * modules/duplocale-tests: New file. + * tests/test-duplocale.c: New file. + + New module 'duplocale'. + * m4/duplocale.m4: New file. + * lib/locale.in.h (duplocale): New declaration. + * lib/duplocale.c: New file. + * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR, + gl_LOCALE_H_DEFAULTS): New macros. + (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke + gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H. + * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE, + REPLACE_DUPLOCALE. + * modules/duplocale: New file. + * doc/posix-functions/duplocale.texi: Mention the glibc bug. + +2009-11-22 Bruno Haible + + * modules/locale-tests (configure.ac): Test for newlocale function. + * tests/test-locale.c: When the system has extended locale functions, + verify that defines locale_t and LC_GLOBAL_LOCALE. + + locale: Make locale_t available when possible. + * lib/locale.in.h: Include when it exists. + * m4/locale_h.m4 (gl_LOCALE_H): Check for and arrange to + replace if it does not define locale_t but does. + * modules/locale (Depends-on): Add extensions. + (Makefile.am): Also substitute HAVE_XLOCALE_H. + * doc/posix-headers/locale.texi: Document the problem with locale_t. + +2009-11-22 Bruno Haible + + Add comments. + * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS + invocation. + * m4/iconv_h.m4 (gl_ICONV_H): Likewise. + * m4/spawn_h.m4 (gl_SPAWN_H): Likewise. + * m4/wchar.m4 (gl_WCHAR_H): Likewise. + +2009-11-22 Bruno Haible + + error: account for the possibility of freopen (stdout). + * lib/error.c: Include . + (flush_stdout): New function, extracted from error and error_at_line. + Determine stdout's fd dynamically. + (error, error_at_line): Invoke flush_stdout. + * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE. + * modules/error (Depends-on): Add unistd. + +2009-11-22 Bruno Haible + + diffseq: Add comment. + * lib/diffseq.h (IF_LINT): Add comment about pitfall. + +2009-11-22 Jim Meyering + + c-stack: avoid defining an unused static function + * lib/c-stack.c (find_stack_direction): Do not define this function + when it will not be used. + + diffseq: avoid spurious gcc warnings + * lib/diffseq.h (IF_LINT2): Define. + (compareseq): Use it to initialize two members of "part". + This avoids two used-uninitialized warnings. + +2009-11-21 Jim Meyering + + c-stack: avoid "ignoring return value of `write'" warning + * lib/c-stack.c: Include "ignore-value.h". + (die): Explicitly ignore each write return value. + * modules/c-stack (Depends-on): Add ignore-value. + +2009-11-21 Bruno Haible + + diffseq: reduce scope of variable 'best'. + * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best' + variable, earlier used for two different purposes. + +2009-11-21 Jim Meyering + + diffseq: remove useless assignment to "best" + * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0" + assignment. At that point "best" is already guaranteed to be zero. + +2009-11-20 Eric Blake + + build: mention ftp redirector in release announcements + * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for + values that used to come from cfg.mk; mention FTP redirect URL. + * build-aux/announce-gen: Mention the mirror list. + Suggested by Karl Berry. + + nanosleep: improve port to mingw + * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into + LIB_NANOSLEEP, but only when needed. + * modules/select (Link): Document LIBSOCKET. + * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early + enough. + + nanosleep: work around cygwin bug + * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: + Fix logic bug when nanosleep fails. Work around cygwin 1.5.x + bug. + (getnow): Delete, not needed. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require + LIB_CLOCK_GETTIME. + * modules/nanosleep (Depends-on): Add intprops and verify. Drop + clock-time, gettime. + * doc/posix-functions/nanosleep.texi (nanosleep): Document the + bug. + * modules/nanosleep-tests: New test. + * tests/test-nanosleep.c: New file. + + sleep: work around cygwin bug + * lib/sleep.c (rpl_sleep): Work around the bug. + * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug. + (gl_PREREQ_SLEEP): Delete unused macro. + * modules/sleep (Depends-on): Add verify. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default. + * modules/unistd (Makefile.am): Substitute witness. + * lib/unistd.in.h (sleep): Update prototype. + * doc/posix-functions/sleep.texi (sleep): Document the bug. + * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it. + * modules/sleep-tests (Depends-on): Check for alarm. + +2009-11-20 Jim Meyering + + maint.mk: improve sc_prohibit_magic_number_exit + * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp + so it does not match uses like System.exit(1). + Add comments showing how to correct all offenders. + +2009-11-19 Eric Blake + + xalloc-die-tests: add missing library + * modules/xalloc-die-tests (Makefile.am): Add LDADD line. + + test-xvasprintf: silence compiler warnings + * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask + empty string from gcc. + +2009-11-19 Jim Meyering + + xfreopen: new module, from coreutils + * modules/xfreopen: New module. + * lib/xfreopen.c: New file. + * lib/xfreopen.h: New file. + * MODULES.html.sh (File stream based Input/Output"): Add it. + +2009-11-19 Eric Blake + + manywarnings: depend on warnings + * modules/manywarnings (Depends-on): Add warnings. + + build: avoid compiler warnings + * lib/select.c (rpl_select): Delete unused variable. + * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer. + +2009-11-18 Eric Blake + + tests: avoid false negative with --with-packager + * tests/test-version-etc.sh: Discard packager information. + * tests/test-argp-version-etc-1.sh: Likewise. + Reported by Mike Frysinger. + + utimens: fix regression on Solaris + * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug. + * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10 + can only change fd timestamps via futimesat. Instead, use an + additional witness macro to avoid BSD bug. + Reported by Jim Meyering. + +2009-11-17 Eric Blake + + usleep: use it to simplify tests + * modules/stat-time-tests (Depends-on): Add usleep. + (configure.ac): Drop usleep check. + * modules/chown-tests (Depends-on, configure.ac): Likewise. + * modules/lchown-tests (Depends-on, configure.ac): Likewise. + * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise. + * modules/futimens-tests (Depends-on, configure.ac): Likewise. + * modules/openat-tests (Depends-on, configure.ac): Likewise. + * modules/utimens-tests (Depends-on, configure.ac): Likewise. + * modules/utimensat-tests (Depends-on, configure.ac): Likewise. + * modules/pipe-filter-gi-tests (Depends-on, configure.ac): + Likewise. + * tests/test-chown.h (nap): Rely on nicer usleep semantics. + * tests/test-lchown.h (nap): Likewise. + * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise. + * tests/test-stat-time.c (nap): Likewise. + * tests/test-utimens-common.h (nap): Update comments. + + usleep: new module + * modules/usleep: New file. + * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise. + * lib/usleep.c (usleep): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults. + * modules/unistd (Makefile.am): Substitute witnesses. + * lib/unistd.in.h (usleep): Add declaration. + * doc/pastposix-functions/usleep.texi (usleep): Document this. + * MODULES.html.sh (Date and time): Likewise. + * modules/usleep-tests (Depends-on): New test. + * tests/test-usleep.c: New file. + + chown: work around OpenBSD bug + * lib/chown.c (rpl_chown): Work around the bug. + * lib/lchown.c (rpl_lchown): Attempt to do likewise. + * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug. + * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod. + * modules/chown (Depends-on): Add stdbool. + * modules/lchown (Depends-on): Likewise. + * doc/posix-functions/chown.texi (chown): Document the bug. + * doc/posix-functions/lchown.texi (lchown): Likewise. + * tests/test-lchown.h (test_chown): Relax test. + + mkstemp: avoid conflict with C++ keyword template + * lib/mkdtemp.c (mkdtemp): Change spelling of template. + * lib/mkostemp.c (mkostemp): Likewise. + * lib/mkostemps.c (mkostemps): Likewise. + * lib/mkstemp.c (mkstemp): Likewise. + * lib/mkstemps.c (mkstemps): Likewise. + + xalloc-die-tests: optimize + * tests/test-xalloc-die.sh: Reduce number of processes. + +2009-11-17 Simon Josefsson + + * gnulib-tool: Support LGPLv3+ licenses in module files. Tiny + patch from ludo@gnu.org (Ludovic Courtès). + +2009-11-17 Jim Meyering + + version-etc: use proper license string + * modules/version-etc (License): Use LGPL, not LGPLv3+. + * modules/version-etc-fsf: Likewise. + +2009-11-17 Simon Josefsson + + * tests/test-xalloc-die.sh: Add license. Check that nothing is + printed to stdout. Deal with EOL differences. + +2009-11-17 Eric Blake + + unsetenv: work around Solaris bug + * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug. + * lib/unsetenv.c (rpl_unsetenv): Work around it. + Reported by Jim Meyering. + + vasnprintf: avoid compiler warnings + * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local + variables. + * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch. + +2009-11-17 Simon Josefsson + + * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS + settings since xalloc-die is no longer the self test, + xalloc-die.sh is. + +2009-11-17 Jim Meyering + + test-xalloc-die.sh: make the code agree with the commit log + * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not + at the end, just in case you happen to have a test-xalloc-die + program in some other PATH directory. + + test-xalloc-die.sh: fix a portability bug + * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die. + Instead, set PATH to start with "." and invoke via "test-xalloc-die". + Otherwise, argv[0] (as often seen in diagnostics) would be too + system-dependent, sometimes with, and sometimes without the leading "./". + + version-etc-fsf: relax license to LGPLv3+ + * modules/version-etc-fsf (License): Relax license. + +2009-11-16 Eric Blake + + xalloc-die-tests: avoid printing null pointer + * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in + shell script. + * tests/test-xalloc-die.c (program_name): Declare. + * tests/test-xalloc-die.sh (tmpfiles): New file. + + setenv, unsetenv: work around various bugs + * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc. + (setenv) [HAVE_SETENV]: Work around bugs. + * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs. + * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check + for bugs. + (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE. + * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults. + * modules/stdlib (Makefile.am): Update substitutions. + * lib/stdlib.in.h (setenv, unsetenv): Update prototypes. + * doc/posix-functions/setenv.texi (setenv): Document the bugs. + * doc/posix-functions/unsetenv.texi (unsetenv): Likewise. + * modules/setenv-tests: New test. + * modules/unsetenv-tests: Likewise. + * tests/test-setenv.c: New file. + * tests/test-unsetenv.c: Likewise. + +2009-11-16 Jim Meyering + + version-etc: relax license to LGPLv3+ + * modules/version-etc (License): Relax license. + + better AC_REQUIRE expanded-before-required-warning avoidance + * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define + with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings. + Suggested by Eric Blake. This change also reverts commit 1b712ba8, + which is no longer needed. + +2009-11-16 Eric Blake + + test-freading: clean up temporary file + * tests/test-freading.c (main): Remove file on success, and use + ASSERT more liberally. + Reported by Jim Meyering. + +2009-11-16 Jim Meyering + + avoid new AC_REQUIRE expanded-before-required warnings + * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than + merely using it. + * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS. + * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT. + +2009-11-15 Simon Josefsson + + * tests/test-xalloc-die.c: New file. + * modules/xalloc-die-tests: New file. + * gnulib-tool (func_emit_tests_Makefile_am): Also initialize + XFAIL_TESTS so it can be appended by modules. + +2009-11-15 Simon Josefsson + + * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898. Reported + by Vladimir 'phcoder' Serbinenko . + +2009-11-14 Eric Blake + + fnmatch: avoid compiler warning + * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned, + to silence compiler warning about mismatch signedness in ?:. + Reported by Robert Millan. + + intprops: add double-inclusion guard + * lib/intprops.h: Allow idempotent includes. + Suggested by Bruce Korb. + + openat: detect Solaris fchownat bug + * lib/fchownat.c (rpl_fchownat): Work around Solaris bug. Avoid + penalizing glibc chownat when only lchownat is broken. + * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are + trailing slash bugs. + * doc/posix-functions/fchownat.texi (fchownat): Document the bug. + * modules/openat-tests (Files): Include more files. + (Depends-on): Add mgetgroups, sleep, stat-time. + (configure.ac): Add additional checks. + (Makefile.am): Build new test. + * tests/test-fchownat.c: New file. + + lchown: detect Solaris and FreeBSD bug + * lib/lchown.c (rpl_lchown): Work around bug. + * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. + * modules/unistd (Makefile.am): Populate it. + * lib/unistd.in.h (lchown): Update declaration. + * doc/posix-functions/lchown.texi (lchown): Document the bug. + * modules/lchown-tests: New file. + * tests/test-lchown.h (test_lchown): Likewise. + * tests/test-lchown.c (main): Likewise. + + chown: detect Solaris and FreeBSD bug + * lib/chown.c (rpl_chown): Work around bug. + * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs. + (gl_PREREQ_CHOWN): Delete. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. + * modules/unistd (Makefile.am): Populate it. + * lib/unistd.in.h (chown): Update declaration. + * lib/lchown.c (chown): Update client. + * modules/lchown (Depends-on): Add lstat. + * doc/posix-functions/chown.texi (chown): Document the bug. + * doc/posix-functions/getgroups.texi (getgroups): Document + getgroups pitfall. + * modules/chown-tests: New file. + * tests/test-chown.h (test_chown): Likewise. + * tests/test-chown.c (main): Likewise. + +2009-11-14 Robert Millan (tiny change) + + gnulib-tool: correctly detect absence of m4 directories + * gnulib-tool: Avoid extra newline on data passed to wc -l. + +2009-11-14 Jim Meyering + + maint.mk: Prohibit inclusion of "xalloc.h" without use. + * top/maint.mk (sc_prohibit_close_stream_without_use): New rule. + +2009-11-14 John W. Eaton + + strftime.h: wrap function declaration in extern "C" block + * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration. + +2009-11-13 Eric Blake + + getgroups: avoid compiler warning + * lib/getgroups.c (rpl_getgroups): Delete shadowed variable. + + getgroups: work around FreeBSD bug + * lib/getgroups.c (rpl_getgroups): Work around the bug. + * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug. + * doc/posix-functions/getgroups.texi (getgroups): Document it. + * tests/test-getgroups.c (main): Fix buffer overrun. + + getgroups: avoid compilation failure + * lib/getgroups.c (includes): Include for SIZE_MAX. + * modules/getgroups (Depends-on): Add stdint. + +2009-11-13 Jim Meyering + + test-getgroups: avoid compilation failure + * tests/test-getgroups.c: Include for use of SIZE_MAX. + +2009-11-13 Eric Blake + + mgetgroups: new module, taken from coreutils + * modules/mgetgroups: New file. + * lib/mgetgroups.h: Likewise. + * lib/mgetgroups.c (mgetgroups): Likewise. + * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise. + * MODULES.html.sh (Users and groups): Mention it. + + getgroups: don't expose GETGROUPS_T to user + * lib/getgroups.c (rpl_getgroups): Change signature. Copy array + an element at a time if GETGROUPS_T is wrong size. + * lib/getugroups.h (getugroups): Change signature. + * lib/unistd.in.h (getgroups): Likewise. + * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if + signature needs fixing. + * m4/getugroups.m4 (gl_GETUGROUPS): No longer need + AC_TYPE_GETGROUPS. + * modules/group-member (Depends-on): Add getgroups. + * lib/group-member.c (group_info, get_group_info): Use gid_t. + (group_member): Rely on getgroups replacement. + * lib/getugroups.c (getugroups): Use gid_t. + * tests/test-getgroups.c (main): Likewise. + * NEWS: Mention the signature change. + * doc/posix-functions/getgroups.texi (getgroups): Mention the + problem with signature. + * doc/glibc-functions/setgroups.texi (setgroups): Mention that + GETGROUPS_T is still useful for setgroups. + + getgroups, getugroups: provide stubs for mingw + * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw. + * lib/getugroups.c (getugroups): Likewise. + * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing + function. Modernize replacement scheme. + (gl_PREREQ_GETGROUPS): Delete. + * m4/getugroups.m4 (gl_GETUGROUPS): Check for . + * modules/getgroups (configure.ac): Declare witness. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default. + * modules/unistd (Depends-on): Substitute witness. + * lib/unistd.in.h (getgroups): Declare replacement. + + getgroups: avoid calling exit + * modules/getgroups (Depends-on): Add malloc-posix and unistd, + drop xalloc. + * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded + dependencies. + * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than + exiting, in the rare case of malloc failure. + + getgroups: fix logic error + * lib/getgroups.c (rpl_getgroups): Don't fail if current process + has more than 20 groups. + * modules/getgroups-tests: New test. + * tests/test-getgroups.c: New file. + +2009-11-13 Simon Josefsson + + * tests/test-base64.c: Improve. + +2009-11-13 Simon Josefsson + + * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric + Blake . + +2009-11-13 Simon Josefsson + + * tests/test-xvasprintf.c: Add %s%s related checks. + +2009-11-12 Eric Blake + + version-etc: match standards.texi style + * lib/version-etc.c (emit_bug_reporting_address): Drop periods, + and use <> only for URLs. + +2009-11-10 Kamil Dudka + + fts: do not fail on a submount during traversal + * lib/fts.c (fts_build): Read the stat info again after opening + a directory if the FTS_TIGHT_CYCLE_CHECK flag is set. + Original report at http://bugzilla.redhat.com/501848. + +2009-11-12 Jim Meyering + + bootstrap: sync from coreutils + * build-aux/bootstrap (bootstrap_epilogue): New function. + Use git_modules_config in one more place. This make bootstrap's + --gnulib-srcdir option more useful for testing. + + bootstrap: generalize autoheader check + * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as + AC_CONFIG_HEADERS. + +2009-11-11 Eric Blake + + mkfifoat: use new modules for Solaris and BSD bugs + * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify. + * lib/mkfifoat.c (mknodat): Split... + * lib/mknodat.c (mknodat): ...into new file. + * modules/mkfifoat (Files): Ship new file. + (Depends-on): Add mkfifo, mknod. + * modules/mkfifoat-tests (Files): Reuse mkfifo tests. + (Depends-on): Add symlink. + * tests/test-mkfifoat.c (main): Enhance test. Drop portions now + redundant with test_mkfifo.h. + (do_mkfifoat, do_mknodat): New helpers. + + mknod: new module + * modules/mknod: New file. + * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise. + * lib/mknod.c (mknod): Likewise. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness + defaults. + * modules/sys_stat (Makefile.am): Substitute them. + * lib/sys_stat.in.h (mknod): Declare replacement. + * MODULES.html.sh (Support for systems lacking POSIX:2008): + Document it. + * doc/posix-functions/mknod.texi (mknod): Likewise. + * modules/mknod-tests: New test. + * tests/test-mknod.c: Likewise. + + mkfifo: new module + * modules/mkfifo: New file. + * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise. + * lib/mkfifo.c (mkfifo): Likewise. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness + defaults. + * modules/sys_stat (Makefile.am): Substitute them. + * lib/sys_stat.in.h (mkfifo): Declare replacement. + * MODULES.html.sh (Support for systems lacking POSIX:2008): + Document it. + * doc/posix-functions/mkfifo.texi (mkfifo): Likewise. + * modules/mkfifo-tests: New test. + * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part + from test-mkfifoat.c. + * tests/test-mkfifo.c: New file. + + readlink: detect FreeBSD bug + * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with + slash on symlink. + * doc/posix-functions/readlink.texi (readlink): Document the bug. + * tests/test-readlink.h (test_readlink): Enhance test. + + symlink: detect FreeBSD bug + * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with + slash on symlink. + * doc/posix-functions/symlink.texi (symlink): Document the bug. + * tests/test-symlink.h (test_symlink): Enhance test. + +2009-11-10 Eric Blake + + link: detect FreeBSD bug + * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on + symlink. + * doc/posix-functions/link.texi (link): Document the bug. + * tests/test-link.h (test_link): Enhance test. + * tests/test-linkat.c (main): Update caller. + + unlink, remove: detect FreeBSD bug + * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with + slash on symlink. + * doc/posix-functions/unlink.texi (unlink): Document the bug. + * doc/posix-functions/remove.texi (remove): Likewise. + * tests/test-unlink.h (test_unlink): Enhance test. + * tests/test-remove.c (main): Likewise. + +2009-11-09 Eric Blake + + rename: detect FreeBSD bug + * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with + slash on symlink. + * modules/renameat-tests (Depends-on): Add filenamecat. + * tests/test-rename.h (test_rename): Allow one more errno. + * tests/test-renameat.c (main): Likewise. + * doc/posix-functions/rename.texi (rename): Document the bug. + + open: detect FreeBSD bug + * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on + symlink. + * doc/posix-functions/open.texi (open): Document the bug. + * doc/posix-functions/utimes.texi (utimes): Likewise. + * tests/test-open.h (test_open): Add parameters, and test symlink + handling. + * tests/test-open.c (main): Adjust caller. + * tests/test-fcntl-safer.c (main): Likewise. + * modules/open-tests (Depends-on): Add stdbool, symlink. + * modules/fcntl-safer-tests (Depends-on): Likewise. + * tests/test-openat.c (main): Add test-open tests. + + stat: detect FreeBSD bug + * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on + symlink. + * doc/posix-functions/stat.texi (stat): Document the bug. + * tests/test-stat.h (test_stat_func): Add argument. + * tests/test-stat.c (main): Adjust caller. + * tests/test-fstatat.c (main): Likewise. + * modules/stat-tests (Depends-on): Add stdbool, symlink. + Reported by Jim Meyering. + +2009-11-09 James Youngman + + strftime.c: include ignore-value.h only when FPRINTFTIME is defined + * lib/strftime.c: Correct placement of #include "ignore-value.h". + +2009-11-08 Jim Meyering + + utimens: remove invalid futimesat call + * lib/utimens.c (fdutimens): Remove invalid futimesat call. + It used the file descriptor of the target file as the DIR_FD + parameter and NULL as the file name. That caused failure with + errno == EFAULT on FreeBSD-8.0-rc2 + +2009-11-07 Eric Blake + + fflush, freadseek: use fseeko, not fseek + * lib/fflush.c (clear_ungetc_buffer_preserving_position) + (clear_ungetc_buffer): Avoid potential problems on large files. + * lib/freadseek.c (freadseek): Likewise. + * modules/freadseek (Depends-on): Add fseeko. + * modules/fseek (configure.ac): Set a witness. + * tests/test-fflush.c (main): Use fseeko. + * tests/test-fpurge.c (fseek): Disable link warning. + * tests/test-freadable.c (fseek): Likewise. + * tests/test-freading.c (fseek): Likewise. + * tests/test-fseeko.c (fseek): Likewise. + * tests/test-ftell.c (fseek): Likewise. + * tests/test-ftello.c (fseek): Likewise. + * tests/test-fwritable.c (fseek): Likewise. + * tests/test-fwriting.c (fseek): Likewise. + +2009-11-06 Simon Josefsson + + * modules/memchr (Depends-on): Drop getpagesize dependency. + +2009-11-06 Simon Josefsson + + * build-aux/pmccabe2html: Disable execute bit. Suggested by + Reported by Ludovic Courtès. + * build-aux/pmccabe2html: Improve example usage. + * build-aux/pmccabe2html: Drop #! header. Doc fix. + +2009-11-06 Jim Meyering + + do-release-commit-and-tag: New module. + Automate the release-commit and tag process. + * build-aux/do-release-commit-and-tag: New script, from coreutils. + * modules/do-release-commit-and-tag: New file. + * MODULES.html.sh (Support for maintaining and releasing): Add it. + +2009-11-06 Simon Josefsson + + * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB) + because test-select.c uses inet_pton. + +2009-11-06 Simon Josefsson + + * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to + GETADDRINFO_LIB. Bump serial number. + * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again. + Suggested by Eric Blake . + +2009-11-05 Eric Blake + + strtod: detect darwin bug + * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(". + Reported by Leo Davis. + + freopen-safer: new module + * modules/freopen-safer: New module. + * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro. + * lib/freopen-safer.c (freopen_safer): New file. + * lib/stdio-safer.h (freopen_safer): New declaration. + * lib/stdio--.h (freopen): New override. + * MODULES.html.sh (File stream based Input/Output): Mention it. + * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and + freopen-safer module. + * doc/posix-functions/stderr.texi (stderr): Likewise. + * doc/posix-functions/stdin.texi (stdin): Likewise. + * doc/posix-functions/stdout.texi (stdout): Likewise. + * modules/freopen-safer-tests: New test. + * tests/test-reopen-safer.c: New file. + +2009-11-05 Jim Meyering + + maint.mk: Prohibit inclusion of "close-stream.h" without use. + * top/maint.mk (sc_prohibit_close_stream_without_use): New rule. + +2009-11-05 Simon Josefsson + + * modules/pmccabe2html (configure.ac): Check for pmccabe tool. + +2009-11-05 Simon Josefsson + + * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB). + +2009-11-05 Simon Josefsson + + Fix link error. + * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result. + * m4/inet_pton.m4 (gl_INET_PTON): Likewise. + +2009-11-05 Simon Josefsson + + * tests/test-func.c: Also test value of __func__. + +2009-11-05 Simon Josefsson + + * tests/test-sys_socket.c: Use smaller constant value, sa_family_t + may be an 8-bit type. Reported by Bruno Haible . + +2009-11-05 Bruno Haible + + Fix link error. + * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result. + * m4/inet_pton.m4 (gl_INET_PTON): Likewise. + Reported by Brad Hards via Simon Josefsson. + +2009-11-05 Bruno Haible + + Tests for module 'inet_pton'. + * modules/inet_pton-tests: New file. + * tests/test-inet_pton.c: New file. + +2009-11-05 Bruno Haible + + Tests for module 'inet_ntop'. + * modules/inet_ntop-tests: New file. + * tests/test-inet_ntop.c: New file. - A simple debug facility - Debugging is disabled by default. When configured with --enable-debug=yes, - Augeas will look at runtime at the environment variable AUGEAS_DEBUG, which - should contain a colon-separated list of categories. Besides printing - various thigs on stdout, some debug output is also left in files in the - directory set by the environment variable AUGEAS_DEBUG_DIR, e.g., dot - graphs of various internal data structures. +2009-11-04 Eric Blake - * configure.ac: add --enable-debug option - * src/internal.h (debugging, debug_file): new functions - * src/internal.c (debugging, debug_file): new functions + stdlib-safer: wrap all mkstemp variants + * modules/mkostemp (configure.ac): Set witness. + * modules/mkostemps (configure.ac): Likewise. + * modules/mkstemps (configure.ac): Likewise. + * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer) + (mkstemps_safer): Wrap more functions. + * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the + wrapping. + * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer) + (mkstemps_safer): Implement the wrappers. + + mkstemps, mkostemps: new modules + * modules/mkostemps: New module. + * modules/mkstemps: Likewise. + * lib/mkostemps.c (mkostemps): New file. + * lib/mkstemps.c (mkstemps): Likewise. + * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise. + * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses. + * modules/stdlib (Makefile.am): Substitute them. + * lib/stdlib.in.h (mkostemps, mkstemps): Declare them. + * doc/glibc-functions/mkstemps.texi (mkstemps): New file. + * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise. + * doc/gnulib.texi (Glibc stdlib.h): Include them. + * MODULES.html.sh (File system functions): Mention them. + + tempname: resync from glibc + * lib/tempname.c (__gen_tempname): Add suffixlen argument. Use + same values for __GT_FILE as glibc. Abort even when assertions + are disabled. + * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and + match its value otherwise. Allow idempotent inclusion. + * lib/mkdtemp.c (mkdtemp): Adjust caller. + * lib/mkostemp.c (mkostemp): Likewise. + * lib/mkstemp.c (mkstemp): Likewise. + * lib/tmpfile.c (tmpfile): Likewise. + * NEWS: Document this. + + utimens: fix use of futimens on older Linux + * lib/utimens.c (fdutimens): Use updated, rather than original, + timespec to avoid bug in older Linux kernel. + Reported by Simon Josefsson. + +2009-11-04 Bruno Haible + + Make num_processors more flexible and consistent. + * lib/nproc.h (enum nproc_query): New type. + (num_processors): Add a 'query' argument. + * lib/nproc.c: Include , , c-ctype.h. + (num_processors): Add a 'query' argument. Test the value of the + OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD, + mingw, count the number of CPUs available for the current process. + * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS. + Check for sched_getaffinity and sched_getaffinity_np. + * modules/nproc (Depends-on): Add c-ctype, extensions. + * NEWS: Mention the change. + +2009-11-03 Bruno Haible + + * NEWS: Document the new library dependencies of inet_ntop, inet_pton. + +2009-11-03 Jim Meyering + + test-getaddrinfo: avoid compilation failure on FreeBSD 7.2 + * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only + if it is defined. + +2009-11-02 Eric Blake + + mktime, timegm: share common declaration + * lib/mktime-internal.h: New file. + * lib/mktime.c: Use it rather than open-coding a declaration. + * lib/timegm.c: Likewise. + * modules/mktime (Files): Ship it. + * modules/timegm (Files): Likewise. + Suggested by Bruno Haible. + + test-update-copyright: update test to match script changes + * tests/test-update-copyright.sh: Avoid hard-coding perl + location. Don't update *.bak created by earlier runs. + +2009-11-02 Paul Eggert + Simon Josefsson + Bruno Haible + + Fix link error on Solaris 8. + * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton + also in libnsl. Define also INET_PTON_LIB. + * modules/inet_pton (Link): New section. + +2009-11-02 Simon Josefsson + Bruno Haible + + * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB. + * modules/inet_ntop (Link): New section. + Reported by Boyan Kasarov . + +2009-11-02 Eric Blake + + maint: avoid compiler warnings in m4 macros + * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable. + * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header. + +2009-11-02 Simon Josefsson + + * m4/pmccabe2html.m4: Remove file. + * modules/pmccabe2html: Drop pmccabe2html.m4. Don't call m4 + function. Change maintainer. + * build-aux/pmccabe2html: Use /bin/sh with magic instead of + hard-coding path to awk. Tiny patch from ludo@gnu.org (Ludovic + Courtès). + +2009-10-31 Eric Blake + + fseeko: fix m4 regression + * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro. Fixes + regression from 2009-10-27. + Reported by Ralf Wildenhues. + +2009-10-31 Jim Meyering + + inttostr: aesthetics and improved (compile-time) safety + Define inttype_is_signed rather than inttype_is_unsigned, + since the sole use is via "#if inttype_is_signed". + * lib/imaxtostr.c (inttype_is_signed): Define this, rather than + inttype_is_unsigned. + * lib/offtostr.c (inttype_is_signed): Likewise. + * lib/uinttostr.c (inttype_is_signed): Likewise. + * lib/umaxtostr.c (inttype_is_signed): Likewise. + * lib/inttostr.c (inttostr): Use verify to cross-check the + inttype_is_signed value and the signedness of the actual type. + * modules/inttostr (Depends-on): Add verify. + +2009-10-30 Eric Blake + + build: avoid compiler warnings + * lib/fchmodat.c (lchmod): Mark unused variables. + * lib/getopt.c (_getopt_initialize): Likewise. + * lib/mktime.c (__mktime_internal): Provide prototype. + * lib/inttostr.c (inttostr): Avoid compiler warning even with + older gcc that do not understand #pragma GCC diagnostic. + * lib/uinttostr.c (inttype_is_unsigned): Define. + * lib/umaxtostr.c (inttype_is_unsigned): Likewise. + +2009-10-30 Michael Haubenwallner + + stat: fix compilation on AIX + * lib/sys_stat.in.h (stat): Work with fact that large files on AIX + only see struct stat64. + +2009-10-30 Eric Blake + + exclude: make more robust + * lib/exclude.c (excluded_file_name): Abort on unexpected value, + rather than masking a coding bug. + Suggested by Bruno Haible. + +2009-10-30 Jim Meyering + + perl scripts: remove #!/usr/bin/perl in favor of more portable... + Rather than putting #!/usr/bin/perl on the first line, + start with a variant of what's recommended by "man perlrun" that + invokes the first "perl" program from your shell's search path. + * build-aux/gitlog-to-changelog: Replace #!... as above. + Add a "Local Variables" perl mode setting. + Prompted by a patch from Ludovic Courtès. + Improved by Eric Blake. + * build-aux/useless-if-before-free: Likewise. + * build-aux/announce-gen: Likewise. + * build-aux/update-copyright: Likewise. + +2009-10-29 Eric Blake + + filenamecat-lgpl: adjust clients + * modules/linkat (Depends-on): Use filenamecat-lgpl, not + filenamecat. + * modules/renameat (Depends-on): Likewise. + + filenamecat: split into filenamecat-lgpl + * modules/filenamecat-lgpl: New module. + * modules/filenamecat (Files): Move library-safe files into + filenamecat-lgpl. + (Depends-on): Add filenamecat-lgpl. + (configure.ac): Declare witness. + * lib/filenamecat.h (file_name_concat): Only declare when using + GPL module. + * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat): + Move... + * lib/filenamecat-lgpl.c: ...into new file. + * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro. + (gl_FILE_NAME_CONCAT): Use it. + * MODULES.html.sh (File system functions): Mention new module. + + argp: avoid memory leak + * modules/argp (Depends-on): Use dirname-lgpl, not dirname. + * lib/argp-namefrob.h (__argp_base_name): Use last_component, not + base_name, since the latter malloc()s and can call exit(). + Leak introduced 2006-07-03. + + dirname-lgpl: adjust clients that don't need full dirname + * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname. + * modules/filenamecat (Depends-on): Likewise. + * modules/linkat (Depends-on): Likewise. + * modules/mkancesdirs (Depends-on): Likewise. + * modules/mkdir (Depends-on): Likewise. + * modules/openat (Depends-on): Likewise. + * modules/savewd (Depends-on): Likewise. + * modules/rename (Depends-on): Likewise. + (License): Relax license. + * modules/mkdir-tests (Depends-on): Drop progname. + (Makefile.am): Delete unneeded LDADD. + * modules/rename-tests (Depends-on, Makefile.am): Likewise. + + dirname: split into dirname-lgpl + * modules/dirname-lgpl: New module. + * modules/dirname (Files): Move library-safe files into + dirname-lgpl. + (Depends-on): Add dirname-lgpl. + (configure.ac): Declare witness. + * modules/double-slash-root (License): Relax license. + * lib/dirname.h (base_name, dir_name): Only declare when using GPL + module. + * lib/dirname.c (dir_len, mdir_name): Move... + * lib/dirname-lgpl.c: ...into new file. + * lib/basename.c (last_component, base_len): Move... + * lib/basename-lgpl.c: ...into new file. + * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro. + (gl_DIRNAME): Use it. + * MODULES.html.sh (Enhancements for POSIX:2008 functions): + Mention new module. + * modules/dirname-tests (Depends-on): Add progname. + * tests/test-dirname.c (program_name): Delete. + + mkdir: make safe for libraries + * modules/mkdir (Depends-on): Drop xalloc. + * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling + exit. + + tests: avoid some compiler warnings + * tests/test-getaddrinfo.c (simple): Mark static, and allow string + literals. + * tests/test-memchr.c (main): Avoid type mismatch. + * tests/test-arpa_inet.c (main): Avoid unused parameters. + * tests/test-base64.c (main): Likewise. + * tests/test-getdelim.c (main): Likewise. + * tests/test-gethostname.c (main): Likewise. + * tests/test-getline.c (main): Likewise. + * tests/test-netinet_in.c (main): Likewise. + * tests/test-select.c (open_server_socket, main): Likewise. + * tests/test-select-stdin.c (main): Likewise. + * tests/test-sockets.c (main): Likewise. + * tests/test-strsignal.c (main): Likewise. + * tests/test-sys_select.c (main): Likewise. + * tests/test-sys_socket.c (main): Likewise. + * tests/test-u64.c (main): Likewise. + * tests/test-xfprintf-posix.c (main): Likewise. + * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise. + + sockets: avoid compiler warning + * lib/sockets.c (gl_sockets_startup): Mark unused parameter. + + maint: detect usage(1) and other suspicious exits + * top/maint.mk (sc_prohibit_magic_number_exit): New rule. + +2009-10-29 Jim Meyering + + timespec: long-to-int truncation could make timespec_cmp malfunction + * lib/timespec.h (timespec_cmp): Do not interpret a difference of + a multiple of 2^32 nanoseconds as no difference. + +2009-10-28 Jim Meyering + + fprintftime: wrap macro code argument in "do {...} while(0)" + * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the + cpy macro must be a statement that can be followed by a semicolon. + Now that the else clause contains a comment and is hence longer + than one line, I require curly braces. That in turn requires + that we wrap this code block in the standard do...while(0). + + fprintftime: remove stray semicolon from previous change + * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon. + + fprintftime: avoid a warning about ignored fwrite return value + * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h". + (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically, + that is unsafe. + * modules/fprintftime (Depends-on): Add ignore-value. + + exclude: avoid an unwarranted warning + * lib/exclude.c (excluded_file_name): Initialize "rc" before switch. + +2009-10-27 Eric Blake + + fseek: avoid compilation failure when fflush is replaced + * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro. + * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek + module is in use. + * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek + module is not in use; since REPLACE_FSEEK worked otherwise. + (GNULIB_FTELLO): Likewise for ftell. + Reported by Ian Beckwith and others. + +2009-10-27 Bruno Haible + + * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration. + Reported by Jim Meyering. + +2009-10-27 Jim Meyering + Bruno Haible + + Avoid warning despite dropping the return value of fwrite. + * lib/unicodeio.c: Include ignore-value.h. + (fwrite_success_callback): Explicitly ignore fwrite's return value. + * modules/unicodeio (Depends-on): Add ignore-value. + +2009-10-26 Eric Blake + + areadlinkat: fix fallback path + * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between + pointer and zero. + +2009-10-22 Pádraig Brady + + Use a better IO block size for modern systems + * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer. + * lib/md2.c: Likewise. + * lib/md4.c: Likewise. + * lib/md5.c: Likewise. + * lib/sha1.c: Likewise. + * lib/sha256.c: Likewise. + * lib/sha512.c: Likewise. + +2009-10-22 Eric Blake + + tests: avoid several compiler warnings + * tests/test-getcwd.c (main): Avoid buffer underflow. + * tests/test-getdate.c (main): String literals are not safe with + putenv, so use setenv. Declare unused argument. + * modules/getdate-tests (Depends-on): Add setenv. + * tests/test-argv-iter.c (main): Declare unused argument. Avoid + problems with string literals in char *. + * tests/test-hash.c (main): Avoid shadowing declaration. + (insert_new): Treat string literals as char const *. + * tests/test-getopt.h (test_getopt): Likewise. + (getopt_loop): Alter types to minimize casting elsewhere. + * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop) + (test_getopt_long_posix): Likewise. + (do_getopt_long): Add wrapper to minimize casting. + * tests/test-atexit.c (clear_temp_file): Use void. + * tests/test-areadlink-with-size.c (main): Declare unused + arguments. + * tests/test-areadlink.c (main): Likewise. + * tests/test-areadlinkat-with-size.c (main): Likewise. + * tests/test-areadlinkat.c (main): Likewise. + * tests/test-canonicalize-lgpl.c (main): Likewise. + * tests/test-canonicalize.c (main): Likewise. + * tests/test-dirent-safer.c (main): Likewise. + * tests/test-dirname.c (main): Likewise. + * tests/test-dup2.c (main): Likewise. + * tests/test-fchdir.c (main): Likewise. + * tests/test-fcntl-h.c (main): Likewise. + * tests/test-fcntl-safer.c (main): Likewise. + * tests/test-fdopendir.c (main): Likewise. + * tests/test-fdutimensat.c (main): Likewise. + * tests/test-fflush.c (main): Likewise. + * tests/test-filenamecat.c (main): Likewise. + * tests/test-filevercmp.c (main): Likewise. + * tests/test-fopen-safer.c (main): Likewise. + * tests/test-fopen.c (main): Likewise. + * tests/test-fpending.c (main): Likewise. + * tests/test-fpurge.c (main): Likewise. + * tests/test-freading.c (main): Likewise. + * tests/test-fstatat.c (main): Likewise. + * tests/test-fsync.c (main): Likewise. + * tests/test-futimens.c (main): Likewise. + * tests/test-getndelim2.c (main): Likewise. + * tests/test-gettimeofday.c (main): Likewise. + * tests/test-getopt.c (main): Likewise. + * tests/test-i-ring.c (main): Likewise. + * tests/test-inttypes.c (main): Likewise. + * tests/test-link.c (main): Likewise. + * tests/test-lstat.c (main): Likewise. + * tests/test-math.c (main): Likewise. + * tests/test-md5.c (main): Likewise. + * tests/test-memchr2.c (main): Likewise. + * tests/test-memrchr.c (main): Likewise. + * tests/test-mkdir.c (main): Likewise. + * tests/test-mkdirat.c (main): Likewise. + * tests/test-mkfifoat.c (main): Likewise. + * tests/test-open.c (main): Likewise. + * tests/test-openat-safer.c (main): Likewise. + * tests/test-openat.c (main): Likewise. + * tests/test-quotearg.c (main): Likewise. + * tests/test-rawmemchr.c (main): Likewise. + * tests/test-readlink.c (main): Likewise. + * tests/test-remove.c (main): Likewise. + * tests/test-rename.c (main): Likewise. + * tests/test-renameat.c (main): Likewise. + * tests/test-rmdir.c (main): Likewise. + * tests/test-sha1.c (main): Likewise. + * tests/test-signal.c (main): Likewise. + * tests/test-sigaction.c (main): Likewise. + * tests/test-stat.c (main): Likewise. + * tests/test-stat-time.c (main): Likewise. + * tests/test-stddef.c (main): Likewise. + * tests/test-stdint.c (main): Likewise. + * tests/test-stdio.c (main): Likewise. + * tests/test-stdlib.c (main): Likewise. + * tests/test-strchrnul.c (main): Likewise. + * tests/test-strerror.c (main): Likewise. + * tests/test-string.c (main): Likewise. + * tests/test-strtod.c (main): Likewise. + * tests/test-strverscmp.c (main): Likewise. + * tests/test-symlink.c (main): Likewise. + * tests/test-symlinkat.c (main): Likewise. + * tests/test-sys_stat.c (main): Likewise. + * tests/test-sys_time.c (main): Likewise. + * tests/test-time.c (main): Likewise. + * tests/test-unistd.c (main): Likewise. + * tests/test-unlink.c (main): Likewise. + * tests/test-unlinkat.c (main): Likewise. + * tests/test-utimens.c (main): Likewise. + * tests/test-utimensat.c (main): Likewise. + * tests/test-version-etc.c (main): Likewise. + * tests/test-wchar.c (main): Likewise. + * tests/test-wctype.c (main): Likewise. + * tests/test-xprintf-posix.c (main): Likewise. + * tests/test-posixtm.c (main): Likewise. + (STREQ): Delete unused macro. + * tests/test-linkat.c (main): Declare unused arguments. Avoid + shadowed variables. + * tests/test-memchr.c (main): Likewise. + +2009-10-21 Eric Blake + + areadlinkat: avoid failure on older glibc + * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL, + rather than mis-comparing 0 against FUNC_RESULT of char*. + +2009-10-21 Bruno Haible + + * modules/stpncpy (License): Relicense under LGPLv2+. + Reported by David Lutterkort . + +2009-10-20 Eric Blake + + utimensat: work around Solaris 9 bug + * lib/utimens.c (fdutimens, lutimens): Force a stat if platform + has trailing slash bugs. + * tests/test-lutimens.h (test_lutimens): Enhance test. + * tests/test-utimens.h (test_utimens): Likewise. + * doc/posix-functions/utime.texi (utime): Enhance documentation. + * doc/posix-functions/utimes.texi (utimes): Likewise. + * doc/posix-functions/utimensat.texi (utimensat): Likewise. + * doc/glibc-functions/futimesat.texi (futimesat): Likewise. + * doc/glibc-functions/lutimes.texi (lutimes): Likewise. + * doc/posix-functions/futimens.texi (futimens): Likewise. + + fdutimensat: new module + * modules/fdutimensat: New file. + * lib/fdutimensat.c (fdutimensat): Likewise. + * lib/utimens.h (fdutimensat, lutimensat): Declare new functions. + * MODULES.html.sh (File system functions): Mention module. + * modules/fdutimensat-tests: New test. + * tests/test-fdutimensat.c: Likewise. + + doc: regenerate INSTALL + * doc/INSTALL: Reflect recent autoconf update. + * doc/INSTALL.ISO: Likewise. + * doc/INSTALL.UTF-8: Likewise. + +2009-10-20 Pádraig Brady + + acl: warn if ACL support is not detected + * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found. + +2009-10-19 Giuseppe Scrivano + + * lib/nproc.h: Add extern "C" block for C++. + +2009-10-18 Reuben Thomas + Bruno Haible + + * doc/posix-functions/isascii.texi: Document the 2 alternative APIs. + * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs. + * doc/posix-functions/isalpha.texi: Likewise. + * doc/posix-functions/isblank.texi: Likewise. + * doc/posix-functions/iscntrl.texi: Likewise. + * doc/posix-functions/isdigit.texi: Likewise. + * doc/posix-functions/isgraph.texi: Likewise. + * doc/posix-functions/islower.texi: Likewise. + * doc/posix-functions/isprint.texi: Likewise. + * doc/posix-functions/ispunct.texi: Likewise. + * doc/posix-functions/isspace.texi: Likewise. + * doc/posix-functions/isupper.texi: Likewise. + * doc/posix-functions/isxdigit.texi: Likewise. + +2009-10-18 Bruno Haible + + Tests for module 'isblank'. + * modules/isblank-tests: New file. + * tests/test-isblank.c: New file. + + New module 'isblank'. + * lib/isblank.c: New file. + * m4/isblank.m4: New file. + * modules/isblank: New file. + * doc/posix-functions/isblank.texi: Mention the new module. + +2009-10-18 Bruno Haible + + New module 'ctype'. + * lib/ctype.in.h: New file. + * m4/ctype.m4: New file. + * modules/ctype: New file. + * doc/posix-headers/ctype.texi: Mention the new module. + +2009-10-18 Jim Meyering + + m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization + Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted + right after its initialization, rather than farther down. + Keeping these in close proximity makes it easier to ensure + that each such variable is initialized. E.g., + + LIB_CLOCK_GETTIME= + AC_SUBST([LIB_CLOCK_GETTIME]) + + This change also increments these serial numbers. + * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use. + * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + +2009-10-18 Bruno Haible + + Don't let environment variables perturb build. + * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here... + (gl_PREREQ_GETHRXTIME): ... not here. + +2009-10-18 Bruno Haible + + Avoid symlink attack in localcharset module. + * lib/localcharset.c: Include , . + (O_NOFOLLOW): Define fallback. + (get_charset_aliases): Don't open the file if it is a symbolic link. + * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from + gl_FCNTL_H. + (gl_FCNTL_H): Require it. + * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise. + * modules/localcharset (Files): Add m4/fcntl_h.m4. + Reported by Fergal Glynn . + +2009-10-18 Bruno Haible + + Implement nproc for mingw. + * lib/nproc.c: Include + (num_processors): On native Windows platforms, try GetSystemInfo. + +2009-10-18 Bruno Haible + + Implement nproc for IRIX. + * lib/nproc.c: Include . + (num_processors): On IRIX systems, try sysmp. + * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp. + +2009-10-18 Bruno Haible + + Implement nproc for HP-UX. + * lib/nproc.c: Include + (num_processors): On HP-UX systems, try pstat_getdynamic. + * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and + pstat_getdynamic. + +2009-10-18 Giuseppe Scrivano + Bruno Haible + + Implement nproc for NetBSD, OpenBSD. + * lib/nproc.c: Include , , . + (ARRAY_SIZE): New macro. + (num_processors): On BSD systems, try sysctl of HW_NCPU. + * m4/nproc.m4: New file. + * modules/nproc (Files): Add m4/nproc.m4. + (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation. + (Makefile.am): Instead, augment lib_SOURCES. + +2009-10-18 Bruno Haible + + Fix recognition of sys/sysctl.h on OpenBSD 4.0. + * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include + sys/param.h. + +2009-10-16 Eric Blake + + utimensat: new module + * modules/utimensat: New file. + * lib/utimensat.c (utimensat): Likewise. + * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise. + * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat, + so we can work around Linux bugs. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses. + * modules/sys_stat (Makefile.am): Substitute them. + * lib/sys_stat.in.h (utimensat): Declare it. + * MODULES.html.sh (systems lacking POSIX:2008): Mention module. + * doc/posix-functions/utimensat.texi (utimensat): Likewise. + * modules/utimensat-tests: New test. + * tests/test-utimensat.c: Likewise. + + utimens: let lutimens work on non-symlinks + * lib/utimens.c (lutimens): Fall back to utimens rather than + failing with ENOSYS, when file is not a symlink. + (utimens): Reduce redirection. + * tests/test-lutimens.h (test_lutimens): Update test to cover + non-symlinks. + * tests/test-utimens.h (test_utimens): Update test to cover + symlinks. + * tests/test-utimens.c (main): Update caller. + + utimens: cache whether utimensat syscall works + * lib/utimens.c (utimensat_works_really): New cache variable. + (fdutimens, lutimens): Use it to avoid failing syscall. + + test-stat-time, test-utimens: improve portability + * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for + ext4 on alpha, and for cygwin. + * tests/test-utimens-common.h: New file. + (nap): Factor delays into single function. + * tests/test-lutimens.h (test_lutimens): Use new header. + * tests/test-futimens.h (test_futimens): Likewise. + * tests/test-utimens.h (test_utimens): Likewise. Also, force NFS + timestamps to occur from same machine, as was done previously for + test_utimens. + * modules/utimens-tests (Files): Ship new file. + * modules/futimens-tests (Files): Likewise. + Reported in part by Jim Meyering. + + sys_stat: sort replacement declarations + * lib/sys_stat.in.h: Sort declarations. + * lib/futimens.c (futimens): Fix typo. + +2009-10-15 Jim Meyering + + don't let environment settings perturb build + Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP + could cause a configure-time and/or build-time malfunction. + Typically, a configure-time function-in-library test is performed + via code like this: + + LIB_VAR= + AC_SUBST([LIB_VAR]) + prefix_saved_LIBS=$LIBS + AC_SEARCH_LIBS([FUNC], [LIB_NAME], + [test "$ac_cv_search_FUNC" = "none required" || + LIB_VAR=$ac_cv_search_FUNC]) + LIBS=$prefix_saved_LIBS + + However, in each of the files affected by this change, the LIB_VAR= + initialization was omitted. Thus, when set in the environment, its + value would propagate into generated Makefiles when FUNC is not found + in LIB_NAME. + * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var. + * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + +2009-10-14 Eric Blake + + fchdir: avoid infinite recursion in mingw + * lib/fchdir.c (rpl_fstat): Call system fstat, rather than + recursing. + + test-stat-time: port to mingw + * tests/test-stat-time.c (force_unlink): Return a value. + (test_ctime) [W32]: Fix compilation error. + (nap): Don't call usleep with too large an argument. Use + force_unlink. + * doc/pastposix-functions/usleep.texi (usleep): Document the + portability issue. + +2009-10-13 Jim Meyering + + use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/* + * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS. + * modules/pipe-filter-ii: Likewise. + * modules/sys_socket-tests: Likewise. + * modules/tsearch-tests: Likewise. + * Makefile (sc_prefer_ac_check_funcs_once): New rule. + (check): Depend on it. + +2009-10-12 Eric Blake + + utimens-tests: port to NFS file systems + * tests/test-utimens.h (test_utimens): Refactor utimecmp + comparisons to avoid spurious failures from timestamp drift + between NFS machines. + +2009-10-12 Eric Blake + + stat-time-tests: minor cleanups + * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE. + * tests/test-stat-time.c (nap): Separate assignment from call. + Suggested by Paolo Bonzini and Bruno Haible. + + sys_stat: guarantee struct timespec + * lib/sys_stat.in.h (includes): Always include + * modules/sys_stat (Depends-on): Add time. + * tests/test-sys_stat.c: Guarantee struct timespec, as well as + mode_t permission values. + * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to + get at subsecond timestamps. + +2009-10-10 Eric Blake + + futimens: new module + * modules/futimens: New file. + * lib/futimens.c (futimens): Likewise. + * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise. + * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so + we can work around Linux bugs. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses. + * modules/sys_stat (Makefile.am): Substitute them. + * lib/sys_stat.in.h (futimens): Declare it. + * MODULES.html.sh (systems lacking POSIX:2008): Mention module. + * doc/posix-functions/futimens.texi (futimens): Likewise. + * modules/futimens-tests: New test. + * tests/test-futimens.c: Likewise. + + utimens: introduce fdutimens + * lib/utimens.h (fdutimens): New prototype. + * lib/utimens.c (gl_futimens): Move guts... + (fdutimens): ...to new interface. + * tests/test-utimens.c (do_fdutimens): Use it. + + utimens: add UTIME_NOW and UTIME_OMIT support + * lib/utimens.c (validate_timespec, update_timespec): New helper + functions. + (gl_futimens, lutimens): Use them. + * modules/utimens (Depends-on): Add gettime, lstat, stat-time, + stdbool, sys_stat. + (Link): Mention resulting library dependency. + * modules/utimecmp (Link): Likewise. + * modules/utimens-tests (Depends-on): Drop stat-time, stdbool. + (Makefile.am): Pick up library dependency. + * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a + definition. + * tests/test-sys_stat.c: Test the definitions. + * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this. + * NEWS: Document library dependency. + + utimecmp: support symlink timestamps + * lib/utimecmp.c (utimecmp): Use new interface. Skip effort of + hashing when possible. Use pathconf when available. + (SYSCALL_RESOLUTION): Recognize tighter resolution. + * modules/utimecmp (Depends-on): Add lstat. + + utimens: add lutimens interface + * lib/utimens.c (lutimens): New function. + * m4/utimens.m4 (gl_UTIMENS): Check for lutimes. + * lib/utimens.h (lutimens): Declare new interface. + * tests/test-utimens.c (main): Enhance test. + * tests/test-lutimens.h (test_lutimens): New file. + * modules/utimens-tests (Files): Distribute it. + (Depends-on): Add symlink. + (configure.ac): Check for usleep. + + utimens: validate futimens usage + * lib/utimens.c (gl_futimens): Require valid fd up front, using + fewer syscalls on failure later on. Avoid compiler warning on + mingw. + * modules/utimens (Depends-on): Add dup2. + + utimens: add test + * modules/utimens-tests: New test. + * tests/test-utimens.h: New file. + * tests/test-futimens.h: Likewise. + * tests/test-utimens.c: Likewise. + + doc: mention timestamp portability issues + * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat + instead. + * doc/posix-functions/utime.texi (utime): Likewise. + * doc/posix-functions/utimes.texi (utimes): Likewise. + * doc/glibc-functions/futimes.texi (futimes): Refer to futimens + instead. + * doc/posix-functions/futimens.texi (futimens): Mention utimens + module. + * doc/posix-functions/utimensat.texi (utimensat): Likewise. + Mention weakness with symlink timestamps. + * doc/glibc-functions/futimesat.texi (futimesat): New file; refer + to utimensat/futimens instead. + * doc/gnulib.texi (Glibc sys/time.h): Include new file. + + test-dup2: enhance test + * tests/test-dup2.c (main): Also check AT_FDCWD. + + test-stat-time: avoid more spurious failures + * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for + xfs; and avoid race if the two timestamps cross quantization edge. + + relocatable: prefer 'file system' over 'filesystem' + * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING. + (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling. + * doc/relocatable-maint.texi (Supporting Relocation): Likewise. + * doc/relocatable.texi (Enabling Relocatability): Likewise. + * lib/relocatable.c (compute_curr_prefix): Likewise. + +2009-10-10 Jim Meyering + + stat-time-tests: check for the usleep function + * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP. + +2009-10-10 Bruno Haible + + * modules/xnanosleep: Put the Link section after the Include section. + +2009-10-09 Eric Blake + + dup2: work around FreeBSD 6.1 bug + * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug. + * doc/posix-functions/dup2.texi (dup2): Document it. + Reported by Nelson H. F. Beebe and Jim Meyering. + + test-stat-time: port to buggy NFS clients + * tests/test-stat-time.c (main) [W32]: Reduce ifdefs. + (test_ctime): Also skip test if mtime and ctime are skewed. + + maint: prefer 'file system' over 'filesystem' + * doc/posix-functions/fstatat.texi (fstatat): Likewise. + * doc/posix-functions/lstat.texi (lstat): Likewise. + * lib/file-has-acl.c (file_has_acl): Likewise. + * lib/fwriteerror.c [TEST]: Likewise. + * tests/test-areadlink.h (test_areadlink): Likewise. + * tests/test-areadlinkat-with-size.c (main): Likewise. + * tests/test-areadlinkat.c (main): Likewise. + * tests/test-canonicalize-lgpl.c (main): Likewise. + * tests/test-canonicalize.c (main): Likewise. + * tests/test-fstatat.c (main): Likewise. + * tests/test-linkat.c (main): Likewise. + * tests/test-lstat.h (test_lstat_func): Likewise. + * tests/test-mkdir.h (test_mkdir): Likewise. + * tests/test-readlink.h (test_readlink): Likewise. + * tests/test-remove.c (main): Likewise. + * tests/test-rename.h (test_rename): Likewise. + * tests/test-renameat.c (main): Likewise. + * tests/test-rmdir.h (test_rmdir_func): Likewise. + * tests/test-symlink.h (test_symlink): Likewise. + * tests/test-symlinkat.c (main): Likewise. + * tests/test-unlink.h (test_unlink_func): Likewise. + * tests/test-unlinkat.c (main): Likewise. + + maint: make realtime library usage explicit + * modules/gethrxtime (Link): Mention LIB_GETHRXTIME. + * modules/gettime (Link): Mention LIB_CLOCK_GETTIME. + * modules/settime (Link): Likewise. + * modules/xnanosleep (Link): Mention LIB_NANOSLEEP. + + test-stat-time: speed up execution + * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler + warning on mingw. + (nap): New helper function. + (prepare_test): Use it to reduce sleep time. + (test_mtime, test_ctime, test_birthtime): Allow for subsecond + execution. + * modules/stat-time-tests (configure.ac): Check for usleep. + +2009-10-09 Jim Meyering + + selinux-h: always use getfilecon wrappers + * lib/getfilecon.c: New file. + * lib/se-selinux.in.h: Use a better inclusion guard symbol name. + [HAVE_SELINUX_SELINUX_H]: Include-next . + [!HAVE_SELINUX_SELINUX_H]: Use better parameter names. + (fgetfilecon): Provide a stub. + * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't + AC_SUBST SELINUX_SELINUX_H, since now we're generating that + file unconditionally. + When is found, arrange to use wrappers. + * modules/selinux-h (Files): Add getfilecon.c. + (Makefile.am): Substitute include-next-related bits + into the now-always-generated selinux/selinux.h file. + * doc/glibc-functions/lgetfilecon.texi: New file. + * doc/glibc-functions/fgetfilecon.texi: New file. + * doc/glibc-functions/getfilecon.texi: New file. + * doc/glibc-functions/getfilecon-desc.texi: New file. + * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by + which to pull in the new files. + * MODULES.html.sh (Misc): Add selinux-h. + +2009-10-08 Jim Meyering + + unistd: fix comment typo + * lib/unistd.in.h (euidaccess): Fix a comment typo. + +2009-10-08 Eric Blake + + areadlink: use SIZE_MAX consistently + * modules/areadlink (Depends-on): Add stdint. + * modules/areadlink-with-size (Depends-on): Likewise. + * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib + gives NULL; drop sys/types, since unistd gives size_t; and add + stdint for SIZE_MAX. + (SIZE_MAX): Rely on headers. + * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types, + and add stdint. + * lib/areadlink.c (includes): Drop sys/types, and add stdint. + (SIZE_MAX): Likewise. + (INITIAL_BUF_SIZE): Turn into enum. + * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise. + +2009-10-08 Jim Meyering + + areadlinkat: avoid compilation failure + * lib/areadlinkat.c: Include for use of SIZE_MAX. + Fix typo in comment. + +2009-10-07 Eric Blake + + areadlinkat-with-size: new module + * modules/areadlinkat-with-size: New module. + * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file. + * lib/areadlink.h (areadlinkat): Declare it. + * MODULES.html.sh (File system functions): Mention it. + * modules/areadlinkat-with-size-tests: New test. + * tests/test-areadlinkat-with-size.c: New file. + + xreadlinkat: new module + * modules/xreadlinkat: New module. + * lib/xreadlinkat.c (xreadlinkat): New file. + * lib/xreadlink.h (xreadlinkat): Declare it. + * MODULES.html.sh (File system functions): Mention it. + + areadlinkat: new module + * lib/at-func.c (FUNC_FAIL): New define. + (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1. + * modules/areadlinkat: New module. + * lib/linkat.c (areadlinkat): Move... + * lib/areadlinkat.c (areadlinkat): ...to new file. + * lib/areadlink.h (areadlinkat): Declare it. + * modules/linkat (Depends-on): Add areadlinkat. + * MODULES.html.sh (File system functions): Mention it. + * modules/areadlinkat-tests: New test. + * tests/test-areadlinkat.c: New file. + + areadlink, areadlink-with-size: add tests + * modules/areadlink-tests: New test. + * modules/areadlink-with-size-tests: Likewise. + * tests/test-areadlink.h: New file. + * tests/test-areadlink.c: Likewise. + * tests/test-areadlink-with-size.c: Likewise. + + maint: minor cleanups + * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed + _UNUSED_PARAMETER_ instead. + * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise. + * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise. + * modules/linkat-tests (Files): Distribute test-link.h. + + openat, utimens: whitespace cleanup + * lib/openat.c: Prefer space throughout, rather than mix of 8 + spaces vs. tabs. + * lib/at-func.c: Likewise. + * lib/utimens.c: Likewise. + + openat: avoid using wrong fd + * lib/openat.c (openat_permissive): Reject user's fd if saving the + working directory chooses same fd. + * lib/at-func.c (AT_FUNC_NAME): Likewise. + + mkdir, mkdirat: fix cygwin 1.5.x bug + * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug. + * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move... + * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin + bug. + (gl_PREREQ_MKDIR): Delete unused macro. + * modules/mkdir (Files): Track file rename. + (configure.ac): Update macro name. + * modules/openat (Depends-on): Add mkdir. + * doc/posix-functions/mkdir.texi (mkdir): Document the bug. + + mkdir, mkdirat: add tests + * modules/mkdir-tests: New test. + * tests/test-mkdir.h: New file. + * tests/test-mkdir.c: Likewise. + * tests/test-mkdirat.c: Likewise. + * modules/openat-tests (Files): Add new files. + (Makefile.am): Run new test. + +2009-10-06 Eric Blake + + doc: tweak *at function documentation + * doc/posix-functions/faccessat.texi (faccessat): Mention + known issue with replacement. + * doc/posix-functions/fchdir.texi (fchdir): Likewise. + * doc/posix-functions/linkat.texi (linkat): Likewise. + * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise. + * doc/posix-functions/mknodat.texi (mknodat): Likewise. + * doc/posix-functions/readlinkat.texi (readlinkat): Likewise. + * doc/posix-functions/renameat.texi (renameat): Likewise. + * doc/posix-functions/symlinkat.texi (symlinkat): Likewise. + + openat: fix GNU/Hurd bug in unlinkat + * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is + broken. + * doc/posix-functions/unlink.texi (unlink): Document this. + * doc/posix-functions/unlinkat.texi (unlinkat): Likewise. + + fdopendir: fix GNU/Hurd bug + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in + allowing non-directory fds. + * lib/fdopendir.c (rpl_fdopendir): Work around it. + * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness. + * modules/dirent (Makefile.am): Substitute it. + * lib/dirent.in.h (fdopendir): Declare replacement. + * doc/posix-functions/fdopendir.texi (fdopendir): Document this. + * tests/test-fdopendir.c (main): Test something other than + /dev/null, since on Hurd that behaves like a directory. + + test-symlink: port to GNU/Hurd + * tests/test-symlink.h (test_symlink): Relax expected errno. + + doc: tweak more cygwin information + * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is + now compatible with glibc. + * doc/posix-functions/getopt.texi (getopt): Likewise. + + getopt-gnu: add another test + * tests/test-getopt_long.h (test_getopt_long_posix): New test, to + guarantee behavior relied on by m4. + * tests/test-getopt.c (main): Use it. + * modules/getopt-posix-tests (Depends-on): Add setenv. + See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html. + + getopt: fix compilation on darwin + * lib/getopt.in.h (includes): Leave breadcrumbs during system + include. + * lib/unistd.in.h (getopt): Use them to avoid recursive include. + Reported by Ludovic Courtès. + +2009-10-06 Bruno Haible + + * modules/size_max (Description): Discourage its use. + Reported by Simon Josefsson. + +2009-10-06 Jim Meyering + + linkat: avoid compilation failure + * lib/linkat.c: Include for use of SIZE_MAX. + +2009-10-05 Eric Blake + + linkat: support Linux 2.6.17 + * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing + linkat on Linux, but allow cache variable override. + * lib/linkat.c (rpl_linkat): Define override. + * modules/linkat (Depends-on): Add symlinkat. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default. + * modules/unistd (Makefile.am): Substitute it. + * lib/unistd.in.h (linkat): Declare replacement. + Reported by Pádraig Brady. + + quotearg: port test to systems with C.UTF-8 locale + * tests/test-quotearg.c (struct result_strings): Add another + member, differentiating between C.ASCII and C.UTF-8 handling. + (compare_strings): Add parameter. + (main): Adjust all callers. + + getopt: avoid clash with FreeBSD _getopt_internal + * lib/getopt.in.h (_getopt_internal): Override the name. + * lib/getopt_int.h (includes): Pick up any overrides. + Reported by Reuben Thomas. + + hash: allow C89 compilation + * lib/hash.c (check_tuning): Move declaration before statement. + Reported by Reuben Thomas. + +2009-10-05 Karl Berry + + * doc/gnulib.texi: @include execvpe.texi, missing for several days. + +2009-10-04 Paolo Bonzini + Bruno Haible + + * lib/uname.c (uname): Use a table-driven algorithm to compute + Windows NT versions. + +2009-10-04 Bruno Haible + + * lib/progname.c (set_program_name): Also remove the "lt-" prefix from + program_invocation_short_name. + * modules/progname (configure.ac): Test for presence of + program_invocation_short_name. + Reported by Sergey Poznyakoff . + +2009-10-04 Bruno Haible + + * lib/progname.c (set_program_name): Fix comment. + Reported by Jim Meyering. + +2009-10-03 Paolo Bonzini + Bruno Haible + + * lib/uname.c: Include . + (uname): Do only one call to GetVersionEx in the common case. + +2009-10-03 Paolo Bonzini + Bruno Haible + + * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64, + PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks. + (uname): Add support for Windows CE and various non-x86 CPU types. + +2009-10-03 Bruno Haible + + * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O + invocation to tests/configure.ac. + Reported by Ian Beckwith . + +2009-10-02 Eric Blake + + fchdir: avoid compiler warning + * lib/fchdir.c (canonicalize_file_name) + [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw. + + test-open: support mingw errno values + * tests/test-open.h (test_open): Relax test. + * tests/test-fopen.h (test_fopen): Likewise. + * tests/test-openat-safer.c (main): Likewise. + + open: fix opening directory on mingw + * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo. + + test-open: on GNU/Hurd, /dev/null is a directory + * tests/test-fopen.h (main): Rename... + (test_fopen): ...to this. Use a guaranteed non-directory when + confirming open behavior on trailing slash. + * tests/test-openat-safer.c (main): Likewise. + * tests/test-open.h (main): Likewise.... + (test_open): ...to this. + * tests/test-fopen.c (main): Adjust caller. + * tests/test-fopen-safer.c (main): Likewise. + * tests/test-open.c (main): Likewise. + * tests/test-fcntl-safer.c (main): Likewise. + Reported by Samuel Thibault. + + rename, fchdir: don't ignore chdir failure + * lib/fchdir.c (get_name): Abort on unexpected chdir failure. + * lib/rename.c (rpl_rename) [W32]: Likewise. + (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing + an empty destination directory if source cannot be renamed, + although there is still possibility for failure. + * doc/posix-functions/rename.texi (rename): Document the race. + Reported by Jim Meyering. + + maint: cleanup whitespace in recent commits + * lib/rename.c (rpl_rename): Remove tabs. + * tests/test-link.h (test_link): Likewise. + * lib/fchdir.c (get_name): Likewise. + Reported by Jim Meyering. + +2009-10-02 Ben Pfaff + + relocatable-prog-wrapper: Add missing dependency on + double-slash-root. + * modules/relocatable-prog-wrapper: Add dependency. + Reported by Ian Beckwith . + +2009-10-02 Eric Blake + + renameat: fix Solaris bugs + * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename + needed fixing. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness. + * modules/stdio (Makefile.am): Substitute it. + * lib/stdio.in.h (renameat): Declare replacement. + * lib/renameat.c (rpl_renameat): Implement fix. + + renameat: new module + * modules/renameat: New file. + * lib/renameat.c (renameat): Likewise. + * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses. + * modules/stdio (Makefile.am): Substitute them. + * lib/stdio.in.h (renameat): Declare it. + * MODULES.html.sh (systems lacking POSIX:2008): Mention module. + * doc/posix-functions/renameat.texi (renameat): Likewise. + * modules/renameat-tests: New test. + * tests/test-renameat.c: Likewise. + + rename: fix mingw bugs + * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and + directory overwrite bugs. + + rename: fix another cygwin 1.5 bug + * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two + checks. + * lib/rename.c (rpl_rename): Don't penalize NetBSD with + unnecessary cygwin workarounds. Also work around bug with moving + full directory onto an empty one. + * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir. + + rename-dest-slash: merge into rename module + * modules/rename-dest-slash (Status): Mark obsolete. + (Depends-on): Add rename. + (Files): Let rename do it all. + * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs, + subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH... + * m4/rename-dest-slash.m4: ...so this file can be deleted. + * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete. + * lib/rename.c (rpl_rename): Update comments. + + rename: fix cygwin 1.5.x bugs + * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs. + * lib/rename.c (rpl_rename): Work around them. + * modules/rename (Depends-on): Add same-inode. + + rename: fix Solaris 10 bug + * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug. + * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this + was the only bug. + + rename: fix Solaris 9 bug + * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash + on non-directory. Avoid calling exit. + * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool, + strdup. + * modules/rename-tests (Depends-on): Drop lstat. + * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug. + (gl_PREREQ_RENAME): Delete unused macro. + + rename-dest-slash: fix NetBSD bug + * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard + links. + * modules/rename-dest-slash (Depends-on): Add same-inode. + + rename-tests: new test, exposes several platform bugs + * modules/rename-tests: New file. + * tests/test-rename.h: Likewise. + * tests/test-rename.c: Likewise. + * doc/posix-functions/rename.texi (rename): Improve documentation, + including bugs that will eventually be fixed in gnulib. + +2009-10-02 Paolo Bonzini + + * lib/uname.c: Include + (uname): Assume version info is available. + +2009-10-02 Jim Meyering + + gnu-web-doc-update: correct --help output + * build-aux/gnu-web-doc-update: Make --help output relevant. + + gnu-web-doc-update: add standard options + * build-aux/gnu-web-doc-update: Add --help, --version, etc. + + gnu-web-doc-update: New module. + Use this script to automatically update the on-line web documentation + for your GNU project at http://www.gnu.org/software/$pkg/manual/ + * modules/gnu-web-doc-update: New file, from coreutils. + * build-aux/gnu-web-doc-update: New script. + +2009-10-01 Paolo Bonzini + + link: LoadLibrary is not needed. + * lib/link.c: Use GetModuleHandle. + +2009-10-01 Eric Blake + + getopt: bump serial number + * m4/getopt.m4: Increment serial number, to account for 2009-09-24 + change. + + tests: tighten link, rmdir, and remove tests + * tests/test-link.h (includes): No need to use here. + Clean up if directory hard link was created, otherwise test for + trailing '.'. + * tests/test-linkat.c (main): Simplify. + * tests/test-remove.c (main): Enhance test for trailing '.'. + * tests/test-rmdir.h (test_rmdir_func): Likewise. + +2009-10-01 Jim Meyering + + maint.mk: requiring "make major" was annoying, for a "minor" release. + What is intended is "stable", to contrast with alpha and beta, + so require "make stable", not "make major". + * build-aux/announce-gen (%valid_release_types): s/major/stable/. + (get_tool_versions): Likewise. + * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/ + +2009-09-30 Ben Pfaff + + Fix broken build of replacement for Windows tmpfile(). + * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide + flags argument added along with the 'mkostemp' module. + +2009-09-28 Bruno Haible + + Avoid identifier clash with POSIX function 'remove' defined as a macro. + * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove' + to 'remove_elt'. + (gl_list_remove): Update. + * lib/gl_list.c (gl_list_remove): Update. + * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove' + to 'remove_elt'. + (gl_oset_remove): Update. + * lib/gl_list.c (gl_oset_remove): Update. + Reported by Eric Blake. + +2009-09-28 Eric Blake + + doc: mention yet more cygwin 1.7 status + * doc/posix-functions/fexecve.texi (fexecve): Now implemented in + cygwin. + * doc/glibc-functions/execvpe.texi (execvpe): New file. + * doc/gnulib.texi (Glibc unistd.h): Mention it. + + argp: fix test failure + * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values + that are not upper-case. Pass correct range to tolower. + +2009-09-27 Jim Meyering + + test-yesno: work around sparc-dash here-document infelicity + Without this change, the literal \177 byte in a here document + would make dash 0.5.5.1-3 access uninitialized memory. + * tests/test-yesno.sh: Don't put the \177 byte in the here document. + Instead, use a marker, "@", and filter through tr to create the desired + contents. Reported as by Kurt Roeckx. + +2009-09-27 Bruno Haible + + Disable untested support for new flavours of ACLs on AIX. + * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in + progress. + * lib/set-mode-acl.c (qset_acl): Likewise. + +2008-12-07 Bruno Haible + + Add support for new flavours of ACLs on AIX. (Untested.) + * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function. + (file_has_acl): Add support for newer AIX. + * lib/set-mode-acl.c (qset_acl): Likewise. + * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by + Rainer Tammer . + +2009-09-26 Eric Blake + + argp: fix compilation of getopt + * lib/getopt.in.h (includes): Use different guard than glibc. + Reported by Sergey Poznyakoff. + + doc: mention more cygwin 1.7 status + * doc/posix-functions/access.texi (access): Mention cygwin 1.5 + bug. + * doc/posix-functions/execl.texi (execl): Likewise. + * doc/posix-functions/execle.texi (execle): Likewise. + * doc/posix-functions/execlp.texi (execlp): Likewise. + * doc/posix-functions/execv.texi (execv): Likewise. + * doc/posix-functions/execve.texi (execve): Likewise. + * doc/posix-functions/execvp.texi (execvp): Likewise. + * doc/glibc-functions/canonicalize_file_name.texi + (canonicalize_file_name): Cygwin 1.7 now provides this. + * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise. + * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation + on AT_SYMLINK_NOFOLLOW. + +2009-09-24 Eric Blake + + test-linkat: make test more robust + * tests/test-linkat.c (main): Avoid collision with EEXIST. + + getopt: fix inclusion guards for cygwin + * modules/getopt-posix (Depends-on): Add include-next. + (Makefile.am): Substitute more items in replacement header. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native + . + * lib/getopt.in.h (includes): Use split inclusion guard, and + prefer over include when one is present. + (option): Also override name of 'struct option'. + + same-inode: revert prior change; it is not yet ready + * NEWS: Undo mention of this change. + * lib/same-inode.h (same-inode.h): Undo tri-state change. + * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller. + * lib/cycle-check.c (cycle_check): Likewise. + * lib/same.c (same_name): Likewise. + * lib/at-func2.c (at_func2): Likewise. + +2009-09-23 Eric Blake + + linkat: new module + * modules/linkat: New file. + * lib/at-func2.c (at_func2): Likewise. + * lib/linkat.c (linkat): Likewise. + * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise. + * lib/openat-priv.h (at_func2): Add declaration. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses. + * modules/unistd (Makefile.am): Substitute them. + * lib/unistd.in.h (linkat): Declare it. + * MODULES.html.sh (systems lacking POSIX:2008): Mention module. + * doc/posix-functions/linkat.texi (linkat): Likewise. + * doc/posix-functions/link.texi (link): Tweak wording. + * tests/test-link.c (main): Move guts... + * tests/test-link.h (test_link): ...into new file. + * modules/linkat-tests: New test. + * tests/test-linkat.c: Likewise. + * modules/link-tests (Files): Ship new file. + (Depends-on): Add stdbool. + + dirname: add library-safe mdir_name + * lib/dirname.h (mdir_name): New prototype. + * lib/dirname.c (dir_name): Move guts... + (mdir_name): ...to new function that avoids xalloc_die. + + fchdir: another mingw fix + * modules/fchdir (Depends-on): Drop canonicalize-lgpl. + * lib/fchdir.c (get_name): New helper method; skips canonicalize + on mingw (where it has not yet been ported), and make it optional + elsewhere. + (_gl_register_fd): Use it. + + same-inode: make SAME_INODE tri-state, to port to mingw + * NEWS: Mention this change. + * lib/same-inode.h (same-inode.h): Recognize mingw limitation of + st_ino always being 0. + * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller. + * lib/cycle-check.c (cycle_check): Likewise. + * lib/same.c (same_name): Likewise. + + lstat: avoid mingw compilation error + * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to + AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing + lstat ourselves. + * lib/lstat.c [!HAVE_LSTAT]: Do nothing if override + was adequate. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle + the checks for lstat. + (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT. + + link: fix test failure on Solaris 9 + * lib/link.c (rpl_link): Don't assume link will catch bogus + trailing slash on source. + + test-symlinkat: enhance test + * tests/test-readlink.c (main): Move guts... + * tests/test-readlink.h (test_readlink): ...into new file. + * tests/test-symlink.c (main): Move guts... + * tests/test-symlink.h (test_symlink): ...into new file. + * tests/test-symlinkat.c (main): Use new files for further + coverage. + (do_symlink, do_readlink): New helper functions. + * modules/symlink-tests (Files): Ship new file. + (Depends-on): Add stdbool. + * modules/readlink-tests (Files): Ship new file. + (Depends-on): Add stdbool. + * modules/symlinkat-tests (Files): Use new files. + +2009-09-23 Eric Blake + + readlink: document portability issue with symlink length + * doc/posix-functions/lstat.texi (lstat): Mention that some file + systems have bogus st_size on symlinks, and mention the + areadlink-with-size module. + * doc/posix-functions/fstatat.texi (fstatat): Likewise. + * doc/posix-functions/readlink.texi (readlink): Mention the + areadlink module, and ERANGE failure. + * doc/posix-functions/readlinkat.texi (readlinkat): Likewise. + * tests/test-readlink.c (main): Relax test for AIX, HP-UX. + + readlink: fix Solaris 9 bug with trailing slash + * lib/readlink.c (rpl_readlink): Work around trailing slash bug. + * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug. + * doc/posix-functions/readlink.texi (readlink): Document this. + * modules/readlink-tests: New test. + * tests/test-readlink.c: Likewise. + + readlink: fix cygwin 1.5.x bug with return type + * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature. + * lib/unistd.in.h (readlink): Use ssize_t. + * lib/readlink.c (readlink): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. + * modules/unistd (Makefile.am): Substitute it. + * lib/unistd.in.h (readlink): Declare replacement. + * doc/posix-functions/readlink.texi (readlink): Document this. + + symlink: use throughout gnulib + * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check. + * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why + symlink is not used. + * modules/symlinkat (Depends-on): Add symlink. + * modules/canonicalize-lgpl-tests (Depends-on): Likewise. + * modules/canonicalize-tests (Depends-on): Likewise. + * modules/lstat-tests (Depends-on): Likewise. + * modules/openat-tests (Depends-on): Likewise. + * modules/remove-tests (Depends-on): Likewise. + * modules/rmdir-tests (Depends-on): Likewise. + * modules/unlink-tests (Depends-on): Likewise. + * tests/test-canonicalize-lgpl.c (symlink): Delete stub. + * tests/test-canonicalize.c (symlink): Likewise. + * tests/test-fstatat.c (symlink): Likewise. + * tests/test-lstat.c (symlink): Likewise. + * tests/test-remove.c (symlink): Likewise. + * tests/test-rmdir.c (symlink): Likewise. + * tests/test-unlink.c (symlink): Likewise. + * tests/test-unlinkat.c (symlink): Likewise. + + symlink: new module, for Solaris 9 bug + * modules/symlink: New file. + * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise. + * lib/symlink.c: Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults. + * modules/unistd (Makefile.am): Substitute them. + * lib/unistd.in.h (symlink): Declare replacement. + * MODULES.html.sh (File system functions): Mention it. + * doc/posix-functions/symlink.texi (symlink): Likewise. + * modules/symlink-tests: New test. + * tests/test-symlink.c: Likewise. + +2009-09-23 Bruno Haible + + * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules + when needed. + Test case: gnulib-tool --import --with-tests atexit inttypes. + Reported by Pauli Miettinen . + +2009-09-23 Bruno Haible + + * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a + subcommand, not in a subshell. + +2009-09-22 Eric Blake + + unistd: sort replacement declarations + * lib/unistd.in.h: Sort declarations. + + open, openat: minor optimization + * lib/open.c (open): If open succeeded, len is non-zero. + * lib/openat.c (rpl_openat): Likewise. + + link-follow: ensure correct result + * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file. + * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and + distinguish between possible failures. + +2009-09-21 Eric Blake + + fts: avoid compiler warning + * lib/fts.c (dirent_inode_sort_may_be_useful) + (leaf_optimization_applies) [!__linux__]: Mark unused parameters. + +2009-09-19 Bruno Haible + + * lib/progreloc.c (canonicalize_file_name): New declaration. + +2009-09-19 Eric Blake + + link: fix quoting + * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting. + + openat: fix openat bugs on Solaris 9 + * lib/openat.c (rpl_openat): Work around Solaris 9 bug. + * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris. + * modules/openat (Depends-on): Add open. + * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default. + * modules/fcntl-h (Makefile.am): Substitute it. + * lib/fcntl.in.h (openat): Declare replacement. + * doc/posix-functions/openat.texi (openat): Document this. + + openat: move fstatat and unlinkat into correct files + * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be + compiled. + * lib/openat.c (fstatat, unlinkat): Move... + * lib/fstatat.c (fstatat): ...into correct files. + * lib/unlinkat.c (unlinkat): Likewise. + + openat: fix unlinkat bugs on Solaris 9 + * lib/unlinkat.c (unlinkat): New file. + * modules/openat (Depends-on): Add unlink. + (Files): Distribute it. + * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if + trailing slash behavior is broken. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. + * modules/unistd (Makefile.am): Substitute it. + * lib/unistd.in.h (unlinkat): Declare replacement. + * doc/posix-functions/unlinkat.texi (unlinkat): Document this. + + openat: fix fstatat bugs on Solaris 9 + * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and + stat. + * doc/posix-functions/fstatat.texi (fstatat): Document this. + + test-unlinkat: enhance test, to expose Solaris 9 bug + * tests/test-unlink.c (main): Factor guts... + * tests/test-unlink.h (test_rmdir_func): ...into new file. + * tests/test-rmdir.h (test_rmdir_func): Add parameter. + * tests/test-rmdir.c (main): Adjust caller. + * tests/test-unlinkat.c (main): Likewise. Add unlink tests. + (unlinker): New helper function. + (rmdirat): Enhance check. + * modules/rmdir-tests (Depends-on): Add stdbool. + * modules/unlink-tests (Depends-on): Likewise. + (Files): Add test-unlink.h. + * modules/openat-tests (Files): Likewise. + (Depends-on): Add unlinkdir. + + test-fstatat: new test, to expose Solaris 9 bugs + * tests/test-stat.c (main): Factor guts... + * tests/test-stat.h (test_stat_func): ...into new file. + * tests/test-lstat.c (main): Factor guts... + * tests/test-lstat.h (test_lstat_func): ...into new file. + * tests/test-fstatat.c: New file. + * modules/stat-tests (Files): Add test-stat.h. + * modules/lstat-tests (Files): Add test-lstat.h. + (Depends-on): Add stdbool. + * modules/openat-tests (Depends-on): Add pathmax. + (Files): Add test-lstat.h, test-stat.h, test-fstatat.c. + (Makefile.am): Run new test. + + remove: new module, for mingw and Solaris 9 bugs + * modules/remove: New file. + * lib/remove.c: Likewise. + * m4/remove.m4 (gl_FUNC_REMOVE): Likewise. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses. + * modules/stdio (Makefile.am): Use them. + * lib/stdio.in.h (remove): Declare replacement. + * MODULES.html.sh (systems lacking POSIX:2008): Mention module. + * doc/posix-functions/remove.texi (remove): Likewise. + * modules/remove-tests: New test. + * tests/test-remove.c: Likewise. + + unlink: new module, for Solaris 9 bug + * modules/unlink: New file. + * lib/unlink.c: Likewise. + * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses. + * modules/unistd (Makefile.am): Use them. + * lib/unistd.in.h (stat): Declare replacement. + * MODULES.html.sh (systems lacking POSIX:2008): Mention module. + * doc/posix-functions/unlink.texi (unlink): Likewise. + * modules/unlink-tests: New test. + * tests/test-unlink.c: Likewise. + + lstat: fix Solaris 9 bug + * lib/lstat.c (lstat): Also check for trailing slash on + non-symlink, non-directories. Use stat module to simplify logic. + * doc/posix-functions/lstat.texi (lstat): Document it. + * modules/lstat-tests (Depends-on): Add errno, same-inode. + (configure.ac): Check for symlink. + * tests/test-lstat.c (main): Add more tests. + + stat: add as dependency to other modules + * modules/chown (Depends-on): Add stat. + * modules/euidaccess (Depends-on): Likewise. + * modules/fchdir (Depends-on): Likewise. + * modules/isdir (Depends-on): Likewise. + * modules/link (Depends-on): Likewise. + * modules/lstat (Depends-on): Likewise. + * modules/mkdir-p (Depends-on): Likewise. + * modules/modechange (Depends-on): Likewise. + * modules/open (Depends-on): Likewise. + * modules/readlink (Depends-on): Likewise. + * modules/same (Depends-on): Likewise. + + stat: fix Solaris 9 bug + * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing + slash. + * lib/stat.c (rpl_stat): Work around it. + * doc/posix-functions/stat.texi (stat): Update documentation. + + stat: new module, for mingw bug + * modules/stat: New file. + * lib/stat.c: Likewise. + * m4/stat.m4 (gl_FUNC_STAT): Likewise. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses. + * modules/sys_stat (Makefile.am): Use them. + * lib/sys_stat.in.h (stat): Declare replacement. + * lib/openat.c (fstatat): Deal with lstat and stat being function + macros. + * modules/openat (Depends-on): Add inline. + * MODULES.html.sh (systems lacking POSIX:2008): Mention module. + * doc/posix-functions/stat.texi (stat): Likewise. + * modules/stat-tests: New test. + * tests/test-stat.c: Likewise. + +2009-09-19 Jim Meyering + + syntax-check: detect unnecessary inclusion of canonicalize.h + * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule. + +2009-09-19 Eric Blake + + canonicalize-lgpl: adjust clients to use correct header + * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE) + (gl_CANONICALIZE_LGPL): Use correct shell quoting. + * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h. + * lib/fchdir.c (includes): Use , not "canonicalize.h". + * lib/progreloc.c (includes): Likewise. + +2009-09-19 Jim Meyering + + test-posixtm.c: correct a comment + * tests/test-posixtm.c: Correct first-line comment. + Spotted by Eric Blake. + +2009-09-16 Jim Meyering + + posixtm-tests: make T const-correct; add a test case + * tests/test-posixtm.c (T): Declare const. + Add a test for -(2^31+1). + Remove useless can-succeed-only-in-2002 test. + + posixtm-tests: adjust the sole failing test + * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that + expected output matches what mktime now produces. Cross-checked via + erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}}) + + posixtm: move #ifdef'd tests into a new module + * lib/posixtm.c (posixtime): Remove #ifdef'd tests. Move to... + * tests/test-posixtm.c: ... this new file. + * modules/posixtm-tests: New module. + +2009-09-19 Eric Blake + + openat: simplify use of at-func.c + * lib/at-func.c (includes): Include prerequisites here, to + simplify requirements on client files. + * lib/openat-priv.h: Add double-inclusion guard. + * lib/faccessat.c (includes): Simplify. + * lib/fchmodat.c (includes): Likewise. + * lib/fchownat.c (includes): Likewise. + * lib/mkdirat.c (includes): Likewise. + * lib/mkfifoat.c (includes): Likewise. + * lib/symlinkat.c (includes): Likewise. + + openat: allow return of fd 0 + * modules/chdir-long (Depends-on): Relax openat-safer to openat. + * modules/save-cwd (Depends-on): Replace fcntl-safer with + unistd-safer. + * lib/chdir-long.c (includes): Replace "fcntl--.h" with + ; this module does not leak fds. + * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat + must be allowed to return 0, leaving openat_safer to add the + safety. + (openat_permissive): Avoid writing to just-opened fd 2 if + restoring the current directory fails. + * lib/openat-die.c (openat_restore_fail): Add comment. + * lib/save-cwd.c (includes): Make "fcntl--.h" conditional. + (save_cwd): Guarantee safe fd, but without use of open_safer. + * tests/test-openat.c: New test. + * modules/openat-tests (Files, Makefile.am): Distribute and build + new file. + + relocatable-prog-wrapper: fix build + * modules/relocatable-prog-wrapper (Files): Update name of + canonicalize m4 file, broken on 2009-09-17. + Reported by emad hajjar . + +2009-09-19 Bruno Haible + + * lib/safe-alloc.h: Use the standard header with GPL copyright. + * lib/safe-alloc.c: Likewise. + Reported by Ian Beckwith . + +2009-09-18 Bruno Haible + + * gnulib-tool: Add advice to "cannot find configure.ac" error message. + Reported by . + +2009-09-17 Eric Blake + + canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash + * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing + slashes when checking if last component is missing. + * tests/test-canonicalize.c (main): Test this. + + canonicalize, canonicalize-lgpl: honor // if distinct from / + * modules/canonicalize (Files): Add double-slash-root.m4. + * modules/canonicalize-lgpl (Files): Likewise. + * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE) + (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency. + * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide + fallback definition. + (canonicalize_filename_mode): Use it to protect //. + * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT) + (__realpath): Likewise. + * tests/test-canonicalize.c (main): Test this. + * tests/test-canonicalize-lgpl.c (main): Likewise. + * modules/canonicalize-tests (Depends-on): Add same-inode. + * modules/canonicalize-lgpl-tests (Depends-on): Likewise. + + canonicalize-lgpl: fix glibc bug with trailing slash + * m4/canonicalize-lgpl.m4: Move contents... + * m4/canonicalize.m4: ...here. + (gl_CANONICALIZE_LGPL): Factor realpath check... + (gl_FUNC_REALPATH_WORKS): ...into new macro. Enhance to catch + glibc 2.3.5 bug, fixed 2005-04-27. + (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it. + (gl_PREREQ_CANONICALIZE_LGPL): Inline... + (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro. + * modules/canonicalize-lgpl (Files): Manage file rename. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default. + * modules/stdlib (Makefile.am): Substitute witness. + * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement + is needed. + * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name + replacement is required. + * lib/canonicalize.c (canonicalize_file_name): Likewise. + * doc/glibc-functions/canonicalize_file_name.texi + (canonicalize_file_name): Document this. + * doc/posix-functions/realpath.texi (realpath): Likewise. + + canonicalize-lgpl: reject non-directory with trailing slash + * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc. + * tests/test-canonicalize-lgpl.c (main): Enhance test. This + catches failures in glibc 2.3.5. + * tests/test-canonicalize.c (main): Likewise. + + canonicalize-lgpl: use native realpath if it works + * lib/canonicalize-lgpl.c (realpath): Guard with + FUNC_REALPATH_WORKS. + * lib/stdlib.in.h (realpath): Make declaration optional based on + HAVE_REALPATH. + * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether + native realpath works. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default. + * modules/stdlib (Makefile.am): Substitute witness. + + canonicalize, canonicalize-lgpl: use + * modules/canonicalize-lgpl (Files): Drop canonicalize.h. + (Include): Mention . + (configure.ac): Mention functions we provide. + * modules/canonicalize (configure.ac): Likewise. + * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace + realpath if canonicalize_file_name is missing. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults. + * modules/stdlib (Makefile.am): Substitute witnesses. + * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare. + * lib/canonicalize-lgpl.c (includes): Adjust accordingly. + * lib/canonicalize.h (canonicalize_file_name): Drop declaration. + * NEWS: Document this. + * doc/glibc-functions/canonicalize_file_name.texi + (canonicalize_file_name): Likewise. + * doc/posix-functions/realpath.texi (realpath): Likewise. + * tests/test-canonicalize-lgpl.c (includes): Use . + + test-canonicalize: consolidate into single C program + * tests/test-canonicalize.sh: Delete; move setup into... + * tests/test-canonicalize.c (main): ...the program, making it + easier to run in debugger. Add some tests. + * modules/canonicalize-tests (Files): Remove unused file. + (Depends-on): Add progname. + (configure.ac, Makefile.am): Simplify. + + test-canonicalize-lgpl: consolidate into single C program + * tests/test-canonicalize-lgpl.sh: Delete; move setup into... + * tests/test-canonicalize-lgpl.c (main): ...the program, making it + easier to run in debugger. Add some tests. + * modules/canonicalize-lgpl-tests (Files): Remove unused file. + (configure.ac, Makefile.am): Simplify. + + canonicalize: avoid resolvepath + * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete + unnecessary checks. + * lib/canonicalize.c (includes): Simplify. + (canonicalize_file_name): Drop resolvepath implementation. + * modules/canonicalize (Depends-on): Drop filenamecat. + + canonicalize: don't lose errno + * lib/canonicalize.c (canonicalize_filename_mode): Protect errno + over calls to free. + + canonicalize: simplify errno handling + * lib/canonicalize.c (__set_errno): Delete macro, and use direct + assignment. + + canonicalize, canonicalize-lgpl: update module dependencies + * modules/canonicalize (Depends-on): Add extensions, lstat, + pathmax, stdlib. + (Files): Drop pathmax.h. + (configure.ac): Adjust macro name. + * modules/canonicalize-lgpl (Depends-on): Add errno, extensions, + lstat, stdlib, sys_stat. + * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename... + (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require + extensions. + * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL) + (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions. + (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h. + * lib/canonicalize.h (canonicalize_file_name): Use + declaration, if available. + * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition; + we can rely on the readlink module. + (MAXSYMLINKS): Also consult SYMLOOP_MAX. + (includes): Use unconditionally. + +2009-09-17 Eric Blake + + maint: make Include sections of modules consistent + * modules/alloca: Use only header name; no need to list #include. + * modules/alloca-opt: Likewise. + * modules/arpa_inet: Likewise. + * modules/canon-host: Likewise. + * modules/configmake: Likewise. + * modules/dirent: Likewise. + * modules/eealloc: Likewise. + * modules/environ: Likewise. + * modules/fchdir: Likewise. + * modules/fcntl: Likewise. + * modules/fcntl-h: Likewise. + * modules/gethrxtime: Likewise. + * modules/gettime: Likewise. + * modules/ignore-value: Likewise. + * modules/inet_ntop: Likewise. + * modules/inet_pton: Likewise. + * modules/inttypes: Likewise. + * modules/isnand-nolibm: Likewise. + * modules/isnanf-nolibm: Likewise. + * modules/mbchar: Likewise. + * modules/mbfile: Likewise. + * modules/mbiter: Likewise. + * modules/mbuiter: Likewise. + * modules/netdb: Likewise. + * modules/netinet_in: Likewise. + * modules/nproc: Likewise. + * modules/pagealign_alloc: Likewise. + * modules/poll: Likewise. + * modules/printf-frexp: Likewise. + * modules/pthread: Likewise. + * modules/putenv: Likewise. + * modules/random_r: Likewise. + * modules/relocatable-prog: Likewise. + * modules/search: Likewise. + * modules/select: Likewise. + * modules/selinux-h: Likewise. + * modules/settime: Likewise. + * modules/signal: Likewise. + * modules/size_max: Likewise. + * modules/socklen: Likewise. + * modules/ssize_t: Likewise. + * modules/stdarg: Likewise. + * modules/stdbool: Likewise. + * modules/stddef: Likewise. + * modules/stdint: Likewise. + * modules/stdio: Likewise. + * modules/stdlib: Likewise. + * modules/string: Likewise. + * modules/strings: Likewise. + * modules/sys_file: Likewise. + * modules/sys_ioctl: Likewise. + * modules/sys_select: Likewise. + * modules/sys_socket: Likewise. + * modules/sys_stat: Likewise. + * modules/sys_time: Likewise. + * modules/sys_times: Likewise. + * modules/sys_utsname: Likewise. + * modules/sys_wait: Likewise. + * modules/sysexits: Likewise. + * modules/time: Likewise. + * modules/times: Likewise. + * modules/tmpfile: Likewise. + * modules/trim: Likewise. + * modules/unistd: Likewise. + * modules/wchar: Likewise. + * modules/wctype: Likewise. + +2009-09-17 Bruno Haible + + Make getdate.y compile on QNX and NetBSD 5 / i386. + * m4/getdate.m4 (gl_GETDATE): Conditionally define + TIME_T_FITS_IN_LONG_INT. + * lib/getdate.y (long_time_t): New type. + (relative_time): Change type of 'seconds' field to long_time_t. + (get_date): Update types of local variables. Check against overflow + during conversion from long_time_t to time_t. + Reported by Matt Kraai + and Hasso Tepper . + +2009-09-17 Bruno Haible + + * modules/COPYING: Update copyright years. + * modules/README: Likeiwse. + * doc/gnulib-intro.texi (Copyright): Use a wildcard year. + Reported by Ian Beckwith . + +2009-09-17 Ian Beckwith (tiny change) + + * users.txt: Update references for gnuit package. + +2009-09-17 Ian Beckwith (tiny change) + + * m4/getdelim.m4: Fix typo in copyright line. + +2009-09-17 Bruno Haible + + * lib/atoll.c: Use the standard header with GPL copyright. + * lib/argz.in.h: Likewise. + * lib/glob.c: Likewise. + * lib/glob-libc.h: Likewise. + * lib/random_r.c: Likewise. + * lib/siglist.h: Likewise. + * lib/strsignal.c: Likewise. + Reported by Ian Beckwith . + +2009-09-17 Eric Blake + + rmdir: ensure correct dependency order + * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults. + +2009-09-17 Bruno Haible + + Disable assertion that fails on NetBSD 5 / i386. + * lib/mktime.c (ydhms_diff): Disable assertion about time_t size. + Reported by Sam Steingold + and Hasso Tepper . + +2009-09-16 Eric Blake + + unlinkdir: port to mingw + * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms + on which no one can unlink a directory. + + stdlib: sort witness names + * modules/stdlib (Makefile.am): Sort replacements. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise. + * lib/stdlib.in.h: Likewise. + + parse-duration-tests: avoid link failure + * modules/parse-duration-tests (test_parse_duration_LDADD): Add + LIBINTL. + Reported by Tom G. Christensen. + + openat-tests: ensure unlinkat behaves like rmdir + * tests/test-rmdir.c (main): Factor guts... + * tests/test-rmdir.h (test_rmdir_func): ...into new file. + * modules/rmdir-tests (Files): Ship new file. + * modules/openat-tests: New test. + * tests/test-unlinkat.c: Likewise. + + rmdir-errno: mark obsolete, it is unsafe for cross-compilation + * modules/rmdir-errno (Status, Notice): Now obsolete. + + rmdir: work around cygwin 1.5.x and mingw bugs + * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs. + * lib/rmdir.c (rmdir): Work around it. + * modules/rmdir (Status, Notice): No longer obsolete. + (Files): Add dos.m4. + (Depends-on): Add unistd. + (configure.ac): Set witnesses. + (License): Relax to LGPLv2+. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults. + * modules/unistd (Makefile.am): Substitute witnesses. + * lib/unistd.in.h (rmdir): Declare replacement. + * doc/posix-functions/rmdir.texi (rmdir): Document this. + * modules/rmdir-tests: New tests. + * tests/test-rmdir.c: Likewise. + +2009-09-15 Eric Blake + + fchdir: improve use of replacement functions + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT. + * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR, + REPLACE_CLOSEDIR. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP. + * modules/sys_stat (Makefile.am): Substitute correct witness. + * modules/dirent (Makefile.am): Likewise. + * modules/unistd (Makefile.am): Likewise. + * lib/dirent.in.h (opendir, closedir): Use better witnesses. + * lib/unistd.in.h (dup): Likewise. + * lib/sys_stat.in.h (fstat): Likewise. + + maint: ignore gnulib-tool temp files + * .gitignore: Ignore files created during gnulib-tool --test. + +2009-09-13 Jim Meyering + + posixtm: don't reject a time that specify "60" as the number of seconds + * lib/posixtm.c (posixtime): The code to reject invalid dates + would also reject a time specified with the .60 suffix. + But POSIX allows that, in order to accommodate leap seconds. + So don't reject it. + (main): Adjust tests accordingly. + * modules/posixtm (Depends-on): Add stpcpy. + +2009-09-11 Jim Meyering + + announce-gen: include [$release_type] in emitted Subject: + * build-aux/announce-gen (get_tool_versions): Include [$release_type], + e.g., [stable] in the emitted Subject: line. + +2009-09-10 Ralf Wildenhues + + Remove obsolete macros from several modules. + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace + obsolete Autoconf macros with their modern counterparts. + * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise. + * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise. + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise. + * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise. + * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise. + * m4/getline.m4 (gl_FUNC_GETLINE): Likewise. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise. + * m4/poll.m4 (gl_FUNC_POLL): Likewise. + * m4/readline.m4 (gl_FUNC_READLINE): Likewise. + * m4/round.m4 (gl_FUNC_ROUND): Likewise. + * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise. + * m4/select.m4 (gl_FUNC_SELECT): Likewise. + * m4/sockets.m4 (gl_SOCKETS): Likewise. + * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise. + * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise. + * m4/sysexits.m4 (gl_SYSEXITS): Likewise. + * m4/time_r.m4 (gl_TIME_R): Likewise. + * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise. + * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise. + * m4/wctype.m4 (gl_WCTYPE_H): Likewise. + + Fix copyright header in build-aux scripts. + * build-aux/git-version-gen: Fix copyright header to match GPLv3 + recommendation. + * build-aux/ncftpput-ftp: Likewise. + * build-aux/update-copyright: Likewise. + +2009-09-09 Eric Blake + + test-link: allow Linux choice of errno + * tests/test-link.c (main): Relax test for alternate error. + + strndup: fix improper m4 caching + * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects + inside AC_CACHE_CHECK. Use REPLACE_STRNDUP, not HAVE_STRNDUP. + (gl_PREREQ_STRNDUP): Delete. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default. + * modules/string (Makefile.am): Substitute it. + * lib/string.in.h (strndup): Modernize prototype. + + getcwd: port to mingw + * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very + different from the POSIX assumptions made throughout the getcwd + module; fortunately, the mingw getcwd does not need replacement. + (gl_FUNC_GETCWD_NULL): Skip test on mingw. + * modules/getcwd-tests: New test. + * tests/test-getcwd.c: Likewise. + + link: fix platform bugs + * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs. + * lib/link.c (link): Work around them. Fix related mingw bug. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK. + * modules/unistd (Makefile.am): Substitute it. + * lib/unistd.in.h (link): Declare replacement. + * doc/posix-functions/link.texi (link): Document this. + * modules/link (Depends-on): Add strdup-posix, sys_stat. + + test-link: consolidate into single C program, test more cases + * tests/test-link.sh: Delete. + * tests/test-link.c: Test more error conditions. Exposes bugs on + at least Cygwin and Solaris. + * modules/link-tests (Files): Remove unused file. + (Depends-on): Add errno, sys_stat. + (Makefile.am): Simplify. + +2009-09-08 Bruno Haible + + Work around towlower, towupper bug on mingw. + * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements. + * m4/wctype.m4 (gl_WCTYPE_H): Replace also on mingw. + * doc/posix-functions/towlower.texi: Mention the mingw bug. + * doc/posix-functions/towupper.texi: Likewise. + Reported by Eric Blake. + +2009-09-08 Jim Meyering + + build: don't try to run autoheader if we don't use it + * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS + is not used in configure.ac. + +2009-09-08 Eric Blake + + euidaccess: fix compilation error + * lib/euidaccess.c (includes): Add , for AT_EACCESS. + + rawmemchr: relax license + * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is + okay. + Reported by Jim Meyering. + + mkfifoat: new module + * modules/mkfifoat: New file. + * lib/mkfifoat.c: Likewise. + * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses. + * modules/sys_stat (Makefile.am): Use them. + * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them. + * MODULES.html.sh (File system functions): Mention module. + * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise. + * doc/posix-functions/mknodat.texi (mknodat): Likewise. + * modules/mkfifoat-tests: New test. + * tests/test-mkfifoat.c: Likewise. + + strchrnul: relax license + * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is + okay. + Reported by Jim Meyering. + +2009-09-08 Eric Blake + + fstatat: fix compilation on Solaris + * lib/fstatat.c (includes): Add fcntl.h. + Reported by Pádraig Brady. + +2009-09-07 Eric Blake + + rename: modernize replacement + * modules/rename (Depends-on): Add stdio. + (configure.ac): Declare witness. + * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let + stdio take care of replacement. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults. + * modules/stdio (Makefile.am): Substitute them. + * lib/stdio.in.h (rename): Declare replacement. + * lib/rename.c (includes): Allow cross-compilation to non-windows + machines. + * doc/posix-functions/rename.texi (rename): Improve + documentation. + + stdio: sort witness names + * modules/stdio (Makefile.am): Sort replacements. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise. + * lib/stdio.in.h: Likewise. + + getcwd: minor cleanups + * lib/getcwd.c (AT_FDCWD): Delete; rely on instead. + (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable. + + openat: provide more convenience names + * modules/faccessat (configure.ac): Add C witness. + * lib/unistd.in.h (readlinkat): Fix typo. + * lib/openat.h (statat, lstatat, accessat, euidaccessat): New + convenience wrappers. + * top/maint.mk (sc_prohibit_openat_without_use): Allow these + wrappers in syntax checks. + +2009-09-06 Eric Blake + + doc: fix comments in recent patches + * lib/faccessat.c: Mention correct function. + * lib/fchmodat.c: Likewise. + * lib/fchownat.c: Likewise. + * lib/symlinkat.c: Likewise. + * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_* + constants. + + faccessat, symlinkat: continue cleanup of previous patch + * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order. + * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise. + * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT. + * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT. + * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is + set. + +2009-09-06 Bruno Haible + + * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set. + (fstatat): Declare if GNULIB_FSTATAT is set. + (mkdirat): Declare if GNULIB_MKDIRAT is set. + * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set. + (unlinkat): Declare if GNULIB_UNLINKAT is set. + * modules/fcntl-h (Files): Remove m4/openat.m4. + * modules/sys_stat (Files): Remove m4/openat.m4. + (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT, + GNULIB_MKDIRAT instead of GNULIB_OPENAT. + * modules/unistd (Files): Remove m4/openat.m4. + (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of + GNULIB_OPENAT. + * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT, + HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize + GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT, + HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require + gl_OPENAT_DEFAULTS. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT, + GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here. + Don't require gl_OPENAT_DEFAULTS. + * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS, + gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT, + GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT. + (gl_OPENAT_DEFAULTS): Remove macro. + +2009-09-06 Bruno Haible + + * modules/openat (configure.ac): Remove unneeded witness. + +2009-09-06 Bruno Haible + + Set errno to ENOSYS when a function is entirely unsupported. + * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of + EOPNOTSUPP. + * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise. + * modules/chown (Depends-on): Remove errno. + +2009-09-06 Bruno Haible + + * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms. + +2009-09-06 Bruno Haible + + * lib/sys_stat.in.h: Fix preprocessor command indentation. + +2009-09-06 Ben Pfaff + Bruno Haible + + Work around a glibc bug in strtok_r. + * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set. + Undefine if UNDEFINE_STRTOK_R is set. + * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + REPLACE_STRTOK_R and UNDEFINE_STRTOK_R. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug. + * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R, + UNDEFINE_STRTOK_R. + * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug. + +2009-09-06 Sergey Poznyakoff + + exclude: minor fix + * lib/exclude.c: Include wctype.h + +2009-09-06 Akim Demaille + + bootstrap: improve error message + * build-aux/bootstrap (find_tool): Upon failure, report the list + of candidates. + Honor the initial value of the envvar. + +2009-09-05 Eric Blake + + symlinkat: new module + * modules/symlinkat: New file. + * lib/symlinkat.c: Likewise. + * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses. + * modules/unistd (Makefile.am): Use them. + * lib/unistd.in.h (symlinkat, readlinkat): Declare them. + (faccessat) [GNULIB_POSIXCHECK]: Fix typo. + * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int. + * MODULES.html.sh (File system functions): Mention module. + * doc/posix-functions/symlinkat.texi (symlinkat): Likewise. + * doc/posix-functions/readlinkat.texi (readlinkat): Likewise. + * modules/symlinkat-tests: New test. + * tests/test-symlinkat.c: Likewise. + + test-openat-safer: add more checks + * tests/test-openat-safer.c (main): Check more code paths. + +2009-09-05 Jim Meyering + + syntax-check: detect unnecessary inclusion of openat.h + * top/maint.mk (sc_prohibit_openat_without_use): New rule. + +2009-09-05 Bruno Haible + + Support towlower, towupper. + * doc/posix-functions/towlower.texi: Mention module wctype. + * doc/posix-functions/towupper.texi: Likewise. + * lib/wctype.in.h (towlower, towupper): New functions. + * tests/test-wctype.c: Include stdio.h, stdlib.h. + (ASSERT): New macro. + (e): New variable. + (main): Test also towlower, towupper. Test WEOF argument. + Reported by Alan Hourihane . + +2009-09-05 Bruno Haible + + Fix conversion behaviour when the input is invalid. + * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question + mark occurring in first pass of indirect conversion. + * tests/test-striconveh.c (main): Test conversion of invalid ASCII + input. + Found by clang's static analyzer. + +2009-09-05 Bruno Haible + + * tests/test-striconveh.c (main): Test indirect conversion on platforms + where direct conversion is possible. + +2009-09-04 Eric Blake + + openat: fail with ENOENT on empty name + * lib/openat-proc.c (openat_proc_name): Special-case the empty + buffer. + + link-follow: fix logic bug in prior patch + * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that + reversed sense of yes and no in prior patch. Avoid confusing + compilation failure with desired semantics. + + link-follow: accommodate mingw and cross-compilation + * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename... + (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this. Change + cross-compilation results to -1, to make linkat easier to + implement when cross-compiling. Trivially support mingw. + * modules/link-follow (configure.ac): Call new name. + * NEWS: Mention this. + +2009-09-03 Eric Blake + + faccessat: compile replacement + * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when + needed. + + fts: fix compilation error + * lib/fts.c (includes): Re-add "openat.h", for + openat_needs_fchdir. + + faccessat: new module + * modules/faccessat: New file. + * lib/faccessat.c: Likewise. + * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. + * modules/unistd (Makefile.am): Use it. + * lib/unistd.in.h (faccessat): Declare it. + (F_OK, X_OK, W_OK, R_OK): Provide definitions. + * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise. + * MODULES.html.sh (File system functions): Mention it. + * doc/posix-functions/faccessat.texi (faccessat): Likewise. + * doc/posix-headers/fcntl.texi (fcntl.h): Likewise. + + euidaccess: prefer POSIX over non-standard implementation + * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat. + * lib/euidaccess.c (euidaccess): Use it if available. + + openat: make template easier to use + * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and + AT_FUNC_F2 to be undefined. + (VALIDATE_FLAG): New macro; use it to reject bad flags. + (AT_FUNC_USE_F1_COND): Change sense to just flag bit. + * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust. + * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise. + * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]: + Likewise. + * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete. + * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND) + [getfileconat, lgetfileconat, setfileconat, lsetfileconat]: + Likewise. + + openat: declare in POSIX headers + * NEWS: Mention this. + * modules/openat (configure.ac): Declare witnesses. + (Depends-on): Add fcntl-h, sys_stat, unistd. + (Include): Mention correct headers. + * modules/fcntl-h (Depends-on): Add link-warning. + (Files): Add openat.m4. + (Makefile.am): Substitute witnesses. + * modules/sys_stat (Files, Makefile.am): Likewise. + * modules/unistd (Files, Makefile.am): Likewise. + * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses. + (gl_OPENAT_DEFAULTS): New macro. + * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise. + (SYS_STAT_H): Remove unused variable. + * doc/posix-headers/fcntl.texi (fcntl.h): Update content. + * lib/fcntl--.h (includes): Remove unneeded header. + * lib/openat-safer.c (includes): Likewise. + * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR) + (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to + appropriate headers. + (__OPENAT_PREFIX): Delete. + * lib/fcntl.in.h (openat): Provide declaration. + (AT_FDCWD): Fix Solaris bug. + (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros. + * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration. + * lib/fchmodat.c (includes): Adjust to find declaration. + * lib/fchownat.c (includes): Likewise. + * lib/mkdirat.c (includes): Likewise. + * lib/fstatat.c (includes): Likewise. Ensure original fstatat is + still visible. + +2009-09-02 Eric Blake + + errno: use consistently + * lib/c-stack.c (ENOTSUP): guarantees a definition. + * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise. + * lib/canonicalize.c (ELOOP): Likewise. + * lib/inet_ntop.c (EAFNOSUPPORT): Likewise. + * lib/inet_pton.c (EAFNOSUPPORT): Likewise. + * lib/lchown.c (EOPNOTSUPP): Likewise. + * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise. + * lib/savewd.c (ESTALE): Likewise. + * lib/settime.c (ENOSYS): Likewise. + * lib/utimens.c (ENOSYS): Likewise. + * lib/xgethostname.c (ENAMETOOLONG): Likewise. + * lib/chdir-safer.c (ELOOP): Likewise. + (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness. + * modules/c-stack (Depends-on): Add errno. + * modules/canonicalize (Depends-on): Likewise. + * modules/chdir-safer (Depends-on): Likewise. + * modules/fdopendir (Depends-on): Likewise. + * modules/inet_ntop (Depends-on): Likewise. + * modules/inet_pton (Depends-on): Likewise. + * modules/lchown (Depends-on): Likewise. + * modules/openat (Depends-on): Likewise. + * modules/savewd (Depends-on): Likewise. + * modules/settime (Depends-on): Likewise. + * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink. + + fts: avoid leaking fds + * modules/fts (Depends-on): Add cloexec. + * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec + flag. + + fts: make directory fds more robust + * lib/fts.c (O_DIRECTORY): Let take care of this. + (opendirat): Specify O_DIRECTORY, and add fallbacks for safety. + + backupfile, chdir-long, fts, savedir: make safer + * lib/backupfile.c (includes): Use "dirent--.h", since + numbered_backup can write to stderr during readdir. + * lib/savedir.c (includes): Likewise. + * lib/chdir-long.c (includes): Use "fcntl--.h", since openat + emulation can write to stderr on failure. + * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat. + * lib/getcwd.c: Document why opendir_safer is unused. + * lib/glob.c: Likewise. + * lib/scandir.c: Likewise. + * lib/openat-proc.c: Likewise, for open_safer. + * modules/backupfile (Depends-on): Add dirent-safer. + * modules/savedir (Depends-on): Likewise. + * modules/fts (Depends-on): Add dirent-safer and openat-safer. + * modules/chdir-long (Depends-on): Add openat-safer. + + openat-safer: new module + * modules/openat-safer: New file. + * lib/openat-safer.c: Likewise. + * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro. + * lib/fcntl-safer.h (openat_safer): Declare. + * lib/fcntl--.h (openat): Override. + * MODULES.html.sh (File descriptor based I/O): Mention it. + * lib/openat.h: Add double-inclusion guards. + * lib/openat.c (includes): Only include "fcntl-safer.h", not + "fcntl--.h", so we can implement openat. + * modules/openat-safer-tests: New test. + * tests/test-openat-safer.c: New file. + + dirent-safer: new module + * modules/dirent-safer: New file. + * lib/dirent--.h: Likewise. + * lib/dirent-safer.h: Likewise. + * lib/opendir-safer.c: Likewise. + * m4/dirent-safer.m4: Likewise. + * MODULES.html.sh (Enhancements for POSIX:2008): Mention it. + * modules/dirent-safer-tests: New test. + * tests/test-dirent-safer.c: New file. + * lib/fdopendir.c (includes): Ensure fdopendir is also safe. + + fdopendir: optimize on mingw + * lib/unistd.in.h (_gl_directory_name): New prototype. + * lib/fchdir.c (_gl_directory_name): Implement it. + (fchdir): Use it to simplify implementation. + * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from + fchdir, when available, to avoid calling [f]chdir(). + + fdopendir: split into its own module + * lib/openat.c (fdopendir): Move... + * lib/fdopendir.c: ...into new file. + * modules/fdopendir: New module. + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file. + * modules/openat (Depends-on): Add fdopendir. + * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for + fdopendir here. + * modules/savedir (Depends-on): Only need fdopendir, not full + openat. + * lib/savedir.c (include): Use , not "openat.h". + * lib/openat.h (fdopendir): Drop prototype. + * lib/dirent.in.h (fdopendir): Provide prototype. + * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements. + * modules/dirent (Makefile.am): Substitute them. + * MODULES.html.sh (File system functions): Mention it. + * doc/posix-functions/fdopendir.texi (fdopendir): Likewise. + * modules/fdopendir-tests: New file. + * tests/test-fdopendir.c: Likewise. + + fchdir: use more consistent macro convention + * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd. + * lib/sys_stat.in.h (rpl_fstat): Declare via make-time + REPLACE_FCHDIR, rather than relying on config.h macros. + * lib/unistd.in.h (fchdir): Move all fchdir internal declarations + inside a single make-time REPLACE_FCHDIR block, rather than using + the config.h FCHDIR_REPLACEMENT. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already + AC_SUBST'd, also AC_DEFINE it. Don't define FCHDIR_REPLACEMENT. + Manage fstat replacement. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up + REPLACE_FCHDIR. + * modules/sys_stat (Files): Add m4/unistd_h.m4. + (Makefile.am): Substitute REPLACE_FCHDIR. + * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not + FCHDIR_REPLACEMENT. + * lib/dup-safer.c (dup_safer): Likewise. + * lib/dup2.c (rpl_dup2): Likewise. + * lib/dup3.c (rpl_dup3): Likewise. + * lib/open.c (rpl_open): Likewise. + + fchdir: simplify error handling, and support dup3 + * modules/fchdir (Depends-on): Use strdup-posix, not strdup. Add + stdbool, malloc-posix, realloc-posix. + * lib/fchdir.c (struct dir_info_t): Delete saved_errno. + (ensure_dirs_slot): Return false on allocation failure. + (rpl_dup2): Delete. + (_gl_register_dup): New function. + (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers. + (_gl_register_fd): Close fd on allocation failure. + * lib/fcntl.in.h (_gl_register_fd): Update signature. + * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New + prototype. + (rpl_dup2_fchdir): Delete prototype. + * lib/open.c (open): Update caller. + * lib/dup2.c (dup2): Track fchdir metadata. + * lib/dup3.c (dup3): Likewise. + * m4/dup2.m4 (gl_REPLACE_DUP2): New macro. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it. + +2009-09-02 Ralf Wildenhues + + * gnulib-tool (func_create_testdir, func_create_megatestdir): Use + AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and + don't pass arguments to AC_OUTPUT. + +2009-09-02 Bruno Haible + + * modules/mkdtemp (License): Relicense under LGPLv2+. + Reported by Paolo Bonzini. + +2009-09-02 Ralf Wildenhues + + Replace uses of obsolete autoconf macros in Jim's modules. + The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and + AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use + can evoke a warning from autoconf when run with -Wobsolete + enabled. They were declared obsolete for good reasons (see + the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual, + recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we + should not continue using the deprecated macros. + * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace + obsolete Autoconf macros with modern counterparts. + * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise. + * m4/dos.m4 (gl_AC_DOS): Likewise. + * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise. + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise. + * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise. + * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise. + * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise. + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise. + * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise. + * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise. + * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): + Likewise. + * m4/rename.m4 (gl_FUNC_RENAME): Likewise. + * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise. + * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise. + * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise. + * m4/stat-time.m4 (gl_STAT_TIME): Likewise. + * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise. + +2009-09-01 Eric Blake + + fchdir: fix off-by-one bug in previous patch + * lib/fchdir.c (rpl_fstat): Use correct bounds. + (_gl_unregister_fd): Delete useless if. + +2009-09-01 Daniel P. Berrange + + maint.mk: sort the list of syntax-check rules + * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's + easier to get a sense of progress when the rules are run sequentially + and take a long time. + +2009-09-01 Simon Josefsson + + * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@. + * modules/netinet_in: Likewise. + * modules/sys_file: Likewise. + * modules/sys_ioctl: Likewise. + * modules/sys_select: Likewise. + * modules/sys_socket: Likewise. + * modules/sys_stat: Likewise. + * modules/sys_time: Likewise. + * modules/sys_times: Likewise. + * modules/sys_utsname: Likewise. + * modules/sys_wait: Likewise. + +2009-09-01 Jim Meyering + + fts: help ensure that return values are not ignored + * lib/fts_.h (__GNUC_PREREQ): Define. + (__attribute_warn_unused_result__): Define. + (fts_children, fts_close, fts_open, fts_read): Declare with + __attribute_warn_unused_result__. + + fts: fts_close now fails also when closing a dir file descriptor fails + * lib/fts.c (fts_close): Detect close failure, not just fchdir failure, + and propagate to caller, along with errno. + + announce-gen: correct formatting in --help output + * build-aux/announce-gen (usage): Move the one-line description in + --help output "up", to where it belongs, just after Usage:. + +2009-08-31 Eric Blake + + fchdir: port to mingw + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug. + * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be + opened, then use a substitute. + * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare + replacement. + * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it. + (_gl_register_fd): No need to check stat if open already filters + all directories. + (fchdir): Fix error condition to match POSIX. + * modules/fchdir (Depends-on): Add sys_stat. + * doc/posix-functions/open.texi (open): Document the limitation. + * modules/fchdir-tests: New file. + * tests/test-fchdir.c: Likewise. + + canonicalize: allow cross-testing from cygwin to mingw + * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK. + (Makefile.am): Pass it through TESTS_ENVIRONMENT. + * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am): + Likewise. + * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but + target does not support symlinks. + * tests/test-canonicalize-lgpl.sh: Likewise. + + chown: avoid compilation warning on mingw + * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown. + * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on + mingw. + * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise. + * modules/chown (Depends-on): Add errno. + +2009-08-31 Stefano Lattarini (tiny change) + + * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo' + command. + +2009-08-31 Jim Meyering + + canonicalize: remove useless initialization + * lib/canonicalize.c (canonicalize_filename_mode): Remove useless + initialization of local, "end". + +2009-08-30 Bruno Haible + + Fix an unnecessary error on Solaris 10 on NFSv3 file systems. + * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like + ENOSYS. + +2009-08-30 Bruno Haible + + * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over + /usr/xpg4/bin/tr when it exists. + * tests/test-pipe-filter-gi1.sh: Likewise. + +2009-08-30 Bruno Haible + + Work around deficient /usr/bin/id program on Solaris. + * tests/test-file-has-acl.sh (ID): New variable. + * tests/test-set-mode-acl.sh (ID): Likewise. + * tests/test-copy-acl.sh (ID): Likewise. + * tests/test-copy-file.sh (ID): Likewise. + +2009-08-30 Bruno Haible + + New module 'xstriconveh'. + * lib/xstriconveh.h: New file. + * lib/xstriconveh.c: New file. + * modules/xstriconveh: New file. + +2009-08-30 Bruno Haible + + Make it easier to use mem_cd_iconveh. + * lib/striconveh.h (iconveh_t): New type. + (iconveh_open, iconveh_close): New declarations. + (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments + with a single 'const iconveh_t *' argument. + * lib/striconveh.c (iconveh_open, iconveh_close): New functions. + (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments + with a single 'const iconveh_t *' argument. + (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close. + * tests/test-striconveh.c (main): Update. + * NEWS: Mention the change. + +2009-08-30 Bruno Haible + + * doc/posix-functions/iconv_open.texi: Mention indirect conversion + problem. + +2009-08-30 Bruno Haible + + Work around iconv_open problem on Solaris. + * lib/iconv_open-solaris.gperf: New file. + * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro. + * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris. + * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf. + (Makefile.am): Add rule for iconv_open-solaris.h. Augment + BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST. + * doc/posix-functions/iconv_open.texi: Mention the Solaris problem. + +2009-08-29 Jim Meyering + + maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev + * top/maint.mk (cvs-check): Remove target; it was just an alias + to the better-named vc-diff-check. + (maintainer-distcheck): Remove rule. It was used only from + the (alpha/beta/major) target, and all of its commands but one + were coreutils-specific. + (vc-dist): Remove rule. + (alpha beta major): Run "$(MAKE) distcheck" explicitly. + Run vc-diff-check, not vc-dist. + Run $(MAKE) dist with XZ_OPT=-9ev. Note spelling, with "-". + +2009-08-27 Bruno Haible + + * tests/test-bitrotate.c (main): Remove test that uses a shift count + of 0. + +2009-08-27 Bruno Haible + + * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C + compilers. + * doc/func.texi: Document the SunPRO C bug. + +2009-08-27 Bruno Haible + + Fix link error on Solaris. + * tests/test-parse-duration.c (xstrdup): Remove function. -2010-01-14 David Lutterkort +2009-08-26 Pádraig Brady - struct error: add pointer back to struct augeas + ignore-value: handle pointer types, too + * lib/ignore-value.h (__attribute__): Remove definition. + (ignore_value): Remove use of "__attribute__ ((unused))" in favor + of a more concise and more-often effective "(void) i" statement. + (ignore_ptr): New function to suppress warnings from functions that + return pointers, and to make it explicit that one function doesn't + handle all cases. - * src/errcode.h: more usable BUG_ON and BUG_FMT +2009-08-25 Bruno Haible - * src/lens.c (ambig_check): report OOM from fa_ambig_example + dup2: work around a Linux bug. + * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug. + * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF. + * doc/posix-functions/dup2.texi: Mention the Linux bug. + Reported by Simon Josefsson. + +2009-08-25 Jim Meyering + + libguestfs uses gnulib + * users.txt: Add libguestfs. + +2009-08-24 Eric Blake + + dup2, pipe2: fix some recent test failures on cygwin 1.5.x + * lib/pipe2.c (includes): Add binary-io.h. + * lib/dup2.c (rpl_dup2): Correct buggy errno value. + +2009-08-24 Bruno Haible + + Tolerate declared but missing accept4 syscall. + * lib/accept4.c (accept4): Invoke original accept4 function first, if + available. + * lib/sys_socket.in.h (accept4): If the function is already present, + override it. + * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation. + * modules/accept4 (Makefile.am): Compile accept4.c always. + Reported by Paolo Bonzini and Eric Blake. + +2009-08-23 Bruno Haible + + New module 'accept4'. + * lib/sys_socket.in.h (accept4): New declaration. + * lib/accept4.c: New file. + * m4/accept4.m4: New file. + * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize + GNULIB_ACCEPT4, HAVE_ACCEPT4. + * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4, + HAVE_ACCEPT4. + * modules/accept4: New file. + * doc/glibc-functions/accept4.texi: Mention the new module. + +2009-08-24 Jim Meyering + + progname: also set global program_invocation_name, when possible + Before this change, a libtool-enabled program that calls glibc's + error function would report the program name as + "/abs/dir/.libs/lt-program_name" rather than the desired program_name. + * modules/progname (configure.ac): Check for a declaration of + program_invocation_name. + * lib/progname.c: Include . + (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]: + Set program_invocation_name. + +2009-08-23 Bruno Haible + + * lib/dup3.c: Include . + +2009-08-23 Bruno Haible + + * lib/dup3.c (dup3): Test only once whether the system actually exists. + * lib/pipe2.c (pipe2): Likewise. + Suggested by Eric Blake. + +2009-08-23 Bruno Haible + + Tolerate declared but missing dup3 syscall. + * lib/dup3.c (dup3): Invoke original dup3 function first, if available. + * lib/unistd.in.h (dup3): If the function is already present, + override it. + * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation. + * modules/dup3 (Makefile.am): Compile dup3.c always. + Reported by Paolo Bonzini. + +2009-08-23 Bruno Haible + + Tolerate declared but missing pipe2 syscall. + * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if + available. + * lib/unistd.in.h (pipe2): If the function is already present, + override it. + * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation. + * modules/pipe2 (Makefile.am): Compile pipe2.c always. + Reported by Paolo Bonzini. + +2009-08-23 Bruno Haible + + * lib/pipe2.c (pipe2): Move #ifs inside function. + +2009-08-22 Joel E. Denny + + quotearg: document limitations of quote_these_too + * lib/quotearg.c (quotearg_buffer_restyled): Add comments where + those limitations are created. + * lib/quotearg.h (set_char_quoting): Document that digits and + letters that are special after backslash are not permitted. + (quotearg_char): Cross-reference set_char_quoting documentation. + +2009-08-23 Joel E. Denny + + quotearg: implement custom_quoting_style + * lib/quotearg.c: (struct quoting_options): Add left_quote and + right_quote fields. + (set_custom_quoting): New public function. + (quotearg_buffer_restyled): Add left_quote and right_quote + arguments, handle them very much like locale quoting, and update + all uses. + (quotearg_n_custom): New public function. + (quotearg_n_custom_mem): New public function. + (quotearg_custom): New public function. + (quotearg_custom_mem): New public function. + * lib/quotearg.h: Prototype and document new public functions. + (enum quoting_style): For escape_quoting_style and + clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is + ignored even though they're otherwise like c_quoting_style. + Add custom_quoting_style member and document with comparison to + clocale_quoting_style. + * tests/test-quotearg.c (custom_quotes): New array. + (custom_results): New array. + (main): Extend to test custom quoting. + +2009-08-22 Joel E. Denny + + quotearg: fix right quote escaping when it's in quote_these_too + * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right + quote, be sure to prepend only one backslash. + * tests/test-quotearg.c (use_quote_double_quotes): New function. + (main): Test it. + +2009-08-22 Joel E. Denny + + quotearg-tests: test escaping of embedded locale quotes + * tests/test-quotearg.c (struct result_strings): Add member for + new input. + (LQ_ENC, RQ_ENC, RQ_ESC): New macros. + (inputs): Add new input. + (results_g): Add expected results. + (flag_results): Likewise. + (locale_results): Likewise. + (compare_strings): Check those. + +2009-08-23 Bruno Haible + + Tests for module 'dup3'. + * modules/dup3-tests: New file. + * tests/test-dup3.c: New file. + + New module 'dup3'. + * lib/unistd.in.h (dup3): New declaration. + * lib/dup3.c: New file. + * m4/dup3.m4: New file. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and + HAVE_DUP3. + * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3. + * modules/dup3: New file. + * doc/glibc-functions/dup3.texi: Mention the new module. + +2009-08-23 Bruno Haible + + Tweak the dup2 test. + * tests/test-dup2.c (main): Create the test file empty. Verify that an + out-of-range fd yields EBADF. Verify that after writing to /dev/null, + the test file is still empty. Fix argument order of lseek. + +2009-08-23 Bruno Haible + + Avoid test link errors when the modules getopt-gnu, gettext are used. + * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD. + Reported by Tom G. Christensen . + +2009-08-23 Bruno Haible + + Fix getdtablesize() on mingw. + * lib/getdtablesize.c (getdtablesize): Implement differently. + * lib/unistd.in.h (getdtablesize): Improve comment. + +2009-08-23 Bruno Haible + + New module 'mkostemp'. + Based on Ulrich Drepper's 2007-08-10 change in glibc. + * lib/stdlib.in.h (mksotemp): New declaration. + * lib/mkostemp.c: New file, from glibc with modifications. + * lib/tempname.h (GT_FILE): Remove outdated comment. + (gen_tempname): Add flags argument. + * lib/tempname.c (__GT_BIGFILE): Remove macro. + (__GT_FILE): Map to 1. + (small_open, large_open): Remove macros. + (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE. + * lib/mkstemp.c (mkstemp): Update. + * lib/mkdtemp.c (mkdtemp): Likewise. + * m4/mkostemp.m4: New file. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP, + HAVE_MKOSTEMP. + * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP, + HAVE_MKOSTEMP. + * modules/mkostemp: New file, based on modules/mkstemp. + * doc/glibc-functions/mkostemp.texi: Mention the new module. + * NEWS: Mention the change. + +2009-08-23 Bruno Haible + + * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms. + Reported by Eric Blake. + +2009-08-23 Bruno Haible + + * lib/pipe2.c (pipe2): Fix test of fcntl's return value. + Reported by Eric Blake. + +2009-08-23 Bruno Haible + + * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl. + * modules/pipe2 (Depends-on): Likewise. + +2009-08-23 Eric Blake + + fcntl-h: add O_TTY_INIT support + * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro. + * tests/test-fcntl-h.c (o): Test it. + * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation. + + fcntl-h: rename from fcntl, in preparation for fcntl(2) + * modules/fcntl: Move header replacement... + * modules/fcntl-h: ...to new name, so as not to collide with + like-named function. + * tests/test-fcntl.c: Rename... + * tests/test-fcntl-h.c: ...to this. Test FD_CLOEXEC. + * modules/fcntl-tests: Rename... + * modules/fcntl-h-tests: ...to this. Update test file name. + * modules/chdir-long (Depends-on): Update clients. + * modules/chdir-safer (Depends-on): Likewise. + * modules/fcntl-safer (Depends-on): Likewise. + * modules/fts (Depends-on): Likewise. + * modules/mkancesdirs (Depends-on): Likewise. + * modules/mkdir-p (Depends-on): Likewise. + * modules/open (Depends-on): Likewise. + * modules/savewd (Depends-on): Likewise. + * MODULES.html.sh (systems lacking POSIX:2008): Update name. + * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation. + +2009-08-22 Bruno Haible + + * modules/binary-io (License): Relicense under LGPL. + * modules/pipe2 (License): Likewise. + +2009-08-22 Bruno Haible + + * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's + return value. + * lib/pipe-filter-gi.c (filter_init): Likewise. + Reported by Eric Blake. + +2009-08-22 Bruno Haible + + * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe. + * modules/pipe (Depends-on): Add pipe2. + +2009-08-22 Bruno Haible + + Tests for module 'pipe2'. + * modules/pipe2-tests: New file. + * tests/test-pipe2.c: New file. + + New module 'pipe2'. + * lib/unistd.in.h (pipe2): New declaration. + * lib/pipe2.c: New file. + * m4/pipe2.m4: New file. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and + HAVE_PIPE2. + * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2. + * modules/pipe2: New file. + * doc/glibc-functions/pipe2.texi: Mention the new module. + +2009-08-22 Bruno Haible + + Reference some new glibc functions. + * doc/glibc-functions/accept4.texi: New file. + * doc/glibc-functions/dup3.texi: New file. + * doc/glibc-functions/mkostemp.texi: New file. + * doc/glibc-functions/pipe2.texi: New file. + * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp. + (Glibc sys/socket.h): Refer to accept4. + (Glibc unistd.h): Refer to dup3, pipe2. + Reported by Eric Blake. + +2009-08-22 Jim Meyering + Bruno Haible + + annotate automake snippets with $(AM_V_GEN) and $(AM_V_at) + This makes it so packages using automake-1.11's silent-rules option + can print e.g., a single "GEN configmake.h" line, rather than + the 30+ statements that perform the job. If you want to see the + actual commands, you can still run "make V=1". + * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes + so that make output is abbreviated when those variables are defined + appropriately. + * modules/argz: Likewise. + * modules/arpa_inet: Likewise. + * modules/byteswap: Likewise. + * modules/configmake: Likewise. + * modules/dirent: Likewise. + * modules/errno: Likewise. + * modules/fcntl: Likewise. + * modules/float: Likewise. + * modules/fnmatch: Likewise. + * modules/getopt-posix: Likewise. + * modules/glob: Likewise. + * modules/iconv_open: Likewise. + * modules/inttypes: Likewise. + * modules/localcharset: Likewise. + * modules/locale: Likewise. + * modules/math: Likewise. + * modules/netdb: Likewise. + * modules/netinet_in: Likewise. + * modules/poll: Likewise. + * modules/posix_spawnp-tests: Likewise. + * modules/sched: Likewise. + * modules/search: Likewise. + * modules/selinux-h: Likewise. + * modules/signal: Likewise. + * modules/spawn: Likewise. + * modules/stdarg: Likewise. + * modules/stdbool: Likewise. + * modules/stddef: Likewise. + * modules/stdint: Likewise. + * modules/stdio: Likewise. + * modules/stdlib: Likewise. + * modules/string: Likewise. + * modules/strings: Likewise. + * modules/sys_file: Likewise. + * modules/sys_ioctl: Likewise. + * modules/sys_select: Likewise. + * modules/sys_socket: Likewise. + * modules/sys_stat: Likewise. + * modules/sys_time: Likewise. + * modules/sys_times: Likewise. + * modules/sys_utsname: Likewise. + * modules/sys_wait: Likewise. + * modules/sysexits: Likewise. + * modules/time: Likewise. + * modules/unistd: Likewise. + * modules/wchar: Likewise. + * modules/wctype: Likewise. + +2009-08-22 Jim Meyering + + announce-gen: detect write failure + * build-aux/announce-gen: Add Coda at end. + Remove equivalent-but-more-verbose block at top. + +2009-08-19 Akim Demaille + + bootstrap: --help to stdout. + * bootstrap (usage): Don't send --help to stderr. + Use a here doc instead of a long string. + +2009-08-21 Eric Blake + + test-popen-safer: split from test-popen + * tests/test-popen.c (main): Move... + * tests/test-popen.h: ...into new file. + * tests/test-popen-safer2.c: New file. + * modules/popen-tests (Files): Add test-popen.h. + * modules/popen-safer-tests (Files): Add test-popen-safer2.c. + Suggested by Bruno Haible. + + test-fcntl-safer: split from test-open + * tests/test-open.c (main): Move... + * tests/test-open.h: ...into new file. + * tests/test-fcntl-safer.c: New file. + * modules/open-tests (Files): Add test-open.h. + * modules/fcntl-safer-tests: New file. + Suggested by Bruno Haible. + + test-fopen-safer: split from test-fopen + * tests/test-fopen.c (main): Move... + * tests/test-fopen.h: ...into new file. + * tests/test-fopen-safer.c: New file. + * modules/fopen-tests (Files): Add test-fopen.h. + * modules/fopen-safer-tests: New file. + Suggested by Bruno Haible. + +2009-08-21 Paolo Bonzini + + popen-safer: test O_CLOEXEC at run-time. + * lib/popen-safer.c: Test O_CLOEXEC at run-time. + +2009-08-21 Paolo Bonzini + + fcntl: move more flags to the header + * lib/cloexec.c: Do not define FD_CLOEXEC here. + * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here. + * lib/fcntl.in.h: Do both things here. + +2009-08-21 Jim Meyering + + consistently remove $@-t before redirecting to it + * modules/argz: Remove $@-t and $@ before redirecting to the former. + * modules/alloca-opt: Likewise. + * modules/byteswap: Likewise. + * modules/fnmatch: Likewise. + * modules/getopt-posix: Likewise. + * modules/glob: Likewise. + * modules/poll: Likewise. + * modules/posix_spawnp-tests: Likewise. + * modules/sys_socket: Likewise. + * modules/sysexits: Likewise. + +2009-08-21 Eric Blake + + popen: simplify access to original popen + * lib/popen.c (rpl_popen): No need to worry about popen being a + macro. + Reported by Bruno Haible. + +2009-08-20 Eric Blake + + build: avoid some compiler warnings + * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing. + * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct + type. + (new_exclude_segment, excluded_file_pattern_p) + (excluded_file_name_p): Reduce scope. + * lib/vasnprintf.c (decimal_point_char): Avoid warning on + old-style declaration. + +2009-08-20 Simon Josefsson + + * tests/test-exclude1.sh: Handle Windows EOL. + * tests/test-exclude2.sh: Likewise. + * tests/test-exclude3.sh: Likewise. + * tests/test-exclude4.sh: Likewise. + * tests/test-exclude5.sh: Likewise. + * tests/test-exclude6.sh: Likewise. + * tests/test-exclude7.sh: Likewise. + +2009-08-19 Akim Demaille + + bootstrap: find sha1sum when named gsha1sum. + * bootstrap (find_tool): New. + ($SHA1SUM): New. + Use it. + +2009-08-20 Jim Meyering + + maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism + * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed + expression that converts "." in a file name to "\." in the resulting + regexp. Start with a dummy statement, so that prior shell variable + definitions are expanded portably. Reported by Simon Josefsson. + +2009-08-20 Paolo Bonzini + + Fix polling for writeability of a screen buffer. + * lib/poll.c: Distinguish input and screen buffers for the + Win32 implementation. + * lib/select.c: Likewise. + +2009-08-19 Eric Blake + + popen-safer: prevent popen from clobbering std descriptors + * modules/popen-safer: New file. + * lib/popen-safer.c: Likewise. + * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro. + * lib/stdio--.h (popen): Provide override. + * lib/stdio-safer.h (popen_safer): Provide declaration. + * tests/test-popen.c (includes): Partially test this. + * modules/popen-safer-tests: New file, for more tests. + * tests/test-popen-safer.c: Likewise. + * MODULES.html.sh (file stream based Input/Output): Mention it. + + tests: test some of the *-safer modules + * modules/fopen-safer (Depends-on): Add fopen. + * modules/fcntl-safer (Depends-on): Add fcntl. + * modules/stdlib-safer (Depends-on): Add stdlib. + (configure.ac): Set indicator. + * modules/unistd-safer (configure.ac): Likewise. + * modules/tmpfile-safer (configure.ac): Likewise. + (Depends-on): Add tmpfile. + * lib/stdio--.h (fopen, tmpfile): Don't override unless module is + active. + * tests/test-fopen.c (includes): Test safer versions when they are + in use. + * tests/test-open.c (includes): Likewise. + + popen: fix cygwin 1.5 bug when stdin closed + * doc/posix-functions/popen.texi (popen): Document cygwin bugs. + * modules/popen: New file. + * modules/popen-tests: Likewise. + * tests/test-popen.c: Likewise. + * m4/popen.m4: Likewise. + * lib/popen.c: Likewise. + * lib/stdio.in.h (popen): New declaration. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen. + * modules/stdio (Makefile.am): Likewise. + * MODULES.html.sh (systems lacking POSIX:2008): Mention it. + +2009-08-17 Joel E. Denny + + maint.mk: give full control over update-copyright exclusions + * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use + ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion. + (update-copyright): Don't force inclusion of top-level + ChangeLog. Don't force exclusion of all COPYING files, but make + them the default exclusion instead. + +2009-08-16 Bruno Haible + + Fix test failures on Solaris 10. + * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp + tests when Solaris iconv() is used. + * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise. + * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise. + * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise. + * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise. + * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise. + +2009-08-16 Bruno Haible + + Fix test failures on Solaris 10. + * tests/test-pipe-filter-ii1.sh: Determine the filename of a working + 'tr' program and pass it as first argument. + * tests/test-pipe-filter-gi1.sh: Likewise. + * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr' + program as first argument. + * tests/test-pipe-filter-gi1.c (main): Likewise. + +2009-08-16 Eric Blake + + fpurge: fix previous commits + * modules/fpurge (Makefile.am): Make replacement conditional, + partially reverting 2007-04-29 change; missed in previous + attempt. + * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge + is missing. + +2009-08-16 Bruno Haible + + Clarify fpurge's effect on the file position. + * lib/stdio.in.h (fpurge): Specify the file position after fpurge. + * tests/test-fpurge.c (main): Make a second pass for checking the file + position. + +2009-08-16 Bruno Haible + + * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the + declaration of fpurge is missing. + * tests/test-fpurge.c (main): Check that the file has not more contents + than expected. Close the file before removing it. + +2009-08-15 Eric Blake + + fpurge: don't wrap working cygwin implementation + * lib/fpurge.c (fpurge): Fix comment typo. + * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin + 1.7 to avoid replacement. + * tests/test-fpurge.c (main): Enhance test. + +2009-08-15 Eric Blake + and Jim Meyering + + test-update-copyright: skip if perl is insufficient + * tests/test-update-copyright.sh: Failure to run maintainer tool + should not cause testsuite failure on cygwin 1.5. + +2009-08-14 Eric Blake + + doc: mention more functions added in cygwin 1.7.0 + * doc/posix-headers/limits.texi (limits.h): Update for recent + cygwin additions. + * doc/posix-headers/wordexp.texi (wordexp.h): Likewise. + * doc/posix-functions/wordexp.texi (wordexp): Likewise. + * doc/posix-functions/wordfree.texi (wordfree): Likewise. + * doc/posix-functions/setlocale.texi (setlocale): Likewise. + * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise. + +2009-08-14 Eric Blake + + maint.mk: simplify update-copyright rule + * top/maint.mk (update-copyright-local): Delete, and document how + to do it in cfg.mk instead. + (update-copyright-exclude-regexp): Delete, and document how to do + it in .x-update-copyright instead. + (update-copyright): Simplify, thanks to VC_LIST_EXCEPT. Don't + exclude ChangeLog. + +2009-08-14 Bruno Haible + + * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit. + +2009-08-14 Joel E. Denny + + maint.mk: support update-copyright-env + * top/maint.mk (update-copyright-env): Define place-holder. + (update-copyright): Expand $(update-copyright-env) before + invoking update-copyright. + +2009-08-14 Joel E. Denny + + update-copyright: implement forced reformatting + * build-aux/update-copyright: Implement and document + UPDATE_COPYRIGHT_FORCE. + * tests/test-update-copyright.sh: Test it. + +2009-08-14 Eric Blake + and Bruno Haible + + stddef: fix NetBSD 5.0 NULL bug, rather than working around it + * tests/test-locale.c: Revert previous patch related to NULL. + * tests/test-stdio.c: Likewise. + * tests/test-stdlib.c: Likewise. + * tests/test-string.c: Likewise. + * tests/test-unistd.c: Likewise. + * modules/time-tests (Depends-on): Add verify. + * modules/wchar-tests (Depends-on): Likewise. + * tests/test-time.c: Test for NULL compliance. + * tests/test-wchar.c: Likewise. + * modules/locale (Depends-on): Add stddef. + * modules/stdio (Depends-on): Likewise. + * modules/stdlib (Depends-on): Likewise. + * modules/string (Depends-on): Likewise. + * modules/time (Depends-on): Likewise. + * modules/unistd (Depends-on): Likewise. + * modules/wchar (Depends-on): Likewise. + * lib/locale.in.h (includes): Use to fix NULL. + * lib/stdlib.in.h (includes): Likewise. + * lib/string.in.h (includes): Likewise. + * lib/time.in.h (includes): Likewise. + * lib/unistd.in.h (includes): Likewise. + * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was + replaced. + * m4/wchar.m4 (gl_WCHAR_H): Likewise. + * m4/stddef_h.m4: New file. + * modules/stddef: Likewise. + * lib/stddef.in.h: Likewise. + * modules/stddef-tests: Likewise. + * tests/test-stddef.c: Likewise. + * MODULES.html.sh (Basic types ): Mention new module. + * doc/posix-headers/stddef.texi (stddef.h): Document the bug. + * doc/posix-headers/locale.texi (locale.h): Likewise. + * doc/posix-headers/stdio.texi (stdio.h): Likewise. + * doc/posix-headers/stdlib.texi (stdlib.h): Likewise. + * doc/posix-headers/string.texi (string.h): Likewise. + * doc/posix-headers/time.texi (time.h): Likewise. + * doc/posix-headers/unistd.texi (unistd.h): Likewise. + * doc/posix-headers/wchar.texi (wchar.h): Likewise. + +2009-08-14 Eric Blake + + doc: improve git diff of texinfo files + * .gitattributes: Add rule for *.texi files, with hint on how to + use it. + Copied from m4, and based on a report by Bruno Haible. + +2009-08-14 Bruno Haible + + Disable multithread support by default on Cygwin 1.5.x for real. + * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit. + +2009-08-14 Joel E. Denny + + update-copyright: much ado about intervals + * build-aux/update-copyright: Implement and document + UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse + of copyright year intervals. + Also, document UPDATE_COPYRIGHT_YEAR. + * tests/test-update-copyright.sh: Test it. + + update-copyright: convert 2-digit to 4-digit years + * build-aux/update-copyright: Implement and document. + * tests/test-update-copyright.sh: Update. + +2009-08-14 Jim Meyering + + test-exclude: avoid coreutils "make check" failure + * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define, + just as in test-argmatch.c. + +2009-08-13 Eric Blake + + test-dup2: fix bad assumption + * tests/test-dup2.c (main): Tolerate leaked fds from environment. + Reported by Peter Breitenlohner . + + test-version-etc: fix CRLF portability issue + * tests/test-version-etc.sh: Use tr, not sed, as not all sed + recognize \r. + * tests/test-argp-version-etc-1.sh: Likewise. + + getopt: update client modules + * modules/argp (Depends-on): Use getopt-gnu. + * modules/git-merge-changelog (Depends-on): Likewise. + * modules/long-options (Depends-on): Likewise. + * modules/xstrtol (Depends-on): Likewise. + +2009-08-13 Simon Josefsson + + * tests/test-version-etc.sh: Don't fail on different + project/version. Don't fail on CRLF differences. Rewrite to use + multiple -e instead of multiple sed forks, suggested by Eric Blake + . + * tests/test-argp-version-etc-1.sh: Likewise. + +2009-08-13 Simon Josefsson + + * tests/test-version-etc.sh: Don't fail on different + project/version. + +2009-08-12 Bruno Haible + + Tests for modules 'getopt-posix', 'getopt-gnu'. + * modules/getopt-posix-tests: New file. + * tests/test-getopt.c: New file. + * tests/test-getopt.h: New file. + * tests/test-getopt_long.h: New file. + + New modules 'getopt-posix', 'getopt-gnu'. + * modules/getopt-gnu: New file, renamed from modules/getopt. + * modules/getopt-posix: New file. + * modules/getopt: Turn into an obsolete alias for getopt-gnu. + * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros. + (gl_GETOPT): Remove macro. + (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU. + Disable the test against BSD systems that declare optreset. Test + against mingw bug. Test against lack of support of optional arguments + on many platforms. + * doc/glibc-headers/getopt.texi: Update module name and list of + relevant platforms. + * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and + 'getopt-gnu' and more portability problems. + * NEWS: Mention the changes. + +2009-08-12 Bruno Haible + + Ensure that optarg etc. get declared by . + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require + AC_USE_SYSTEM_EXTENSIONS. + * modules/getopt (Depends-on): Add 'extensions'. + +2009-08-12 Bruno Haible + + Avoid test link errors. + * modules/pipe-filter-ii-tests (Makefile.am): Define + test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD. + * modules/pipe-filter-gi-tests (Makefile.am): Define + test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD. + Reported by Tom G. Christensen . + +2009-08-12 Bruno Haible + + * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called + gl_GETOPT_SUBSTITUTE before. + (gl_GETOPT): Use it. + * m4/argp.m4 (gl_ARGP): Update. + Reported by Sergey Poznyakoff. - * src/fa.c (fa_ambig_example): getting a NULL example is not an error + * m4/getopt.m4: Reorder macros. + (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE. + (gl_GETOPT_SUBSTITUTE): Remove macro. + +2009-08-12 Sergey Poznyakoff + + Minor improvement in gitlog-to-changelog + + * build-aux/gitlog-to-changelog: New option `--format' makes + output format string configurable. + +2009-08-12 Sergey Poznyakoff + + Optimize exclude: use hash tables for non-wildcard patterns. + + * lib/exclude.c: Include hash.h and mbuiter.h + (struct exclude_pattern, exclude_segment): New data types. + (struct exclude): Rewrite. + (fnmatch_pattern_has_wildcards): New function. + (new_exclude_segment, free_exclude_segment): New functions. + (excluded_file_pattern_p, excluded_file_name_p): New functions. + (excluded_file_name, add_exclude): Rewrite using new struct exclude. + * lib/exclude.h (is_fnmatch_pattern): New prototype. + * modules/exclude: Depend on hash and mbuiter. + + * modules/exclude-tests: New file. + * tests/test-exclude.c: New file. + * tests/test-exclude1.sh: New file. + * tests/test-exclude2.sh: New file. + * tests/test-exclude3.sh: New file. + * tests/test-exclude4.sh: New file. + * tests/test-exclude5.sh: New file. + * tests/test-exclude6.sh: New file. + * tests/test-exclude7.sh: New file. + +2009-08-12 Bruno Haible + + Ensure that getopt() gets declared by . + * lib/unistd.in.h: Conditionally include getopt.h. + * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS. + Set GNULIB_UNISTD_H_GETOPT. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + GNULIB_UNISTD_H_GETOPT. + * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT. + +2009-08-12 Bruno Haible + + Clarify logic. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use + gl_replace_getopt instead of GETOPT_H. + +2009-08-12 Bruno Haible + + * m4/getopt.m4: Add comments. + +2009-08-12 Bruno Haible + + Disable multithread support by default on Cygwin 1.5.x. + * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older, + set gl_use_threads=no if not specified otherwise. + +2009-08-11 Bruno Haible + + Avoid compilation error on NetBSD 5.0. + * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL. + * tests/test-stdio.c: Likewise. + * tests/test-stdlib.c: Likewise. + * tests/test-string.c: Likewise. + * tests/test-unistd.c: Likewise. + Reported by Greg Troxel + at . + +2009-08-11 Bruno Haible + + * modules/dup2-tests (Depends-on): Remove close. + + Undo 2009-07-19 commit. + * modules/acl-tests (Depends-on): Remove close. + * modules/binary-io-tests (Depends-on): Likewise. + * modules/closein-tests (Depends-on): Likewise. + * modules/flock-tests (Depends-on): Likewise. + * modules/fsync-tests (Depends-on): Likewise. + * modules/lseek-tests (Depends-on): Likewise. + * modules/pipe-tests (Depends-on): Likewise. + * modules/posix_spawn-tests (Depends-on): Likewise. + * modules/posix_spawnp-tests (Depends-on): Likewise. + * modules/stat-time-tests (Depends-on): Likewise. + * modules/yesno-tests (Depends-on): Likewise. + +2009-08-10 Bruno Haible + + * lib/vasnprintf.c (DCHAR_SET): Undefine at the end. + +2009-08-10 Bruno Haible + + Fix a gcc warning. + * lib/write.c (rpl_write): Cast result of _get_osfhandle. + +2009-08-10 Bruno Haible + + Don't optimize AC_LIBOBJs, as they may appear in different contexts. + * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally, + not only the first time. + * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise. + * m4/open.m4 (gl_REPLACE_OPEN): Likewise. + * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR + is 1, not only the the first time. + +2009-08-10 Bruno Haible + + Make it possible to use module 'gethostname' without module 'close'. + * lib/unistd.in.h (close): Evoke a link error only if + UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS. + * modules/unistd (Makefile.am): Substitute + UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS. + * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if + SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set. + * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize + SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS. + * modules/sys_ioctl (Makefile.am): Substitute + SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS. + * modules/socket (configure.ac): On native Windows, set + UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and + SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS. + Reported by Sam Steingold . + +2009-08-10 Bruno Haible + + * m4/close.m4 (gl_FUNC_CLOSE): Add comment. + * modules/ioctl (configure.ac): Likewise. + +2009-08-10 Bruno Haible + + Avoid collision between gnulib wrapper and libintl wrapper. + * lib/stdio-write.c (printf): Don't define if a printf wrapper is + already defined in intl/printf.c. + (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX. + (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX. + +2009-08-09 Bruno Haible + + Make really self-contained, also on Solaris 10. + * lib/sys_select.in.h: Include . + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against + Solaris 10 problem. + * tests/test-sys_select.c (main): Add check that FD_ZERO can be used. + * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem. + Reported by Jim Meyering. + +2009-08-09 Bruno Haible + + Avoid warnings from 'aclocal' that are due to a use of macro name + AM_XGETTEXT_OPTION that is not defined in automake. + * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from + automake. + * modules/error (configure.ac): Likewise. + * modules/propername (configure.ac): Likewise. + * modules/vasprintf (configure.ac): Likewise. + * modules/verror (configure.ac): Likewise. + * modules/xprintf (configure.ac): Likewise. + * modules/xvasprintf (configure.ac): Likewise. + +2009-08-08 Bruno Haible + + Avoid compilation error in C++ mode. + * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument. + Reported by Sam Steingold . + +2009-08-08 Bruno Haible + + * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also + for the various Unix platforms. + * doc/posix-headers/limits.texi: Update platforms list regarding + HOST_NAME_MAX. + Reported by Tom G. Christensen . + +2009-08-07 Jim Meyering + + selinux-at: fix typo in a comment + * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment. + Spotted by Paolo Bonzini. + + selinux-at: remove redundant m4 code, add documentation + * modules/selinux-at (configure.ac): Remove redundant code. + LIB_SELINUX is already set via the dependent module, selinux-h. + (Include): Add quotes around selinux-at.h. + * lib/selinux-at.h: Add documentation. + Reported by Bruno Haible in + http://marc.info/?l=gnulib-bug&m=124958988300749 - * src/syntax.c (compile): give up after the first error - We have no error recovery to speak off; if we keep going, we most of the - time carpet-bomb the user with error messages that are simple follow-ons to - the first error. +2009-08-07 Bruno Haible + + Avoid link error on MacOS X 10.3 and 10.4. + * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize + on non-ELF systems. + * lib/argp-pv.c (argp_program_version): Likewise. + Reported by Simon Josefsson. + +2009-08-07 Simon Josefsson + + * tests/test-version-etc.sh: Use $EXEEXT. + +2009-08-06 Joel E. Denny + + update-copyright: update documentation to point to maint.mk + * build-aux/update-copyright: Here. + +2009-08-06 Jim Meyering + + maint.mk: support update-copyright-local + * top/maint.mk (update-copyright-local): Define place-holder. + (update-copyright): Depend on $(update-copyright-local). - * TODO: deleted, that list is in Trac now +2009-08-06 Jim Meyering - * src/fa.c (fa_intersect): initialize vars that could be used on error + selinux-at: new module + Initially written for coreutils, this module will soon be + used by findutils, too. + * MODULES.html.sh [Misc]: Add selinux-at. + * lib/selinux-at.h: New file, from coreutils. + * lib/selinux-at.c: Likewise. + * modules/selinux-at: Likewise. + (License): Change from LGPL to GPL, since it depends + on the GPL'd openat module. - * src/fa.c (fa_as_regexp): convert strings more efficiently - Since we are building the transitive closure of the FA, cut down the size - of the FA by first extracting strings and removing their internal states. + doc: update README + * README: Remove references to cogito. + Remove cvs-repo-updating instructions from 2007. + Don't imply that CVS is better if you have limited disk space. - * src/fa.c (fa_as_regexp): fin only accepting state, no trans fin->fin +2009-08-05 Joel E. Denny - Indicate whether an FA uses character ranges or regexps on transitions - * src/fa.c (struct fa): new field trans_re; (fa_as_regexp): set trans_re; - (fa_dot): print regexp rather than char range if trans_re is set + update-copyright: support C-style comments + * build-aux/update-copyright: Implement and document. + * tests/test-update-copyright.sh: Test. -2010-01-13 David Lutterkort +2009-08-05 Joel E. Denny - Add syntax for case-insensitive regexps - A regexp literal /regexp/i will be converted to a case-insensitive regexp. + update-copyright: support omitted "(C)" + * build-aux/update-copyright: Implement and document. Also, + allow variable whitespace before "(C)". + * tests/test-update-copyright.sh: Test. - * src/regexp.c (regexp_minus): respect nocase flags +2009-08-05 Joel E. Denny - * src/lens.c (str_to_fa): compile nocase fa when needed + update-copyright: don't trip on non-FSF copyright statements + * build-aux/update-copyright: Fix so that the first correctly + formatted FSF copyright statement is recognized no matter what + appears before it. Update documentation. + * tests/test-update-copyright.sh: Test that. - * src/lens.c (str_to_fa): remove FIXME's and use proper error reporting +2009-08-05 Joel E. Denny -2010-01-13 David Lutterkort + update-copyright: clean up code a little + * build-aux/update-copyright: Append "_re" to the name of any + variable holding a regular expression. + Replace "old" and "new" with "stmt" in variable names. + Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not + handled correctly. + Format code more consistently. - Support for case-insensitive regexps - Add nocase argument to make_regexp, and adjust all uses of make_regexp to - pass that in. For concatenation and union of regexps we have to expand - case-insensitive regexps when they are mixed with case-sensitive regexps. +2009-08-05 Joel E. Denny - Adjust all uses of make_regexp. + update-copyright-tests: improve portability + * tests/test-update-copyright.sh: Use cmp if diff cannot handle + -u or /dev/null. Suggested by Jim Meyering and Eric Blake. -2010-01-13 David Lutterkort +2009-08-03 Joel E. Denny - Add fa_expand_nocase to libfa + update-copyright: support @copyright{} and © + * build-aux/update-copyright: Implement and document. + * tests/test-update-copyright.sh: Test. - Support for case-insensitive operations in libfa - * src/fa.h (fa_nocase, fa_is_nocase): new functions - * src/fa.c (struct fa): new field nocase; (fa_is_basic): a total FA has - two transitions under nocase; (fa_clone): preserve nocase flag; - (union_in_place, concat_in_place, fa_intersect): if one operand is - nocase, and the other isn't, expand the nocase FA to a case-sensitive - one; (totalize): do not add transitions on [A-Z]; (fa_nocase, - fa_is_nocase): new functions; (case_expand): new function - * tests/fatest.c (assertExample): also test against a nocase FA; - (testNoCase): test concat etc. on nocase FA's +2009-08-04 Jim Meyering - * src/lens.c (subtree_atype): new function + update-copyright-tests: correctly test EOL=\r\n handling + * tests/test-update-copyright.sh: Put \r at the end of some lines + for the dos-eol tests. Based on a patch by Joel E. Denny. -2010-01-07 David Lutterkort + maint.mk: make update-copyright exclusion list more configurable + * top/maint.mk (update-copyright): Default to excluding COPYING, + but allow an override, in case someone does want to update that file. - Facelift for augtool - This makes augtool somewhat friendlier, mostly because + maint.mk: don't update copyright date in COPYING + * top/maint.mk (update-copyright): Exclude COPYING. - - help is organized better: typing 'help' produces a list of commands and - a brief synopsis for each, typing 'help command' prints detailed help - about a command - - augtool now knows about path expressions, so that they do not need to - be enclosed in quotes if they have spaces with predicates, e.g. you can - now type 'get /foo[ last() ]' + maint.mk: add a copyright-updating rule + * top/maint.mk (update-copyright): New rule. + Derived from coreutils/Makefile.am. -2010-01-07 David Lutterkort + update-copyright: rename some variables + * build-aux/update-copyright: Rename a few variables for clarity. + Tweak syntax. List Joel E. Denny as coauthor. - Record an error if more than one lens tries to load a file - * src/transform.c (file_info): new function; (transform_load): detect if - more than one lens tries to load a file and record error in - /augeas/files/PATH/error +2009-08-03 Joel E. Denny - Pull computing a path underneath /files from a filename into a function - * src/transform.c (file_name_path): new function; (load_file): use - file_name_path + update-copyright: fix bug for 2-digit last year and add tests + * build-aux/update-copyright: Fix bug. + Use UPDATE_COPYRIGHT_YEAR from environment as current year if + specified. + * modules/update-copyright-tests: New + * tests/test-update-copyright.sh: New. -2010-01-07 David Lutterkort +2009-07-31 Joel E. Denny - Change the metadata for individual files - Record the name of the lens used to load the file in the lens node - underneath /augeas/files/$PATH; the location info of the lens is kept in - lens/info + update-copyright: handle leading tabs in line prefix + * build-aux/update-copyright: Count leading tabs as 8 spaces + when computing margin. This helps with the formatting of + ChangeLogs, for example. + Fix documentation a little. + +2009-07-31 Joel E. Denny - * src/transform.c (add_file_info): change what we keep underneath the - lens node - * tests/xpath.tests (lircd-ancestor): adapt to metadata change + update-copyright: support EOL=\r\n + * build-aux/update-copyright: Implement that. + +2009-07-31 Joel E. Denny -2010-01-07 David Lutterkort + update-copyright: automatically format copyright statements + * build-aux/update-copyright: Implement that. + Also, be a little more predictable and safer by always failing + when the full copyright format is not perfectly recognized as an + unbroken whole. Discussed at + . + Rewrite documentation. - * src/transform.c (add_file_info): manipulate tree directly - Going through public functions like aug_set is silly, and causes all kinds - of string munging. +2009-08-03 Bruno Haible - Produce better error message for multiple matching transforms in save - * src/augeas.h (aug_errcode_t): new error code AUG_EMXFM - * src/augeas.c (errcodes): new error string for AUG_EMXFM; (tree_save): - report multiple transforms as proper error - * tests/test-save.c (testMultipleXfm): new test + * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64. - New function transform_file_error - * src/transfrom.h (transform_file_error): add prototype - * src/transform.c (transform_file_error): new function +2009-08-02 Bruno Haible - New function xfm_lens_name - * src/transfrom.h (xfm_lens_name): add prototype - * src/transform.c (xfm_lens_name): new function + Tests for module 'uname'. + * modules/uname-tests: New file. + * tests/test-uname.c: New file. -2010-01-07 David Lutterkort + New module 'uname'. + * lib/uname.c: New file. + * m4/uname.m4: New file. + * modules/uname: New file. + * doc/posix-functions/uname.texi: Mention the new module. - Tree functions to find/create a node with a path expression - Internal counterparts to aug_get and aug_set +2009-08-02 Bruno Haible - * src/internal.h (tree_find, tree_find_cr): new prototypes - * src/augeas.c (tree_find, tree_find_cr): new functions + Tests for module 'sys_utsname'. + * modules/sys_utsname-tests: New file. + * tests/test-sys_utsname.c: New file. -2010-01-07 David Lutterkort + New module 'sys_utsname'. + * lib/sys_utsname.in.h: New file, based on glibc's . + * m4/sys_utsname_h.m4: New file. + * modules/sys_utsname: New file. + * doc/posix-headers/sys_utsname.texi: Mention the new module. - * src/internal.h: make various tree management functions available +2009-08-02 Bruno Haible -2010-01-06 David Lutterkort + Implicitly initialize the sockets library. + * lib/gethostname.c: Include sockets.h. + (rpl_gethostname): Invoke gl_sockets_startup. + * lib/socket.c: Include sockets.h. + (rpl_socket): Invoke gl_sockets_startup. + * modules/gethostname (Depends-on): Add sockets. + * modules/socket (Depends-on): Likewise. + * tests/test-poll.c: Don't include sockets.h. + (main): Don't invoke gl_sockets_startup. + * tests/test-select.c: Don't include sockets.h. + (main): Don't invoke gl_sockets_startup. - Xinetd (name): fix bad '-' in character class +2009-08-02 Bruno Haible -2010-01-05 David Lutterkort + Allow multiple calls to gl_sockets_startup. + * lib/sockets.c (initialized_sockets_version): New variable. + (gl_sockets_startup): Do nothing if already called for this or a higher + version. + (gl_sockets_cleanup): Reset initialized_sockets_version. - Do not choke on non-existing lens during save - * src/transform.c (add_file_info): check that lens is non-NULL; - (lens_from_name): provide detailed error message when lens lookup - failed; (transform_validate): copy error from lens_from_name into tree - * tests/test-save.c (testNonExistentLens): new test +2009-08-03 Simon Josefsson - Fixes bug #98 + * tests/test-argp-version-etc-1.sh: Use EXEEXT. Don't fail on + different project/version. -2010-01-05 David Lutterkort +2009-08-02 Paolo Bonzini + Bruno Haible - New error code AUG_ENOLENS - Indicates failure to look a lens up by name from /augeas/load/*/lens + Tests for module 'pipe-filter-gi'. + * modules/pipe-filter-gi-tests: New file. + * tests/test-pipe-filter-gi1.sh: New file. + * tests/test-pipe-filter-gi1.c: New file. + * tests/test-pipe-filter-gi2.sh: New file. + * tests/test-pipe-filter-gi2-main.c: New file. + * tests/test-pipe-filter-gi2-child.c: New file. - * src/augeas.h (aug_errcode_t): new value AUG_ENOLENS - * src/augeas.c (errcodes): new entry for AUG_ENOLENS + New module 'pipe-filter-gi'. + * lib/pipe-filter-gi.c: New file. + * modules/pipe-filter-gi: New file. -2010-01-05 David Lutterkort +2009-08-02 Bruno Haible + Paolo Bonzini - * src/lens.c (lens_release): tolerate a NULL lens + Tests for module 'pipe-filter-ii'. + * modules/pipe-filter-ii-tests: New file. + * tests/test-pipe-filter-ii1.sh: New file. + * tests/test-pipe-filter-ii1.c: New file. + * tests/test-pipe-filter-ii2.sh: New file. + * tests/test-pipe-filter-ii2-main.c: New file. + * tests/test-pipe-filter-ii2-child.c: New file. -2010-01-04 Bryan Kearney + New module 'pipe-filter-ii'. + * lib/pipe-filter.h: New file. + * lib/pipe-filter-ii.c: New file. + * lib/pipe-filter-aux.h: New file. + * modules/pipe-filter-ii: New file. - Cobblersettings: new lens and test +2009-08-02 Simon Josefsson -2010-01-04 David Lutterkort + * lib/gc-libgcrypt.c: Change copyright to FSF. + * lib/gc-gnulib.c: Likewise. - Rename read_file to xread_file +2009-08-02 Martin Lambers (tiny change) -2009-12-23 David Lutterkort + * lib/gethostname.c: Include limits.h. - * src/lens.c (lns_make_union, lns_make_concat): do not access free'd memory - make_lens_binop may free one of the lenses it gets passed. We can therefore - not reference them after a call to make_lens_binop. +2009-08-02 Simon Josefsson + Bruno Haible - * src/lens.c (format_lens): minimalistic pretty-printing of a lens + Ensure HOST_NAME_MAX as part of the gethostname module. + * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms, + define also HOST_NAME_MAX. + * tests/test-gethostname.c: Include . + (main): Check also HOST_NAME_MAX. + * doc/posix-headers/limits.texi: Document the mingw problem. - * src/regexp.c (print_regexp): clean the regexp with fa_restrict_alphabet +2009-08-02 Bruno Haible -2009-12-18 David Lutterkort + * lib/gethostname.c (gethostname): Fix handling of large len argument. + Add comments. - * src/builtin.c (lens_get, lens_put): propagate errors as exceptions +2009-03-31 Simon Josefsson -2009-12-18 David Lutterkort + * lib/gethostname.c: Add Windows wrapper. + * m4/gethostname.m4: Look for gethostname in -lws2_32. + * modules/gethostname: Depend on sys_socket & errno, for also + added lib/w32sock.h. Add GETHOSTNAME_LIB link directive. + * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@. - More convenience macros for errors - Add BUG_ON and ERR_RET macros for reporting internal errors +2009-07-31 Jim Meyering - * src/errcode.h (BUG_ON, ERR_RET, HAS_ERR): new macros - * src/errcode.c (bug_on): implementation for BUG_ON + getloadavg: fix symbol name in comment + * lib/getloadavg.c: Correct a typo I introduced when adding + comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/. + Matt Kraai spotted the problem. -2009-12-17 David Lutterkort +2009-07-29 Matt Kraai - Lokkit: allow '-' in arguments + getloadavg: check whether n_name is a pointer, for QNX 6.4.1 + * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name + code also if ! defined N_NAME_POINTER. + * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER. + This is required on QNX 6.4.1, where /usr/include/nlist.h exists, + but the n_name member is a 12-byte array. - Iptables: handle both negation syntaxes - Options can be negated either with '! --option arg' or with '--option ! - arg'. We now handle both, though they lead to slightly different trees +2009-07-29 Joel E. Denny -2009-12-14 David Lutterkort + update-copyright: generalize comment handling + * build-aux/update-copyright: Handle copyright statements + within more comment styles. + Document usage. + Report any file with an external copyright holder or parse failure. - * doc/ftdetect/augeas.vim: fix syntax +2009-07-29 Jim Meyering -2009-12-09 Partha Aji + mktime: correct setting of REPLACE_MKTIME + * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required. - Made samba aug accept entry keys with ':' in them + update-copyright: new module + * modules/update-copyright: New file. + * build-aux/update-copyright: New file. + * MODULES.html.sh (maint+release support): Add update-copyright. -2009-12-09 David Lutterkort +2009-07-27 Bruno Haible - Shellvars: allow arrays that span multiple lines + Fix compilation error when is used and mktime is replaced. + * lib/time.in.h (mktime): New declaration. + * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set + REPLACE_MKTIME instead of defining mktime in config.h. + * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME. + * modules/time (Makefile.am): Substitute REPLACE_MKTIME. + Reported by Ross McFarland . -2009-12-07 David Lutterkort +2009-07-27 Bruno Haible - Iptables: allow quoted strings as arguments + * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it. + Reported by Matt Kraai . -2009-11-30 David Lutterkort +2009-07-25 Jim Meyering - Version 0.6.0 + maint.mk: avoid warnings about missing files + * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a + diagnostic when .prev-version does not exist. + (_cfg_mk): Define, so it can be empty when cfg.mk does not exist. + (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about + nonexistent cfg.mk. + Suggestions from Simon Josefsson. - Distribute and install vim syntax files - Fixes ticket #97 +2009-07-25 Bruno Haible - * Makefile.maint: sign tags + * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already + defined as macros. Needed on QNX 6.4.1. + Reported by Matt Kraai . - Krb5: allow v4_name_convert in libdefaults section - Fixes part of ticket #95 +2009-07-23 Jim Meyering - Fstab: allow # in the spec - Fixes part of ticket #95 + maint.mk: invoke "make dist" with a working value of XZ_OPT + * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT. + +2009-07-22 Matt Kraai (tiny change) + + Make fseeko.c compile on QNX. + * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE. + +2009-07-22 Peter Simons + + C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope + * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope. + * lib/md4.h: Likewise. + * lib/md5.h: Likewise. + * lib/sha1.h: Likewise. + * lib/sha256.h: Likewise. + * lib/sha512.h: Likewise. + + tests-sha1: don't assign literal string to 'char *' variable + * tests/test-sha1.c (main): Declare locals with "const" to match + attributes of the right hand side. + +2009-07-21 Eric Blake + + dup2: fix more mingw problems + * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating + fd to itself. + * doc/posix-functions/dup2.texi (dup2): Document the bug. + * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision. + * lib/fchdir.c (dup2): Manage preprocessor macros correctly. + (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take + care of mingw bugs. + +2009-07-21 Jim Meyering + + vc-list-files: avoid failure when /bin/sh is dash + * build-aux/vc-list-files: Avoid a shell portability problem with dash. + On some Debian based systems, /bin/sh is a symlink to dash, and running + this command would omit the "/" following each 'tests' prefix: + dash -x build-aux/vc-list-files -C . tests + That is because bash and dash work differently: + $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done + bash ok + dash odd + +2009-07-21 Eric Blake + + dup2-tests: test previous patch + * modules/dup2-tests: New file. + * tests/test-dup2.c: Likewise. + * tests/test-open.c (main): Avoid unspecified behavior. + * tests/test-pipe.c (child_main): Use dup2 semantics to simplify + test. + + dup2: work around mingw and cygwin 1.5 bug + * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. + * modules/unistd (Makefile.am): Substitute it. + * lib/unistd.in.h (dup2): Declare the replacement. + * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it. + * doc/posix-functions/dup2.texi (dup2): Document the bugs. + * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement. + * modules/execute (Depends-on): Add dup2. + * modules/fseterr (Depends-on): Likewise. + * modules/pipe (Depends-on): Likewise. + * modules/posix_spawn-internal (Depends-on): Likewise. + +2009-07-21 Bruno Haible + + * modules/.gitattributes: New file. + +2009-07-20 Bruno Haible + + * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro. + (main): Use it. + +2009-07-20 Eric Blake + + test-pipe: make a bit more robust. + * tests/test-pipe.c (myerr): Allow error messages regardless of + what we do to stderr. + (test_pipe): Rearrange to avoid deadlock. + (child_main): Try a larger read, to ensure we avoided deadlock. + * lib/pipe.c (create_pipe) [_WIN32]: Fix comment. + * lib/pipe.h (create_pipe_bidi): Document potential for deadlock + if misused. + +2009-07-19 Jim Meyering + + fts: avoid false-positive cycle-detection + * lib/fts.c (fts_read): Reinitialize cycle-detection data structures + for each new command line argument. + +2009-07-19 Bruno Haible + + Fix build error on mingw with the modules sys_select and unistd. + * modules/acl-tests (Depends-on): Add close. + * modules/binary-io-tests (Depends-on): Likewise. + * modules/closein-tests (Depends-on): Likewise. + * modules/flock-tests (Depends-on): Likewise. + * modules/fsync-tests (Depends-on): Likewise. + * modules/lseek-tests (Depends-on): Likewise. + * modules/pipe-tests (Depends-on): Likewise. + * modules/posix_spawn-tests (Depends-on): Likewise. + * modules/posix_spawnp-tests (Depends-on): Likewise. + * modules/stat-time-tests (Depends-on): Likewise. + * modules/yesno-tests (Depends-on): Likewise. + +2009-07-19 Bruno Haible + + Unify conditionals. + * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__ + macros, not at the compiler macros. + * lib/pipe.c: Likewise. + * lib/execute.c: Likewise. + * lib/spawni.c: Likewise. + +2009-07-19 Bruno Haible + + Fix handling of closed stdin/stdout/stderr on mingw. + * lib/w32spawn.h: Include unistd.h. + (dup_noinherit): Return -1 if the old handle is invalid. Allocate new + file descriptor with O_NOINHERIT flag. + (fd_safer_noinherit): New function, based on fd-safer.c. + (dup_safer_noinherit): New function, based on dup-safer.c. + (undup_safer_noinherit): New function. + * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of + dup_noinherit. Use undup_safer_noinherit instead of dup2 and close. + * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit + instead of fd_safer. + * tests/test-pipe.c: Include . + (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() + result. + + * tests/test-pipe.c (child_main, parent_main): New functions, extracted + from main. + (test_pipe): Pass an extra argument for disambiguation. + (main): Invoke parent_main or child_main. + + * tests/test-pipe.c (test_pipe): Pass slave_process = true argument + consistently. + +2009-07-18 Eric Blake + + test-pipe: fix mingw build + * tests/test-pipe.c (main): Avoid fcntl on mingw. + +2009-07-18 Bruno Haible + + * modules/pipe-tests (Makefile.am): Fix typo. + +2009-07-18 Eric Blake + + error: fix mingw build + * lib/error.c (error, error_at_line): Avoid fcntl on mingw. + Reported by Bruno Haible. + + error: avoid undefined use of stdout + * lib/error.c (error, error_at_line): Check that fd 1 is open + before flushing stdout. Avoids a crash on cygwin when libsigsegv + is handling faults and the close_stdout module wants to report the + detection of closed stdout as an error. + +2009-07-17 Eric Blake + + pipe: be robust in face of closed fds + * lib/pipe.c (create_pipe): Closed standard descriptors in parent + should cause child to misbehave. + * modules/pipe-tests: New module. + * tests/test-pipe.c: New file. + * tests/test-pipe.sh: New file. + Reported by Akim Demaille. + +2009-07-14 Bruno Haible + + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems. + Reported by anonymous kc. + +2009-07-07 Jim Meyering + + maint.mk: don't look for translatable strings in *.m4 or *.mk + * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files, + when searching for translatable strings. + +2009-07-05 Jim Meyering + + remove superfluous parentheses in STREQ definition + * tests/test-argv-iter.c (STREQ): Remove redundant parentheses. + * lib/getugroups.c (STREQ): Likewise. + * lib/fnmatch.c (STREQ): Likewise. + Spotted by Bruno Haible. + +2009-07-04 Jim Meyering + + argv-iter: new module + * MODULES.html.sh: Add argv-iter. + * lib/argv-iter.c, lib/argv-iter.h: New files. + * modules/argv-iter: New file. + * modules/argv-iter-tests: New file. + * tests/test-argv-iter.c: Test it. + +2009-07-04 Bruno Haible + + Fix assertion. + * lib/git-merge-changelog.c (compute_mapping): In the case where file1 + contains more exact copies of a given entry than file2, leave the extra + copies unpaired rather than aborting. + Reported by Eric Blake. + +2009-07-02 Bruno Haible + + Speedup git-merge-changelog for git cherry-pick. + * lib/git-merge-changelog.c (struct entries_mapping): New type. + (entries_mapping_get): New function, extracted from compute_mapping. + (entries_mapping_reverse_get): New function. + (compute_mapping): Add a 'full' argument. Return the result in a + 'struct entries_mapping'. + (main): Update. Access the mappings through entries_mapping_get. + Reported by Eric Blake. + +2009-07-02 Bruno Haible + + * lib/git-merge-changelog.c (compute_mapping): Fix determination of + best_i. + +2009-07-02 Bruno Haible + + Speed up approximate search for matching ChangeLog entries. + * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound + argument. Call fstrcmp_bounded instead of fstrcmp. + (compute_mapping, try_split_merged_entry, main): Update callers. + +2009-07-02 Bruno Haible + + * lib/git-merge-changelog.c (main): Add comment about git cherry-pick. + +2009-06-30 Bruno Haible + + Reduce the number of uc_is_cased calls. + * lib/unicase.h (casing_suffix_context_t): Add + 'first_char_except_ignorable' field. + * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro. + (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update. + * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context): + Update initializer. + * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on + case-ignorable characters. + * lib/unicase/u-ct-totitle.h (FUNC): Likewise. + * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here. + * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased. + * modules/unicase/u16-suffix-context (Depends-on): Likewise. + * modules/unicase/u32-suffix-context (Depends-on): Likewise. + +2009-06-30 Bruno Haible + + Tests for module 'unicase/ignorable'. + * modules/unicase/ignorable-tests: New file. + * tests/unicase/test-ignorable.c: New file, generated by + gen-uni-tables. + + Tests for module 'unicase/cased'. + * modules/unicase/cased-tests: New file. + * tests/unicase/test-cased.c: New file, generated by gen-uni-tables. + * tests/unicase/test-predicate-part1.h: New file, derived from + tests/unictype/test-predicate-part1.h. + * tests/unicase/test-predicate-part2.h: New file, same as + tests/unictype/test-predicate-part2.h. + + Fix evaluation of "Before C" condition of FINAL_SIGMA. + * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions. + (output_casing_properties): New function. + (main): Call it. + * lib/unicase/cased.h: New file, generated by gen-uni-tables. + * lib/unicase/cased.c: Include unictype/bitmap.h. + (uc_is_cased): Define through a bitmap lookup. + * lib/unicase/ignorable.h: New file, generated by gen-uni-tables. + * lib/unicase/ignorable.c: Include unictype/bitmap.h. + (uc_is_case_ignorable): Define through a bitmap lookup. + * modules/unicase/cased (Files): Add lib/unicase/cased.h, + lib/unictype/bitmap.h. + (Depends-on): Add inline. Clean up. + * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h, + lib/unictype/bitmap.h. + (Depends-on): Add inline. Clean up. + * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA + recognition. + * tests/unicase/test-u16-tolower.c (main): Likewise. + * tests/unicase/test-u32-tolower.c (main): Likewise. + +2009-06-30 Bruno Haible + + * lib/unicase/u8-casemap.c: Don't include uniwbrk.h. + * lib/unicase/u16-casemap.c: Likewise. + * lib/unicase/u32-casemap.c: Likewise. + +2009-06-29 Bruno Haible + + Define u32_casefold as a wrapper around u32_ct_casefold. + * lib/unicase/u32-casefold.c: Update. + * modules/unicase/u32-casefold (Depends-on): Add + unicase/u32-ct-casefold, unicase/empty-prefix-context, + unicase/empty-suffix-context. Clean up. + + Define u16_casefold as a wrapper around u16_ct_casefold. + * lib/unicase/u16-casefold.c: Update. + * modules/unicase/u16-casefold (Depends-on): Add + unicase/u16-ct-casefold, unicase/empty-prefix-context, + unicase/empty-suffix-context. Clean up. + + Define u8_casefold as a wrapper around u8_ct_casefold. + * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD. + * lib/unicase/u8-casefold.c: Update. + * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold, + unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up. + + Define u32_totitle as a wrapper around u32_ct_totitle. + * lib/unicase/u32-totitle.c: Update. + * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle, + unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up. + + Define u16_totitle as a wrapper around u16_ct_totitle. + * lib/unicase/u16-totitle.c: Update. + * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle, + unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up. + + Define u8_totitle as a wrapper around u8_ct_totitle. + * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove + functions. + (FUNC): Delegate to U_CT_TOTITLE. + * lib/unicase/u8-totitle.c: Update. + * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle, + unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up. + + * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap + invocation. + * modules/unicase/u32-tolower (Depends-on): Add + unicase/empty-prefix-context, unicase/empty-suffix-context. + + * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap + invocation. + * modules/unicase/u16-tolower (Depends-on): Add + unicase/empty-prefix-context, unicase/empty-suffix-context. + + * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation. + * modules/unicase/u8-tolower (Depends-on): Add + unicase/empty-prefix-context, unicase/empty-suffix-context. + + * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap + invocation. + * modules/unicase/u32-toupper (Depends-on): Add + unicase/empty-prefix-context, unicase/empty-suffix-context. + + * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap + invocation. + * modules/unicase/u16-toupper (Depends-on): Add + unicase/empty-prefix-context, unicase/empty-suffix-context. + + * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation. + * modules/unicase/u8-toupper (Depends-on): Add + unicase/empty-prefix-context, unicase/empty-suffix-context. + + New module 'unicase/u32-ct-casefold'. + * lib/unicase/u32-ct-casefold.c: New file. + * modules/unicase/u32-ct-casefold: New file. + + New module 'unicase/u16-ct-casefold'. + * lib/unicase/u16-ct-casefold.c: New file. + * modules/unicase/u16-ct-casefold: New file. + + New module 'unicase/u8-ct-casefold'. + * lib/unicase/u8-ct-casefold.c: New file. + * lib/unicase/u-ct-casefold.h: New file, derived from + lib/unicase/u-casefold.h. + * modules/unicase/u8-ct-casefold: New file. + + New module 'unicase/u32-ct-totitle'. + * lib/unicase/u32-ct-totitle.c: New file. + * modules/unicase/u32-ct-totitle: New file. + + New module 'unicase/u16-ct-totitle'. + * lib/unicase/u16-ct-totitle.c: New file. + * modules/unicase/u16-ct-totitle: New file. + + New module 'unicase/u8-ct-totitle'. + * lib/unicase/u8-ct-totitle.c: New file. + * lib/unicase/u-ct-totitle.h: New file, derived from + lib/unicase/u-totitle.h. + * modules/unicase/u8-ct-totitle: New file. + + New module 'unicase/u32-ct-tolower'. + * lib/unicase/u32-ct-tolower.c: New file. + * modules/unicase/u32-ct-tolower: New file. + + New module 'unicase/u16-ct-tolower'. + * lib/unicase/u16-ct-tolower.c: New file. + * modules/unicase/u16-ct-tolower: New file. + + New module 'unicase/u8-ct-tolower'. + * lib/unicase/u8-ct-tolower.c: New file. + * modules/unicase/u8-ct-tolower: New file. + + New module 'unicase/u32-ct-toupper'. + * lib/unicase/u32-ct-toupper.c: New file. + * modules/unicase/u32-ct-toupper: New file. + + New module 'unicase/u16-ct-toupper'. + * lib/unicase/u16-ct-toupper.c: New file. + * modules/unicase/u16-ct-toupper: New file. + + New module 'unicase/u8-ct-toupper'. + * lib/unicase/u8-ct-toupper.c: New file. + * modules/unicase/u8-ct-toupper: New file. + + Add context arguments to u*_casemap functions. + * lib/unicase/unicasemap.h: Include unicase.h. + (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and + suffix_context arguments. + * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove + functions. + (FUNC): Add prefix_context and suffix_context arguments. Use + uc_is_cased and uc_is_case_ignorable. + * lib/unicase/u8-casemap.c: Include caseprop.h and context.h. + * lib/unicase/u16-casemap.c: Likewise. + * lib/unicase/u32-casemap.c: Likewise. + * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h. + (Depends-on): Add unicase/cased, unicase/ignorable. Clean up. + * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h. + (Depends-on): Add unicase/cased, unicase/ignorable. Clean up. + * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h. + (Depends-on): Add unicase/cased, unicase/ignorable. Clean up. + + New module 'unicase/u32-suffix-context'. + * lib/unicase/u32-suffix-context.c: New file. + * modules/unicase/u32-suffix-context: New file. + + New module 'unicase/u16-suffix-context'. + * lib/unicase/u16-suffix-context.c: New file. + * modules/unicase/u16-suffix-context: New file. + + New module 'unicase/u8-suffix-context'. + * lib/unicase/u8-suffix-context.c: New file. + * lib/unicase/u-suffix-context.h: New file. + * modules/unicase/u8-suffix-context: New file. + + New module 'unicase/empty-suffix-context'. + * lib/unicase/empty-suffix-context.c: New file. + * modules/unicase/empty-suffix-context: New file. + + New module 'unicase/u32-prefix-context'. + * lib/unicase/u32-prefix-context.c: New file. + * modules/unicase/u32-prefix-context: New file. + + New module 'unicase/u16-prefix-context'. + * lib/unicase/u16-prefix-context.c: New file. + * modules/unicase/u16-prefix-context: New file. + + New module 'unicase/u8-prefix-context'. + * lib/unicase/u8-prefix-context.c: New file. + * lib/unicase/u-prefix-context.h: New file. + * lib/unicase/context.h: New file. + * modules/unicase/u8-prefix-context: New file. + + New module 'unicase/empty-prefix-context'. + * lib/unicase/empty-prefix-context.c: New file. + * modules/unicase/empty-prefix-context: New file. + + New module 'unicase/ignorable'. + * lib/unicase/ignorable.c: New file. + * modules/unicase/ignorable: New file. + + New module 'unicase/cased'. + * lib/unicase/caseprop.h: New file. + * lib/unicase/cased.c: New file. + * modules/unicase/cased: New file. + + New functions for case mapping of substrings. + * lib/unicase.h (casing_prefix_context_t): New type. + (unicase_empty_prefix_context): New variable. + (u8_casing_prefix_context, u16_casing_prefix_context, + u32_casing_prefix_context, u8_casing_prefixes_context, + u16_casing_prefixes_context, u32_casing_prefixes_context): New + declarations. + (casing_suffix_context_t): New type. + (unicase_empty_suffix_context): New variable. + (u8_casing_suffix_context, u16_casing_suffix_context, + u32_casing_suffix_context, u8_casing_suffixes_context, + u16_casing_suffixes_context, u32_casing_suffixes_context, + u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower, + u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle, + u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New + declarations. + +2009-06-28 Jim Meyering + + boostrap: indent only with spaces + * build-aux/bootstrap: Indent only with spaces, never TABs. + + bootstrap: split long lines + * build-aux/bootstrap: Keep line length < 80. + + bootstrap: sync from coreutils + * build-aux/bootstrap: Honor variables like $ACLOCAL, etc., + just as autoreconf does. Verify a list of prerequisite + package-name,version-number pairs if defined in bootstrap.conf. + Refer to README-prereq, if prerequisites are not satisfied. + +2009-06-27 Eric Blake + + tests: add test for bogus NULL definition + * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL. + * tests/test-stdlib.c: Likewise. + * tests/test-string.c: Likewise. + * tests/test-locale.c: Likewise. + * tests/test-unistd.c: Likewise. + * modules/stdio-tests (Depends-on): Add verify. + * modules/stdlib-tests (Depends-on): Likewise. + * modules/string-tests (Depends-on): Likewise. + * modules/locale-tests (Depends-on): Likewise. + * modules/unistd-tests (Depends-on): Likewise. + +2009-06-27 Paolo Bonzini + + * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove + self-explaining comment. + * m4/selinux-selinux-h: Update serial. + (gl_LIBSELINUX): New macro, adding a warning for missing development + packages to code extracted from... + (gl_HEADERS_SELINUX_SELINUX_H): ... this one. Require gl_LIBSELINUX. + Add warning for missing development packages here, too. + +2009-06-26 Paolo Bonzini + + * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL. + +2009-06-25 Eric Blake + + version-etc: fix regression + * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough + gcc. + (version_etc): Use it, to catch bugs with trailing NULL. + * lib/version-etc.c (version_etc_arn): Delete unused argument. + (version_etc_va): Fix logic bug. + * modules/version-etc-tests: Add test. + * tests/test-version-etc.c: New file. + * tests/test-version-etc.sh: Likewise. + +2009-06-25 Sam Steingold + + * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include , for the + mbtowc declaration. + +2009-06-25 Eric Blake + + fpurge: migrate into + * lib/fpurge.h: Delete... + * lib/stdio.in.h (fpurge): ...and declare here, instead. + * lib/fpurge.c (fpurge): Change declaring header. + * modules/fpurge (Files): Drop deleted file. + (Depends-on): Add stdio. + (configure.ac): Set witness. + * modules/stdio (Makefile.am): Support fpurge macros. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise. + * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables. + * lib/fflush.c: Update client. + * tests/test-fpurge.c: Likewise. + * NEWS: Mention the change. + +2009-06-25 Sergey Poznyakoff + + * lib/argp-version-etc.c (program_authors): Add const + qualifier. + * lib/version-etc.c: Fix typos in the comments. + * modules/argp-version-etc: Depends on version-etc. + +2009-06-25 Sergey Poznyakoff + + argp-version-etc: new module. + + * lib/argp-version-etc.c: New file. + * lib/argp-version-etc.h: New file. + * modules/argp-version-etc: New file. + * modules/argp-version-etc-tests: New file. + * tests/test-argp-version-etc.c: New test. + * tests/test-argp-version-etc-1.sh: New test. + +2009-06-25 Sergey Poznyakoff + + Provide additional interfaces and documentation for version-etc + module. - Group: allow empty password field - Fixes part of ticket #95 + * lib/version-etc.c (version_etc_arn, version_etc_ar): New + interfaces. + * lib/version-etc.h (version_etc_arn, version_etc_ar): New + prototypes. - * src/parser.y: properly initialize yylloc - Fixes ticket #96 +2009-06-24 Bruno Haible -2009-11-25 David Lutterkort + * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of + HAVE_LIB${NAME} macro. + Reported by Sam Steingold . - Properly check regexp literals for syntax errors - * src/regexp.h (regexp_check): new function - * src/regexp.c (regexp_compile_internal): new function to base both - regexp_compile and regexp_check off - * src/syntax.c (check_value): produce a syntax error if regexp does not - pass regexp_check; (check_exp): make sure we do check values +2009-06-23 Simon Josefsson - Fixes ticket #93 + * modules/hash-tests (test_hash_LDADD): Link to libintl when + needed. -2009-11-25 David Lutterkort +2009-06-21 Bruno Haible - * src/lexer.l: include errcode.h; fix bad use of report_error + Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS + work. + * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME} + together with LIB${NAME}, LTLIB${NAME}. + Reported by Sam Steingold . - * src/errcode.c: include stdarg.h +2009-06-20 Jim Meyering -2009-11-25 David Lutterkort + tests: make sc_require_test_exit_idiom more generic + * top/maint.mk (Exit_witness_file): New overridable variable. + (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh. + Relax test for /^Exit \$fail$$/ to just /^Exit ./. - Cron: variable names can contain '_' etc. - Use Shellvars.key_re for consistency. +2009-06-19 Jim Meyering - Fixes ticket #94 + hash: reverse order of src/dst parameters in an internal interface + * lib/hash.c (transfer_entries): Reverse order of parameters to + put DST before SRC. Adjust callers. -2009-11-25 Matt Palmer + tests: test-hash: avoid wholesale duplication + * tests/test-hash.c (main): Don't copy/paste a 60-line loop. + Instead, use a loop and add a single conditional. - AptPreferences: add a put test - Make sure we handle an empty file properly, and cleanup the resulting - hassle + tests: test-hash: allow seed selection via a command line argument + * tests/test-hash.c (get_seed): New function. + (main): Use it. -2009-11-24 Matt Palmer +2009-06-19 Eric Blake - Normalise records so that empty lines (which are a required part of the syntax) don't creep into the tree + hash: avoid memory leak on allocation failure + * lib/hash.c: (hash_rehash): Avoid memory leak on allocation + failure. Factor repeated algorithm... + (transfer_entries): ...into new helper routine. + (hash_delete): React to hash_rehash return value. - Support version pins in apt_preferences + hash: reduce memory pressure in hash_rehash no-op case + * lib/hash.c (next_prime): Avoid overflow. + (hash_initialize): Factor bucket size computation... + (compute_bucket_size): ...into new helper function. + (hash_rehash): Use new function and open coding to reduce memory + pressure, and avoid a memory leak in USE_OBSTACK code. + Reported by Jim Meyering. -2009-11-23 David Lutterkort +2009-06-18 Eric Blake - * tests/Makefile.am (lens_tests): run postfix_access tests + hash: make rotation more obvious + * modules/hash (Depends-on): Add bitrotate and stdint. + * lib/bitrotate.h (rotl_sz, rotr_sz): New functions. + * lib/hash.c (headers): Drop limits.h. Add stdint.h. + (SIZE_MAX): Rely on headers for definition. + (hash_string) [USE_DIFF_HASH]: Use rotl_sz. + (raw_hasher): Use rotr_sz. + Suggested by Jim Meyering. -2009-11-16 Partha Aji + hash: fix memory leak in last patch + * lib/hash.c (hash_rehash): Avoid memory leak. + + hash: avoid no-op rehashing + * lib/hash.c (hash_rehash): Recognize useless rehash attempts. - Added a Post Fix Access lens along with the unit tests + hash: provide default callback functions + * lib/hash.c (raw_hasher, raw_comparator): New functions. + (hash_initialize): Use them as defaults. + * tests/test-hash.c (main): Test this. -2009-11-13 David Lutterkort + hash: minor optimization + * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call + when possible. + (hash_initialize): Document this promise. + (hash_do_for_each, hash_clear, hash_free): Use C89 syntax. + * tests/test-hash.c (hash_compare_strings): Test this. - * src/lens.c (ambig_check): distinguish error between concat and iteration +2009-06-18 Bruno Haible - * src/regexp.c (regexp_escape): treat NULL regexps as the empty regexp + * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is + going to be replaced anyway. - * src/regexp.c (regexp_escape): fix stripping of enclosing parens - Only strip them if they belong together, and not for something like /(a)(b)/ +2009-06-18 Bruno Haible - * src/syntax.c: spew exceptions less often - print_value: only print exceptions that haven't been seen - compile_test: only print the exception for a test when it hasn't - been seen + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only + in one place. + (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to + be replaced anyway. - * src/get.c: never try to process a string that doesn't match - When a string during init_regs doesn't match at all, there's nothing useful - we can do. Immediately return an error from lns_get. +2009-06-18 Eric Blake + + hash: check for resize before insertion + * lib/hash.c (hash_insert): Check whether bucket usage exceeds + threshold before insertion, so that a pathological hash_rehash + that fills every bucket can still trigger another rehash. - * src/syntax.h (exn_error): produce an exception to indicate an error - exn_error returns a special exception that indicates that an error has - happened (e.g., out-of-memory) that has already been reported in the - central augeas->error instance. +2009-06-18 Jim Meyering -2009-11-12 David Lutterkort + hash-tests: add a loop around the small tests + * tests/test-hash.c (main): Repeat small tests with selected + small initial table sizes. - * src/info.c (print_info): do not choke on NULL info +2009-06-17 Eric Blake - * src/internal.h: new macros MEMCMP and MEMMOVE + hash: minor cleanups + * lib/hash.h (hash_entry): Make opaque, by moving... + * lib/hash.c (hash_entry): ...here. + (hash_insert): Clarify restrictions on what can be inserted. + (hash_get_next): Clarify when it is safe to remove an element + during traversal. + (check_tuning): Skip verification when tuning is known safe. + (hash_initialize): Clarify restrictions on tuning. - * src/lens.c (lns_make_subtype): explain type derivation +2009-06-17 Jim Meyering + and Eric Blake - * examples/fadot.c: by default, print minimized regexp + hash-tests: new module + * modules/hash-tests: New file. + * tests/test-hash.c: New file. - * examples/fadot.c: fix formatting, no functional changes +2009-06-17 Eric Blake -2009-11-10 David Lutterkort + strstr-simple: document new module + * MODULES.html.sh: Document new module. - Make augparse and augtool use user's locale + strstr, strcasestr: replace on platforms with broken memchr + * modules/strstr: Split into... + * modules/strstr-simple: ...new module that does not care about + performance, but does care about glibc bug. + * m4/strstr.m4 (gl_FUNC_STRSTR): Split... + (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr + if platform memchr is broken, per Debian bug 521737. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken + memchr. + * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once. + * doc/posix-functions/strstr.texi (strstr): Document the fix. + * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise. + * modules/mountlist (Depends-on): Add strstr-simple. + * modules/gen-uni-tables (Depends-on): Likewise. + * modules/argz (Depends-on): Add strstr. - * test/Makefile.am (TEST_ENVIRONMENT): set LANG to a non-C locale +2009-06-17 Bruno Haible + + * modules/posix_spawn-internal (Depends-on): Add errno. -2009-11-10 David Lutterkort +2009-06-17 Bruno Haible - Remove character ranges from regexps if we are not in the C locale - Since re_compile_pattern uses the current locale when expanding character - ranges like [a-z], we need to be careful that such ranges are expanded in - the C locale. + Define missing ESTALE on Interix 3.5. + * lib/errno.in.h (ESTALE): Assign a value if missing. + * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is + missing. + * doc/posix-headers/errno.texi: Mention the Interix bug. + Reported by Jay Krell via Eric Blake. - * configure.ac: check for uselocale - * src/internal.[ch] (regexp_c_locale): new function - * src/lens.c (digits_string): spell out the digits - * src/lens.c (restrict_regexp): expand char ranges in restricted regexp - * src/lexer.l (regexp_literal): run regexp literals through - regexp_c_locale - * src/regexp.c (regexp_escape): compress character ranges for printing - * src/regexp.c (regexp_minus): expand charcter ranges +2009-06-15 Eric Blake - Fixes ticket #35 for systems that do not have uselocale (for systems with - uselocale, the fix is commit 07b6a880) + memchr, memchr2: add valgrind exception + * lib/memchr.valgrind: New file. + * lib/memchr2.valgrind: New file. + * modules/memchr (Files): Distribute valgrind file. + * modules/memchr2 (Files): Likewise. -2009-11-10 David Lutterkort + docs: memchr is no longer obsolete + * MODULES.html.sh: Move memchr from obsolete to string.h section. + * lib/string.in.h (memchr): Simplify logic. - libfa: new function fa_expand_char_ranges +2009-06-14 Jim Meyering - Calls to __aug_load_module need to go through api_entry/api_exit + link-follow: fix the "checking..." message to not mention trailing slash + * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has + never considered trailing slashes. -2009-11-10 David Lutterkort +2009-06-14 Bruno Haible - Switch to C locale on API entry on systems that have uselocale - Since we need to do all our operations (especially regexp matching) in the - C locale, we switch to that on API entry, and switch back to the user's - locale on API exit. + * m4/memchr.m4: Mention also the bug on IA-64. + * doc/posix-functions/memchr.texi: Likewise. - That also makes it necessary that aug_init wraps the bulk of its work - inside an api_entry/api_exit. +2009-06-12 Eric Blake - Fixes ticket #35 for systems that have uselocale + memchr: detect broken x86_64 and alpha implementations + * modules/memchr-tests (Depends-on): Move mmap detection... + * modules/memchr (Depends-on): ...here. + (configure.ac): Set indicator. + * lib/string.in.h (memchr): Declare replacement. + * modules/string (Makefile.am): Trigger replacement. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise. + * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform + bugs. + * doc/posix-functions/memchr.texi (memchr): Document the bug. + * modules/getpagesize (License): Relax license. + +2009-06-11 Bruno Haible + + * lib/idpriv.h: Add more references. + +2009-06-08 Bruno Haible + + Tests for module 'idpriv-droptemp'. + * modules/idpriv-droptemp-tests: New file. + * tests/test-idpriv-droptemp.sh: New file. + * tests/test-idpriv-droptemp.su.sh: New file. + * tests/test-idpriv-droptemp.c: New file. + + New module 'idpriv-droptemp'. + * lib/idpriv-droptemp.c: New file. + * modules/idpriv-droptemp: New file. + +2009-06-08 Bruno Haible + + Tests for module 'idpriv-drop'. + * modules/idpriv-drop-tests: New file. + * tests/test-idpriv-drop.sh: New file. + * tests/test-idpriv-drop.su.sh: New file. + * tests/test-idpriv-drop.c: New file. + + New module 'idpriv-drop'. + * lib/idpriv.h: New file. + * lib-idpriv-drop.c: New file. + * m4/idpriv.m4: New file. + * modules/idpriv-drop: New file. + +2009-06-08 Bruno Haible + + * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr. + * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise. + +2009-06-08 Eric Blake + + test-strstr: use memory fence, when possible + * tests/test-strstr.c (main): Use memory fence, in order to be + more likely to trigger Debian bug 521737. + * modules/strstr-tests (Files): Pull in additional files. + + memchr: no longer obsolete, for wider field testing + * modules/memchr (Status, Notice): Delete, this module is no + longer obsolete. + * modules/vasnprintf (Depends-on): Add memchr. -2009-10-26 David Lutterkort +2009-06-07 Jim Meyering - Inittab: parse end-of-line comments into a #comment + hash: declare some functions with the warn_unused_result attribute + * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define. -2009-10-23 David Lutterkort +2009-06-07 Bruno Haible - * src/lens.c (lns_make_subtree): parenthesize key and value patterns - These patterns may be a union not enclosed in parens + * tests/test-alignof.c: Don't test int64_t if it does not exist. + Reported by Eric Blake. - * src/regexp.c (regexp_escape): don't clobber last character +2009-06-06 Eric Blake - * src/lens.c: use regexp_escape to print regexps in error messages + test-alignof: fix typo with long double + * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid + compiler error. - * src/fa.c (fa_restrict_alphabet): initialize parse +2009-06-06 Neil Jerram (tiny change) - * src/fa.c (special_chars): treat $ and ^ as special - They are special when they are at the beginning resp. the end of a regular - expression. Making them special (i.e., escaping them with '\') everywhere - doesn't hurt. + Escape non-texinfo { and }s. + * doc/ld-output-def.texi (Visual Studio Compatibility): Fix + markup error. - * src/fa.c (re_needs_parens_in_concat): ITER doesn't need parens in concat +2009-06-04 Jim Meyering - * src/fa.c (re_cset_as_string): work properly with negated cset - We did not take re->negate into account, and always acted as if the cset - was not negated. Introduce helper function cset_contains to both fix that - and make the code a little clearer. + gitlog-to-changelog: don't infloop on an empty commit log + * build-aux/gitlog-to-changelog: Warn about an empty log message. + Reported by Boris Petersen . -2009-10-22 David Lutterkort +2009-06-03 Mike Frysinger - bootstrap: use stpcpy and stpncpy from gnulib + version-etc: extend for packagers + Add three new configure options, intended for packagers: + --with-packager="packager name" + --with-packager-version="packager-specific version" + --with-packager-bug-reports="packager bug reporting" + An example with coreutils: + $ ./configure \ + --with-packager=Gentoo \ + --with-packager-bug-report=http://bugs.gentoo.org/ \ + --with-packager-version="patchset 1.6" + $ ./src/ls --version | head -n2 + ls (GNU coreutils) 7.1-dirty + Packaged by Gentoo (patchset 1.6) + Note that the bug reporting info via --help doesn't show up because + coreutils uses its own custom emit_bug_reporting_address() implementation + in src/system.h. If it didn't, it'd look like: + $ ./src/ls --help | tail -n4 + Report bugs to . + Report Gentoo bugs to . + GNU coreutils home page: . + General help using GNU software: . + * lib/version-etc.c: Print new information, if provided. + * m4/version-etc.m4: New file. + * modules/version-etc (Files): Add m4/version-etc.m4. + (configure.ac): Add gl_VERSION_ETC. - Makefiles: gnulib now requires linking against libselinux - * src/Makefile.am (libfa_la_LIBADD): add LIB_SELINUX - * examples/Makefile.am (fadot_LDADD): remove GNULIB +2009-05-31 Bruno Haible -2009-10-21 David Lutterkort + * tests/test-alignof.c: Include . Check also 'long double' + and 'int64_t'. + * modules/alignof-tests (Dependencies): Add stdint. + Reported by Eric Blake. - Path expressions: add union operator - Nodesets can now be unioned with the '|' operator +2009-05-31 Bruno Haible - Fixes ticket #89 + * lib/alignof.h (alignof_slot, alignof_type, alignof): Document + restriction due to compiler bugs. + Reported by Eric Blake. -2009-10-21 David Lutterkort +2009-05-31 Simon Josefsson + Bruno Haible - * src/pathx.c (clone_nodeset): properly set size of the clone - The size of the clone is the number of nodes in the original nodeset, not - the size of the original nodeset. + Fix test-alignof failure. + * lib/alignof.h (alignof_slot): New macro. + (alignof_type): New macro, with the same semantics as the previous + 'alignof'. + (alignof): Alias to alignof_slot. + * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also + check that the results are usable as constant expressions. - * src/regexp.c (regexp_union_n): insert '|' after the first non-NULL regexp - We can not blindly insert a '|' after the first passed-in regexp since that - (and any number of regexps at the beginning) might be NULL. We only insert - '|' after actually copying a regexp into the result. +2009-05-31 Bruno Haible -2009-10-20 David Lutterkort + * tests/zerosize-ptr.h (zerosize_ptr): Specify more details. + * tests/test-memchr.c (main): Check that memchr does not read past the + first occurrence of the byte. + * tests/test-strstr.c (main): Update comment. + Suggested by Eric Blake. - Wine: new lens and test - Lens for parsing textual Windows registry files +2009-05-30 Bruno Haible -2009-10-20 David Lutterkort + * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more + detail how to use dumpbin. + Reported by David Byron . - Pam: allow '-' before type - The type field in a pam.d file can start with a '-' to indicate that - missing the module should not cause an error. The '-' is now mapped into - the tree as a separate node 'optional' +2009-06-02 Simon Josefsson - Bug reported by Shannon Hughes + * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'. -2009-10-20 David Lutterkort +2009-06-02 Simon Josefsson - * test/Makefile.am (lens_tests): add lens-ethers.sh + * m4/manywarnings.m4: Add GCC 4.4 warnings. - * src/internal.c (escape): convert char to unsigned when printing as octal - Without that, there's no guarantee that the char will be printed as three - octal digits and not more +2009-05-28 Bruno Haible - Report line/column number when get/put test fails - * src/builtin.c (make_exn_lns_error): add line/column number in error - message - * src/internal.c (calc_line_ofs): moved here from transform.c - * src/internal.h (calc_line_ofs): declare prototype - * src/transform.c (calc_line_ofs): moved to internal.c + * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on + build-aux/ files. - * src/get.c (get_error): use end of last match as error position +2009-05-28 Simon Josefsson - * man/augtool.1: regenerate + * gnulib-tool (func_import): Transform license on build-aux/ files too. -2009-10-19 David Lutterkort +2009-05-27 Simon Josefsson - Krb5: support a [kdc] section - The only entry it can have so far is 'profile' - no idea what else can go - there since it's not documented in krb5.conf(5), but used, e.g. on Fedora - 11 + * gnulib-tool (sed_transform_main_lib_file) + (sed_transform_testsrelated_lib_file): : Don't use non-POSIX + regexps. -2009-10-12 David Lutterkort +2009-05-26 Simon Josefsson - Rx (device_name): allow '!' in device name + * tests/test-strstr.c: Add another self-test. + * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of + strdup. Suggested by Eric Blake . -2009-10-09 David Lutterkort +2009-05-23 Bruno Haible - Lokkit: make argument for --trust more permissive - The --trust option takes an interface name, whcih can be more than what - token accepts. + * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26 + change. - * lenses/lokkit.aug (trust): new lens; (entry): use trust - * lenses/rx.aug (device_name): new regexp - * lenses/tests/test_lokkit.aug: new test for more permissive device names +2009-05-21 Bruno Haible -2009-10-09 David Lutterkort + Simplify use of mode_t varargs. + * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that + uses 'mode_t' or 'int'. + * lib/openat.c (openat): Likewise. + * lib/open-safer.c (open_safer): Likewise. + * m4/mode_t.m4: New file. + * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T. + * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise. + * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise. + * modules/open (Files): Add m4/mode_t.m4. + * modules/openat (Files): Likewise. + * modules/fcntl-safer (Files): Likewise. + Suggested by Eric Blake. - Lokkit.forward_port: add missing eol - Also adjust test_lokkit.aug since we're not getting a spurious empty entry - anymore +2009-05-21 Pádraig Brady -2009-10-06 Satoru SATOH + * doc/glibc-functions/fallocate.texi: New file. + * doc/gnulib.texi: Include it. - /etc/ethers: new lens and test - The followings adds a new lens for /etc/ethers and associated test. +2009-05-21 Eric Blake + Bruno Haible -2009-09-30 David Lutterkort + * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote + invocations. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise. - * src/augparse.c: get error details from error API +2009-05-21 Eric Blake + Bruno Haible - interpreter: do not abort() on fatal errors or print on stderr - Use the error reporting infrastructure for most errors. Fatal errors (bugs) - in the interpreter now lead to an error code AUG_EINTERNAL, and not an - abort() + Second attempt to work around an AIX 5.3, 6.1 compiler bug with + include_next. Fix of 2008-11-20 commit. + * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set + NEXT_AS_FIRST_DIRECTIVE_FOO_H. + * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of + NEXT_MATH_H. + * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H + instead of NEXT_MATH_H. - * src/parser.y: do not print to stderr +2009-05-21 Bruno Haible + + Avoid redefinition warnings for SIZE_MAX. + * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h. + Reported by Simon Josefsson. - * src/lexer.l: print into struct error instead of stderr +2009-05-21 Bruno Haible - New error code AUG_ESYNTAX + * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of + AC_CACHE_VAL. - * src/info.c (format_info): minor fixes - - append a ':' after the location - - produce a result even when line numbers are invalid - - use xasprintf, not asprintf +2009-05-20 Bruno Haible - * src/lexer.l (to_int): unused, remove + Make zeroptr.h work on mingw. + * tests/zerosize-ptr.h: Test for the presence of and + mprotect. + * modules/memchr-tests (configure.ac): Also test for sys/mman.h. + * modules/memchr2-tests (configure.ac): Likewise. + * modules/memcmp-tests (configure.ac): Likewise. + * modules/memmem-tests (configure.ac): Likewise. + * modules/memrchr-tests (configure.ac): Likewise. + Reported by Simon Josefsson. - Make struct error available in struct info - This makes it much easier to report errors into the central struct error - instance hanging off the Augeas instance. +2009-05-20 Simon Josefsson - Put struct error and report_error into its own file - Also, make the struct error in struct augeas a pointer + * tests/test-glob.c: Include string.h for strcmp prototype. - * src/info.h: optimize layout of struct info +2009-05-20 Simon Josefsson - *src/syntax.c: catch some allocation errors + * modules/getdelim (Depends-on): Add explicit stdint, although it + was implicitly already pulled in via realloc-posix. + * lib/getdelim.c: Get SIZE_MAX from stdint.h. - * src/ref.h (make_ref_err): convenience macro +2009-05-20 Simon Josefsson - * tests/fatest.c (print_regerror): only print first 40 chars of regexp + MinGW and IRIX does not have sa_family_t type. Reported by "Tom + G. Christensen" . + * m4/sys_socket_h.m4: Check for sa_family_t. + * lib/sys_socket.in.h: Typedef sa_family_t when needed. + * modules/sys_socket: Substitute HAVE_SA_FAMILY_T. + * tests/test-sys_socket.c: Check that sa_family_t works. - libfa: handle allocation failures gracefully +2009-05-18 Eric Blake - parser: report some allocation failures + maint.mk: allow gnulib_dir in VPATH build + * top/maint.mk (gnulib_dir): Make relative to $(srcdir). - * src/fatest.c: make testable with failmalloc - - when FAILMALLOC_INTERVAL is set, report success, no matter - how many tests failed (presumably because of memory starvation) - - abort with die_oom() if crucial internal checks can't be performed - because of allocation failures +2009-05-15 Jim Meyering - cutest: fortify against allocation failures - - new function die_oom which sets exit status to 2 when - we die from an oom condition - - use the safe-alloc macros for allocations - - abort the test when internal allocations fail + maint.mk: Give gnulib_dir a default definition. + * top/maint.mk (gnulib_dir): Define to 'gnulib', by default. + Thus, most packages no longer need to specify this variable in cfg.mk - * src/hash.c (hash_alloc_insert): return 0/-1 for success/error +2009-05-14 Tom Prince (tiny change) - Use a proper function for make_ref - That allows us to require that callers check the return value + rename.m4: fix typos that would make non-mingw cross-configure fail + * m4/rename.m4 (gl_FUNC_RENAME): Fix typos. - Handle allocation failures from define_native_intl +2009-05-13 Eric Blake - build: support for running with libfailmalloc preloaded - Add --with-failmalloc=LIB configure option and failmalloc targets to run - select programs with failing allocations. + mmap-anon: avoid out-of-order autoconf expansion + * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct + SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b. + * modules/memchr-tests (Depends-on): Add extensions. + * modules/memchr2-tests (Depends-on): Add extensions. + * modules/memcmp-tests (Depends-on): Add extensions. + * modules/memmem-tests (Depends-on): Add extensions. + * modules/memrchr-tests (Depends-on): Add extensions. -2009-09-24 David Lutterkort +2009-05-13 Bruno Haible - * src/transform.c: do not include canonicalize.h anymore - The canonicalize-lgpl gnulib module doesn't require that anymore + Make some tests ISO C 99 compliant. + * tests/zerosize-ptr.h: New file. + * tests/test-memchr.c: Include zerosize-ptr.h. + (main): Use a zero-size object pointer instead of NULL. + * tests/test-memchr2.c: Include zerosize-ptr.h. + (main): Use a zero-size object pointer instead of NULL. + * tests/test-memcmp.c: Include zerosize-ptr.h. + (main): Use a zero-size object pointer instead of NULL. + * tests/test-memmem.c: Include zerosize-ptr.h. + (main): Use a zero-size object pointer instead of NULL. + * tests/test-memrchr.c: Include zerosize-ptr.h. + (main): Use a zero-size object pointer instead of NULL. + * modules/memchr-tests (Files): Add tests/zerosize-ptr.h, + m4/mmap-anon.m4. + (Depends-on): Add getpagesize. + (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect. + * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h, + m4/mmap-anon.m4. + (Depends-on): Add getpagesize. + (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect. + * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h, + m4/mmap-anon.m4. + (Depends-on): Add getpagesize. + (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect. + * modules/memmem-tests (Files): Add tests/zerosize-ptr.h, + m4/mmap-anon.m4. + (Depends-on): Add getpagesize. + (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect. + * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h, + m4/mmap-anon.m4. + (Depends-on): Add getpagesize. + (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect. -2009-09-21 David Lutterkort +2009-05-12 Bruno Haible - Path expressions: add regexp matching - Add a function regexp : string -> regexp and an operator - =~ : string|nodeset -> regexp -> boolean to the language for - path expressions. + Tests for module 'alignof'. + * modules/alignof-tests: New file. + * tests/test-alignof.c: New file. - * src/regexp.c (regexp_compile): do not print anything on error +2009-05-12 Bruno Haible -2009-09-21 David Lutterkort + Fix alignof macro. + * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX + vendor compilers that are always correct. - Split regexps, info and strings out of syntax.[ch] - * Move struct string and struct info and related functions into info.[ch] - * Move headers for regexp.c into new file regexp.h +2009-05-12 Bruno Haible - This makes it easier to reuse these outside of syntax.[ch] - including - syntax.h in get.c and put.c was way too much anyway. + Make the MAP_ANONYMOUS detection work on HP-UX 11. + * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but + not whether its fully works. -2009-09-21 David Lutterkort +2009-05-12 Bruno Haible - aug_match, aug_mv: return -1 when pathx evaluation fails + * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments. - Report errors when exactly one match is expected - aug_mv and aug_insert expect that exactly one node matches the path - expressions they are given. Report new errors if none or more than one node - match. +2009-05-12 Jim Meyering - * src/augtool.c: use new error API - Call into the error API after each aug_* call and print error details + * top/maint.mk: Adjust backslash alignment. - Propagate pathx errors during evalutaion - We did not report errors from pathx evaluation functions, only from the - parser/typechecker. Now functions like pathx_first etc. report errors - properly. +2009-05-11 Simon Josefsson - Store pathx parse errors in internal error struct - The pathx_parse function will now store error information in a struct - error; we pass the one from struct augeas in and save it in the pathx. + * top/maint.mk: Make $(srcdir)/build-aux configurable. - Reset old error messages on each entry through the API from the outside +2009-05-11 Eric Blake - * src/syntax.c (interpreter_init): report errors + argp: avoid undefined behavior + * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype + macros. - Error reporting API and infrastructure - Only reporting errors in the tree makes the API much harder to use; the - aug_error* functions make it easier to inquire about errors - programmatically. +2009-05-08 Simon Josefsson - * src/pathx.c (pathx_symtab_init): unused, remove + * tests/test-vc-list-files-git.sh: Do git config of user.email and + user.name to prevent git commit from complaining. -2009-09-18 David Lutterkort +2009-05-10 Bruno Haible - * src/syntax.c (interpreter_init): fix potential leak - If globbuf has entries in it when we encounter an error, we need to - globfree it. + * gnulib-tool (func_import, func_create_testdir, copy-file): Change + sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that + it rewrites every file name only once. + Reported by Simon Josefsson. Helped by Ralf Wildenhues. -2009-09-17 Matt Palmer +2009-05-08 Bruno Haible - Sudoers: allow certain backslash-quoted characters in a command - Commands may contain backslashes by themselves and the two-char sequences - \\[=:,\\] + * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression + instead of 'max'. -2009-09-14 David Lutterkort +2009-05-08 Simon Josefsson - Version 0.5.3 + * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for + sockaddr_storage test. -2009-09-11 David Lutterkort +2009-05-07 Simon Josefsson - Man pages: update to match current augtool and augparse + * modules/sys_socket (Makefile.am): Substitute + HAVE_STRUCT_SOCKADDR_STORAGE. Depend on alignof. + * m4/sys_socket_h.m4: Check for sockaddr_storage. + * lib/sys_socket.in.h (sockaddr_storage): Define when needed. + * tests/test-sys_socket.c: Check sockaddr_storage. - Add --version option to augtool and augparse - Fixes bug #88 +2009-05-08 Bruno Haible - A couple more files for the test root + New module 'alignof'. + * lib/alignof.h: New file. + * modules/alignof: New file. - Add preceding-sibling and following-sibling axes to path expressions +2009-05-04 David Bartley + Bruno Haible -2009-09-10 David Lutterkort + Fix test-file-has-acl on FreeBSD. + * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the + mask is implicitly added. + * tests/test-file-has-acl.c: Include . + (main): Terminate the test after 5 seconds. + * modules/acl-tests (configure.ac): Check for alarm function. - Better error message for too many args in a path expression +2009-05-04 Bruno Haible -2009-09-09 David Lutterkort + Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment. + * modules/errno (configure.ac): Drop AC_REQUIRE. + * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment. + * modules/multiarch (configure.ac): Drop AC_REQUIRE. - Slapd: include /etc/openldap/slapd.conf - This is the default location in Fedora. +2009-05-04 Simon Josefsson - Fixes bug #85 + * modules/glob-tests: New module. + * tests/test-glob.c: Add. -2009-09-04 David Lutterkort +2009-05-04 Simon Josefsson - Multipath: new lens for /etc/multipath.conf + * modules/fnmatch-tests: New module. + * tests/test-fnmatch.c: Add. - * src/try: fix 'set annotate' for gdb +2009-05-04 Eric Blake -2009-09-03 David Lutterkort + maint: make the new no-submodule-changes rule VPATH-safe + * top/maint.mk (no-submodule-changes): Don't assume a srcdir build. - Transparent save of cross-device links - When saving to a file, we first write to a file with extension .augnew and - then rename that file to the actual file. This fails when the original is a - symlink to a file on another device. +2009-05-04 David Bartley + Bruno Haible - We now write the .augnew file next to the canonicalized original file to - avoid that headache. There are still situations where the rename fails, - e.g. when the original file is bindmounted - in that situation, we have to - copy. + acl: Fix infinite loop on FreeBSD. + * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation + of return value from acl_get_entry. + * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]: + Likewise. -2009-09-03 David Lutterkort +2009-05-03 Bruno Haible - * src/syntax.c (print_value): use print_tree instead of dump_tree + * lib/acl-internal.h (acl_entries): Clarify return value. + * lib/acl_entries.c (acl_entries): Likewise. -2009-09-02 David Lutterkort +2009-05-04 David Bartley - * lenses/rx.aug (fspath): simplistic regex for filesystem paths + Bug fix in acl module. + * lib/set-mode-acl.c: Use correct struct with ACL_SETACL. - * src/lens.c (disjoint_check): print example as tree for put - When the typechecker finds lens overlap in a union's put direction, format - the generated example as a tree to make it more readable. +2009-05-03 Bruno Haible - * src/lens.c(enc_format): remove extraneous quote + Create gperf-generated file in the source dir, not in the build dir. + * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h, + iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree. + * modules/unicase/locale-language (unicase/locale-languages.h): + Likewise. + * modules/unicase/special-casing (unicase/special-casing-table.h): + Likewise. + * modules/unictype/property-byname (unictype/pr_byname.h): Likewise. + * modules/unictype/scripts (unictype/scripts_byname.h): Likewise. + * modules/uninorm/composition (uninorm/composition-table.h): Likewise. + Reported by Ralf Wildenhues. - Make fa_example work for strings with embedded NUL's +2009-05-03 Bruno Haible -2009-09-01 Matt Palmer + * modules/fnmatch (Description, configure.ac): Taken from + fnmatch-posix. + * modules/fnmatch-posix: Turn into a symbolic reference to the + 'fnmatch' module, and deprecate. + * doc/posix-functions/fnmatch.texi: Mention the fnmatch module. - Inetd: new lens and test +2009-05-03 Bruno Haible -2009-08-31 David Lutterkort + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF, + gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE. + Reported by Ralf Wildenhues. - Pretty-print lens atypes and use that for errors during put - * src/lens.c (lns_format_atype): new function - * src/lens.h (lns_format_atype): new prototype - * src/put.c (regexp_match_error): use lns_format_atype for errors +2009-05-04 Simon Josefsson - * tests/modules/pass_strip_quotes.aug: test quote stripping - The tests strips optional quotes and puts them back (or creates them) as - needed, only depending on the value of the tree node. + * m4/fnmatch.m4: Fix fnmatch re-define. -2009-08-31 David Lutterkort +2009-04-27 David Bartley - Match trees on label and value, not just label - We still only use one level in the tree for matching in the put direction, - but take the values of nodes into account. + priv-set: new module and tests; adapt write-any-file + * lib/priv-set.c: New file. + * lib/priv-set.h: New file. + * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe. + * lib/write-any-file.c: Simplify by using priv-set module. + * m4/priv-set.m4: New file. + * modules/priv-set: New file. + * modules/unlinkdir: Add dependency on priv-set module. + * modules/write-any-file: Likewise. - We had fail_ tests in place to document the deficiency of the tree matcher, - but with that deficiency gone, these now become passing tests. + Tests for module 'priv-set'. + * modules/priv-set-tests: New file. + * tests/test-priv-set.c: New file. -2009-08-31 David Lutterkort +2009-05-03 Jim Meyering + Bruno Haible - Restrict the alphabet of a regexp + * lib/propername.c (proper_name_utf8): Ignore no-op translations; + use the converted UTF-8 variant of the name instead. - Use offsets for various lens types +2009-05-03 Jim Meyering - Carry the key type explicitly in lenses - Instead of computing the key type recursively, store it in lens->ktype. The - key type becomes the new abstract type (atype) when a lens is used inside a - subtree combinator. + tests: tighten some getdate tests + * tests/test-getdate.c (main): Tighten tests: require equality, + not just greater than. Set TZ envvar to UTC0. - Allow NULLS in regexp_(union|concat)_n - It's sometimes useful to union/concat N regexps even if some of them are - NULL. regexp_(union|concat)_n will ignore them. +2009-05-03 Giuseppe Scrivano - libfa: handle regexps with embedded NUL characters - So far, the API promised that we could do that, but that wasn't implemented. + getdate: correctly interpret "next monday" when run on a Monday + * lib/getdate.y (get_date): Correct the calculation of tm_mday so + that e.g., "next tues" (when run on a tuesday) results in a date + that is one week in the future, and not today's date. + I.e., add a week when the wday is the same as the current one. + Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406, + and earlier by Martin Bernreuther and Jan Minář. + * tests/test-getdate.c (main): Check that "next DAY" is always in + the future and that "last DAY" is always in the past. - fa_compile: accept regexps with embedded NUL's +2009-05-02 Jim Meyering - Make regexp_escape strip enclosing parens; make API const correct - * src/syntax.h (regexp_escape): make const correct - * src/regexp.h (regexp_escape): strip '(...)' enclosing entire regexp + build: ensure that a release build fails when a submodule is unclean + * top/maint.mk (no-submodule-changes): New rule. + (alpha beta major): Depend on it. - * src/builtin.c (tree_clear_glue): primitive clear function for use in tests +2009-05-02 Bruno Haible -2009-08-31 David Lutterkort + Remove incompatibility between modules fnmatch-posix and fnmatch-gnu. + * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a + shell variable gl_fnmatch_required to detect which variant is + requested. + (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into + gl_FUNC_FNMATCH_POSIX. + * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't + exclude fnmatch-posix. - Utility function xasprintf - Like asprintf, but don't leave first arg in limbo on error +2009-05-02 Bruno Haible - * src/internal.h (xasprintf): new prototype - * src/internal.c (xasprintf): new function + Relicense mbsrtowcs and strnlen1 under LGPLv2+. + * modules/mbsrtowcs (License): Change to LGPLv2+. + * modules/strnlen1 (License): Likewise. + Reported by Simon Josefsson. -2009-08-31 David Lutterkort +2009-05-02 Bruno Haible + + * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of + "cross". + (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that + gnulib-tool was called with option --source-base=lib. + +2009-05-02 Ralf Wildenhues - regexp_release: allow NULL regexp + Use automake *-local hooks without commands, for extensibility. + * modules/localcharset (Makefile.am): Rename install-exec-local + rule to install-exec-localcharset, and make it a prerequisite of + install-exec-local. Likewise, rename the uninstall-local rule to + uninstall-localcharset, and make it a prerequisite of the former. - * src/augeas.c: do not read past the end of the load path +2009-05-01 Bruno Haible -2009-08-14 David Lutterkort + * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1. + * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and + set REPLACE_WCSNRTOMBS if mbstate_t must be replaced. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS. + * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS. + * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4, + m4/locale-zh.m4, m4/codeset.m4. + + * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and + set REPLACE_WCSRTOMBS if mbstate_t must be replaced. + * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4, + m4/locale-zh.m4. + + * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set + REPLACE_WCRTOMB if mbstate_t must be replaced. + * modules/wcrtomb (Files): Add m4/mbrtowc.m4. + Reported by Jens Rehsack via Eric Blake. + +2009-05-01 Bruno Haible + + Avoid compiler warnings when redefining macros defined by . + * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext, + dngettext, dcngettext, textdomain, bindtextdomain, + bind_textdomain_codeset): Undefine before redefining. + +2009-04-30 Bruno Haible + + Fix bug introduced on 2009-04-25. + * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO, + gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros. + * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO + is defined. + * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO + is defined. + * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO + is defined. + Reported by Elbert_Pol . + +2009-04-28 Bruno Haible + + Comment tweaks. + * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is. + * lib/uninorm.h (u*_normxfrm): Fix description of return value. + * lib/unicase.h (u*_casexfrm): Likewise. + Reported by Paolo Bonzini. + +2009-04-28 Bruno Haible + + Fix a compilation error. + * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer. + * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise. + Reported by Jim Meyering. + +2009-04-27 Bruno Haible + + New module 'libunistring'. + * modules/libunistring: New file. + * m4/libunistring.m4: New file. + * MODULES.html.sh (Unicode string functions): Add it. + +2009-04-27 Eric Blake + + maint.mk: allow package-specific header to provide + * top/maint.mk (sc_require_config_h): New variable. + (sc_require_config_h, sc_require_config_h_first): Use it. + +2009-04-27 Simon Josefsson + + * top/maint.mk (sc_avoid_if_before_free): Except + useless-if-before-free script. + +2009-04-27 Eric Blake + + maintainer-makefile: depend on all required helper scripts + * modules/maintainer-makefile (Depends-on): Add vc-list-files and + useless-if-before-free. + * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local + version, rather than assuming gnulib checkout is available. + Reported by Simen Josefsson. + +2009-04-26 Bruno Haible + + Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32". + * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in + "../" or "..". + +2009-04-26 Bruno Haible + + * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument. + * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using + AC_LIB_HAVE_LINKFLAGS. + +2009-04-26 Bruno Haible + + Simplify calling convention of u*_conv_from_encoding. + * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding, + u32_conv_from_encoding): Expect a resultbuf argument and return the + result directly as a pointer. + * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise. + * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise. + * lib/uniconv/u-strconv-from-enc.h (FUNC): Update. + * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update. + * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update. + * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks): + Update. + * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update. + * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update. + * lib/vasnprintf.c (VASNPRINTF): Update. + * tests/uniconv/test-u8-conv-from-enc.c (main): Update. + * tests/uniconv/test-u16-conv-from-enc.c (main): Update. + * tests/uniconv/test-u32-conv-from-enc.c (main): Update. + * NEWS: Mention the change. + +2009-04-26 Bruno Haible + + Simplify calling convention of u*_conv_to_encoding. + * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding, + u32_conv_to_encoding): Expect a resultbuf argument and return the + result directly as a pointer. + * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise. + * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while + freeing scaled_offsets if mem_iconveha failed. + * lib/unicase/u-casexfrm.h (FUNC): Update. + * lib/uninorm/u-normxfrm.h (FUNC): Update. + * lib/vasnprintf.c (VASNPRINTF): Update. + * tests/uniconv/test-u8-conv-to-enc.c (main): Update. + * tests/uniconv/test-u16-conv-to-enc.c (main): Update. + * tests/uniconv/test-u32-conv-to-enc.c (main): Update. + * NEWS: Mention the change. + +2009-04-26 Bruno Haible + + Avoid test failures on AIX and OSF/1. + * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling + malloc(0). + * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise. + * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks): + Likewise. + * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise. + * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise. + * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak. + * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0). + * doc/posix-functions/malloc.texi: Document the portability problem + related to malloc(0). + +2009-04-26 Bruno Haible + + * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix. + * modules/unistr/u16-cpy-alloc (Depends-on): Likewise. + * modules/unistr/u32-cpy-alloc (Depends-on): Likewise. + +2009-04-25 Bruno Haible + + Avoid link error when creating a namespace clean library. + * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define + as macro with arguments if already defined as an alias. + * lib/signbitf.c (gl_signbitf): Don't undefine. + * lib/signbitd.c (gl_signbitd): Don't undefine. + * lib/signbitl.c (gl_signbitl): Don't undefine. + +2009-04-25 Jim Meyering + + vc-list-files: fix another quoting bug + * build-aux/vc-list-files: Avoid sed backslash expansion + of pathological directory names. + +2009-04-25 Eric Blake + + vc-list-files: fix shell quoting error + * build-aux/vc-list-files: Protect against $ in $dir. Normalize + timestamp. + +2009-04-25 Jim Meyering + + vc-list-files: restore lost functionality with subdir argument + * build-aux/vc-list-files: When given a non-"." sub-directory + argument, substitute the $dir/ prefix back onto each resulting name. + Otherwise, coreutils' root_tests check would fail. + +2009-04-24 Eric Blake + + vc-list-files: ignore git symlinks + * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather + than ls-files, to ignore git symlinks. + + maint.mk: import improvements from m4 + * top/maint.mk (VC-tag): Use signing key from cfg.mk. + (move_if_change): Delete unused macro. + (news-date-check, vc-diff-check): Support VPATH builds. + (announcement): Likewise. Split --bootstrap-tools list... + (boostrap-tools): ...into separate list, which can be overridden + in cfg.mk. + (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than + requiring dependency on useless-if-before-free module. + (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module. + Support VPATH builds. + +2009-04-24 Jim Meyering + + maint.mk: remove coreutils-specific rules and variables + * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove. + (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove. + (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove. - Only read regular files - * src/transform.c (is_regular_file): new function - * src/transform.c (filter_generate): do not include non-regular files + maint.mk: remove obsolete rule + * top/maint.mk (rel-check): Remove rule. + (WGET, WGETFLAGS): Remove now-unused variables. - Fixes bug #68 +2009-04-24 Simon Josefsson -2009-08-12 David Lutterkort + * top/maint.mk (makefile-check): Renamed to sc_makefile_check for + consistency. - Do not assume how glob allocates gl_pathv - We assumed that the gl_pathv in a glob_t was allocated in a particular - manner. + * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use + '$(PATH_SEPARATOR)' instead of ':'. + +2009-04-24 Simon Josefsson - * src/transform.c (filter_generate): make a copy of gl_pathv + * lib/getopt1.c (main): Use 'const' for static array. -2009-08-10 David Lutterkort +2009-04-24 Simon Josefsson - aug_load: cleanup variables when deleting /files - The first thing aug_load does is delete /augeas/files and /files. We need - to make sure that any variables that contain references to nodes in those - subtrees are cleaned up properly, i.e. that we remove such nodes from - nodesets in the variables. + * top/maint.mk: Sync with coreutils. + * NEWS: Explain incompatibilities. - * src/augeas.c (tree_unlink_children): remove descendants of the tree we - are deleting from variables. - * tests/test-load.c (testLoadDefined): verify fix +2009-04-22 Yoann Vandoorselaere + Bruno Haible - Fixes bug #79 + Fix cross-compilation results. + * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty + statement, as third argument of AC_TRY_RUN. + * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK, + gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): + Likewise. + * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise. + * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL): + Likewise. + * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise. + * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3. + * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3. -2009-08-10 David Lutterkort +2009-04-20 Bruno Haible - Pass symtab explicitly into pathx_symtab_remove_descendants + Avoid test failure on mingw. + * tests/uniwidth/test-uc_width2.sh: Convert newlines in output. -2009-08-06 David Lutterkort +2009-04-20 Bruno Haible - Record new files under /augeas/files when they are saved - * src/transform.c (transform_save): add file info with add_file_info - * tests/test-save.c: test that file info is added for a new file - * tests/Makefile.am: build and run test-save - * .gitignore: ignore tests/test-save + Avoid compilation error on mingw. + * modules/localename-tests (Depends-on): Add locale. - Fixes bug #78 +2009-04-19 Bruno Haible -2009-08-06 David Lutterkort + Support for building a shared library on Windows platforms. + * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL. + (main): Test the presence of UNINORM_NFC here. + * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL. + (main): Test the presence of UNINORM_NFD here. + * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL. + (main): Test the presence of UNINORM_NFKC here. + * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL. + (main): Test the presence of UNINORM_NFKD here. - * src/transform.c (add_file_info): change what we store about a file - For a file FILE, we now only record the path and the info for the lens; - instead of +2009-04-19 Bruno Haible - /augeas/files/FILE/path = /files/FILE - /augeas/files/FILE/lens/info = ... - /augeas/files/FILE/lens/id = 0x... + Avoid a compiler warning. + * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file): + Change type of variable 'sequence'. - we only record +2009-04-19 Bruno Haible - /augeas/files/FILE/path = /files/FILE - /augeas/files/FILE/lens = ... + * modules/configmake (Makefile.am): When the contents of configmake.h + does not change, arrange to preserve its modification time. - The id wasn't useful to anybody, and the lens info is useful for debugging - at best +2009-04-17 Simon Josefsson -2009-08-06 David Lutterkort + * top/maint.mk (PO_DOMAIN): New variable, allows overriding of + gettext domain. - * src/transform.c (add_file_info): minor cleanup - - Rename add_load_info to add_file_info - - Eliminate filename argument, since it's redundant +2009-04-16 Jim Meyering -2009-08-06 David Lutterkort + useless-if-before-free: improve conversion code + * build-aux/useless-if-before-free: Adjust code-in-comment to match + "...!= 0" as well as "...!= NULL". emacs has one of the former. - defnode: when creating new node, put it in the nodeset - When a new node is created, e.g. with 'defnode x "/foo[0 = 1]"' we used to - assign an empty nodeset to x. Now x will hold a reference to the newly - created node, even though the initial path expression would never match any - nodes. +2009-04-14 Bruno Haible - * src/augeas.c (aug_defnode): call pathx_symtab_assign_tree after - creating a node - * src/pathx.c (pathx_symtab_assign_tree): new function to assign a single - tree node to a variable - * src/internal.h: declare pathx_symtab_assign_tree - * tests/test-xpath.c (test_defnode_nonexistent): test new behavior + * modules/fcntl (Depends-on): Add extensions. + * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment. -2009-08-05 David Lutterkort +2009-04-12 Ben Pfaff - * src/lexer.l: allow DOS line endings - Accept \r\n as a line ending in addition to \n + Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux. + * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS. - Fixes RH Bugzilla 514712 +2009-03-20 Ben Pfaff -2009-08-04 Matthew Booth + Make rename replace existing destinations on Windows. + * m4/rename.m4: Add test for Mingw. + * lib/rename.c: Add rename replacement that uses MoveFileEx with + MOVEFILE_REPLACE_EXISTING to replace existing destination files. + * doc/posix-functions/rename.texi: Document. - Require quotes around strings in xorg.conf - man xorg.conf appears to support this: - String a string enclosed in double quote marks (") +2009-04-10 Bruno Haible - This change means that explicitly parsed values will remove quotes in the - get directory and insert them in the put direction. + New include file "iconveh.h". + * lib/iconveh.h: New file, extracted from lib/striconveh.h. + * lib/striconveh.h: Include it. + (enum iconv_ilseq_handler): Remove definition. + * lib/striconveha.h: Include and iconveh.h instead of + striconveh.h. + * lib/striconveha.c: Include striconveh.h. + * lib/uniconv.h: Include iconveh.h instead of striconveh.h. + * modules/striconveh (Files): Add lib/iconveh.h. + * modules/uniconv/base (Files): Add lib/iconveh.h. Remove + lib/striconveh.h. - Currently, only the following entries are explicitly parsed: - * Option - * Screen - * InputDevice - * Driver - * SubSection - * Identifier - * VideoRam - * DefaultDepth - * Device - * All entries in the Display Subsection +2009-04-10 Bruno Haible - The lens will also accept any other entry name not in this list. However, - as it does not know what types to expect, it stores a bare string. This - will include quote marks. + * lib/uniconv.h: Update comment. -2009-08-04 Matthew Booth +2009-04-10 Bruno Haible - Add more specific entry handlers to xorg.conf - Additionally handle: - * Driver - * Identifier - * VideoRam - * DefaultDepth + * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function + always. + * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise. + * lib/unistr/u16-mbtouc-aux.c: Likewise. + * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise. + * lib/unistr/u8-mbtouc.c: Inside libunistring, include + "unistring-notinline.h", so that the function gets defined always. + * lib/unistr/u8-mbtouc-unsafe.c: Likewise. + * lib/unistr/u8-uctomb.c: Likewise. + * lib/unistr/u16-mbtouc.c: Likewise. + * lib/unistr/u16-mbtouc-unsafe.c: Likewise. + * lib/unistr/u16-uctomb.c: Likewise. + * lib/unistr/u32-mbtouc.c: Likewise. + * lib/unistr/u32-mbtouc-unsafe.c: Likewise. + * lib/unistr/u32-uctomb.c: Likewise. - This covers all entries in the default configuration. +2009-04-10 Bruno Haible - The advantage of having a specific handler is that it knows more about what - values are valid. For example, with this patch Driver will not accept an - unquoted value, which would cause the X server not to start. + Mark 'utime' obsolete. + * modules/utime (Status, Notice): New sections. + Suggested by Jim Meyering. -2009-08-04 Matthew Booth + Fix cross-compile guess for utime test. + * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable + autoconf. + * doc/posix-functions/utime.texi: Give more precisions. + Reported by Jan . + +2009-04-09 Kamil Dudka + + filevercmp: correct today's change + * lib/filevercmp.c: Also handle coreutils' test inputs. + * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts. + + Fix regression in 'filevercmp' module. Thanks Sven Joachim + for reporting it. + * lib/filevercmp.c: Special handle for "", "." and "..". + * tests/test-filevercmp.c: Enlarge the set suite. + +2009-04-07 Jim Meyering + + useless-if-before-free: show how to remove braced useless free, too + * build-aux/useless-if-before-free: still only in a comment, though. + +2009-04-07 Reuben Thomas + + maint.mk: import changes to syntax-check macros from coreutils + * top/maint.mk (_prohibit_regexp, _header_without_use): Define. + Use them in the relevant macros. + +2009-04-06 Bruno Haible + + Fix unportable use of bit-fields. + * lib/unicase/special-casing.h (struct special_casing_rule): Change the + bit-field type from 'int' to 'signed int'. Otherwise Solaris cc, + AIX xlc, and OSF/1 cc interpret it as 'unsigned int'. + +2009-04-06 Bruno Haible + + Avoid test failures on AIX and OSF/1. + * tests/unicase/test-u8-casefold.c (check): Account for the possibility + that malloc(0) = NULL. + * tests/unicase/test-u8-tolower.c (check): Likewise. + * tests/unicase/test-u8-totitle.c (check): Likewise. + * tests/unicase/test-u8-toupper.c (check): Likewise. + * tests/unicase/test-u16-casefold.c (check): Likewise. + * tests/unicase/test-u16-tolower.c (check): Likewise. + * tests/unicase/test-u16-totitle.c (check): Likewise. + * tests/unicase/test-u16-toupper.c (check): Likewise. + * tests/unicase/test-u32-casefold.c (check): Likewise. + * tests/unicase/test-u32-tolower.c (check): Likewise. + * tests/unicase/test-u32-totitle.c (check): Likewise. + * tests/unicase/test-u32-toupper.c (check): Likewise. + * tests/uninorm/test-u8-nfc.c (check): Likewise. + * tests/uninorm/test-u8-nfd.c (check): Likewise. + * tests/uninorm/test-u8-nfkc.c (check): Likewise. + * tests/uninorm/test-u8-nfkd.c (check): Likewise. + * tests/uninorm/test-u16-nfc.c (check): Likewise. + * tests/uninorm/test-u16-nfd.c (check): Likewise. + * tests/uninorm/test-u16-nfkc.c (check): Likewise. + * tests/uninorm/test-u16-nfkd.c (check): Likewise. + * tests/uninorm/test-u32-nfc.c (check): Likewise. + * tests/uninorm/test-u32-nfd.c (check): Likewise. + * tests/uninorm/test-u32-nfkc.c (check): Likewise. + * tests/uninorm/test-u32-nfkd.c (check): Likewise. + +2009-04-05 Bruno Haible + + Work around an autoconf limitation. + * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by" + comment line if it would be longer than 3 KB. + +2009-04-05 Bruno Haible + + Avoid test failure with libiconv-1.13. + * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one + of the expected test results. + +2009-04-05 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to + noinst_LTLIBRARIES if the Makefile.am in the same directory specifies + that it should be installed. + +2009-04-05 Bruno Haible + + * gnulib-tool: New option --copy-file. + (func_usage): Document it. + (func_dest_tmpfilename): Moved out of func_import. + (func_add_file, func_update_file): New functions, extracted from + func_import. + (func_import): Update. + +2009-04-05 Karl Berry + + * README: prominently mention gnulib-tool. + Rearrange sections so getting the code is near the top. + +2009-04-05 Bruno Haible + + * lib/unicase.h: Mention u*_cmp2. + * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP. + * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp. + * lib/unicase/ulc-casecmp.c: Likewise. + * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp. + * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp. + * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove + unistr/u8-cmp. + * modules/unicase/ulc-casecmp (Depends-on): Likewise. + * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove + unistr/u16-cmp. + * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove + unistr/u32-cmp. + + * lib/uninorm.h: Mention u*_cmp2. + * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP. + * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp. + * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp. + * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp. + * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove + unistr/u8-cmp. + * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove + unistr/u16-cmp. + * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove + unistr/u32-cmp. + + New module 'unistr/u32-cmp2'. + * lib/unistr/u32-cmp2.c: New file. + * modules/unistr/u32-cmp2: New file. + + New module 'unistr/u16-cmp2'. + * lib/unistr/u16-cmp2.c: New file. + * modules/unistr/u16-cmp2: New file. + + New module 'unistr/u8-cmp2'. + * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations. + * lib/unistr/u8-cmp2.c: New file. + * lib/unistr/u-cmp2.h: New file. + * modules/unistr/u8-cmp2: New file. + +2009-04-05 Bruno Haible + + * lib/unictype.h (uc_property_is_valid): New macro. + * tests/unictype/test-pr_byname.c (main): Use it. + + * lib/unistr.h: Doc fixes. + * lib/uniconv.h: Doc fixes. + * lib/unictype.h: Doc fixes. + +2009-04-03 Paul Eggert + + Port coreutils 7.2 to Solaris 8. + + * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h. + * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl, + for Solaris 8. This is a bit of a hack, as it means it's the + caller's responsibility to add -lnsl if needed, but most likely it + won't be needed since only getaddrinfo uses this and getaddrinfo + isn't needed on Solaris 8. - Parse more directives in xorg.conf - The default xorg.conf generated by pyxf86config on Red Hat/Fedora systems - is not parsed by the current xorg.conf. Specifically it does not - understand: + * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting + problem to Solaris 8 encountered with coreutils 7.2, which + resulted in a message "fnmatch.c:292: warning: passing argument 4 + of 'mbsrtowcs' from incompatible pointer type". Also, add mbsinit + at the suggestion of Bruno Haible, since fnmatch uses mbsinit. - * Screen, in ServerLayout - * InputDevice, in ServerLayout - * SubSection "Display" ..., in Screen +2009-04-03 Simon Josefsson - This patch adds support for those values, so that the default xorg.conf on - Red Hat/Fedora systems now parses. + * m4/ld-version-script.m4: Add FIXME comment. - It should also add support for all directives in the Display subsection, - however they are not covered by the test. +2009-04-02 Simon Josefsson -2009-07-31 Marc Fournier + * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing + SOVERSION variable. + +2009-04-02 Bruno Haible - vim: extra carriage return caused a parse error + * Makefile (info, html, dvi, pdf): Combine the rules. + Suggested by Jim Meyering. -2009-07-23 Jim Meyering +2009-04-01 Bruno Haible - tests: extract SELinux context more portably - * test-preserve.sh: Use stat --format=%C $hosts ... rather than - ls -lZ $hosts | cut -d ' ' -f 5. The latter fails with some - combinations of ls and SELinux. + * Makefile (info, html, dvi, pdf): New targets. + Reported by Reuben Thomas . -2009-07-16 David Lutterkort +2009-04-01 Bruno Haible - * src/Makefile.am: link libfa with gnulib, needed on AIX + * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool + can be put into PATH. + Reported by Reuben Thomas . Suggested by Karl Berry. -2009-07-14 Bruno Cornec +2009-04-01 Bruno Haible - * doc/augeas.vim: vi syntax highlighting for .aug files + * doc/lib-symbol-visibility.texi: Follow texinfo style conventions. -2009-07-13 David Lutterkort +2009-04-01 Bruno Haible - Version 0.5.2 + Rename module 'visibility'. + * modules/lib-symbol-visibility: Renamed from modules/visibility. + * doc/lib-symbol-visibility.texi: Renamed from visibility.texi. + * doc/gnulib.texi: Update. + * MODULES.html.sh (Misc): Update. + * NEWS: Mention the change. -2009-07-09 David Lutterkort +2009-04-01 Simon Josefsson - tree handling: propagate dirty flag into root - We had an off-by-one error in tree_mark_dirty that lead to the root of the - tree not being marked as dirty. As a consequence, performing a tree_clean - on such a tree would not mark the tree as clean; that caused an aug_load - directly followed by aug_save to write to disk, even though the tree was - unchanged. + * modules/lib-msvc-compat: New module. Thanks to Bruno Haible + , Ralf Wildenhues , and + Eric Blake for review. + * MODULES.html.sh: Add lib-msvc-compat. + * doc/gnulib.texi: Link to new section. + * m4/ld-output-def.m4: New file. + * doc/ld-output-def.texi: New file. - * src/augeas.c (tree_mark_dirty): propagate dirty flag to the root - * tests/test-load.c (testLoadSave): test that simple load + save - does not touch the filesystem +2009-04-01 Simon Josefsson - This bug was introduced in commit 7278965b + Rename ld-version-script to lib-symbol-versions. Suggested by + Bruno Haible . + * modules/ld-version-script: Renamed to lib-symbol-versions. + * doc/ld-version-script.texi: Fix module name. + * MODULES.html.sh: Add lib-symbol-versions. -2009-07-08 David Lutterkort +2009-03-31 Simon Josefsson - Ntp: allow additional options for server etc. - Allow options listed on http://doc.ntp.org/4.2.4/confopt.html + * modules/u64-tests: New file. + * tests/test-u64.c: New file. - Fixes bug #72 reported by Micah +2009-03-04 Simon Josefsson -2009-07-08 David Lutterkort + * MODULES.html.sh: Mention u64. + * modules/u64: New module. + * modules/crypto/sha512: Depend on u64 module instead of providing + u64.h. - Shellvars: allow backticks as quote characters - * lenses/shellvars.aug (simple_value): allow backticks as quotes - * lenses/tests/test_shellvars.aug: add tests +2009-03-27 Eric Blake - Fixes bug #74 reported by Micah + test-strerror: make debugging EAI_SYSTEM easier + * modules/getaddrinfo-tests (Depends-on): Add strerror. + * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if + failure was EAI_SYSTEM. -2009-07-08 Jim Meyering +2009-03-25 Bruno Haible - build: ignore generated test files - * tests/.gitignore: Remove file. - * .gitignore: ignore tests/lens-*.sh + Fix a problem with --enable-relocatable on Solaris 7. + * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed + since 2008-02-24. -2009-07-08 David Lutterkort +2009-03-25 Eric Blake - Logrotate: allow filenames to be indented - * lenses/logrotate.aug (rule): allow indentation at start of rule - * lenses/tests/test_logrotate.aug: add tests + test-sockets: avoid gcc warning + * tests/test-sockets.c (main): Silence compiler warning. - Fixes part of bug #67 reported by Micah +2009-03-25 Paul Eggert -2009-07-08 David Lutterkort + New modules nproc, pthread, contributed by Glen Lenker. - Logrotate: make owner/group in create statement optional - * lenses/logrotate.aug (create): make mode/owner/group optional - * lenses/test/test_logrotate.aug: add tests + * MODULES.html.sh: Add pthread, nproc. + * lib/nproc.c: New file. + * lib/nproc.h: New file. + * lib/pthread.in.h: New file. + * m4/pthread.m4: New file. + * modules/nproc: New file. + * modules/pthread: New file. - Fixes part of bug #67 reported by Micah +2009-03-24 Simon Josefsson -2009-07-08 David Lutterkort + * modules/unicase/locale-language-tests (test_locale_language_LDADD): + New variable. - * configure.ac: use AC_SYS_LARGEFILE - Suggested by Jeff Johnson +2009-03-24 Kamil Dudka -2009-07-08 David Lutterkort + filevercmp: handle simple~ and numbered.~3~ backup suffixes + * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes. + * tests/test-filevercmp.c: Add tests for backup suffixes. - * src/augeas.c (init_root): when root0 == "", use "/" as root - When an empty string is passed as root0, make sure we do not make an - invalid memory access when we look for the trailing slash. +2009-03-24 Simon Josefsson - Reported and fix suggested by Jeff Johnson + * modules/stdlib (Depends-on): Add stdint, needed when defining + struct random_data on, for example, HP-UX 10.20. Reported by + Albert Chin . -2009-06-26 Jim Meyering +2009-03-24 Simon Josefsson - tests: divide test-lenses.sh into its 54 independent tests - This permits these tests to be run in parallel. - * tests/lens-test-1: New file. - * tests/Makefile.am (lens_tests): Define. - (check-lens-tests): New rule, to ensure that the above stays in - sync with reality. - (check): Depend on check-lens-tests. - ($(lens_tests)): New rule. Generate these files. - (check_SCRIPTS): Remove test-lenses.sh. Add $(lens_tests). - (EXTRA_DIST): Add lens-test-1. - * tests/test-lenses.sh: Remove file. - * tests/.gitignore: suppress lens-*.sh files + * lib/readline.c (readline): Call fflush on stdout after printing + prompt. - enable automake-1.11 features: colorized and parallel tests, etc. - Also enable automake's new "silent-rules" feature. - Use "make V=1" to see the usual, verbose-mode commands. - * configure.ac: Require automake-1.11. - Enable color-tests parallel-tests. Use AM_SILENT_RULES([yes]) +2009-03-20 Bruno Haible -2009-06-26 Marc Fournier + Remove dependency from 'close' module to -lws2_32 on native Windows. + * lib/close-hook.h: New file. + * lib/close-hook.c: New file. + * lib/close.c: Include close-hook.h. Don't include , + w32sock.h. + (_gl_close_fd_maybe_socket): Remove function. + (rpl_close): Invoke execute_all_close_hooks instead of + _gl_close_fd_maybe_socket. + * lib/sockets.c: Include close-hook.h, w32sock.h. + (close_fd_maybe_socket): New function, essentially from lib/close.c. + (close_sockets_hook): New variable. + (gl_sockets_startup): Register close_fd_maybe_socket as a hook. + (gl_sockets_cleanup): Unregister it. + * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro. + * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change. + * modules/close-hook: New file. + * modules/close (Files): Remove lib/w32sock.h. + (Depends-on): Add close-hook. + (Link): Remove section. + * modules/sockets (Files): Add lib/w32sock.h. + (Depends-on): Add close-hook. + * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR + invocation. + * NEWS: Mention that LIB_CLOSE is gone. - Yum: also read files in /etc/yum/pluginconf.d +2009-03-23 Eric Blake -2009-06-16 David Lutterkort + signal-tests: test previous patch + * tests/test-signal.c: New file. + * modules/signal-tests: Likewise. - Inittab: clean up formatting some + signal.h: always support 'volatile sig_atomic_t' + * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation. + (gl_SIGNAL_H_DEFAULTS): Add a default. + * modules/signal (Makefile.am): Substitute if needed. + * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that + users can blindly add volatile. + * doc/posix-headers/signal.texi (signal.h): Document it. + Reported by Matthew Woehlke. -2009-06-16 Matt Palmer +2009-03-23 Jim Meyering - Inittab: simplified schema, map comments - Change the structure of the inittab lens so that the 'id' field is used - as the name of the subtree for that line in /etc/inittab. + pathmax: PATH_MAX: use pathconf only when available + * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition + only if HAVE_PATHCONF is defined. Patch by Sylvain Beucler. + * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf. + This avoids a link failure in a PSP cross-compilation environment + described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048 + + * lib/vasnprintf.c (divide): Fix typo in comment. + +2009-03-23 Ralf Wildenhues - Map comments as '#comment' nodes + * gnulib-tool (func_filter_filelist): Fix comment. + +2009-03-20 Bruno Haible + + Make sockets.h self-contained. + * lib/sockets.c: Include sockets.h first. + * lib/sockets.h: Include before using the SOCKET type. + +2009-03-19 Eric Blake + + doc: mention more functions added in cygwin 1.7.0 + * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0 + addition. + * doc/posix-functions/log2f.texi: Likewise. + +2009-03-19 Jim Meyering + + fsusage: avoid syntax error due to statement-before-declaration + * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement + after all declarations. Reported by Matthew Woehlke in + http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231 + +2009-03-18 Eric Blake + + build-aux/compile: sync from automake + * build-aux/compile: New file, from automake. + * config/srclist.txt: Mention build-aux/compile. + +2009-03-17 Bruno Haible + + * lib/git-merge-changelog.c: Fix typo in comment. + Reported by Reuben Thomas . + +2009-03-17 Reuben Thomas + + * m4/regex.m4: update and improve help for + --without-included-regex. + +2009-03-17 Simon Josefsson + + * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid + failure on missing include files. + +2009-03-17 Eric Blake + + doc: mention more functions added in cygwin 1.7.0 + * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0 + addition. + * doc/posix-functions/fwscanf.texi: Likewise. + * doc/posix-functions/swprintf.texi: Likewise. + * doc/posix-functions/swscanf.texi: Likewise. + * doc/posix-functions/vfwprintf.texi: Likewise. + * doc/posix-functions/vfwscanf.texi: Likewise. + * doc/posix-functions/vswprintf.texi: Likewise. + * doc/posix-functions/vswscanf.texi: Likewise. + * doc/posix-functions/vwprintf.texi: Likewise. + * doc/posix-functions/vwscanf.texi: Likewise. + * doc/posix-functions/wcscasecmp.texi: Likewise. + * doc/posix-functions/wcsdup.texi: Likewise. + * doc/posix-functions/wcsftime.texi: Likewise. + * doc/posix-functions/wcsncasecmp.texi: Likewise. + * doc/posix-functions/wprintf.texi: Likewise. + * doc/posix-functions/wscanf.texi: Likewise. + * doc/glibc-functions/gethostbyname2.texi: Likewise. + +2009-03-14 Ralf Wildenhues + + maint.mk: really add $(AM_MAKEFLAGS) + * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)' + was inadvertently omitted in the last commit. + Spotted by Bruno Haible. + + maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make + * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE) + $(AM_MAKEFLAGS)' rather than plain `make'. + + gnulib-tool: execute $MAKE not make + * gnulib-tool: Default $MAKE to 'make'. + (func_create_testdir, func_create_megatestdir): Use $MAKE rather + than make. Initialize $MAKE in the do-autobuild script. + + gnulib-tool: use $MAKE not make in generated files + * gnulib-tool (func_create_megatestdir): Use $MAKE rather than + make, in generated files. Initialize $MAKE in the do-autobuild + script. + + * top/GNUmakefile (_have-git-version-gen): Fix typo. + + GNUmakefile: disable parallelism only for multiple, recursive targets + * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user + additions in the Makefile. + (AM_RECURSIVE_TARGETS): New macro, override only if not provided + by Automake. + (.NOTPARALLEL): Only disable parallel builds if multiple targets + are listed on the command line and at least one of them is + listed in $(ALL_RECURSIVE_TARGETS). + +2009-03-14 Bruno Haible + + * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace + utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe. + * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise. + * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace + utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe. + * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise. + * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with + unistr/u8-uctomb. + * modules/unistr/u8-strchr (Depends-on): Likewise. + * modules/unistr/u8-strrchr (Depends-on): Likewise. + * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with + unistr/u16-uctomb. + * modules/unistr/u16-strchr (Depends-on): Likewise. + * modules/unistr/u16-strrchr (Depends-on): Likewise. + +2009-03-12 Bruno Haible + + Work around select() bug on Interix 3.5. + * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1. + * lib/select.c (rpl_select): Add an implementation for Unix platforms. + * m4/select.m4: New file. + * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT. + * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT. + * modules/select (Files): Add m4/select.m4. + (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT. + * modules/nanosleep (Depends-on): Add select. + * modules/poll (Depends-on): Likewise. + * doc/posix-functions/select.texi: Mention the Interix bug. + Reported by Markus Duft . + + * lib/select.c: Renamed from lib/winsock-select.c. + * modules/select (Files): Add lib/select.c, remove + lib/winsock-select.c. + (configure.ac): Update. + +2009-03-12 Jim Meyering + + avoid gcc warnings about unused macro definitions + * lib/readtokens.c (STREQ): Remove unused definition. + * lib/xmalloc.c (SIZE_MAX): Likewise. + * lib/openat-die.c (N_): Likewise. + * lib/mountlist.c (SIZE_MAX): Remove definition. + Instead, include . + * lib/readutmp.c: Likewise. + * modules/readutmp (Depends-on): Add stdint. + * modules/mountlist (Depends-on): Add stdint. + * lib/userspec.c (ISDIGIT): Move definition into #if block where used. + +2009-03-10 Bruno Haible + + Tests for module 'mbmemcasecoll'. + * modules/mbmemcasecoll-tests: New file. + * tests/test-mbmemcasecoll1.sh: New file. + * tests/test-mbmemcasecoll2.sh: New file. + * tests/test-mbmemcasecoll3.sh: New file. + * tests/test-mbmemcasecoll.c: New file. + + New module 'mbmemcasecoll'. + * lib/mbmemcasecoll.h: New file. + * lib/mbmemcasecoll.c: New file. + * modules/mbmemcasecoll: New file. + + * tests/test-mbmemcasecmp.h: New file, extracted from + tests/test-mbmemcasecmp.c. + * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h. + (test_ascii, test_iso_8859_1, test_utf_8): Remove functions. + (main): Update. + * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h. + +2009-03-09 Bruno Haible + + Tests for module 'mbmemcasecmp'. + * modules/mbmemcasecmp-tests: New file. + * tests/test-mbmemcasecmp1.sh: New file. + * tests/test-mbmemcasecmp2.sh: New file. + * tests/test-mbmemcasecmp3.sh: New file. + * tests/test-mbmemcasecmp.c: New file. + + New module 'mbmemcasecmp'. + * lib/mbmemcasecmp.h: New file. + * lib/mbmemcasecmp.c: New file. + * modules/mbmemcasecmp: New file. + +2009-03-09 Bruno Haible + + Tests for module 'unicase/ulc-casecoll'. + * modules/unicase/ulc-casecoll-tests: New file. + * tests/unicase/test-ulc-casecoll1.sh: New file. + * tests/unicase/test-ulc-casecoll2.sh: New file. + * tests/unicase/test-ulc-casecoll.c: New file. + + New module 'unicase/ulc-casecoll'. + * lib/unicase.h (ulc_casecoll): New declaration. + * lib/unicase/ulc-casecoll.c: New file. + * modules/unicase/ulc-casecoll: New file. + + New module 'unicase/ulc-casexfrm'. + * lib/unicase.h (ulc_casexfrm): New declaration. + * lib/unicase/ulc-casexfrm.c: New file. + * modules/unicase/ulc-casexfrm: New file. + +2009-03-09 Bruno Haible + + Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC + invocations. + + * m4/mbscasecmp.m4: Remove file. + * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSCASECMP invocation. + + * m4/mbscasestr.m4: Remove file. + * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSCASESTR invocation. + + * m4/mbschr.m4: Remove file. + * modules/mbschr (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSCHR invocation. + + * m4/mbscspn.m4: Remove file. + * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSCSPN invocation. + + * m4/mbslen.m4: Remove file. + * modules/mbslen (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSLEN invocation. + + * m4/mbsncasecmp.m4: Remove file. + * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation. + + * m4/mbsnlen.m4: Remove file. + * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSNLEN invocation. + + * m4/mbspbrk.m4: Remove file. + * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSPBRK invocation. + + * m4/mbspcasecmp.m4: Remove file. + * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation. + + * m4/mbsrchr.m4: Remove file. + * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSRCHR invocation. + + * m4/mbssep.m4: Remove file. + * modules/mbssep (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSSEP invocation. + + * m4/mbsspn.m4: Remove file. + * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSSPN invocation. + + * m4/mbsstr.m4: Remove file. + * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSSTR invocation. + + * m4/mbstok_r.m4: Remove file. + * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4 + (configure.ac): Remove gl_FUNC_MBSTOK_R invocation. + + * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation. + + * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and + AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations. + + * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation. + +2009-03-08 Bruno Haible + + Tests for module 'unicase/ulc-casecmp'. + * modules/unicase/ulc-casecmp-tests: New file. + * tests/unicase/test-ulc-casecmp1.sh: New file. + * tests/unicase/test-ulc-casecmp2.sh: New file. + * tests/unicase/test-ulc-casecmp.c: New file. + + New module 'unicase/ulc-casecmp'. + * lib/unicase.h (ulc_casecmp): New declaration. + * lib/unicase/ulc-casecmp.c: New file. + * lib/unicase/u-casecmp.h (FUNC): Change argument types to + 'const SRC_UNIT *'. + * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT. + * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise. + * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise. + * modules/unicase/ulc-casecmp: New file. + + Tests for module 'unicase/u32-is-cased'. + * modules/unicase/u32-is-cased-tests: New file. + * tests/unicase/test-u32-is-cased.c: New file. + + Tests for module 'unicase/u16-is-cased'. + * modules/unicase/u16-is-cased-tests: New file. + * tests/unicase/test-u16-is-cased.c: New file. + + Tests for module 'unicase/u8-is-cased'. + * modules/unicase/u8-is-cased-tests: New file. + * tests/unicase/test-u8-is-cased.c: New file. + * tests/unicase/test-is-cased.h: New file. + + New module 'unicase/u32-is-cased'. + * lib/unicase/u32-is-cased.c: New file. + * modules/unicase/u32-is-cased: New file. + + New module 'unicase/u16-is-cased'. + * lib/unicase/u16-is-cased.c: New file. + * modules/unicase/u16-is-cased: New file. + + New module 'unicase/u8-is-cased'. + * lib/unicase/u8-is-cased.c: New file. + * lib/unicase/u-is-cased.h: New file. + * modules/unicase/u8-is-cased: New file. + + Tests for module 'unicase/u32-is-casefolded'. + * modules/unicase/u32-is-casefolded-tests: New file. + * tests/unicase/test-u32-is-casefolded.c: New file. + + Tests for module 'unicase/u16-is-casefolded'. + * modules/unicase/u16-is-casefolded-tests: New file. + * tests/unicase/test-u16-is-casefolded.c: New file. + + Tests for module 'unicase/u8-is-casefolded'. + * modules/unicase/u8-is-casefolded-tests: New file. + * tests/unicase/test-u8-is-casefolded.c: New file. + * tests/unicase/test-is-casefolded.h: New file. + + New module 'unicase/u32-is-casefolded'. + * lib/unicase/u32-is-casefolded.c: New file. + * modules/unicase/u32-is-casefolded: New file. + + New module 'unicase/u16-is-casefolded'. + * lib/unicase/u16-is-casefolded.c: New file. + * modules/unicase/u16-is-casefolded: New file. + + New module 'unicase/u8-is-casefolded'. + * lib/unicase/u8-is-casefolded.c: New file. + * modules/unicase/u8-is-casefolded: New file. + + Tests for module 'unicase/u32-is-titlecase'. + * modules/unicase/u32-is-titlecase-tests: New file. + * tests/unicase/test-u32-is-titlecase.c: New file. + + Tests for module 'unicase/u16-is-titlecase'. + * modules/unicase/u16-is-titlecase-tests: New file. + * tests/unicase/test-u16-is-titlecase.c: New file. + + Tests for module 'unicase/u8-is-titlecase'. + * modules/unicase/u8-is-titlecase-tests: New file. + * tests/unicase/test-u8-is-titlecase.c: New file. + * tests/unicase/test-is-titlecase.h: New file. + + New module 'unicase/u32-is-titlecase'. + * lib/unicase/u32-is-titlecase.c: New file. + * modules/unicase/u32-is-titlecase: New file. + + New module 'unicase/u16-is-titlecase'. + * lib/unicase/u16-is-titlecase.c: New file. + * modules/unicase/u16-is-titlecase: New file. + + New module 'unicase/u8-is-titlecase'. + * lib/unicase/u8-is-titlecase.c: New file. + * modules/unicase/u8-is-titlecase: New file. + + Tests for module 'unicase/u32-is-lowercase'. + * modules/unicase/u32-is-lowercase-tests: New file. + * tests/unicase/test-u32-is-lowercase.c: New file. + + Tests for module 'unicase/u16-is-lowercase'. + * modules/unicase/u16-is-lowercase-tests: New file. + * tests/unicase/test-u16-is-lowercase.c: New file. + + Tests for module 'unicase/u8-is-lowercase'. + * modules/unicase/u8-is-lowercase-tests: New file. + * tests/unicase/test-u8-is-lowercase.c: New file. + * tests/unicase/test-is-lowercase.h: New file. + + New module 'unicase/u32-is-lowercase'. + * lib/unicase/u32-is-lowercase.c: New file. + * modules/unicase/u32-is-lowercase: New file. + + New module 'unicase/u16-is-lowercase'. + * lib/unicase/u16-is-lowercase.c: New file. + * modules/unicase/u16-is-lowercase: New file. + + New module 'unicase/u8-is-lowercase'. + * lib/unicase/u8-is-lowercase.c: New file. + * modules/unicase/u8-is-lowercase: New file. + + Tests for module 'unicase/u32-is-uppercase'. + * modules/unicase/u32-is-uppercase-tests: New file. + * tests/unicase/test-u32-is-uppercase.c: New file. + + Tests for module 'unicase/u16-is-uppercase'. + * modules/unicase/u16-is-uppercase-tests: New file. + * tests/unicase/test-u16-is-uppercase.c: New file. + + Tests for module 'unicase/u8-is-uppercase'. + * modules/unicase/u8-is-uppercase-tests: New file. + * tests/unicase/test-u8-is-uppercase.c: New file. + * tests/unicase/test-is-uppercase.h: New file. + + New module 'unicase/u32-is-uppercase'. + * lib/unicase/u32-is-uppercase.c: New file. + * modules/unicase/u32-is-uppercase: New file. + + New module 'unicase/u16-is-uppercase'. + * lib/unicase/u16-is-uppercase.c: New file. + * modules/unicase/u16-is-uppercase: New file. + + New module 'unicase/u8-is-uppercase'. + * lib/unicase/u8-is-uppercase.c: New file. + * modules/unicase/u8-is-uppercase: New file. + + New module 'unicase/u32-is-invariant'. + * lib/unicase/u32-is-invariant.c: New file. + * modules/unicase/u32-is-invariant: New file. + + New module 'unicase/u16-is-invariant'. + * lib/unicase/u16-is-invariant.c: New file. + * modules/unicase/u16-is-invariant: New file. + + New module 'unicase/u8-is-invariant'. + * lib/unicase/u8-is-invariant.c: New file. + * lib/unicase/invariant.h: New file. + * lib/unicase/u-is-invariant.h: New file. + * modules/unicase/u8-is-invariant: New file. + + Tests for module 'unicase/u32-casecoll'. + * modules/unicase/u32-casecoll-tests: New file. + * tests/unicase/test-u32-casecoll.c: New file. + + Tests for module 'unicase/u16-casecoll'. + * modules/unicase/u16-casecoll-tests: New file. + * tests/unicase/test-u16-casecoll.c: New file. + + Tests for module 'unicase/u8-casecoll'. + * modules/unicase/u8-casecoll-tests: New file. + * tests/unicase/test-u8-casecoll.c: New file. + + New module 'unicase/u32-casecoll'. + * lib/unicase/u32-casecoll.c: New file. + * modules/unicase/u32-casecoll: New file. + + New module 'unicase/u16-casecoll'. + * lib/unicase/u16-casecoll.c: New file. + * modules/unicase/u16-casecoll: New file. + + New module 'unicase/u8-casecoll'. + * lib/unicase/u8-casecoll.c: New file. + * lib/unicase/u-casecoll.h: New file. + * modules/unicase/u8-casecoll: New file. + + New module 'unicase/u32-casexfrm'. + * lib/unicase/u32-casexfrm.c: New file. + * modules/unicase/u32-casexfrm: New file. + + New module 'unicase/u16-casexfrm'. + * lib/unicase/u16-casexfrm.c: New file. + * modules/unicase/u16-casexfrm: New file. + + New module 'unicase/u8-casexfrm'. + * lib/unicase/u8-casexfrm.c: New file. + * lib/unicase/u-casexfrm.h: New file. + * modules/unicase/u8-casexfrm: New file. + + Tests for module 'unicase/u32-casecmp'. + * modules/unicase/u32-casecmp-tests: New file. + * tests/unicase/test-u32-casecmp.c: New file. + + Tests for module 'unicase/u16-casecmp'. + * modules/unicase/u16-casecmp-tests: New file. + * tests/unicase/test-u16-casecmp.c: New file. + + Tests for module 'unicase/u8-casecmp'. + * modules/unicase/u8-casecmp-tests: New file. + * tests/unicase/test-u8-casecmp.c: New file. + * tests/unicase/test-casecmp.h: New file. + + New module 'unicase/u32-casecmp'. + * lib/unicase/u32-casecmp.c: New file. + * modules/unicase/u32-casecmp: New file. + + New module 'unicase/u16-casecmp'. + * lib/unicase/u16-casecmp.c: New file. + * modules/unicase/u16-casecmp: New file. + + New module 'unicase/u8-casecmp'. + * lib/unicase/u8-casecmp.c: New file. + * lib/unicase/u-casecmp.h: New file. + * modules/unicase/u8-casecmp: New file. + + Tests for module 'unicase/u32-casefold'. + * modules/unicase/u32-casefold-tests: New file. + * tests/unicase/test-u32-casefold.c: New file. + + Tests for module 'unicase/u16-casefold'. + * modules/unicase/u16-casefold-tests: New file. + * tests/unicase/test-u16-casefold.c: New file. + + Tests for module 'unicase/u8-casefold'. + * modules/unicase/u8-casefold-tests: New file. + * tests/unicase/test-u8-casefold.c: New file. + + New module 'unicase/u32-casefold'. + * lib/unicase/u32-casefold.c: New file. + * modules/unicase/u32-casefold: New file. + + New module 'unicase/u16-casefold'. + * lib/unicase/u16-casefold.c: New file. + * modules/unicase/u16-casefold: New file. + + New module 'unicase/u8-casefold'. + * lib/unicase/u8-casefold.c: New file. + * lib/unicase/u-casefold.h: New file. + * modules/unicase/u8-casefold: New file. + + New module 'unicase/tocasefold'. + * lib/unicase/casefold.h: New file. + * lib/unicase/tocasefold.c: New file. + * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c. + * modules/unicase/tocasefold: New file. + + Tests for module 'unicase/u32-totitle'. + * modules/unicase/u32-totitle-tests: New file. + * tests/unicase/test-u32-totitle.c: New file. + + Tests for module 'unicase/u16-totitle'. + * modules/unicase/u16-totitle-tests: New file. + * tests/unicase/test-u16-totitle.c: New file. + + Tests for module 'unicase/u8-totitle'. + * modules/unicase/u8-totitle-tests: New file. + * tests/unicase/test-u8-totitle.c: New file. + + New module 'unicase/u32-totitle'. + * lib/unicase/u32-totitle.c: New file. + * modules/unicase/u32-totitle: New file. + + New module 'unicase/u16-totitle'. + * lib/unicase/u16-totitle.c: New file. + * modules/unicase/u16-totitle: New file. + + New module 'unicase/u8-totitle'. + * lib/unicase/u8-totitle.c: New file. + * lib/unicase/u-totitle.h: New file. + * modules/unicase/u8-totitle: New file. + + Tests for module 'unicase/u32-tolower'. + * modules/unicase/u32-tolower-tests: New file. + * tests/unicase/test-u32-tolower.c: New file. + + Tests for module 'unicase/u16-tolower'. + * modules/unicase/u16-tolower-tests: New file. + * tests/unicase/test-u16-tolower.c: New file. + + Tests for module 'unicase/u8-tolower'. + * modules/unicase/u8-tolower-tests: New file. + * tests/unicase/test-u8-tolower.c: New file. + + New module 'unicase/u32-tolower'. + * lib/unicase/u32-tolower.c: New file. + * modules/unicase/u32-tolower: New file. + + New module 'unicase/u16-tolower'. + * lib/unicase/u16-tolower.c: New file. + * modules/unicase/u16-tolower: New file. + + New module 'unicase/u8-tolower'. + * lib/unicase/u8-tolower.c: New file. + * modules/unicase/u8-tolower: New file. + + Tests for module 'unicase/u32-toupper'. + * modules/unicase/u32-toupper-tests: New file. + * tests/unicase/test-u32-toupper.c: New file. + + Tests for module 'unicase/u16-toupper'. + * modules/unicase/u16-toupper-tests: New file. + * tests/unicase/test-u16-toupper.c: New file. + + Tests for module 'unicase/u8-toupper'. + * modules/unicase/u8-toupper-tests: New file. + * tests/unicase/test-u8-toupper.c: New file. + + New module 'unicase/u32-toupper'. + * lib/unicase/u32-toupper.c: New file. + * modules/unicase/u32-toupper: New file. + + New module 'unicase/u16-toupper'. + * lib/unicase/u16-toupper.c: New file. + * modules/unicase/u16-toupper: New file. + + New module 'unicase/u8-toupper'. + * lib/unicase/u8-toupper.c: New file. + * modules/unicase/u8-toupper: New file. + + New module 'unicase/u32-casemap'. + * lib/unicase/u32-casemap.c: New file. + * modules/unicase/u32-casemap: New file. + + New module 'unicase/u16-casemap'. + * lib/unicase/u16-casemap.c: New file. + * modules/unicase/u16-casemap: New file. + + New module 'unicase/u8-casemap'. + * lib/unicase/unicasemap.h: New file. + * lib/unicase/u8-casemap.c: New file. + * lib/unicase/u-casemap.h: New file. + * modules/unicase/u8-casemap: New file. + + New module 'unicase/special-casing'. + * lib/unicase/special-casing.h: New file. + * lib/unicase/special-casing.c: New file. + * lib/unicase/special-casing-table.gperf: New file, generated by + gen-uni-tables.c. + * modules/unicase/special-casing: New file. + + Tests for module 'unicase/locale-language'. + * modules/unicase/locale-language-tests: New file. + * tests/unicase/test-locale-language.sh: New file. + * tests/unicase/test-locale-language.c: New file. + + New module 'unicase/locale-language'. + * lib/unicase/locale-language.c: New file. + * lib/unicase/locale-languages.gperf: New file. + * modules/unicase/locale-language: New file. + + Generate more tables for case conversion and case folding. + * lib/gen-uni-tables.c (SCC_*): New enum items. + (struct special_casing_rule): New type. + (casing_rules, num_casing_rules, allocated_casing_rules): New + variables. + (add_casing_rule, fill_casing_rules): New functions. + (struct casefold_rule): New type. + (casefolding_rules, num_casefolding_rules, + allocated_casefolding_rules): New variables. + (fill_casefolding_rules): New function. + (unicode_casefold): New variable. + (to_casefold, redistribute_casefolding_rules, compare_casing_rules, + sort_casing_rules, output_casing_rules): New functions. + (main): Accept to more arguments: SpecialCasing.txt and + CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules, + redistribute_casefolding_rules, sort_casing_rules, output_casing_rules. + Output mapping for casefolding. + + * lib/unicase.h: Include stdbool.h, uninorm.h. + (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower, + u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument. + (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf + arguments. + (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf, + resultp arguments. + (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations. + (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf, + resultp arguments. + (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase, + u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase, + u32_is_titlecase, u8_is_casefolded, u16_is_casefolded, + u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New + declarations. + * modules/unicase/base (Depends-on): Add uninorm/base, stdbool. + +2009-03-08 Bruno Haible + + * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll, + u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'. + * lib/uninorm/u-normcmp.h (FUNC): Likewise. + * lib/uninorm/u-normcoll.h (FUNC): Likewise. + +2009-03-07 Bruno Haible + + Adjust u*_normcmp, u*_normcoll API. + * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll, + u16_normcoll, u32_normcoll): Change failure conventions. + * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in + errno and return -1. + * lib/uninorm/u-normcoll.h (FUNC): Likewise. + +2009-03-07 Bruno Haible + + Tests for module 'uninorm/u32-normcoll'. + * modules/uninorm/u32-normcoll-tests: New file. + * tests/uninorm/test-u32-normcoll.c: New file. + + Tests for module 'uninorm/u16-normcoll'. + * modules/uninorm/u16-normcoll-tests: New file. + * tests/uninorm/test-u16-normcoll.c: New file. + + Tests for module 'uninorm/u8-normcoll'. + * modules/uninorm/u8-normcoll-tests: New file. + * tests/uninorm/test-u8-normcoll.c: New file. + +2009-03-07 Bruno Haible + + * tests/uninorm/test-u32-normcmp.h: New file, extracted from + tests/uninorm/test-u32-normcmp.c. + * tests/uninorm/test-u32-normcmp.c: Include it. + (test_nonascii): New function, extracted from main. Add some more + tests. + (main): Invoke test_ascii and test_nonascii. + * modules/uninorm/u32-normcmp-tests (Files): Add + tests/uninorm/test-u32-normcmp.h. + (Depends-on): Remove uninorm/u32-normcmp. + + * tests/uninorm/test-u16-normcmp.h: New file, extracted from + tests/uninorm/test-u16-normcmp.c. + * tests/uninorm/test-u16-normcmp.c: Include it. + (test_nonascii): New function, extracted from main. Add some more + tests. + (main): Invoke test_ascii and test_nonascii. + * modules/uninorm/u16-normcmp-tests (Files): Add + tests/uninorm/test-u16-normcmp.h. + (Depends-on): Remove uninorm/u16-normcmp. + + * tests/uninorm/test-u8-normcmp.h: New file, extracted from + tests/uninorm/test-u8-normcmp.c. + * tests/uninorm/test-u8-normcmp.c: Include it. + (test_nonascii): New function, extracted from main. Add some more + tests. + (main): Invoke test_ascii and test_nonascii. + * modules/uninorm/u8-normcmp-tests (Files): Add + tests/uninorm/test-u8-normcmp.h. + (Depends-on): Remove uninorm/u8-normcmp. + +2009-03-07 Bruno Haible + + New module 'uninorm/u32-normcoll'. + * lib/uninorm/u32-normcoll.c: New file. + * modules/uninorm/u32-normcoll: New file. + + New module 'uninorm/u16-normcoll'. + * lib/uninorm/u16-normcoll.c: New file. + * modules/uninorm/u16-normcoll: New file. + + New module 'uninorm/u8-normcoll'. + * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New + declarations. + * lib/uninorm/u8-normcoll.c: New file. + * lib/uninorm/u-normcoll.h: New file. + * modules/uninorm/u8-normcoll: New file. + + New module 'uninorm/u32-normxfrm'. + * lib/uninorm/u32-normxfrm.c: New file. + * modules/uninorm/u32-normxfrm: New file. + + New module 'uninorm/u16-normxfrm'. + * lib/uninorm/u16-normxfrm.c: New file. + * modules/uninorm/u16-normxfrm: New file. + + New module 'uninorm/u8-normxfrm'. + * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New + declarations. + * lib/uninorm/u8-normxfrm.c: New file. + * lib/uninorm/u-normxfrm.h: New file. + * modules/uninorm/u8-normxfrm: New file. + +2009-03-07 Bruno Haible + + * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base. + * modules/uninorm/u16-normcmp (Depends-on): Likewise. + * modules/uninorm/u32-normcmp (Depends-on): Likewise. + +2009-03-07 Bruno Haible + + New module 'memxfrm'. + * lib/memxfrm.h: New file. + * lib/memxfrm.c: New file. + * modules/memxfrm: New file. + +2009-03-07 Bruno Haible + + New module 'memcmp2'. + * lib/memcmp2.h: New file. + * lib/memcmp2.c: New file. + * modules/memcmp2: New file. + +2009-03-07 Bruno Haible -2009-06-16 David Lutterkort + Tests for module 'uninorm/decomposing-form'. + * modules/uninorm/decomposing-form-tests: New file. + * tests/uninorm/test-decomposing-form.c: New file. + + New module 'uninorm/decomposing-form'. + * lib/uninorm.h (uninorm_decomposing_form): New declaration. + * lib/uninorm/normalize-internal.h (struct unicode_normalization_form): + Add 'decomposing_variant' field. + * lib/uninorm/decomposing-form.c: New file. + * lib/uninorm/nfc.c (uninorm_nfc): Update. + * lib/uninorm/nfd.c (uninorm_nfd): Update. + * lib/uninorm/nfkc.c (uninorm_nfkc): Update. + * lib/uninorm/nfkd.c (uninorm_nfkd): Update. + * modules/uninorm/decomposing-form: New file. + * modules/uninorm/nfc (Depends-on): Add uninorm/nfd. + * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd. - augtool: add --echo option - * src/augtool.c: add --echo option to print commands when reading - from a file via stdin - * man/augtool.pod: document --echo option - * man/augtool.1: regenerated +2009-03-07 Bruno Haible -2009-06-15 Jim Meyering + * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small + strings. - build: fix "make distcheck" failure - * src/Makefile.am (EXTRA_DIST): Add fa_sym.version. +2009-03-06 Bruno Haible -2009-06-12 Anders F Bjorklund + Tests for module 'uninorm/u32-normcmp'. + * tests/uninorm/test-u32-normcmp.c: New file. + * modules/uninorm/u32-normcmp-tests: New file. - * tests/augtest: convert darwin's double slashes to single slash + Tests for module 'uninorm/u16-normcmp'. + * tests/uninorm/test-u16-normcmp.c: New file. + * modules/uninorm/u16-normcmp-tests: New file. - * test-test-preserve.sh: work with BSD ls, as well as GNU ls - Needed to make the test pass on OS/X + Tests for module 'uninorm/u8-normcmp'. + * tests/uninorm/test-u8-normcmp.c: New file. + * modules/uninorm/u8-normcmp-tests: New file. -2009-06-11 David Lutterkort + New module 'uninorm/u32-normcmp'. + * lib/uninorm/u32-normcmp.c: New file. + * modules/uninorm/u32-normcmp: New file. - libfa: use linker script to only export public symbols - libfa was exporting all kinds of symbols that were meant to be internal; - now it only exports what's in fa.h + New module 'uninorm/u16-normcmp'. + * lib/uninorm/u16-normcmp.c: New file. + * modules/uninorm/u16-normcmp: New file. -2009-06-11 Anders F Björklund + New module 'uninorm/u8-normcmp'. + * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New + declarations. + * lib/uninorm/u8-normcmp.c: New file. + * lib/uninorm/u-normcmp.h: New file. + * modules/uninorm/u8-normcmp: New file. - configure: do not use version script if the linker doesn't support it - That is the case on OS X +2009-03-06 Bruno Haible - Fixes part of ticket #66 + * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning. + Reported by Eric Blake. -2009-06-11 Anders F Björklund +2009-03-06 Eric Blake + Bruno Haible - configuration: check whether rl_completion_matches is available - That function is missing on OS/X; we substitute it with a dummy if readline - does not provide it. + * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub. + * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED + condition. + (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false. + * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED + condition. + (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false. - Fixes part of ticket #66 +2009-03-06 Eric Blake -2009-06-11 Anders F Björklund + * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe, + to avoid compiler warnings. + * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise. - * src/augtool.c: add missing include for ctype.h - Part of fix for ticket #66 +2009-03-05 Bruno Haible -2009-06-09 David Lutterkort + * tests/test-ftell.c (main): Disable test beyond end of file on + FreeMiNT. + Patch by Alan Hourihane . - Version 0.5.1 +2009-03-05 Kamil Dudka - * tests/test-put-symlink.sh: fix broken test - - use lenses in ../lenses - - fix typo: HOSTS_AUGSAVE, not HOSTS_AGSAVE + * lib/filevercmp.c: Move hidden files up in ordering. + * tests/test-filevercmp.c: Add tests for hidden files. - * bootstrap: use getline module from gnulib +2009-03-04 Bruno Haible - * src/augtool.c: initialize 'line' to NULL + * modules/visibility (Makefile.am): Augment AM_CFLAGS. + * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of + AM_CFLAGS. + Reported by Simon Josefsson. -2009-06-05 David Lutterkort +2009-03-03 Bruno Haible - Logrotate (hooks): simplify to speed up typechecker + * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro. + Reported by Simon Josefsson. - Logrotate: make newline at end of script optional + * doc/ld-version-script.texi: Update node reference. - * src/put.c (put_store): escape regexp before printing +2009-03-03 Bruno Haible - * src/pathx.c: coerce the operands of 'and'/'or' to boolean - Fixes bug #44 + * modules/visibility (License): Change to 'unlimited'. + Suggested by Simon Josefsson. - * src/lexer.l: allow empty regexps - Fixes bug #34 +2009-03-03 Jim Meyering - Dnsmasq: process files in /etc/dnsmasq.d/* - Fixes bug #65 reported by abnormaliti + unlinkdir: cannot_unlink_dir may modify process state + * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that + it's neither thread-safe nor appropriate for use in a library. -2009-06-01 David Lutterkort +2009-03-03 Eric Blake - * src/augtool.c: allow comments starting with '#' + test-closein: silence test under Darwin + * tests/test-closein.sh: Ignore stderr from cat, since we don't + care if it dies from EPIPE or EBADF. -2009-05-29 David Lutterkort +2009-03-03 Bruno Haible - Whitespace cleanup (no functional change) - Remove trailing whitespace + * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi + earlier. + * doc/visibility.texi: Fix @node and @section. -2009-05-29 David Lutterkort +2009-03-03 Simon Josefsson - Ntp: support more commands - * process 'broadcastdelay' - * process enable/disable flags - * process leapfile + * doc/gnulib.texi: Link to sections for ld version script and + visibility. + * doc/visibility.texi: Add @node and @section. + * modules/ld-version-script: New module. + * m4/ld-version-script.m4: New file. + * doc/ld-version-script.texi: New file. - Minor amount of code cleanup +2009-03-02 David Lutterkort - Fixes bug #62, reported by Frank Sweetser + * lib/safe-alloc.h (__GNUC_PREREQ): New macro. + Reported by Tom G. Christensen . -2009-05-29 David Lutterkort +2009-03-02 Bruno Haible - Fix grammar docs (production for PrimaryExpr was wrong) + * doc/visibility.texi: Mention libtool's -export-symbols option. - * tests/root/etc/: add group and passwd files +2009-03-02 Jim Meyering -2009-05-28 Matt Palmer + announce-gen: new option: --no-print-checksums + * build-aux/announce-gen (usage): Describe it. + (print_checksums): Print a newline here, not in the [*] footnote. + (main): Honor it. - Interfaces: various bug fixes - * disallow end-of-line comments - * support generic allow-* stanzas +2009-03-01 Bruno Haible - Interfaces: accept options containing '_' - Bug reported by Jonas Eriksson + Use socklen_t in the native Windows replacements prototypes. + * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t + instead of 'int'. + * lib/getsockopt.c (rpl_getsockopt): Likewise. + * lib/setsockopt.c (rpl_setsockopt): Likewise. + * modules/getsockopt (Depends-on): Add socklen. + * modules/setsockopt (Depends-on): Add socklen. -2009-05-28 David Lutterkort +2009-03-01 Bruno Haible - * tests/grub-rm-entry.rb: 'savedefault' indented by '\t', not '' + * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at + least 4.2. -2009-05-14 David Lutterkort +2009-03-01 Eric Blake + Bruno Haible - Modprobe: handle comments at the end of a line + * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on + error messages. + * lib/wait-process.c (wait_subprocess): Omit error message about + deadly signal sent to the child of termsigp != NULL. -2009-04-13 David Lutterkort +2009-03-01 Eric Blake - Grub: allow optional argument for savedefault command + * lib/wait-process.c (wait_subprocess): Remove unnecessary cast. - Grub: parse arguments to chainloader command +2009-03-01 Bruno Haible - Grub: parse arguments for terminal command + Avoid a gcc warning. + * tests/test-sched.c (b): Make global. + Reported by Eric Blake. - Grub: parse individual arguments for serial command +2009-01-19 Martin Lambers - Grub: parse kernel and module arguments + Provide POSIX semantics for socket timeout options on W32. + * lib/setsockopt.c: Convert struct timeval to milliseconds on W32. + * lib/getsockopt.c: Convert milliseconds to struct timeval on W32. + * modules/setsockopt: Depend on sys_time module for struct timeval. + * modules/getsockopt: Depend on sys_time module for struct timeval. - Grub: simplify comment_re to speed up typecheck +2009-03-01 Simon Josefsson -2009-04-13 Raphael Pinson + * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of + __USE_GNU, for consistency with netdb.in.h. + Reported by Alan Hourihane . - Cron: add a "time" node +2009-03-01 Bruno Haible -2009-04-13 David Lutterkort + More support for FreeMiNT. + * lib/fseeko.c (rpl_fseeko): Complete last commit. + Reported by Alan Hourihane . - * src/augeas.h: improve some comments +2009-03-01 Bruno Haible -2009-04-09 David Lutterkort + More support for FreeMiNT. + * lib/fpurge.c (fpurge): Correct last commit. + Reported by Alan Hourihane . - * src/augparse.c: add --notypecheck option +2009-03-01 Ralf Wildenhues -2009-04-08 Raphael Pinson + Fix unportable awk script in vc-list-files. + * build-aux/vc-list-files: In the replacement awk script, use + substr with a second argument of 1, not zero. + Report by Simon Josefsson. - Pbuilder: lens and tests for Debian's personal builder +2009-02-28 Bruno Haible - Shellvars: map comments with Util.comment and Util.empty + More support for FreeMiNT. + * lib/freading.c (freading) [__MINT__]: Use new macros that were added + to FreeMiNT today. + * lib/fwriting.c (fwriting): Likewise. + Based on patch by Alan Hourihane . - Shellvars: parse 'export' and 'unset' commands +2009-02-28 Bruno Haible -2009-04-08 David Lutterkort + * tests/test-freadseek.c (main): Disable test beyond end of file on + FreeMiNT. + * tests/test-ftello.c (main): Likewise. + Patch by Alan Hourihane . - Add Cron to the dosumentation menu +2009-02-28 Bruno Haible -2009-04-08 Raphael Pinson + Add tentative support for FreeMiNT. + * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code. + * lib/fpurge.c (fpurge): Likewise. + * lib/freadable.c (freadable): Likewise. + * lib/freading.c (freading): Likewise. + * lib/freadptr.c (freadptr): Likewise. + * lib/freadseek.c (freadptrinc): Likewise. + * lib/fseeko.c (rpl_fseeko): Likewise. + * lib/fseterr.c (fseterr): Likewise. + * lib/fwritable.c (fwritable): Likewise. + * lib/fwriting.c (fwriting): Likewise. + * lib/freadahead.c (freadahead): Likewise, based on code by Alan + Hourihane. + Reported by Alan Hourihane . + +2009-02-28 Bruno Haible + + * lib/wait-process.h (wait_subprocess): Clarify restriction regarding + SIGCHLD. + Reported by Jim Meyering. + +2009-02-28 Bruno Haible + + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests. + Mention the results of these tests on various platforms. + * doc/posix-functions/fprintf.texi: Mention platforms in canonical + order. + * doc/posix-functions/printf.texi: Likewise. + * doc/posix-functions/snprintf.texi: Likewise. + * doc/posix-functions/sprintf.texi: Likewise. + * doc/posix-functions/vfprintf.texi: Likewise. + * doc/posix-functions/vprintf.texi: Likewise. + * doc/posix-functions/vsnprintf.texi: Likewise. + * doc/posix-functions/vsprintf.texi: Likewise. + * doc/glibc-functions/obstack_printf.texi: Likewise. + * doc/glibc-functions/obstack_vprintf.texi: Likewise. + +2009-02-28 Bruno Haible + + * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17. + Reported by Loïc Minier . + +2009-02-27 Bruno Haible + + * gnulib-tool (func_import): Make the sed expression used to create the + sed script for updating the .gitignore file POSIX compliant. + Reported by Eric Blake. + +2009-02-27 Bruno Haible + + * gnulib-tool (sed): Don't alias as "sed --posix". + Reported by Eric Blake. + +2009-02-27 Bruno Haible + + Avoid test link errors. + * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable. + * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable. + * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable. + * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable. + Reported by Tom G. Christensen . + +2009-02-27 Bruno Haible + + Avoid spurious "(cached)" in configure output. + * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro. + * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL. + * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise. + * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise. + * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise. + * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise. + * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise. + * m4/stdarg.m4 (gl_STDARG_H): Likewise. + Reported by Eric Blake. + +2009-02-27 Eric Blake + + printf: fix regression in previous patch + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error. + +2009-02-27 Bruno Haible + + * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its + value. + * lib/stdint.in.h: Likewise. + Suggested by Eric Blake. Reported by Peter Bray . + +2009-02-27 Eric Blake + + doc: mention more functions added in cygwin 1.7.0 + * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0 + addition. + * doc/posix-functions/open_wmemstream.texi: Likewise. + * doc/posix-functions/wcsnlen.texi: Likewise. + * doc/posix-functions/wcsnrtombs.texi: Likewise. + * doc/posix-functions/wcstod.texi: Likewise. + * doc/posix-functions/wcstof.texi: Likewise. + * doc/posix-functions/wcstoimax.texi: Likewise. + * doc/posix-functions/wcstok.texi: Likewise. + * doc/posix-functions/wcstoumax.texi: Likewise. + + Detect bug in cygwin 1.5.x *printf on 1-character %ls. + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter. + * doc/posix-functions/fprintf.texi: Update. + * doc/posix-functions/printf.texi: Update. + * doc/posix-functions/snprintf.texi: Update. + * doc/posix-functions/sprintf.texi: Update. + * doc/posix-functions/vfprintf.texi: Update. + * doc/posix-functions/vprintf.texi: Update. + * doc/posix-functions/vsnprintf.texi: Update. + * doc/posix-functions/vsprintf.texi: Update. + * doc/glibc-functions/obstack_printf.texi: Update. + * doc/glibc-functions/obstack_vprintf.texi: Update. + +2009-02-26 Eric Blake + + avoid gcc 3.4.3 bug on long double NaN on Irix 6.5 + * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid + compilation bug by using runtime conversion. + * m4/isfinite.m4 (gl_ISFINITE): Likewise. + * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise. + * modules/ceill-tests (Files): Use nan.h. + * modules/floorl-tests (Files): Likewise. + * modules/frexpl-tests (Files): Likewise. + * modules/isnanl-tests (Files): Likewise. + * modules/ldexpl-tests (Files): Likewise. + * modules/roundl-tests (Files): Likewise. + * modules/truncl-tests (Files): Likewise. + * tests/test-ceill.c (main): Use a working NaN. + * tests/test-floorl.c (main): Likewise. + * tests/test-frexpl.c (main): Likewise. + * tests/test-isnan.c (test_long_double): Likewise. + * tests/test-isnanl.h (main): Likewise. + * tests/test-ldexpl.h (main): Likewise. + * tests/test-roundl.h (main): Likewise. + * tests/test-truncl.h (main): Likewise. + See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html. + +2009-02-26 Eric Blake + Bruno Haible + + Work around a *printf bug with %ls on Solaris. + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a + precision is specified, sprintf stops converting the wide string + argument when the number of bytes that have been produced by this + conversion equals or exceeds the precision. + * doc/posix-functions/fprintf.texi: Update. + * doc/posix-functions/printf.texi: Update. + * doc/posix-functions/snprintf.texi: Update. + * doc/posix-functions/sprintf.texi: Update. + * doc/posix-functions/vfprintf.texi: Update. + * doc/posix-functions/vprintf.texi: Update. + * doc/posix-functions/vsnprintf.texi: Update. + * doc/posix-functions/vsprintf.texi: Update. + * doc/glibc-functions/obstack_printf.texi: Update. + * doc/glibc-functions/obstack_vprintf.texi: Update. + +2009-02-26 Eric Blake + + stdlib: favor compiler check of random.h + * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check. Needed + to avoid an ObjC random.h installed by Swarm. + +2009-02-26 Bruno Haible + + Work around *printf bug with %g directive and 0.0 on HP-UX 10.20. + * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0. + Reported by Gary V. Vaughan . + +2009-02-26 Bruno Haible + + Fix *printf behaviour regarding the %ls directive. + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro. + * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle + NEED_PRINTF_DIRECTIVE_LS. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro. + (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it. + * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke + gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke + gl_PREREQ_VASNPRINTF_DIRECTIVE_LS. + * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise. + * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise. + * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise. + * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise. + * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. + * doc/posix-functions/fprintf.texi: Update. + * doc/posix-functions/printf.texi: Update. + * doc/posix-functions/snprintf.texi: Update. + * doc/posix-functions/sprintf.texi: Update. + * doc/posix-functions/vfprintf.texi: Update. + * doc/posix-functions/vprintf.texi: Update. + * doc/posix-functions/vsnprintf.texi: Update. + * doc/posix-functions/vsprintf.texi: Update. + * doc/glibc-functions/obstack_printf.texi: Update. + * doc/glibc-functions/obstack_vprintf.texi: Update. + Reported by Eric Blake. + +2009-02-25 Bruno Haible + + * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8 + with known value. + Reported by Gary V. Vaughan . + +2009-02-25 Bruno Haible + + Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8. + * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro. + (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no". + * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug. + Reported by Gary V. Vaughan . + +2009-02-25 Bruno Haible + + Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23. + * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of + INT8_MAX, UINT8_MAX etc. contain casts to elementary types. + * doc/posix-headers/stdint.texi: Mention the HP-UX bug. + Reported by Gary V. Vaughan . + +2009-02-25 Eric Blake + + tests: skip fseek/ftell tests if ungetc is broken + * m4/ungetc.m4: New file. + * modules/fseek-tests: Split test, so ungetc dependency is + separate from rest of test. + * modules/fseeko-tests: Likewise. + * modules/ftell-tests: Likewise. + * modules/ftello-tests: Likewise. + * tests/test-fseek.c (main): Isolate ungetc dependency. + * tests/test-fseeko.c (main): Likewise. + * tests/test-ftell.c (main): Likewise. + * tests/test-ftello.c (main): Likewise. + * tests/test-fseek2.sh: New file. + * tests/test-fseeko2.sh: Likewise. + * tests/test-ftell2.sh: Likewise. + * tests/test-ftello2.sh: Likewise. + +2009-02-25 Ondřej Vašík + + test-getaddrinfo: fix usage of skip return code 77 + * tests/test-gettaddrinfo.c: Return skip code 77 only + for first occurrence of skip (4x77 is not 77) + +2009-02-25 Gary V. Vaughan + + strtod: avoid C99 decl-after-statement + * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration. + +2009-02-24 Eric Blake + + strtod: detect HP-UX 11.31 bug + * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug. + Reported by Gary V. Vaughan. + +2009-02-23 Bruno Haible + + Fix invalid read past end of memory block. + * lib/vasnprintf.c (DCHAR_SET): Define. + (local_wcslen): Define only when needed. + (local_strnlen, local_wcsnlen): New functions. + (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls + directives that involve a conversion ourselves. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen, + wcsnlen, mbrtowc, wcrtomb. + * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + Reported by Ben Pfaff . + +2009-02-22 Bruno Haible + + Implement new clarified decomposition of Hangul syllables. + * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables + of type LTV, return only a pairwise decomposition. + * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition): + Likewise. + * tests/uninorm/test-decomposition.c (main): Updated expected result. + * tests/uninorm/test-canonical-decomposition.c (main): Likewise. + * tests/uninorm/test-compat-decomposition.c (main): Likewise. + +2009-02-22 Bruno Haible + + * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle + zero-length results and shrink excess allocated memory. + * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result. + * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise. + * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise. + * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise. + * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise. + * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise. + * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise. + * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise. + * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise. + * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise. + * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise. + * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise. + +2009-02-21 Bruno Haible + + * doc/gnulib.texi: Include safe-alloc.texi earlier. + * doc/safe-alloc.texi: Terminate sentences with a period. Use two + spaces after a period. Put a space between a macro name and its + argument list. Trivial rewordings. + * lib/safe-alloc.c: Include safe-alloc.h right after config.h. + * tests/test-safe-alloc.c: Likewise. Include stdlib.h. + (main): Return 0 explicitly. + +2009-02-21 Bruno Haible + + Tests for module 'uninorm/filter'. + * tests/uninorm/test-uninorm-filter-nfc.c: New file. + * modules/uninorm/filter-tests: New file. + + New module 'uninorm/filter'. + * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write, + uninorm_filter_flush, uninorm_filter_free): New declarations. + * lib/uninorm/uninorm-filter.c: New file. + * modules/uninorm/filter: New file. + +2009-02-21 Bruno Haible + + Tests for module 'uninorm/nfkc'. + * tests/uninorm/test-nfkc.c: New file. + * tests/uninorm/test-u8-nfkc.c: New file. + * tests/uninorm/test-u16-nfkc.c: New file. + * tests/uninorm/test-u32-nfkc.c: New file. + * tests/uninorm/test-u32-nfkc-big.sh: New file. + * tests/uninorm/test-u32-nfkc-big.c: New file. + * modules/uninorm/nfkc-tests: New file. + + New module 'uninorm/nfkc'. + * lib/uninorm/nfkc.c: New file. + * modules/uninorm/nfkc: New file. + + Tests for module 'uninorm/nfkd'. + * tests/uninorm/test-nfkd.c: New file. + * tests/uninorm/test-u8-nfkd.c: New file. + * tests/uninorm/test-u16-nfkd.c: New file. + * tests/uninorm/test-u32-nfkd.c: New file. + * tests/uninorm/test-u32-nfkd-big.sh: New file. + * tests/uninorm/test-u32-nfkd-big.c: New file. + * modules/uninorm/nfkd-tests: New file. + + New module 'uninorm/nfkd'. + * lib/uninorm/nfkd.c: New file. + * modules/uninorm/nfkd: New file. + + Tests for module 'uninorm/nfc'. + * tests/uninorm/test-nfc.c: New file. + * tests/uninorm/test-u8-nfc.c: New file. + * tests/uninorm/test-u16-nfc.c: New file. + * tests/uninorm/test-u32-nfc.c: New file. + * tests/uninorm/test-u32-nfc-big.sh: New file. + * tests/uninorm/test-u32-nfc-big.c: New file. + * modules/uninorm/nfc-tests: New file. + + New module 'uninorm/nfc'. + * lib/uninorm/nfc.c: New file. + * modules/uninorm/nfc: New file. + + Tests for module 'uninorm/nfd'. + * tests/uninorm/test-nfd.c: New file. + * tests/uninorm/test-u8-nfd.c: New file. + * tests/uninorm/test-u16-nfd.c: New file. + * tests/uninorm/test-u32-nfd.c: New file. + * tests/uninorm/test-u32-nfd-big.sh: New file. + * tests/uninorm/test-u32-nfd-big.c: New file. + * tests/uninorm/test-u32-normalize-big.h: New file. + * tests/uninorm/test-u32-normalize-big.c: New file. + * tests/uninorm/NormalizationTest.txt: New file, created from + Unicode 5.1.0 NormalizationTest.txt. + * modules/uninorm/nfd-tests: New file. + + New module 'uninorm/nfd'. + * lib/uninorm/nfd.c: New file. + * modules/uninorm/nfd: New file. + + New module 'uninorm/u32-normalize'. + * lib/uninorm/u32-normalize.c: New file. + * modules/uninorm/u32-normalize: New file. + + New module 'uninorm/u16-normalize'. + * lib/uninorm/u16-normalize.c: New file. + * modules/uninorm/u16-normalize: New file. + + New module 'uninorm/u8-normalize'. + * lib/uninorm/u8-normalize.c: New file. + * lib/uninorm/normalize-internal.h: New file. + * lib/uninorm/u-normalize-internal.h: New file. + * modules/uninorm/u8-normalize: New file. + + New module 'uninorm/decompose-internal'. + * lib/uninorm/decompose-internal.c: New file. + * modules/uninorm/decompose-internal: New file. + + Tests for module 'uninorm/composition'. + * tests/uninorm/test-composition.c: New file. + * modules/uninorm/composition-tests: New file. + + New module 'uninorm/composition'. + * lib/uninorm/composition.c: New file. + * lib/uninorm/composition-table.gperf: New file, generated by + gen-uni-tables. + * modules/uninorm/composition: New file. + + Tests for module 'uninorm/compat-decomposition'. + * tests/uninorm/test-compat-decomposition.c: New file. + * modules/uninorm/compat-decomposition-tests: New file. + + New module 'uninorm/compat-decomposition'. + * lib/uninorm/decompose-internal.h: New file. + * lib/uninorm/compat-decomposition.c: New file. + * modules/uninorm/compat-decomposition: New file. + + Tests for module 'uninorm/canonical-decomposition'. + * tests/uninorm/test-canonical-decomposition.c: New file. + * modules/uninorm/canonical-decomposition-tests: New file. + + New module 'uninorm/canonical-decomposition'. + * lib/uninorm/canonical-decomposition.c: New file. + * modules/uninorm/canonical-decomposition: New file. + + Tests for module 'uninorm/decomposition'. + * tests/uninorm/test-decomposition.c: New file. + * modules/uninorm/decomposition-tests: New file. + + New module 'uninorm/decomposition'. + * lib/uninorm/decomposition.c: New file. + * modules/uninorm/decomposition: New file. + + New module 'uninorm/decomposition-table'. + * lib/uninorm/decomposition-table.h: New file. + * lib/uninorm/decomposition-table.c: New file. + * lib/uninorm/decomposition-table1.h: New file, generated by + gen-uni-tables. + * lib/uninorm/decomposition-table2.h: New file, generated by + gen-uni-tables. + * modules/uninorm/decomposition-table: New file. + + * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro. + (UC_DECOMP_*): New enumeration items. + (get_decomposition): New function. + (struct decomp_table): New type. + (output_decomposition, output_decomposition_tables): New functions. + (unicode_composition_exclusions): New variable. + (fill_composition_exclusions, debug_output_composition_tables): New + functions. + (main): Accept one more argument. Invoke fill_composition_exclusions. + Output decomposition and composition tables. + + New module 'uninorm/base'. + * lib/uninorm.h: New file. + * lib/unictype.h: Update comment. + * modules/uninorm/base: New file. + +2009-02-21 David Lutterkort + + Tests for module 'safe-alloc'. + * tests/test-safe-alloc.c: New file. + * modules/safe-alloc-tests: New file. + + New module 'safe-alloc'. + * lib/safe-alloc.h: New file. + * lib/safe-alloc.c: New file. + * m4/safe-alloc.m4: New file. + * modules/safe-alloc: New file. + * doc/safe-alloc.texi: New file. + * doc/gnulib.texi: Include it. + * MODULES.html.sh (Memory management functions ): Add + safe-alloc. + +2009-02-18 Bruno Haible + + Fix link error on non-glibc systems. + * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New + variable. + Reported by Tom G. Christensen . + +2009-02-18 Jim Meyering + + fts: avoid used-uninitialized error due to recent change + * lib/fts.c (fts_read): Guard uses of the new member, + parent->fts_n_dirs_remaining, since it's not relevant for + the parent of a directory specified on the command-line. + +2009-02-17 James Youngman + Bruno Haible + + * m4/include_next.m4: Reformulate comment. + +2009-02-16 Jim Meyering + + fts: add #if guards so that the fts_lgpl module still builds + * lib/fts.c: Guard just-added hash-table-using parts with + #if GNULIB_FTS, so as not to break builds of the fts_lgpl module. + Reported by Simon Josefsson. + +2009-02-15 Bruno Haible + + * modules/array-mergesort-tests: New file. + * tests/test-array-mergesort.c: New file. + + New module 'array-mergesort'. + * modules/array-mergesort: New file. + * lib/array-mergesort.h: New file. + +2009-02-15 Bruno Haible + + Fix 2009-02-07 commit. + * lib/gen-uni-tables.c (output_predicate, output_category, + output_combclass, output_bidi_category, output_decimal_digit, + output_digit, output_numeric, output_mirror, output_scripts, + output_ident_category, output_simple_mapping): Fix format directives. + (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly. - Cron: new lens and test - Parses /etc/crontab and /etc/cron.d +2009-02-15 Albert Chin-A-Young -2009-04-08 Raphael Pinson + * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that + fixes are available from IBM. - Sudoers: allow backslashes inside sto_to_com and sto_to_com_user - This patch fixes ticket #60 which reports the possible usage of - backslashes in sudoers aliases (for use with e.g. Windows resources). +2009-02-13 Jim Meyering - Backslashes are now allowed only in the middle of sto_to_com and - sto_to_com_cmnd. + fts: arrange not to stat non-directories in more cases + This makes GNU find (when it doesn't need to stat each file) + *much* more efficient at traversing reiserfs file systems. + * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member. + (struct FTS) [fts_leaf_optimization_works_ht]: Add member. + * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht. + (S_MAGIC_REISERFS, S_MAGIC_PROC): Define. + (leaf_optimization_applies): New function. + (LCO_hash, LCO_compare): New helper functions. + (link_count_optimize_ok): New function. + (fts_stat): Initialize new member (if dir). + (fts_read): Decrement parent's fts_n_dirs_remaining count if + we've just stat'ed a directory. Skip the stat call when possible. + --- + Note this AFS-related exchange: + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111 + and note find's pioctl call in find/fstype.c. + But that is necessary only if you want to enable the + optimization for AFS, and for now, I don't. - Additionally, add a line with backslashes in test_sudoers to prevent - regressions. + fts: move a function definition "up" (no semantic change) + * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition + "up" to precede upcoming use of a related function. -2009-04-08 Raphael Pinson +2009-02-11 Jim Meyering - Xinetd: map comments using Util.comment + fts: correct internal computation of nlinks (optimization-related) + * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on + whether the current entry is a directory, so don't test it. - Squid: allow indentation of entries +2009-02-10 Bruno Haible -2009-04-07 Raphael Pinson + Tests for module 'uniwbrk/ulc-wordbreaks'. + * modules/uniwbrk/ulc-wordbreaks-tests: New file. + * tests/uniwbrk/test-ulc-wordbreaks.sh: New file. + * tests/uniwbrk/test-ulc-wordbreaks.c: New file. - Logrotate: allow = as a separator for value_to_eol - Fix ticket #61 by allowing "=" as a valid separator in value_to_eol. - "word" may not contain "=" anymore in this case. Note that this is not - documented in "man logrotate" but is shipped by default in CentOS (cf - ticket #61). + Tests for module 'uniwbrk/u32-wordbreaks'. + * modules/uniwbrk/u32-wordbreaks-tests: New file. + * tests/uniwbrk/test-u32-wordbreaks.c: New file. -2009-04-07 David Lutterkort + Tests for module 'uniwbrk/u16-wordbreaks'. + * modules/uniwbrk/u16-wordbreaks-tests: New file. + * tests/uniwbrk/test-u16-wordbreaks.c: New file. - Ntp: fixes to make the default Fedora config work - Now enough of ntp.conf is understood so that the config from Fedora 10 with - all directives uncommented can be processed. + Tests for module 'uniwbrk/u8-wordbreaks'. + * modules/uniwbrk/u8-wordbreaks-tests: New file. + * tests/uniwbrk/test-u8-wordbreaks.c: New file. -2009-04-07 Raphael Pinson +2009-02-10 Bruno Haible - Ntp: add fudge directive - Fixes ticket #59 + * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak + property. + * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise. + * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise. + * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset. -2009-04-07 David Lutterkort +2009-02-10 Simon Josefsson - * src/transform.c (transform_save): append newline to old text - If we appended a newline to initially load the file, we also need to do - that when we parse the file again during save. + * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use + inline keywords. Reported by Bruno Haible . - Bug reported by Michael Conigliaro +2009-02-10 Bruno Haible -2009-04-03 David Lutterkort + * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h. + * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c. + * modules/unilbrk/tables (Files, Makefile.am, Include): Update. + * lib/unilbrk/u8-possible-linebreaks.c: Update. + * lib/unilbrk/u16-possible-linebreaks.c: Likewise. + * lib/unilbrk/u32-possible-linebreaks.c: Likewise. + +2009-02-09 Simon Josefsson + + * lib/sockets.h (gl_fd_to_handle): New function. + + * tests/test-sockets.c: Call gl_fd_to_handle. + +2009-02-09 Bruno Haible + + * doc/havelib.texi: Document the conventions on bi-arch systems. + +2009-02-08 Bruno Haible + + Document the AC_LIB_LINKFLAGS macro. + * doc/havelib.texi: New file, mostly written on 2005-05-24. + * doc/gnulib.texi: Include it. + +2009-02-08 Bruno Haible + + Fix wrong order of sections, compared to TOC. + * doc/gnulib.texi: Include relocatable-maint.texi after the + "Regular expressions" node, not before. + +2009-02-08 Bruno Haible + + Tests for module 'unicase/totitle'. + * modules/unicase/totitle-tests: New file. + + Tests for module 'unicase/tolower'. + * modules/unicase/tolower-tests: New file. + + Tests for module 'unicase/toupper'. + * modules/unicase/toupper-tests: New file. + * tests/unicase/test-mapping-part1.h: New file. + * tests/unicase/test-mapping-part2.h: New file. + + New module 'unicase/totitle'. + * modules/unicase/totitle: New file. + * lib/unicase/totitle.c: New file. + + New module 'unicase/tolower'. + * modules/unicase/tolower: New file. + * lib/unicase/tolower.c: New file. + + New module 'unicase/toupper'. + * modules/unicase/toupper: New file. + * lib/unicase/toupper.c: New file. + * lib/unicase/simple-mapping.h: New file. + + * lib/gen-uni-tables.c (output_simple_mapping_test): New function. + (mapping_table): New structure. + (output_simple_mapping): New function. + (main): Invoke output_simple_mapping_test and output_simple_mapping. + * modules/gen-uni-tables (Description): Update. + * lib/unicase/toupper.h: New file, automatically generated by + gen-uni-tables. + * lib/unicase/tolower.h: New file, automatically generated by + gen-uni-tables. + * lib/unicase/totitle.h: New file, automatically generated by + gen-uni-tables. + * tests/unicase/test-uc_toupper.c: New file, automatically generated by + gen-uni-tables. + * tests/unicase/test-uc_tolower.c: New file, automatically generated by + gen-uni-tables. + * tests/unicase/test-uc_totitle.c: New file, automatically generated by + gen-uni-tables. + + New module 'unicase/base'. + * modules/unicase/base: New file. + * lib/unicase.h: New file. + +2009-02-08 Bruno Haible + + New module 'uniwbrk/ulc-wordbreaks'. + * modules/uniwbrk/ulc-wordbreaks: New file. + * lib/uniwbrk/ulc-wordbreaks.c: New file. + + New module 'uniwbrk/u32-wordbreaks'. + * modules/uniwbrk/u32-wordbreaks: New file. + * lib/uniwbrk/u32-wordbreaks.c: New file. + + New module 'uniwbrk/u16-wordbreaks'. + * modules/uniwbrk/u16-wordbreaks: New file. + * lib/uniwbrk/u16-wordbreaks.c: New file. + + New module 'uniwbrk/u8-wordbreaks'. + * modules/uniwbrk/u8-wordbreaks: New file. + * lib/uniwbrk/u8-wordbreaks.c: New file. + * lib/uniwbrk/u-wordbreaks.h: New file. + + New module 'uniwbrk/table'. + * modules/uniwbrk/table: New file. + * lib/uniwbrk/wbrktable.h: New file. + * lib/uniwbrk/wbrktable.c: New file. + + New module 'uniwbrk/wordbreak-property'. + * modules/uniwbrk/wordbreak-property: New file. + * lib/uniwbrk/wordbreak-property.c: New file. + + * lib/gen-uni-tables.c (WBP_*): New enum items. + (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions. + (unicode_org_wbp): New variable. + (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables): + New functions. + (wbp_table): New structure. + (output_wbp, output_wbrk_tables): New functions. + (main): Accept additional argument. Invoke fill_org_wbp, + debug_output_wbrk_tables, debug_output_org_wbrk_tables, + output_wbrk_tables. + * modules/gen-uni-tables (Description): Update. + * lib/uniwbrk/wbrkprop.h: New file, automatically generated by + gen-uni-tables. + + New module 'uniwbrk/base'. + * modules/uniwbrk/base: New file. + * lib/uniwbrk.h: New file. + +2009-02-08 Bruno Haible + + Update to Unicode 5.1.0. + * lib/gen-uni-tables.c (is_property_alphabetic): Include + U+2185..U+2188. + (is_property_default_ignorable_code_point): Don't include characters + of category Cc or Cs and not-a-characters. + (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A, + U+0D79, U+109E, U+109F, U+A60C. + * lib/unictype/bidi_of.h: Regenerated. + * lib/unictype/blocks.h: Regenerated. + * lib/unictype/categ_C.h: Regenerated. + * lib/unictype/categ_Cf.h: Regenerated. + * lib/unictype/categ_Cn.h: Regenerated. + * lib/unictype/categ_L.h: Regenerated. + * lib/unictype/categ_Ll.h: Regenerated. + * lib/unictype/categ_Lm.h: Regenerated. + * lib/unictype/categ_Lo.h: Regenerated. + * lib/unictype/categ_Lu.h: Regenerated. + * lib/unictype/categ_M.h: Regenerated. + * lib/unictype/categ_Mc.h: Regenerated. + * lib/unictype/categ_Me.h: Regenerated. + * lib/unictype/categ_Mn.h: Regenerated. + * lib/unictype/categ_N.h: Regenerated. + * lib/unictype/categ_Nd.h: Regenerated. + * lib/unictype/categ_Nl.h: Regenerated. + * lib/unictype/categ_No.h: Regenerated. + * lib/unictype/categ_P.h: Regenerated. + * lib/unictype/categ_Pd.h: Regenerated. + * lib/unictype/categ_Pe.h: Regenerated. + * lib/unictype/categ_Pf.h: Regenerated. + * lib/unictype/categ_Pi.h: Regenerated. + * lib/unictype/categ_Po.h: Regenerated. + * lib/unictype/categ_Ps.h: Regenerated. + * lib/unictype/categ_S.h: Regenerated. + * lib/unictype/categ_Sk.h: Regenerated. + * lib/unictype/categ_Sm.h: Regenerated. + * lib/unictype/categ_So.h: Regenerated. + * lib/unictype/categ_of.h: Regenerated. + * lib/unictype/combining.h: Regenerated. + * lib/unictype/ctype_alnum.h: Regenerated. + * lib/unictype/ctype_alpha.h: Regenerated. + * lib/unictype/ctype_graph.h: Regenerated. + * lib/unictype/ctype_lower.h: Regenerated. + * lib/unictype/ctype_print.h: Regenerated. + * lib/unictype/ctype_punct.h: Regenerated. + * lib/unictype/ctype_upper.h: Regenerated. + * lib/unictype/decdigit.h: Regenerated. + * lib/unictype/digit.h: Regenerated. + * lib/unictype/mirror.h: Regenerated. + * lib/unictype/numeric.h: Regenerated. + * lib/unictype/pr_alphabetic.h: Regenerated. + * lib/unictype/pr_bidi_arabic_digit.h: Regenerated. + * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated. + * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated. + * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated. + * lib/unictype/pr_bidi_left_to_right.h: Regenerated. + * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated. + * lib/unictype/pr_bidi_other_neutral.h: Regenerated. + * lib/unictype/pr_combining.h: Regenerated. + * lib/unictype/pr_dash.h: Regenerated. + * lib/unictype/pr_decimal_digit.h: Regenerated. + * lib/unictype/pr_default_ignorable_code_point.h: Regenerated. + * lib/unictype/pr_deprecated.h: Regenerated. + * lib/unictype/pr_diacritic.h: Regenerated. + * lib/unictype/pr_extender.h: Regenerated. + * lib/unictype/pr_format_control.h: Regenerated. + * lib/unictype/pr_grapheme_base.h: Regenerated. + * lib/unictype/pr_grapheme_extend.h: Regenerated. + * lib/unictype/pr_grapheme_link.h: Regenerated. + * lib/unictype/pr_id_continue.h: Regenerated. + * lib/unictype/pr_id_start.h: Regenerated. + * lib/unictype/pr_ideographic.h: Regenerated. + * lib/unictype/pr_ignorable_control.h: Regenerated. + * lib/unictype/pr_lowercase.h: Regenerated. + * lib/unictype/pr_math.h: Regenerated. + * lib/unictype/pr_numeric.h: Regenerated. + * lib/unictype/pr_other_alphabetic.h: Regenerated. + * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated. + * lib/unictype/pr_other_grapheme_extend.h: Regenerated. + * lib/unictype/pr_other_id_continue.h: Regenerated. + * lib/unictype/pr_other_lowercase.h: Regenerated. + * lib/unictype/pr_other_math.h: Regenerated. + * lib/unictype/pr_punctuation.h: Regenerated. + * lib/unictype/pr_sentence_terminal.h: Regenerated. + * lib/unictype/pr_soft_dotted.h: Regenerated. + * lib/unictype/pr_terminal_punctuation.h: Regenerated. + * lib/unictype/pr_unassigned_code_value.h: Regenerated. + * lib/unictype/pr_unified_ideograph.h: Regenerated. + * lib/unictype/pr_uppercase.h: Regenerated. + * lib/unictype/pr_xid_continue.h: Regenerated. + * lib/unictype/pr_xid_start.h: Regenerated. + * lib/unictype/pr_zero_width.h: Regenerated. + * lib/unictype/scripts.h: Regenerated. + * lib/unictype/scripts_byname.gperf: Regenerated. + * lib/unictype/sy_java_ident.h: Regenerated. + * lib/unilbrk/lbrkprop1.h: Regenerated. + * lib/unilbrk/lbrkprop2.h: Regenerated. + * tests/unictype/test-categ_C.c: Regenerated. + * tests/unictype/test-categ_Cf.c: Regenerated. + * tests/unictype/test-categ_Cn.c: Regenerated. + * tests/unictype/test-categ_L.c: Regenerated. + * tests/unictype/test-categ_Ll.c: Regenerated. + * tests/unictype/test-categ_Lm.c: Regenerated. + * tests/unictype/test-categ_Lo.c: Regenerated. + * tests/unictype/test-categ_Lu.c: Regenerated. + * tests/unictype/test-categ_M.c: Regenerated. + * tests/unictype/test-categ_Mc.c: Regenerated. + * tests/unictype/test-categ_Me.c: Regenerated. + * tests/unictype/test-categ_Mn.c: Regenerated. + * tests/unictype/test-categ_N.c: Regenerated. + * tests/unictype/test-categ_Nd.c: Regenerated. + * tests/unictype/test-categ_Nl.c: Regenerated. + * tests/unictype/test-categ_No.c: Regenerated. + * tests/unictype/test-categ_P.c: Regenerated. + * tests/unictype/test-categ_Pd.c: Regenerated. + * tests/unictype/test-categ_Pe.c: Regenerated. + * tests/unictype/test-categ_Pf.c: Regenerated. + * tests/unictype/test-categ_Pi.c: Regenerated. + * tests/unictype/test-categ_Po.c: Regenerated. + * tests/unictype/test-categ_Ps.c: Regenerated. + * tests/unictype/test-categ_S.c: Regenerated. + * tests/unictype/test-categ_Sk.c: Regenerated. + * tests/unictype/test-categ_Sm.c: Regenerated. + * tests/unictype/test-categ_So.c: Regenerated. + * tests/unictype/test-ctype_alnum.c: Regenerated. + * tests/unictype/test-ctype_alpha.c: Regenerated. + * tests/unictype/test-ctype_graph.c: Regenerated. + * tests/unictype/test-ctype_lower.c: Regenerated. + * tests/unictype/test-ctype_print.c: Regenerated. + * tests/unictype/test-ctype_punct.c: Regenerated. + * tests/unictype/test-ctype_upper.c: Regenerated. + * tests/unictype/test-decdigit.h: Regenerated. + * tests/unictype/test-digit.h: Regenerated. + * tests/unictype/test-numeric.h: Regenerated. + * tests/unictype/test-pr_alphabetic.c: Regenerated. + * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated. + * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated. + * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated. + * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated. + * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated. + * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated. + * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated. + * tests/unictype/test-pr_combining.c: Regenerated. + * tests/unictype/test-pr_dash.c: Regenerated. + * tests/unictype/test-pr_decimal_digit.c: Regenerated. + * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated. + * tests/unictype/test-pr_deprecated.c: Regenerated. + * tests/unictype/test-pr_diacritic.c: Regenerated. + * tests/unictype/test-pr_extender.c: Regenerated. + * tests/unictype/test-pr_format_control.c: Regenerated. + * tests/unictype/test-pr_grapheme_base.c: Regenerated. + * tests/unictype/test-pr_grapheme_extend.c: Regenerated. + * tests/unictype/test-pr_grapheme_link.c: Regenerated. + * tests/unictype/test-pr_id_continue.c: Regenerated. + * tests/unictype/test-pr_id_start.c: Regenerated. + * tests/unictype/test-pr_ideographic.c: Regenerated. + * tests/unictype/test-pr_ignorable_control.c: Regenerated. + * tests/unictype/test-pr_lowercase.c: Regenerated. + * tests/unictype/test-pr_math.c: Regenerated. + * tests/unictype/test-pr_numeric.c: Regenerated. + * tests/unictype/test-pr_other_alphabetic.c: Regenerated. + * tests/unictype/test-pr_other_default_ignorable_code_point.c: + Regenerated. + * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated. + * tests/unictype/test-pr_other_id_continue.c: Regenerated. + * tests/unictype/test-pr_other_lowercase.c: Regenerated. + * tests/unictype/test-pr_other_math.c: Regenerated. + * tests/unictype/test-pr_punctuation.c: Regenerated. + * tests/unictype/test-pr_sentence_terminal.c: Regenerated. + * tests/unictype/test-pr_soft_dotted.c: Regenerated. + * tests/unictype/test-pr_terminal_punctuation.c: Regenerated. + * tests/unictype/test-pr_unassigned_code_value.c: Regenerated. + * tests/unictype/test-pr_unified_ideograph.c: Regenerated. + * tests/unictype/test-pr_uppercase.c: Regenerated. + * tests/unictype/test-pr_xid_continue.c: Regenerated. + * tests/unictype/test-pr_xid_start.c: Regenerated. + * tests/unictype/test-pr_zero_width.c: Regenerated. + + Update to Unicode 5.1.0. + * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487, + U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63, + U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E, + U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D, + U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33, + U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF, + U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951, + U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C, + U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B. + (nonspacing_table_ind): Update. + * tests/uniwidth/test-uc_width2.sh: Update expected result. + + Update to Unicode 5.1.0. + * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the + code transform. + * lib/uniname/uniname.c (unicode_character_name, + unicode_name_character): Add the range 0x1Fxxx to the code transform. + * lib/uniname/uninames.h: Regenerated. + * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0. + +2009-02-07 Bruno Haible + + Merge gen-ctype and gen-lbrk into a single program. + * lib/gen-uni-tables.c: New file, incorporating + lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c. + Add directory prefixes to the names of the generated files. + * lib/unictype/gen-ctype.c: Remove file. + * lib/unilbrk/gen-lbrk.c: Remove file. + * modules/gen-uni-tables: New file. + * modules/unictype/gen-ctype: Remove file. + * modules/unilbrk/gen-lbrk: Remove file. + +2009-02-07 Bruno Haible + + * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations. + + New module 'unistr/u32-strcoll'. + * modules/unistr/u32-strcoll: New file. + * lib/unistr/u32-strcoll.c: New file. + + New module 'unistr/u16-strcoll'. + * modules/unistr/u16-strcoll: New file. + * lib/unistr/u16-strcoll.c: New file. + + New module 'unistr/u8-strcoll'. + * modules/unistr/u8-strcoll: New file. + * lib/unistr/u8-strcoll.c: New file. + * lib/unistr/u-strcoll.h: New file. + +2009-02-07 Bruno Haible + + * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value. + * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise. + * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise. + * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise. + * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise. + * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise. + +2009-02-07 Bruno Haible + + Make 64-bit clean. + * lib/unictype/gen-ctype.c (output_predicate, output_category, + output_combclass, output_bidi_category, output_decimal_digit, + output_digit, output_numeric, output_mirror, output_scripts, + output_ident_category): Use proper width specifier in format strings. + +2009-02-07 Bruno Haible + + * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document + failure behaviour. + +2009-02-07 Jim Meyering + + regex: avoid compilation failure with upcoming gcc-4.4 + * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7 + [workaround for PGC prior to 6.1-2]. Otherwise, we'd get this: + "... error: integer overflow in preprocessor expression". + +2009-02-05 Ben Pfaff + + Fix link errors on Windows when close module is used. + * modules/close: Add $(LIB_CLOSE) to Link section. + * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into + $(LIB_CLOSE) on Windows. + +2009-02-05 Jim Meyering + + still avoid unused-parameter warnings, but do it cleanly + * lib/fsusage.c (UNUSED_PARAM): Remove definition. + (get_fs_usage): Cast to void instead. + * lib/mountlist.c (UNUSED_PARAM): Remove definition. + (dev_from_mount_options, read_file_system_list): Cast to void. + Prompted by Bruno Haible. + +2009-02-04 Jim Meyering + + fsusage.c: correct copyright year + * lib/fsusage.c: Reflect year in which the change is pushed into + + avoid misc. warnings + * lib/fsusage.c (UNUSED_PARAM): Define. + (get_fs_usage): Mark parameter "disk" as unused. + * lib/getugroups.c (getgrent): Use "void" in prototype. + * lib/mountlist.c: Mark unused parameters. + (read_file_system_list): Declare a local with "const". + * lib/nanosleep.c (getnow): Declare static. + * lib/strftime.c: Include strftime.h, for declaration of nstrftime. + + dirfd: set errno upon failure + * lib/dirfd.c: Include . + Set errno to ENOTSUP when returning -1. + * modules/dirfd (Depends-on): Add errno. + Suggested by John Kodis . + +2009-02-01 Bruno Haible - * src/augtool.c: new option --noautoload + Don't assume sizeof (long) >= sizeof (void *). + * lib/memcmp.c: Include stdint.h. + (memcmp_bytes): Change argument types to op_t. Change type of srcp1, + srcp2 to 'const byte *'. + (memcmp_common_alignment, memcmp_not_common_alignment): Change argument + types to uintptr_t. + (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'. + * modules/memcmp (Depends-on): Add stdint. + Reported by Ozkan Sezer . + +2009-01-30 Eric Blake + + fix more require-before-expand issues + * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than + expand, AC_PROG_AWK. + * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE. + +2009-01-28 Eric Blake + + version-etc: use consistent URL formatting + * lib/version-etc.c (emit_bug_reporting_address, version_etc_va): + Improve formatting. Use fputs for string without %. - * src/augeas.h: expose flag to suppress module autoload - With AUG_NO_MODL_AUTOLOAD, modules are only loaded when they are needed. +2009-01-28 Jim Meyering - * src/transform.c (filter_generate): avoid segfault if we never call glob + 00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning + * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an + "underquoted definition of NAME" from autoconf-2.59. - Php: some more tests, sample php.ini in test root +2009-01-28 Bruno Haible - Rx: remove \b and \d escapes + * doc/gnulib.texi: Add "Obsolete modules" to index. -2009-04-03 Raphael Pinson +2009-01-28 Jim Meyering - Modify some existing lenses to use new utility modules - Changes Aliases, Exports, Fstab, Group, and Monit + useless-if-before-free: recognize more variants + * build-aux/useless-if-before-free: Also recognize e.g., + if (NULL != p) free (p); - Also exposes comments in /etc/aliases as #comment nodes +2009-01-27 Mark McLoughlin -2009-04-03 Raphael Pinson + test-getaddrinfo: skip (don't fail) this test when there's no network + * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN, + on the presumption that it means you lack network access. - New utility modules Build, Rx, and Sep +2009-01-26 Jim Meyering -2009-04-03 Marc Fournier + fflush: avoid warnings on modern systems + * lib/fflush.c (rpl_fflush): Move declarations of locals, + pos and result, into scopes where they're used. - Php: added default path on redhat +2009-01-26 Eric Blake -2009-04-02 Raphael Pinson + Silence warning reintroduced by recent extensions patch. + * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS) + (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer + autoconf. - Use readline only when stdin is a tty, use getline otherwise + Backport improved autoconf semantics of AC_DEFUN_ONCE. + * m4/00gnulib.m4: New file. + * gnulib-tool (func_get_filelist): Always use it. + * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used. + Reported by Bruno Haible, with suggestions from Paolo Bonzini. -2009-04-01 Marc Fournier +2009-01-25 Bruno Haible - Vsftpd: several fixes - * map comments as #comment - * handle empty lines - * find vsftpd.conf on Fedora/RHEL + Make test-quotearg work on MacOS X and AIX. + * tests/test-quotearg.sh: New file. + * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file. + * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file. + * tests/test-quotearg.c: Include and gettext.h. Don't + include . + (fake_locale): Remove variable. + (gettext, dgettext, dcgettext): Remove functions. + (main): Instead of setting a fake locale, set a real locale. Call + textdomain and bindtextdomain. + * modules/quotearg-tests (Files): Add the new files. + (Depends-on): Add gettext, setenv, unsetenv. + (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8. + (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg. + Augment TESTS_ENVIRONMENT. -2009-03-27 David Lutterkort +2009-01-25 Bruno Haible - Iptables: fix ticket #51 - * allow more characters in chain names - * allow comments mixed in with chains and rules + * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the + fr_FR.ISO8859-1 locale on MacOS X. + * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the + ja_JP.eucJP locale on MacOS X. + * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the + zh_CN.GB18030 locale on MacOS X. - * augeas.spec.in: fadot is not installed yet +2009-01-25 Bruno Haible - Version 0.5.0 + Avoid link errors on MacOS X 10.3. + * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer. + * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise. - Fix build problems uncovered by distcheck +2009-01-25 Bruno Haible - * src/get.c (get_quant_star): do not leak registers + * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp. + * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code. + * modules/pipe (Files): Remove m4/posix_spawn.m4. + (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init, + posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2, + posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy, + posix_spawnattr_init, posix_spawnattr_setsigmask, + posix_spawnattr_setflags, posix_spawnattr_destroy. - Some more test files + * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp. + * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code. + * modules/execute (Files): Remove m4/posix_spawn.m4. + (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init, + posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy, + posix_spawnattr_init, posix_spawnattr_setsigmask, + posix_spawnattr_setflags, posix_spawnattr_destroy. - Fix uninitialized variables found by optimizer +2009-01-25 Bruno Haible - * src/hash.c (hash_free_nodes): simplify and accelerate - Reduces time to typecheck grub.aug from 9.8s to 8.5s on my machine. + * lib/glthread/threadlib.c: Include . - * src/hash.c: mark some asserts as expensive +2009-01-25 Bruno Haible - * tests/root/etc/krb5.conf: simple example file + * lib/glthread/threadlib.c (dummy): New declaration. - Krb5: lens and tests for /etc/krb5.conf +2009-01-25 Bruno Haible -2009-03-25 Raphael Pinson + * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete + multibyte characters also for the GB18030 encoding. Don't crash when + the encoding is unknown and nstate = 0. Needed on OSF/1 5.1. - Grub: add support for Debian's update-grub (ticket #50) - Bug reported by Micah Anderson +2009-01-25 Bruno Haible -2009-03-25 David Lutterkort + Avoid redefining 'struct random_data' on OSF/1 5.1. + * lib/stdlib.in.h: Include if it exists. + * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether exists. Set + HAVE_RANDOM_H. Include when testing whether + 'struct random_data' exists. + * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H. - * src/fa.c (fa_ambig_example): use heuristic for fast checking - This avoids a lot of intersections in the Augeas typechecker, and speeds - typechecking up by between 5% and 20%, depending on the lens. +2009-01-25 Bruno Haible - Thanks to Nate Foster for the inspiration of this + Don't install charset.alias on MacOS X >= 10.3. + * lib/localcharset.c (DARWIN7): New macro. + (get_charset_aliases): Hardcode the result for Darwin7. + * modules/localcharset (install-exec-local): Don't install + charset.alias on MacOS X >= 10.3, if the file does not yet exist. -2009-03-25 David Lutterkort +2009-01-25 Bruno Haible - Sudoers: produce at most one negate node - Even if there are multiple '!' signs, only produce one negate node. + Don't install charset.alias on mingw and Cygwin. + * modules/localcharset (install-exec-local): Don't install + charset.alias on mingw and Cygwin, if the file does not yet exist. + The result for these platforms is hardcoded in localcharset.c. -2009-03-25 Raphael Pinson +2009-01-25 Bruno Haible - Sudoers: fix ticket #48 - * make a difference between boolean and non boolean values for integers and - strings - * allow multiple negate flags (odd/even numbers change the behaviour) - * add optional double quotes to integer and string field + Make it possible again to use AC_GNU_SOURCE together with gnulib. + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE + before requiring AC_USE_SYSTEM_EXTENSIONS. - Bug reported by Frank Sweetser +2009-01-25 Jim Meyering -2009-03-25 David Lutterkort + c-strtod: avoid warnings + * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid + "assignment discards qualifiers from pointer target type" warnings. - * src/augtool.c: make second argument for 'set' optional - This makes it possible to set a tree node's value to the empty string - with - set /foo "" - and - set /foo +2009-01-24 Bruno Haible -2009-03-24 David Lutterkort + Add support for non-UTF-8 locales on MacOS X. + * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of + canonical encodings. For Darwin 7 and newer, don't map traditional + encodings to UTF-8. + Reported by Vincent Lefevre + at . - * src/augeas.c (aug_init): make it easier to override distributed lenses - Make the default load path +2009-01-24 Bruno Haible - $(datadir)/augeas/lenses:$(datadir)/augeas/lenses/dist + * doc/gnulib.texi (Obsolete modules): New section. + Reported by Mike Frysinger . - and instal the lenses we distribute into the dist/ subdir. That makes it - easy for other packages to override lenses we ship: when they are installed - into $(datadir)/augeas/lenses, they are automatically preferred over the - ones we ship. +2009-01-24 Bruno Haible -2009-03-24 David Lutterkort + * doc/Makefile (%.pdf): Clarify where to find texmf.cnf. + (%.dvi): New rule. - New API call aug_defnode and augtool command defnode - It's common that we want to define a variable to reference /foo/bar, and - create that node if it does not exist yet. aug_defnode bundles that - together into one convenient call. +2009-01-24 Bruno Haible - * src/pathx.c (eval_filter): correctly hande realloc of value_pool + * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification. + Reported by Eric Blake. - * src/pathx.c (expand_tree): ensure we start with a nonempty lp_trace +2009-01-24 Bruno Haible - * src/augtool.c: new 'defvar' command + * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC, + set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11. + Reported by Gary V. Vaughan . - Add variables for path expressions - The new API call aug_defvar allows defining variables that can later be - used in path expressions. +2009-01-24 Bruno Haible -2009-03-22 David Lutterkort + * lib/c-strtod.h (c_strtod, c_strtold): Add specification. - Add FilterExpr to path expression grammar - This allows using constructs like $foo/some/path and $foo[2] +2009-01-23 Bruno Haible - * src/augeas.c (parse_user_pathx): new parameter need_nodeset + Make c-strtod, c-strtold usable in libraries. + * lib/c-strtod.c: Include string.h instead of xalloc.h. + (C_STRTOD): Call strdup instead of xstrdup. + * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc. + * modules/c-strtold (Depends-on): Likewise. + * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die. + * NEWS: Mention the change. + Reported by Michael Gold . - * src/pathx.c (pathx_parse): new parameter need_nodeset +2009-01-23 Jim Meyering - * src/pathx.c (ns_filter): new function + c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path + * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when + ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure. - * src/pathx.c: rename E_LOCPATH to E_FILTER +2009-01-23 Simon Josefsson - * src/pathx.c (clone_value): new function + * lib/version-etc.c: Add emit_bug_reporting_address, inspired by + GNU CoreUtils. + * lib/version-etc.h: Add prototype for emit_bug_reporting_address. + * modules/version-etc (Description): Update. -2009-03-21 David Lutterkort +2009-01-22 Bruno Haible - * src/pathx.c (release_value): factor logic into separate function + Cache the C locale object. + * lib/c-strtod.c (c_locale_cache): New variable. + (c_locale): New function. + (C_STRTOD): Use it, and don't call freelocale. + * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE. + Suggested by Paolo Bonzini. - * src/pathx.c: remove assumption that toplevel expression is a locpath - We can't assume that anymore when we have variables. That requires some - headache for pathx_expand_tree, since that needs a full trace of evaluating - a locpath against the tree. +2009-01-21 Bruno Haible - * src/pathx.c (pathx_eval): factor eval into a function + * lib/getloadavg.c (getloadavg): Check c_strtod result against error + conditions other than overflow. - * examples/fadot: remove, checked in by mistake +2009-01-21 Bruno Haible -2009-03-20 David Lutterkort + * lib/c-strtod.c: Include errno.h. + (C_STRTOD): Check against NULL return from newlocale. Preserve errno + value from STRTOD_L and STRTOD. - * .gitignore: ignore examples/fadot +2009-01-21 Bruno Haible + and Jim Meyering - * src/get.c: rename 'Short iteration' to a more helpful message + nanosleep: skip configure test (fail it) for apple universal builds + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple + universal builds, assume that nanosleep does not work. + * modules/nanosleep (Depends-on): Add multiarch. - * src/transform.c (store_error): report which lens failed + mktime: skip configure test (fail it) for apple universal builds + * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple + universal builds, assume that mktime does not work. + * modules/mktime (Depends-on): Add multiarch. - * src/transform.c (store_error): ignore errors from err_set +2009-01-21 Eric Blake - * src/transform.c (store_error): calculate line number/ofs for error + multiarch: avoid expand-before-require warning + * modules/multiarch (configure.ac): Require, rather than expand, + gl_MULTIARCH. + * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge... + (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to + enforce that all clients require it. Partial reversion of + 2008-12-29 patch. - * src/transform.c (err_set): new function + error: avoid expand-before-require warning + * modules/errno (configure.ac): Require, rather than expand, + gl_HEADER_ERRNO_H. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge... + (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to + enforce that all clients require it. -2009-03-20 Francis Giraldeau + gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE + * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using + obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it, + and rely solely on gl_USE_SYSTEM_EXTENSIONS. - * examples/fadot.c: tool to generate dot graphs of FA's - The fadot tool produces dot graphs of finite automata, and allows certain - operations on FA's from the command line, like intersection and complement - of FA's. +2009-01-21 Paolo Bonzini -2009-03-19 David Lutterkort + Revert: + 2009-01-20 Paolo Bonzini - * src/pathx.c: call make_value before pop_value - Since make_value might realloc, pointers retrieved with pop_value may - become invalid across make_value calls. + regex: do not depend on obsolete modules. + * modules/regex: Remove memcmp and memmove. - * src/augeas.c: remove some internal uses of pathx_parse +2009-01-20 Bruno Haible - * src/augeas.c: create various /augeas nodes when they go missing + Make the 'link' module link on Windows NT 4. + * lib/link.c (_WIN32_WINNT): Don't define. + (CreateHardLinkFuncType): New type. + (CreateHardLinkFunc, initialized): New variables. + (initialize): New function. + (link): Invoke CreateHardLink indirectly through the function pointer. - * src/put.c (create_concat): fix goofy error message +2009-01-20 Bruno Haible - Update and refresh man pages + Fix compilation failure on mingw. + * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists. - * src/augtool.c: add --noload option +2009-01-20 Michael Gold (tiny change) - Validate trees representing a transform before using them + * doc/c-strtod.texi: Mention a couple of restrictions. - * tests/test-load.c: new test for aug_load +2009-01-20 Jim Meyering - * src/augeas.h (aug_init): make loading the tree optional - The new flag AUG_NO_LOAD can be used to keep aug_init from loading any - files. This gives the user a chance to modify /augeas/load and then call - aug_load. + gettimeofday: move more declarations out of functions + * lib/gettimeofday.c: Move extern declarations of tzset and + gmtime out of containing functions. Prompted by Bruno Haible. - * src/augtool.c: new 'load' command +2009-01-20 Paolo Bonzini - * src/augeas.h (aug_load): new public function + regex: do not depend on obsolete modules. + * modules/regex: Remove memcmp and memmove. - * src/transform.h: use tree encoded transforms +2009-01-19 Bruno Haible - * src/lens.c (lens_release): allow NULL lens to be passed in + Don't use AC_REQUIRE([AC_C_BIGENDIAN]). + * modules/uniconv/u16-conv-from-enc (configure.ac): Require + gl_BIGENDIAN, not AC_C_BIGENDIAN. + * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise. + * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise. + +2009-01-19 Bruno Haible + + * tests/test-link.c: Include . + (main): Exit with code 77 when a hard link cannot be created due to + the file system. + * tests/test-link.sh: Skip test when a hard link cannot be created due + to the file system. + Suggested by Eric Blake. + +2009-01-19 Martin Lambers + + * modules/link-tests: New file. + * tests/test-link.sh: New file. + * tests/test-link.c: New file. + +2009-01-19 Eric Blake + + doc: mention another function added in cygwin 1.7.0 + * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p): + Another new function in cygwin 1.7. + +2009-01-19 Bruno Haible + + Don't use AC_REQUIRE([AC_C_BIGENDIAN]). + * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro. + * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require + gl_BIGENDIAN, not AC_C_BIGENDIAN. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise. + * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise. + * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise. + * m4/md4.m4 (gl_MD4): Likewise. + * m4/md5.m4 (gl_MD5): Likewise. + * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise. + * m4/sha1.m4 (gl_SHA1): Likewise. + * m4/sha256.m4 (gl_SHA256): Likewise. + * m4/sha512.m4 (gl_SHA512): Likewise. + +2009-01-19 Bruno Haible + + * modules/uniname/uniname-tests (Depends-on): Add progname. + * tests/uniname/test-uninames.c: Include progname.h. + (main): Call set_program_name. + + * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname. + * tests/unistdio/test-u8-vsprintf1.c: Include progname.h. + (main): Call set_program_name. + + * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname. + * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h. + (main): Call set_program_name. + + * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname. + * tests/unistdio/test-u16-vsprintf1.c: Include progname.h. + (main): Call set_program_name. + + * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname. + * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h. + (main): Call set_program_name. + + * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname. + * tests/unistdio/test-u32-vsprintf1.c: Include progname.h. + (main): Call set_program_name. + + * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname. + * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h. + (main): Call set_program_name. + + * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname. + * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h. + (main): Call set_program_name. + + * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname. + * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h. + (main): Call set_program_name. + +2009-01-19 Eric Blake + + test-unistd: test previous patch + * tests/test-unistd.c: Test *_FILENO macros. + + unistd: guarantee STDIN_FILENO here, for OS/2 EMX + * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): + Guarantee a definition. + * doc/posix-headers/unistd.texi (unistd.h): Document the bug. + * modules/unistd-safer (Depends-on): Add dependency on unistd. + * lib/c-stack.c (STDERR_FILENO): Rely on . + * lib/dup-safer.c (STDERR_FILENO): Likewise. + * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): + Likewise. + * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise. + * lib/fopen-safer.c (STDERR_FILENO): Likewise. + * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): + Likewise. + * lib/tmpfile-safer.c (STDERR_FILENO): Likewise. + * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO) + (STDERR_FILENO): Likewise. + * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO) + (STDERR_FILENO): Likewise. + * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO) + (STDERR_FILENO): Likewise. + Reported by Elbert Pol. + +2009-01-19 Eric Blake + + doc: mention more functions added in cygwin 1.7.0 + * doc/posix-functions/abort.texi (abort): Update wording related + to cygwin. + * doc/posix-functions/daylight.texi (daylight): Likewise. + * doc/posix-functions/optarg.texi (optarg): Likewise. + * doc/posix-functions/optarg.texi (opterr): Likewise. + * doc/posix-functions/optarg.texi (optind): Likewise. + * doc/posix-functions/optarg.texi (optopt): Likewise. + * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never + worked in 1.5.x, and was withdrawn in 1.7. + * doc/posix-functions/vwprintf.texi (vwprintf): Likewise. + * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of + cygwin versions. + * doc/posix-functions/perror.texi (perror): Likewise. + * doc/posix-functions/printf.texi (printf): Likewise. + * doc/posix-functions/snprintf.texi (snprintf): Likewise. + * doc/posix-functions/sprintf.texi (sprintf): Likewise. + * doc/posix-functions/vfprintf.texi (vfprintf): Likewise. + * doc/posix-functions/vprintf.texi (vprintf): Likewise. + * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise. + * doc/posix-functions/vsprintf.texi (vsprintf): Likewise. + * doc/glibc-functions/obstack_printf.texi (obstack_printf): + Likewise. + * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): + Likewise. + * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds + this function. + * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise. + * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback): + Likewise. + * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise. + * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise. + * doc/posix-functions/confstr.texi (confstr): Likewise. + * doc/posix-functions/dprintf.texi (dprintf): Likewise. + * doc/posix-functions/fgetwc.texi (fgetwc): Likewise. + * doc/posix-functions/fgetws.texi (fgetws): Likewise. + * doc/posix-functions/fputwc.texi (fputwc): Likewise. + * doc/posix-functions/fputws.texi (fputws): Likewise. + * doc/posix-functions/fwide.texi (fwide): Likewise. + * doc/posix-functions/getwc.texi (getwc): Likewise. + * doc/posix-functions/getwchar.texi (getwchar): Likewise. + * doc/posix-functions/putwc.texi (putwc): Likewise. + * doc/posix-functions/putwchar.texi (putwchar): Likewise. + * doc/posix-functions/sigignore.texi (sigignore): Likewise. + * doc/posix-functions/ungetwc.texi (ungetwc): Likewise. + * doc/posix-functions/vdprintf.texi (vdprintf): Likewise. + * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise. + * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise. + * doc/posix-functions/wcstol.texi (wcstol): Likewise. + * doc/posix-functions/wcstoll.texi (wcstoll): Likewise. + * doc/posix-functions/wcstoul.texi (wcstoul): Likewise. + * doc/posix-functions/wcstoull.texi (wcstoull): Likewise. + * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise. + +2009-01-19 Daniel P. Berrange + + ioctl: avoid warning: no previous prototype for 'rpl_ioctl' + * lib/ioctl.c: Include . + +2009-01-19 Simon Josefsson + + * modules/getdate-tests (Depends-on): Add progname. + * tests/test-getdate.c: Use progname module, to avoid link errors + on non-glibc systems. + +2009-01-18 Simon Josefsson + + * modules/filenamecat-tests (Depends-on): Add progname. + * modules/fstrcmp-tests (Depends-on): Likewise. + + * tests/test-filenamecat.c: Use progname module, to avoid link + errors on non-glibc systems. + * tests/test-fstrcmp.c: Likewise. + +2009-01-19 Daniel P. Berrange + + gettimeofday: avoid warning: nested extern declaration of 'localtime' + * lib/gettimeofday.c: Move extern declaration out of function. + +2009-01-18 Bruno Haible + + * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen. + * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros. + (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1. + +2009-01-18 Bruno Haible + + * lib/strftime.c (MEMPCPY): Remove unused macro. + * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy. + +2009-01-18 Martin Lambers + + New module 'link'. + * lib/unistd.in.h (link): New declaration. + * lib/link.c: New file. + * m4/link.m4: New file. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK, + HAVE_LINK. + * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK. + * modules/link: New file. + * doc/posix-functions/link.texi: Mention the new module. + +2009-01-18 Bruno Haible + + * tests/test-avltree_list.c (main): Call set_program_name. + * tests/test-avltree_oset.c (main): Likewise. + * tests/test-obstack-printf.c: Include progname.h. + (main): Call set_program_name. + * tests/test-quotearg.c: Include progname.h. + (main): Call set_program_name. + * tests/test-xmemdup0.c: Include progname.h. + (main): Call set_program_name. + +2009-01-18 Bruno Haible + + New module 'alphasort'. + * lib/dirent.in.h (alphasort): New declaration. + * lib/alphasort.c: New file, from glibc with modifications. + * m4/alphasort.m4: New file. + * modules/alphasort: New file. + * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT, + HAVE_ALPHASORT. + * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT, + HAVE_ALPHASORT. + * doc/posix-functions/alphasort.texi: Mention the new module and the + portability problems. + +2009-01-18 Bruno Haible + + New module 'scandir'. + * lib/dirent.in.h (scandir): New declaration. + * lib/scandir.c: New file, from glibc with modifications. + * m4/scandir.m4: New file. + * modules/scandir: New file. + * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR, + HAVE_SCANDIR. + * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR, + HAVE_SCANDIR. + * doc/posix-functions/scandir.texi: Mention the new module and the + portability problems. + +2009-01-17 Bruno Haible + + * gnulib-tool (func_remove_prefix): Escape all dots in the prefix. + Update documentation. + (func_remove_suffix): Escape all dots in the suffix. Update + documentation. + (func_filter_filelist): Update documentation. + Reported by Ralf Wildenhues. + +2009-01-17 Bruno Haible + + * modules/dprintf-posix-tests: New file. + * tests/test-dprintf-posix.sh: New file. + * tests/test-dprintf-posix.c: New file. - * src/syntax.h (lens_lookup): new function + New modules 'dprintf', 'dprintf-posix'. + * lib/stdio.in.h (dprintf): New declaration. + * lib/dprintf.c: New file. + * m4/dprintf.m4: New file. + * m4/dprintf-posix.m4: New file. + * modules/dprintf: New file. + * modules/dprintf-posix: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF, + HAVE_DPRINTF, REPLACE_DPRINTF. + * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF, + HAVE_DPRINTF, REPLACE_DPRINTF. + * doc/posix-functions/dprintf.texi: Mention the new modules. + +2009-01-17 Bruno Haible + + * modules/vdprintf-posix-tests: New file. + * tests/test-vdprintf-posix.sh: New file. + * tests/test-vdprintf-posix.c: New file. + + New modules 'vdprintf', 'vdprintf-posix'. + * lib/stdio.in.h (vdprintf): New declaration. + * lib/vdprintf.c: New file. + * m4/vdprintf.m4: New file. + * m4/vdprintf-posix.m4: New file. + * modules/vdprintf: New file. + * modules/vdprintf-posix: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF, + HAVE_VDPRINTF, REPLACE_VDPRINTF. + * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF, + HAVE_VDPRINTF, REPLACE_VDPRINTF. + * doc/posix-functions/vdprintf.texi: Mention the new modules. + +2009-01-17 Bruno Haible + + Fix replacement of fopen on mingw. + * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on + mingw. + +2009-01-17 Bruno Haible + + Fix compilation error on HP-UX 11.00, present since 2008-09-24. + * lib/fopen.c: Include and . + +2009-01-17 Bruno Haible + + Avoid test-fflush2.sh failure on mingw. + * tests/test-fflush2.c: Include binary-io.h. + (main): Put standard input into binary mode. + * modules/fflush-tests (Depends-on): Add binary-io. + +2009-01-17 Bruno Haible + + * lib/wchar.in.h: In another particular situation, include only the + system's file. + (_GL_ALREADY_INCLUDING_WCHAR_H): New macro. + Reported by Albert Chin-A-Young + and Thomas Guyot-Sionnest . + +2009-01-17 Bruno Haible + + Support for stripping executables in --enable-relocatable. + * build-aux/install-reloc: Expect one more argument, or an environment + variable RELOC_STRIP_PROG. If set, strip the destination program and + its wrapper. + * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set + RELOC_STRIP_PROG. + * doc/relocatable-maint.texi (Supporting Relocation): Mention the need + to set RELOCATABLE_STRIP. + * NEWS: Mention the new Makefile requirement. + +2009-01-17 Bruno Haible + + * build-aux/install-reloc: Remove debugging information left over by + C compiler on MacOS X. + +2009-01-17 Bruno Haible + + Update use of _NSGetExecutablePath after API change in MacOS X 10.4. + * lib/progreloc.c (find_executable): Fix type of pointer passed to + _NSGetExecutablePath. - * src/augeas.c: report transforms under /augeas/load +2009-01-16 Jim Meyering - Rename AUG_NO_DEFAULT_LOAD to AUG_NO_MODL_AUTOLOAD + strerror: avoid warnings about discarding "const" + * lib/strerror.c (rpl_strerror): Instead of returning a const + string from each and every "case", use a variable, and add a single + cast after the switch. - Limits (filter): no need to exclude anything +2009-01-16 Albert Chin-A-Young -2009-03-19 Raphael Pinson + * lib/arpa_inet.in.h: Add extern "C" block for C++. - Limits: map domain into the value of domain node (schema change) - Mapping the domain as the label of a node leads to difficulties since '*' - is a valid domain name. +2009-01-16 Bruno Haible - Problem reported by Mark Drayton (ticket #47) + * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an + array initializer syntax that also works in C++ mode. + Reported by Albert Chin . + +2009-01-16 Jim Meyering + + poll: suppress a warning + * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits" + to ignore "...unsigned expression < 0 is always false" warnings. + +2009-01-16 Daniel P. Berrange + + poll: remove declarations of unused variables + * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused + sockbuf and optlen. + +2009-01-15 Bruno Haible + + Make fflush-after-ungetc POSIX compliant on BSD systems. + * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function. + (clear_ungetc_buffer): Implement also for other systems. + (rpl_fflush): On glibc systems, invoke + clear_ungetc_buffer_preserving_position. Otherwise, invoke + clear_ungetc_buffer after fetching the stream's position, not before. + +2009-01-15 Bruno Haible + + Make fflush-after-ungetc POSIX compliant on glibc systems. + * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush + after ungetc. + * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems. + (rpl_fflush): On glibc systems, simply call the system's fflush + function after clearing the ungetc buffer. + * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file. + Instead, lseek only to the end of file, then use the system's fseeko + for the rest. On glibc systems, reset the EOF indicator bit. + +2009-01-15 Jim Meyering + + openmp.m4: revert quote-adding change, for portability to older autoconf + * m4/openmp.m4: Remove the quotes added on 2009-01-14. + This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d. + Simon Josefsson noticed the problem when using autoconf-2.61. + +2009-01-15 Bruno Haible + + * tests/test-fflush2.sh: Invoke test-fflush2 twice. + * tests/test-fflush2.c (ASSERT): Always fail. + (main): Add two tests for fflush() after ungetc(), taking into account + the Austin Group's clarification. + Suggested by Eric Blake. + +2009-01-15 Albert Chin-A-Young + + mktime.m4: remove K&R-style function prototypes + * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes + for the Sun C++ compiler. + +2009-01-14 Bruno Haible + + * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined + while including . + * lib/wchar.in.h: In two particular situations on HP-UX, include only + the system's file. + Reported by Albert Chin . + +2009-01-14 Bruno Haible + + * m4/csharp.m4: Don't mention gettext on the serial number line. + * m4/csharpexec.m4: Likewise. + * m4/eaccess.m4: Likewise. + * m4/javaexec.m4: Likewise. + * m4/sig_atomic_t.m4: Likewise. + * m4/tmpdir.m4: Likewise. + * m4/intldir.m4: Bump gettext version. + * m4/lib-ld.m4: Likewise. + +2009-01-14 Bruno Haible + + * lib/progname.c (set_program_name): Add more comments. + Reported by Sergey Poznyakoff . + +2009-01-14 Simon Josefsson + + * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems + were sys/stat.h does not define it. + +2009-01-14 Jim Meyering + + many *.m4 files: improve m4 quoting + 99% of this change was performed by running the following commands: + git ls-files | grep '\.m4$' | xargs perl -pi \ + -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \ + -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \ + -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \ + -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g' + perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4 + The remainder were to add Copyright dates, increment serial numbers, + undo some changes in comments, exclude m4/intl.m4, and add quotes + around the "1" in ",1" where the unusual spacing prohibited the + above regexps from doing the job. For more details, see + . + * m4/acl.m4: Modified. + * m4/afs.m4: Likewise. + * m4/alloca.m4: Likewise. + * m4/argp.m4: Likewise. + * m4/argz.m4: Likewise. + * m4/atexit.m4: Likewise. + * m4/bison-i18n.m4: Likewise. + * m4/bison.m4: Likewise. + * m4/byteswap.m4: Likewise. + * m4/c-stack.m4: Likewise. + * m4/c-strtod.m4: Likewise. + * m4/calloc.m4: Likewise. + * m4/canonicalize-lgpl.m4: Likewise. + * m4/chown.m4: Likewise. + * m4/clock_time.m4: Likewise. + * m4/codeset.m4: Likewise. + * m4/copy-file.m4: Likewise. + * m4/csharp.m4: Likewise. + * m4/csharpcomp.m4: Likewise. + * m4/csharpexec.m4: Likewise. + * m4/d-ino.m4: Likewise. + * m4/d-type.m4: Likewise. + * m4/dirfd.m4: Likewise. + * m4/double-slash-root.m4: Likewise. + * m4/eaccess.m4: Likewise. + * m4/eealloc.m4: Likewise. + * m4/environ.m4: Likewise. + * m4/errno_h.m4: Likewise. + * m4/euidaccess.m4: Likewise. + * m4/execute.m4: Likewise. + * m4/fatal-signal.m4: Likewise. + * m4/fchdir.m4: Likewise. + * m4/fcntl_h.m4: Likewise. + * m4/fileblocks.m4: Likewise. + * m4/filenamecat.m4: Likewise. + * m4/findprog.m4: Likewise. + * m4/flexmember.m4: Likewise. + * m4/fnmatch.m4: Likewise. + * m4/fopen.m4: Likewise. + * m4/fpending.m4: Likewise. + * m4/fprintf-posix.m4: Likewise. + * m4/free.m4: Likewise. + * m4/frexp.m4: Likewise. + * m4/frexpl.m4: Likewise. + * m4/fsusage.m4: Likewise. + * m4/ftruncate.m4: Likewise. + * m4/gc-camellia.m4: Likewise. + * m4/gc-random.m4: Likewise. + * m4/gc.m4: Likewise. + * m4/getaddrinfo.m4: Likewise. + * m4/getcwd-abort-bug.m4: Likewise. + * m4/getcwd-path-max.m4: Likewise. + * m4/getdate.m4: Likewise. + * m4/getdomainname.m4: Likewise. + * m4/getgroups.m4: Likewise. + * m4/gethostname.m4: Likewise. + * m4/gethrxtime.m4: Likewise. + * m4/getline.m4: Likewise. + * m4/getloadavg.m4: Likewise. + * m4/getndelim2.m4: Likewise. + * m4/getpass.m4: Likewise. + * m4/gettext.m4: Likewise. + * m4/gettime.m4: Likewise. + * m4/gettimeofday.m4: Likewise. + * m4/gnulib-common.m4: Likewise. + * m4/group-member.m4: Likewise. + * m4/host-os.m4: Likewise. + * m4/iconv.m4: Likewise. + * m4/iconv_open.m4: Likewise. + * m4/inet_ntop.m4: Likewise. + * m4/inet_pton.m4: Likewise. + * m4/inline.m4: Likewise. + * m4/intldir.m4: Likewise. + * m4/intlmacosx.m4: Likewise. + * m4/intmax.m4: Likewise. + * m4/intmax_t.m4: Likewise. + * m4/inttypes.m4: Likewise. + * m4/inttypes_h.m4: Likewise. + * m4/inttypes-pri.m4: Likewise. + * m4/isapipe.m4: Likewise. + * m4/isnand.m4: Likewise. + * m4/isnanf.m4: Likewise. + * m4/isnanl.m4: Likewise. + * m4/javacomp.m4: Likewise. + * m4/javaexec.m4: Likewise. + * m4/jm-winsz1.m4: Likewise. + * m4/jm-winsz2.m4: Likewise. + * m4/lchown.m4: Likewise. + * m4/lcmessage.m4: Likewise. + * m4/ldexpl.m4: Likewise. + * m4/lib-ld.m4: Likewise. + * m4/lib-link.m4: Likewise. + * m4/libsigsegv.m4: Likewise. + * m4/link-follow.m4: Likewise. + * m4/localcharset.m4: Likewise. + * m4/locale-fr.m4: Likewise. + * m4/locale-ja.m4: Likewise. + * m4/locale-tr.m4: Likewise. + * m4/locale-zh.m4: Likewise. + * m4/lock.m4: Likewise. + * m4/longlong.m4: Likewise. + * m4/ls-mntd-fs.m4: Likewise. + * m4/lstat.m4: Likewise. + * m4/malloc.m4: Likewise. + * m4/mathl.m4: Likewise. + * m4/mbrtowc.m4: Likewise. + * m4/mbstate_t.m4: Likewise. + * m4/mbswidth.m4: Likewise. + * m4/memchr.m4: Likewise. + * m4/memcmp.m4: Likewise. + * m4/memcpy.m4: Likewise. + * m4/memmem.m4: Likewise. + * m4/memmove.m4: Likewise. + * m4/mempcpy.m4: Likewise. + * m4/memrchr.m4: Likewise. + * m4/memset.m4: Likewise. + * m4/minmax.m4: Likewise. + * m4/mkdir-slash.m4: Likewise. + * m4/mkdtemp.m4: Likewise. + * m4/mktime.m4: Likewise. + * m4/mmap-anon.m4: Likewise. + * m4/mountlist.m4: Likewise. + * m4/nanosleep.m4: Likewise. + * m4/nls.m4: Likewise. + * m4/nocrash.m4: Likewise. + * m4/open.m4: Likewise. + * m4/openat.m4: Likewise. + * m4/openmp.m4: Likewise. + * m4/pathmax.m4: Likewise. + * m4/perl.m4: Likewise. + * m4/physmem.m4: Likewise. + * m4/pipe.m4: Likewise. + * m4/po.m4: Likewise. + * m4/poll.m4: Likewise. + * m4/posixtm.m4: Likewise. + * m4/posixver.m4: Likewise. + * m4/printf-frexp.m4: Likewise. + * m4/printf-frexpl.m4: Likewise. + * m4/printf-posix.m4: Likewise. + * m4/printf-posix-rpl.m4: Likewise. + * m4/printf.m4: Likewise. + * m4/progtest.m4: Likewise. + * m4/putenv.m4: Likewise. + * m4/readline.m4: Likewise. + * m4/readlink.m4: Likewise. + * m4/readutmp.m4: Likewise. + * m4/realloc.m4: Likewise. + * m4/regex.m4: Likewise. + * m4/relocatable.m4: Likewise. + * m4/relocatable-lib.m4: Likewise. + * m4/rename-dest-slash.m4: Likewise. + * m4/rename.m4: Likewise. + * m4/rmdir-errno.m4: Likewise. + * m4/rmdir.m4: Likewise. + * m4/roundf.m4: Likewise. + * m4/roundl.m4: Likewise. + * m4/rpmatch.m4: Likewise. + * m4/save-cwd.m4: Likewise. + * m4/selinux-selinux-h.m4: Likewise. + * m4/setenv.m4: Likewise. + * m4/settime.m4: Likewise. + * m4/sig2str.m4: Likewise. + * m4/sig_atomic_t.m4: Likewise. + * m4/signalblocking.m4: Likewise. + * m4/signbit.m4: Likewise. + * m4/sigpipe.m4: Likewise. + * m4/sockets.m4: Likewise. + * m4/sockpfaf.m4: Likewise. + * m4/st_dm_mode.m4: Likewise. + * m4/stat-time.m4: Likewise. + * m4/stdbool.m4: Likewise. + * m4/stdint.m4: Likewise. + * m4/stdint_h.m4: Likewise. + * m4/stpcpy.m4: Likewise. + * m4/stpncpy.m4: Likewise. + * m4/strcase.m4: Likewise. + * m4/strchrnul.m4: Likewise. + * m4/strcspn.m4: Likewise. + * m4/strdup.m4: Likewise. + * m4/strftime.m4: Likewise. + * m4/strndup.m4: Likewise. + * m4/strnlen.m4: Likewise. + * m4/strpbrk.m4: Likewise. + * m4/strptime.m4: Likewise. + * m4/strsep.m4: Likewise. + * m4/strtod.m4: Likewise. + * m4/strtoimax.m4: Likewise. + * m4/strtok_r.m4: Likewise. + * m4/strtol.m4: Likewise. + * m4/strtoll.m4: Likewise. + * m4/strtoul.m4: Likewise. + * m4/strtoull.m4: Likewise. + * m4/strtoumax.m4: Likewise. + * m4/strverscmp.m4: Likewise. + * m4/threadlib.m4: Likewise. + * m4/timegm.m4: Likewise. + * m4/tm_gmtoff.m4: Likewise. + * m4/tmpdir.m4: Likewise. + * m4/tmpfile.m4: Likewise. + * m4/tzset.m4: Likewise. + * m4/uintmax_t.m4: Likewise. + * m4/unlinkdir.m4: Likewise. + * m4/unlocked-io.m4: Likewise. + * m4/uptime.m4: Likewise. + * m4/userspec.m4: Likewise. + * m4/utimbuf.m4: Likewise. + * m4/utime.m4: Likewise. + * m4/utimes-null.m4: Likewise. + * m4/utimes.m4: Likewise. + * m4/vararrays.m4: Likewise. + * m4/vasnprintf.m4: Likewise. + * m4/vfprintf-posix.m4: Likewise. + * m4/vprintf-posix.m4: Likewise. + * m4/wait-process.m4: Likewise. + * m4/wchar_t.m4: Likewise. + * m4/wint_t.m4: Likewise. + * m4/write-any-file.m4: Likewise. + * m4/yield.m4: Likewise. + +2009-01-13 Bruno Haible + + Avoid test-copy-file.sh failures when ACL support insufficient. + * modules/copy-file-tests (Makefile.am): Pass USE_ACL in + TESTS_ENVIRONMENT. + * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0. + Reported by Jim Meyering. + +2009-01-13 Bruno Haible + + * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and + m4/inttypes_h.m4, needed by m4/intmax_t.m4. + * modules/unistdio/u8-printf-parse (Files): Likewise. + * modules/unistdio/u32-printf-parse (Files): Likewise. + * modules/unistdio/ulc-printf-parse (Files): Likewise. + +2009-01-13 Simon Josefsson + + * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4 + and m4/inttypes_h.m4 too. + +2009-01-12 Eric Blake + + tests: IRIX 6.2 cc can't compile -0.0 into .data + * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime, + rather than at compile-time. + * tests/test-floorl.c (minus_zero): Likewise. + * tests/test-frexpl.c (minus_zero): Likewise. + * tests/test-isnan.c (minus_zerol): Likewise. + * tests/test-isnanl.h (minus_zero): Likewise. + * tests/test-ldexpl.c (minus_zero): Likewise. + * tests/test-roundl.c (minus_zero): Likewise. + * tests/test-signbit.c (minus_zerol): Likewise. + * tests/test-snprintf-posix.h (minus_zerol): Likewise. + * tests/test-sprintf-posix.h (minus_zerol): Likewise. + * tests/test-truncl.c (minus_zero): Likewise. + * tests/test-vasnprintf-posix.c (minus_zerol): Likewise. + * tests/test-vasprintf-posix.c (minus_zerol): Likewise. + Reported by Tom G. Christensen and Nelson H. F. Beebe. + +2009-01-09 Paolo Bonzini + + regex: fix glibc bug 9697 + * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET + handling. + +2009-01-09 Paolo Bonzini + + regex: fix glibc bug 697 + * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0] + being NULL also if there are no backreferences. + +2009-01-09 Paolo Bonzini + + regex: merge glibc changes + * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc. + * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer, + re_string_skip_chars, re_string_reconstruct): Likewise. + * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define. + +2009-01-07 Jim Meyering + + poll: filter through cppi + * lib/poll.c: Indent cpp directives to reflect nesting. + +2009-01-07 Daniel P. Berrange + + poll: don't return uninitialized + * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc". + +2009-01-06 Jeremy Olexa (tiny change) + + avoid compile failure on AIX 6.1 + * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include . + Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465 + +2009-01-04 Jim Meyering + + remove duplicate inclusion of + * tests/test-fprintf-posix.c: Likewise. + * tests/test-printf-posix.c: Likewise. + * tests/test-snprintf-posix.c: Likewise. + * tests/test-sprintf-posix.c: Likewise. + * tests/test-vasprintf-posix.c: Likewise. + * tests/test-vfprintf-posix.c: Likewise. + * tests/test-vprintf-posix.c: Likewise. + * tests/test-vsnprintf-posix.c: Likewise. + * tests/test-vsprintf-posix.c: Likewise. + +2009-01-03 Jim Meyering + + gnulib-tool: fix sed-based filtering + * gnulib-tool (func_filter_filelist): Remove extra backslash + in sed_fff_filter definition. + +2009-01-02 Jim Meyering + + strftime: avoid compilation failure on Solaris 2.6 + * modules/strftime (Depends-on): Add mbrlen and mbsinit. + * lib/strftime.c [DO_MULTIBYTE]: Include unconditionally. + Don't #define mbrlen or mbsinit, since now they're guaranteed to + be available. Reported by Tom G. Christensen. Details in + . + +2009-01-01 Ralf Wildenhues + Bruno Haible + + Speed up gnulib-tool by doing more string processing through shell + built-ins. + * gnulib-tool (fast_func_append): New variable. + (func_remove_prefix, func_remove_suffix): New functions. + (fast_func_remove_prefix, fast_func_remove_suffix): New variables. + (func_filter_filelist): New function. + (func_get_dependencies): Use func_remove_suffix instead of sed. + (func_get_automake_snippet): Use func_filter_filelist instead of a + subshell and sed invocation. + +2009-01-01 Bruno Haible + + Fix a security bug. + * gnulib-tool (func_import, import, update): Don't allow the characters + '"', '$', '`', '\' in macro arguments that become part of commands that + are evaluated. + +2009-01-01 Bruno Haible + + * gnulib-tool (func_reset_sigpipe): Add more comments. + +2009-01-01 Ralf Wildenhues + + * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am, + func_emit_tests_Makefile_am, func_import): Abort loops early if we + already know the answer. + +2009-01-01 Jim Meyering -2009-03-19 David Lutterkort + * lib/version-etc.c (version_etc_va): Update copyright year. - Lokkit: new lens and test +2008-12-30 Bruno Haible -2009-03-17 David Lutterkort + * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite + LIB${NAME}_PREFIX when considering the dependencies of lib${name}. + Reported by Charles Wilson . - Iptables: new lens and test - A fairly basic parse of the iptables config file. It should accept any - legal iptables config file; what makes it basic is that it doesn't break - some of the values down as fine-grained as I would like to have them +2008-12-29 Eric Blake -2009-03-13 David Lutterkort + multiarch: avoid autoconf AC_REQUIRE bug + * m4/multiarch.m4 (gl_MULTIARCH): Split body... + (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf + 2.63 and older. + Reported by Bruno Haible, and analyzed in + http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html + +2008-12-29 Bruno Haible + + * gnulib-tool (func_import): When generating sed-ignore-removed, handle + files in subdirectories correctly. + Reported by Ralf Wildenhues. + +2008-12-29 Ralf Wildenhues + + * gnulib-tool (func_update_ignorelist): Use 'join - FILE' + rather than 'join FILE -', for Solaris join. + +2008-12-29 Bruno Haible + + * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument + quoting. + * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise. + * m4/glibc2.m4 (gt_GLIBC2): Likewise. + * m4/glibc21.m4 (gl_GLIBC21): Likewise. + * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise. + * m4/intdiv0.m4 (gt_INTDIV0): Likewise. + * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise. + * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise. + * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise. + * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise. + * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise. + * m4/nls.m4 (AM_NLS): Likewise. + * m4/po.m4 (AM_PO_SUBDIRS): Likewise. + * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise. + * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise. + * m4/size_max.m4 (gl_SIZE_MAX): Likewise. + * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise. + * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise. + * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise. + * m4/visibility.m4 (gl_VISIBILITY): Likewise. + * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise. + * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise. + * m4/xsize.m4 (gl_XSIZE): Likewise. + Suggested by Jim Meyering. - * configure.ac: bump major version of libfa +2008-11-17 Bruce Korb + + * lib/parse-duration.h: non-iso form accepts years, months weeks, too + * lib/parse-duration.c: use a switch instead of cascading if's. + +2008-12-29 Eric Blake + + wchar.h: supply WEOF on Irix 5.3 + * lib/wchar.in.h (wint_t): Also supply WEOF. + * lib/wctype.in.h (wint_t): Likewise. + * doc/posix-headers/wchar.texi (wchar.h): Document the bug. + * doc/posix-headers/wctype.texi (wctype.h): Likewise. + Reported by Tom G. Christensen. + +2008-12-26 Bruno Haible + + * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names + i486, i586, i686. + +2008-12-26 Bruno Haible + + * lib/stdlib.in.h (struct random_data): Fix indentation of comments. + +2008-12-26 Bruno Haible + + * lib/stdint.in.h: Move the include of down until after all + the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS, + not __STDC_CONSTANT_MACROS. + Reported by Nelson H. F. Beebe via Eric Blake. + +2008-12-25 Bruno Haible + + Add support for universal builds to vasnprintf. + * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple + universal builds, guess no. + * modules/vasnprintf-posix (Depends-on): Add multiarch. + * modules/vasprintf-posix (Depends-on): Likewise. + * modules/fprintf-posix (Depends-on): Likewise. + * modules/vfprintf-posix (Depends-on): Likewise. + * modules/snprintf-posix (Depends-on): Likewise. + * modules/vsnprintf-posix (Depends-on): Likewise. + * modules/sprintf-posix (Depends-on): Likewise. + * modules/vsprintf-posix (Depends-on): Likewise. + * modules/unistdio/u8-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise. + + Add support for universal builds to . + * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, + _SCNu64_PREFIX): In Apple + universal builds, define directly, using _LP64. + * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set + INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1. + * modules/inttypes (Depends-on): Add multiarch. + (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD. + + Add support for universal builds to . + * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple + universal builds, define directly, using _LP64. + * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In + Apple universal builds, don't test for the size and suffix of ptrdiff_t + and size_t. + * modules/stdint (Depends-on): Add multiarch. + (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD. + + New module 'multiarch'. + * modules/multiarch: New file. + * m4/multiarch.m4: New file. + +2008-12-25 Bruno Haible + + * gnulib-tool (func_create_testdir): Avoid failure of mv command. + +2008-12-25 Bruno Haible + + * modules/btowc (License): Relicense under LGPLv2+. + * modules/mbsinit (License): Likewise. + * modules/mbrtowc (License): Likewise. + * modules/wcrtomb (License): Likewise. + * modules/streq (License): Likewise. + Reported by David Lutterkort . + +2008-12-23 Bruno Haible + + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment. + +2008-12-23 Bruno Haible + + Module getaddrinfo requires linking with $(GETADDRINFO_LIB). + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into + GETADDRINFO_LIB, not in LIBS. + * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB). + * modules/canon-host (Link): Likewise. + * NEWS: Mention the change. + * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the + GETADDRINFO_LIB. + +2008-12-22 Bruno Haible + + * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t. + * doc/posix-functions/iswalpha_l.texi: Likewise. + * doc/posix-functions/iswblank_l.texi: Likewise. + * doc/posix-functions/iswcntrl_l.texi: Likewise. + * doc/posix-functions/iswctype_l.texi: Likewise. + * doc/posix-functions/iswdigit_l.texi: Likewise. + * doc/posix-functions/iswgraph_l.texi: Likewise. + * doc/posix-functions/iswlower_l.texi: Likewise. + * doc/posix-functions/iswprint_l.texi: Likewise. + * doc/posix-functions/iswpunct_l.texi: Likewise. + * doc/posix-functions/iswspace_l.texi: Likewise. + * doc/posix-functions/iswupper_l.texi: Likewise. + * doc/posix-functions/iswxdigit_l.texi: Likewise. + * doc/posix-functions/mbsnrtowcs.texi: Likewise. + * doc/posix-functions/open_wmemstream.texi: Likewise. + * doc/posix-functions/swscanf.texi: Likewise. + * doc/posix-functions/towctrans_l.texi: Likewise. + * doc/posix-functions/towlower.texi: Likewise. + * doc/posix-functions/towlower_l.texi: Likewise. + * doc/posix-functions/towupper.texi: Likewise. + * doc/posix-functions/towupper_l.texi: Likewise. + * doc/posix-functions/vfwprintf.texi: Likewise. + * doc/posix-functions/vfwscanf.texi: Likewise. + * doc/posix-functions/vswscanf.texi: Likewise. + * doc/posix-functions/vwprintf.texi: Likewise. + * doc/posix-functions/vwscanf.texi: Likewise. + * doc/posix-functions/wcpcpy.texi: Likewise. + * doc/posix-functions/wcpncpy.texi: Likewise. + * doc/posix-functions/wcscasecmp.texi: Likewise. + * doc/posix-functions/wcscasecmp_l.texi: Likewise. + * doc/posix-functions/wcscoll_l.texi: Likewise. + * doc/posix-functions/wcsdup.texi: Likewise. + * doc/posix-functions/wcsncasecmp.texi: Likewise. + * doc/posix-functions/wcsncasecmp_l.texi: Likewise. + * doc/posix-functions/wcsnlen.texi: Likewise. + * doc/posix-functions/wcsnrtombs.texi: Likewise. + * doc/posix-functions/wcsxfrm_l.texi: Likewise. + * doc/posix-functions/wctrans_l.texi: Likewise. + * doc/posix-functions/wctype_l.texi: Likewise. + * doc/glibc-functions/fgetwc_unlocked.texi: Likewise. + * doc/glibc-functions/fgetws_unlocked.texi: Likewise. + * doc/glibc-functions/fputwc_unlocked.texi: Likewise. + * doc/glibc-functions/fputws_unlocked.texi: Likewise. + * doc/glibc-functions/getwc_unlocked.texi: Likewise. + * doc/glibc-functions/getwchar_unlocked.texi: Likewise. + * doc/glibc-functions/putwc_unlocked.texi: Likewise. + * doc/glibc-functions/putwchar_unlocked.texi: Likewise. + * doc/glibc-functions/wcschrnul.texi: Likewise. + * doc/glibc-functions/wcsftime_l.texi: Likewise. + * doc/glibc-functions/wcstod_l.texi: Likewise. + * doc/glibc-functions/wcstof_l.texi: Likewise. + * doc/glibc-functions/wcstol_l.texi: Likewise. + * doc/glibc-functions/wcstold_l.texi: Likewise. + * doc/glibc-functions/wcstoll_l.texi: Likewise. + * doc/glibc-functions/wcstoq.texi: Likewise. + * doc/glibc-functions/wcstoul_l.texi: Likewise. + * doc/glibc-functions/wcstoull_l.texi: Likewise. + * doc/glibc-functions/wcstouq.texi: Likewise. + * doc/glibc-functions/wmempcpy.texi: Likewise. + +2008-12-22 Ingo Weinhold (tiny change) + Eric Blake + Paolo Bonzini + Bruno Haible + + Make c-stack work on Haiku. + * lib/c-stack.c (SA_ONSTACK): Define fallback. + (c_stack_action): Use SA_ONSTACK flag. + +2008-12-22 Bruno Haible + + * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS. + +2008-12-22 Bruno Haible + + Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris. + * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is + being overridden. + (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL): + New macros. + * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN. + * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN. + * doc/posix-functions/mbrlen.texi: Mention the various platform bugs. + +2008-12-22 Bruno Haible + + * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable + from test code. + +2008-12-22 Eric Blake + + Avoid gcc warnings on cygwin. + * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]: + Avoid unused variable. + * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]: + Likewise. + +2008-12-22 Bruno Haible + + Remove HAVE_MBRTOWC conditionals. + * lib/mbscasecmp.c: Include mbuiter.h unconditionally. + (mbscasecmp): Assume mbrtowc function. + * lib/mbscasestr.c: Include mbuiter.h unconditionally. + (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function. + * lib/mbschr.c: Include mbuiter.h unconditionally. + (mbschr): Assume mbrtowc function. + * lib/mbscspn.c: Include mbuiter.h unconditionally. + (mbscspn): Assume mbrtowc function. + * lib/mbslen.c: Include mbuiter.h unconditionally. + (mbslen): Assume mbrtowc function. + * lib/mbsncasecmp.c: Include mbuiter.h unconditionally. + (mbsncasecmp): Assume mbrtowc function. + * lib/mbsnlen.c: Include mbiter.h unconditionally. + (mbsnlen): Assume mbrtowc function. + * lib/mbspbrk.c: Include mbuiter.h unconditionally. + (mbspbrk): Assume mbrtowc function. + * lib/mbspcasecmp.c: Include mbuiter.h unconditionally. + (mbspcasecmp): Assume mbrtowc function. + * lib/mbsrchr.c: Include mbuiter.h unconditionally. + (mbsrchr): Assume mbrtowc function. + * lib/mbssep.c: Include mbuiter.h unconditionally. + (mbssep): Assume mbrtowc function. + * lib/mbsspn.c: Include mbuiter.h unconditionally. + (mbsspn): Assume mbrtowc function. + * lib/mbsstr.c: Include mbuiter.h unconditionally. + (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function. + * lib/mbstok_r.c: Include mbuiter.h unconditionally. + (mbstok_r): Assume mbrtowc function. + * lib/propername.c: Include mbuiter.h unconditionally. + (mbsstr_trimmed_wordbounded): Assume mbrtowc function. + * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally. + (trim2): Assume mbrtowc function. + * lib/mbswidth.c (mbsinit): Remove fallback definition. + (mbsnwidth): Assume mbrtowc function. + * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit. + * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove + fallback definitions. + * modules/quotearg (Depends-on): Add mbrtowc, mbsinit. + +2008-12-22 Bruno Haible + + * doc/posix-functions/mbtowc.texi: Mention a glibc bug. + +2008-12-22 Paolo Bonzini + + * modules/regex: Request emulations for the mb*/wc* functions we need. + * m4/regex.m4: Don't look for those functions here. + * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC. + +2008-12-22 Bruno Haible + + * modules/fnmatch (Depends-on): Remove duplicated dependency. + +2008-12-21 Bruno Haible + + Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally. + * modules/mbiter (Depends-on): Add mbrtowc, mbsinit. + (Include): Remove conditionalization. + * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit. + (Include): Remove conditionalization. + * modules/mbfile (Depends-on): Add mbrtowc, mbsinit. + (Include): Remove conditionalization. + * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC. + * m4/mbfile.m4 (gl_MBFILE): Likewise. + * NEWS: Mention the change. + Reported by Alan Hourihane + via Sergey Poznyakoff . + +2008-12-21 Bruno Haible + + * MODULES.html.sh (Extended multibyte and wide character utilities + ): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs, + wcrtomb, wcsrtombs. + (Support for systems lacking POSIX:2008): Add accept, bind, close, + connect, fclose, getpeername, getsockname, getsockopt, hostent, listen, + mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto, + setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write. + +2008-12-21 Bruno Haible + + * MODULES.html.sh: Change section titles to refer to POSIX:2008. + +2008-12-21 Bruno Haible + + * modules/wcsnrtombs-tests: New file. + * tests/test-wcsnrtombs1.sh: New file. + * tests/test-wcsnrtombs2.sh: New file. + * tests/test-wcsnrtombs3.sh: New file. + * tests/test-wcsnrtombs4.sh: New file. + * tests/test-wcsnrtombs.c: New file. + + New module 'wcsnrtombs'. + * lib/wchar.in.h (wcsnrtombs): New declaration. + * lib/wcsnrtombs.c: New file. + * lib/wcsrtombs-state.c: New file. + * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state. + (internal_state): Remove variable. + * m4/wcsnrtombs.m4: New file. + * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the + compilation units. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS, + HAVE_WCSNRTOMBS. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS, + HAVE_WCSNRTOMBS. + * modules/wcsnrtombs: New file. + * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c. + * doc/posix-functions/wcsnrtombs.texi: Mention the new module. + +2008-12-21 Bruno Haible + + * modules/wcsrtombs-tests: New file. + * tests/test-wcsrtombs1.sh: New file. + * tests/test-wcsrtombs2.sh: New file. + * tests/test-wcsrtombs3.sh: New file. + * tests/test-wcsrtombs4.sh: New file. + * tests/test-wcsrtombs.c: New file. + + New module 'wcsrtombs'. + * lib/wchar.in.h (wcsrtombs): New declaration. + * lib/wcsrtombs.c: New file. + * m4/wcsrtombs.m4: New file. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS, + HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS, + HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS. + * modules/wcsrtombs: New file. + * doc/posix-functions/wcsrtombs.texi: Mention the new module and the + bugs. + +2008-12-21 Bruno Haible + + Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1. + * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set. + * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb + with NULL destination argument in various locales. Set REPLACE_WCRTOMB + if not correct. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB. + * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB. + * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4, + m4/locale-zh.m4, m4/codeset.m4. + * doc/posix-functions/wcrtomb.texi: Document the bug. + +2008-12-21 Bruno Haible + + Work around a btowc() bug on IRIX 6.5. + * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set. + * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set + REPLACE_WTOBC if not. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC. + * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC. + * doc/posix-functions/btowc.texi: Mention the IRIX bug. + +2008-12-21 Bruno Haible + + * modules/wcrtomb-tests: New file. + * tests/test-wcrtomb.sh: New file. + * tests/test-wcrtomb.c: New file. + + New module 'wcrtomb'. + * lib/wchar.in.h (wcrtomb): New declaration. + * lib/wcrtomb.c: New file. + * m4/wcrtomb.m4: New file. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB, + HAVE_WCRTOMB. + * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB, + HAVE_WCRTOMB. + * modules/wcrtomb: New file. + * doc/posix-functions/wcrtomb.texi: Mention the new module. + +2008-12-21 Bruno Haible + + * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4. + * modules/mbsrtowcs (Files): Likewise. + * modules/wctob (Files): Likewise. + * modules/c-strcase-tests (Files): Likewise. + * modules/unistdio/u8-vasnprintf-tests (Files): Likewise. + * modules/unistdio/u16-vasnprintf-tests (Files): Likewise. + * modules/unistdio/u32-vasnprintf-tests (Files): Likewise. + * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise. + * modules/vasnprintf-posix-tests (Files): Likewise. + +2008-12-21 William Pursell + + gitlog-to-changelog: pass all command-line arguments to git-log + * build-aux/gitlog-to-changelog: When producing a ChangeLog, + it is sometimes convenient to filter the commits in various ways. + gitlog-to-changelog only allows --since to specify a start date, + but git-log itself supports many other filtering mechanisms. + At the moment, I want to filter by branch name. Rather than + adding a --branch option to gitlog-to-changelog, it seems more + flexible to simply pass all options directly to git-log and let + git do the work. Notice that this effectively makes --since a + redundant option for gitlog-to-changelog, but removing it would + require current usage to change since calls would then require + an additional '--'. + +2008-12-21 Bruno Haible + + * modules/mbsnrtowcs-tests: New file. + * tests/test-mbsnrtowcs1.sh: New file. + * tests/test-mbsnrtowcs2.sh: New file. + * tests/test-mbsnrtowcs3.sh: New file. + * tests/test-mbsnrtowcs4.sh: New file. + * tests/test-mbsnrtowcs.c: New file. + + New module 'mbsnrtowcs'. + * lib/wchar.in.h (mbsnrtowcs): New declaration. + * lib/mbsnrtowcs.c: New file. + * lib/mbsrtowcs-state.c: New file. + * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state. + (internal_state): Remove variable. + * m4/mbsnrtowcs.m4: New file. + * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the + compilation units. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS, + HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS. + * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS, + HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS. + * modules/mbsnrtowcs: New file. + * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c. + * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a + portability problem. + +2008-12-21 Bruno Haible + + Work around mbsrtowcs bug. + * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro. + (gl_FUNC_MBSRTOWCS): Invoke it. + * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4, + m4/locale-zh.m4. + * doc/posix-functions/mbsrtowcs.texi: Document the bug. + +2008-12-21 Bruno Haible + + * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1. + +2008-12-21 Bruno Haible + + Update doc for AIX. + * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a + 16-bit wchar_t type. + * doc/posix-functions/btowc.texi: Likewise. + * doc/posix-functions/fgetwc.texi: Likewise. + * doc/posix-functions/fgetws.texi: Likewise. + * doc/posix-functions/fputwc.texi: Likewise. + * doc/posix-functions/fputws.texi: Likewise. + * doc/posix-functions/fwide.texi: Likewise. + * doc/posix-functions/fwprintf.texi: Likewise. + * doc/posix-functions/fwscanf.texi: Likewise. + * doc/posix-functions/getwchar.texi: Likewise. + * doc/posix-functions/getwc.texi: Likewise. + * doc/posix-functions/iswalnum.texi: Likewise. + * doc/posix-functions/iswalpha.texi: Likewise. + * doc/posix-functions/iswblank.texi: Likewise. + * doc/posix-functions/iswcntrl.texi: Likewise. + * doc/posix-functions/iswctype.texi: Likewise. + * doc/posix-functions/iswdigit.texi: Likewise. + * doc/posix-functions/iswgraph.texi: Likewise. + * doc/posix-functions/iswlower.texi: Likewise. + * doc/posix-functions/iswprint.texi: Likewise. + * doc/posix-functions/iswpunct.texi: Likewise. + * doc/posix-functions/iswspace.texi: Likewise. + * doc/posix-functions/iswupper.texi: Likewise. + * doc/posix-functions/iswxdigit.texi: Likewise. + * doc/posix-functions/mbrtowc.texi: Likewise. + * doc/posix-functions/mbsrtowcs.texi: Likewise. + * doc/posix-functions/mbstowcs.texi: Likewise. + * doc/posix-functions/mbtowc.texi: Likewise. + * doc/posix-functions/putwchar.texi: Likewise. + * doc/posix-functions/putwc.texi: Likewise. + * doc/posix-functions/swprintf.texi: Likewise. + * doc/posix-functions/tolower.texi: Likewise. + * doc/posix-functions/toupper.texi: Likewise. + * doc/posix-functions/towctrans.texi: Likewise. + * doc/posix-functions/ungetwc.texi: Likewise. + * doc/posix-functions/vswprintf.texi: Likewise. + * doc/posix-functions/wcrtomb.texi: Likewise. + * doc/posix-functions/wcscat.texi: Likewise. + * doc/posix-functions/wcschr.texi: Likewise. + * doc/posix-functions/wcscmp.texi: Likewise. + * doc/posix-functions/wcscoll.texi: Likewise. + * doc/posix-functions/wcscpy.texi: Likewise. + * doc/posix-functions/wcscspn.texi: Likewise. + * doc/posix-functions/wcsftime.texi: Likewise. + * doc/posix-functions/wcslen.texi: Likewise. + * doc/posix-functions/wcsncat.texi: Likewise. + * doc/posix-functions/wcsncmp.texi: Likewise. + * doc/posix-functions/wcsncpy.texi: Likewise. + * doc/posix-functions/wcspbrk.texi: Likewise. + * doc/posix-functions/wcsrchr.texi: Likewise. + * doc/posix-functions/wcsrtombs.texi: Likewise. + * doc/posix-functions/wcsspn.texi: Likewise. + * doc/posix-functions/wcsstr.texi: Likewise. + * doc/posix-functions/wcstod.texi: Likewise. + * doc/posix-functions/wcstof.texi: Likewise. + * doc/posix-functions/wcstoimax.texi: Likewise. + * doc/posix-functions/wcstok.texi: Likewise. + * doc/posix-functions/wcstold.texi: Likewise. + * doc/posix-functions/wcstoll.texi: Likewise. + * doc/posix-functions/wcstol.texi: Likewise. + * doc/posix-functions/wcstombs.texi: Likewise. + * doc/posix-functions/wcstoull.texi: Likewise. + * doc/posix-functions/wcstoul.texi: Likewise. + * doc/posix-functions/wcstoumax.texi: Likewise. + * doc/posix-functions/wcswidth.texi: Likewise. + * doc/posix-functions/wcsxfrm.texi: Likewise. + * doc/posix-functions/wctob.texi: Likewise. + * doc/posix-functions/wctomb.texi: Likewise. + * doc/posix-functions/wctrans.texi: Likewise. + * doc/posix-functions/wctype.texi: Likewise. + * doc/posix-functions/wcwidth.texi: Likewise. + * doc/posix-functions/wmemchr.texi: Likewise. + * doc/posix-functions/wmemcmp.texi: Likewise. + * doc/posix-functions/wmemcpy.texi: Likewise. + * doc/posix-functions/wmemmove.texi: Likewise. + * doc/posix-functions/wmemset.texi: Likewise. + * doc/posix-functions/wprintf.texi: Likewise. + * doc/posix-functions/wscanf.texi: Likewise. + +2008-12-21 Bruno Haible + + Update doc for HP-UX 11.11. + * doc/posix-functions/btowc.texi: Clarify that the function is missing + in HP-UX version 11.00, not in all versions of HP-UX 11. + * doc/posix-functions/fwide.texi: Likewise. + * doc/posix-functions/fwprintf.texi: Likewise. + * doc/posix-functions/fwscanf.texi: Likewise. + * doc/posix-functions/inet_ntop.texi: Likewise. + * doc/posix-functions/inet_pton.texi: Likewise. + * doc/posix-functions/mbrlen.texi: Likewise. + * doc/posix-functions/mbrtowc.texi: Likewise. + * doc/posix-functions/mbsinit.texi: Likewise. + * doc/posix-functions/mbsrtowcs.texi: Likewise. + * doc/posix-functions/swprintf.texi: Likewise. + * doc/posix-functions/swscanf.texi: Likewise. + * doc/posix-functions/towctrans.texi: Likewise. + * doc/posix-functions/vfwprintf.texi: Likewise. + * doc/posix-functions/vswprintf.texi: Likewise. + * doc/posix-functions/vwprintf.texi: Likewise. + * doc/posix-functions/wcrtomb.texi: Likewise. + * doc/posix-functions/wcsrtombs.texi: Likewise. + * doc/posix-functions/wcsstr.texi: Likewise. + * doc/posix-functions/wctob.texi: Likewise. + * doc/posix-functions/wctrans.texi: Likewise. + * doc/posix-functions/wmemchr.texi: Likewise. + * doc/posix-functions/wmemcmp.texi: Likewise. + * doc/posix-functions/wmemcpy.texi: Likewise. + * doc/posix-functions/wmemmove.texi: Likewise. + * doc/posix-functions/wmemset.texi: Likewise. + * doc/posix-functions/wprintf.texi: Likewise. + * doc/posix-functions/wscanf.texi: Likewise. + +2008-12-21 Bruno Haible + + Work around a portability problem. + * tests/test-mbsrtowcs.c (main): Use a temporary conversion state. + * doc/posix-functions/mbsrtowcs.texi: Document the portability problem. + +2008-12-20 Bruno Haible + + * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set. + * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set + REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS. + * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS. + + Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris. + * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is + set. + (GNULIB_defined_mbstate_t): New macro. + (mbsinit): Redefine if REPLACE_MBSINIT is set. + (mbrtowc): Redefine if REPLACE_MBRTOWC is set. + * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that + reuses the system's mbrtowc function but works around the bugs. + * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE, + gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New + macros. + (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to + be overridden. Optionally define MBRTOWC_NULL_ARG_BUG, + MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG. + * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set + REPLACE_MBSINIT if mbsinit needs to be overridden. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T, + REPLACE_MBSINIT, REPLACE_MBRTOWC. + * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T, + REPLACE_MBSINIT, REPLACE_MBRTOWC. + * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4, + m4/locale-zh.m4. + (Depends): Add mbsinit. + * modules/mbsinit (Depends): Add mbrtowc. + * doc/posix-functions/mbrtowc.texi: Mention the various bugs. + +2008-12-20 Bruno Haible + + * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding + so that there are no conversion errors on AIX. + * tests/test-mbsrtowcs.c (main): LIkewise. + +2008-12-20 Bruno Haible + + Work around wctob bug on Solaris <= 9. + * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set. + * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB. + * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB. + * modules/wctob (Files): Add m4/locale-fr.m4. + * doc/posix-functions/wctob.texi: Mention the Solaris bug. + +2008-12-20 Bruno Haible + + * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with + /dev/null. + * tests/test-select-in.sh: Likewise. + Reported by Tom G. Christensen . + +2008-12-20 Bruno Haible + + Don't pretend that Cygwin has a ja_JP.EUC-JP locale. + * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on + Cygwin 1.5.x. + +2008-12-20 Bruno Haible + + Ensure mbstate_t is defined on HP-UX 11.11. + * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require + AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500. + * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require + AC_USE_SYSTEM_EXTENSIONS. + * modules/fnmatch (Depends-on): Add extensions. + * modules/mbrlen (Depends-on): Likewise. + * modules/mbrtowc (Depends-on): Likewise. + * modules/mbsinit (Depends-on): Likewise. + * modules/mbsrtowcs (Depends-on): Likewise. + * modules/mbswidth (Depends-on): Likewise. + * modules/quotearg (Depends-on): Likewise. + * modules/strftime (Depends-on): Likewise. + +2008-12-20 Bruno Haible + + Ensure wctob is declared on IRIX 6.5. + * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0. + * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of + HAVE_WCTOB. Also test whether declares wctob. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead + of HAVE_WCTOB. + * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of + HAVE_WCTOB. + * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX. + +2008-12-19 Bruno Haible + + * modules/mbsrtowcs-tests: New file. + * tests/test-mbsrtowcs1.sh: New file. + * tests/test-mbsrtowcs2.sh: New file. + * tests/test-mbsrtowcs3.sh: New file. + * tests/test-mbsrtowcs4.sh: New file. + * tests/test-mbsrtowcs.c: New file. + + New module 'mbsrtowcs'. + * lib/wchar.in.h (mbsrtowcs): New declaration. + * lib/mbsrtowcs.c: New file. + * m4/mbsrtowcs.m4: New file. + * modules/mbsrtowcs: New file. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and + HAVE_MBSRTOWCS. + * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and + HAVE_MBSRTOWCS. + * doc/posix-functions/mbsrtowcs.texi: Document the new module. + +2008-12-19 Bruno Haible + + New module 'mbrlen'. + * lib/wchar.in.h (mbrlen): New declaration. + * lib/mbrlen.c: New file. + * m4/mbrlen.m4: New file. + * modules/mbrlen: New file. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and + HAVE_MBRLEN. + * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and + HAVE_MBRLEN. + * doc/posix-functions/mbrlen.texi: Document the new module. + +2008-12-19 Bruno Haible + + * lib/mbrtowc.c: Include verify.h. Verify an assumption. + * modules/mbrtowc (Depends-on): Add verify. + Suggested by Paul Eggert. + +2008-12-18 Bruno Haible + + * modules/mbsinit-tests: New file. + * tests/test-mbsinit.sh: New file. + * tests/test-mbsinit.c: New file. + +2008-12-18 Bruno Haible + + * modules/mbrtowc-tests: New file. + * tests/test-mbrtowc1.sh: New file. + * tests/test-mbrtowc2.sh: New file. + * tests/test-mbrtowc3.sh: New file. + * tests/test-mbrtowc4.sh: New file. + * tests/test-mbrtowc.c: New file. + + New module 'mbrtowc'. + * lib/wchar.in.h (mbstate_t): Override when the system does not have + mbsinit and mbrtowc. + (mbrtowc): New declaration. + * lib/mbrtowc.c: New file. + * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros. + * modules/mbrtowc: New file. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and + HAVE_MBRTOWC. + * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and + HAVE_MBRTOWC. + * doc/posix-functions/mbrtowc.texi: Document the new module. + +2008-12-18 Bruno Haible + + New module 'wctob'. + * lib/wchar.in.h (wctob): New declaration. + * lib/wctob.c: New file. + * m4/wctob.m4: New file. + * modules/wctob: New file. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and + HAVE_WCTOB. + * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB. + * doc/posix-functions/wctob.texi: Document the new module. + +2008-12-18 Bruno Haible + + * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H. + * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise. + +2008-12-18 Simon Josefsson + + * lib/flock.c: Use proper #if symbol in check. Reported by "Tom + G. Christensen" . + + * lib/flock.c: Need to include errno.h. Reported by "Tom + G. Christensen" . + + * lib/flock.c: Need to include string.h. Reported by "Tom + G. Christensen" and Eric Blake + . + +2008-12-18 Bruno Haible + + * m4/locale-ja.m4: New file, from GNU gettext. + +2008-12-17 Bruno Haible + + * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60. + Suggested by Eric Blake. + +2008-12-17 Bruno Haible + + * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition. + +2008-12-17 Bruno Haible + + * lib/mbsinit.c: Include verify.h. Verify an assumption. + * modules/mbsinit (Depends-on): Add verify. + Suggested by Paul Eggert. + +2008-12-17 Bruno Haible + + * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC. + * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of + gl_FUNC_MBRTOWC. + * m4/mbiter.m4 (gl_MBITER): LIkewise. + * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise. + * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise. + * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise. + * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise. + * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise. + * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise. + * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise. + * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise. + * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise. + * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise. + * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise. + * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise. + * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise. + * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise. + * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise. + * m4/quotearg.m4 (gl_QUOTEARG): Likewise. + * modules/trim (configure.ac): Likewise. + +2008-12-17 Bruno Haible + + * modules/btowc-tests: New file. + * tests/test-btowc1.sh: New file. + * tests/test-btowc2.sh: New file. + * tests/test-btowc.c: New file. + + New module 'btowc'. + * lib/wchar.in.h (btowc): New declaration. + * lib/btowc.c: New file. + * m4/btowc.m4: New file. + * modules/btowc: New file. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and + HAVE_BTOWC. + * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC. + * doc/posix-functions/btowc.texi: Document the new module. + +2008-12-17 Bruno Haible + + New module 'mbsinit'. + * lib/wchar.in.h (mbsinit): New declaration. + * lib/mbsinit.c: New file. + * m4/mbsinit.m4: New file. + * modules/mbsinit: New file. + * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and + HAVE_MBSINIT. + * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and + HAVE_MBSINIT. + * doc/posix-functions/mbsinit.texi: Document the new module. + +2008-12-16 Bruno Haible + + * lib/unistd.in.h: Add comment. + * tests/test-environ.c: Don't include . + +2008-12-16 Bruno Haible + + * lib/parse-duration.h (parse_duration): Document return value + convention. + * lib/parse-duration.c: Include specification header first. Add + comments. + (_): Remove macro. + (parse_year_month_day, parse_hour_minute_second): Move side effects + outside of strchr call. + (parse_non_iso8601): Move side effects outside of isspace call. + (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf + call. + +2008-12-16 Bruno Haible + + * tests/test-parse-duration.sh: Produce no output when the test + succeeds. + +2008-12-16 Bruno Haible + + * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf + expressions. - * src/fa.h (fa_as_regexp): cleaner prototype +2008-12-15 Bruno Haible + + * doc/glibc-functions/fgetxattr.texi: Tweak wording. + * doc/glibc-functions/flistxattr.texi: Likewise. + * doc/glibc-functions/fopencookie.texi: Likewise. + * doc/glibc-functions/fremovexattr.texi: Likewise. + * doc/glibc-functions/fsetxattr.texi: Likewise. + * doc/glibc-functions/getxattr.texi: Likewise. + * doc/glibc-functions/lgetxattr.texi: Likewise. + * doc/glibc-functions/listxattr.texi: Likewise. + * doc/glibc-functions/llistxattr.texi: Likewise. + * doc/glibc-functions/lremovexattr.texi: Likewise. + * doc/glibc-functions/lsetxattr.texi: Likewise. + * doc/glibc-functions/removexattr.texi: Likewise. + * doc/glibc-functions/setxattr.texi: Likewise. + * doc/posix-functions/open_memstream.texi: Likewise. + +2008-12-15 Eric Blake + + Update doc for cygwin 1.7. + * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new + functions. + * doc/posix-functions/fchmodat.texi: Likewise. + * doc/posix-functions/fchownat.texi: Likewise. + * doc/posix-functions/fdopendir.texi: Likewise. + * doc/posix-functions/fmemopen.texi: Likewise. + * doc/posix-functions/freeaddrinfo.texi: Likewise. + * doc/posix-functions/fstatat.texi: Likewise. + * doc/posix-functions/futimens.texi: Likewise. + * doc/posix-functions/gai_strerror.texi: Likewise. + * doc/posix-functions/getaddrinfo.texi: Likewise. + * doc/posix-functions/getnameinfo.texi: Likewise. + * doc/posix-functions/if_freenameindex.texi: Likewise. + * doc/posix-functions/if_indextoname.texi: Likewise. + * doc/posix-functions/if_nameindex.texi: Likewise. + * doc/posix-functions/if_nametoindex.texi: Likewise. + * doc/posix-functions/insque.texi: Likewise. + * doc/posix-functions/linkat.texi: Likewise. + * doc/posix-functions/llrint.texi: Likewise. + * doc/posix-functions/llrintf.texi: Likewise. + * doc/posix-functions/llrintl.texi: Likewise. + * doc/posix-functions/lockf.texi: Likewise. + * doc/posix-functions/lrintl.texi: Likewise. + * doc/posix-functions/mkdirat.texi: Likewise. + * doc/posix-functions/mkfifoat.texi: Likewise. + * doc/posix-functions/mknodat.texi: Likewise. + * doc/posix-functions/mq_close.texi: Likewise. + * doc/posix-functions/mq_getattr.texi: Likewise. + * doc/posix-functions/mq_notify.texi: Likewise. + * doc/posix-functions/mq_open.texi: Likewise. + * doc/posix-functions/mq_receive.texi: Likewise. + * doc/posix-functions/mq_send.texi: Likewise. + * doc/posix-functions/mq_setattr.texi: Likewise. + * doc/posix-functions/mq_timedreceive.texi: Likewise. + * doc/posix-functions/mq_timedsend.texi: Likewise. + * doc/posix-functions/mq_unlink.texi: Likewise. + * doc/posix-functions/open_memstream.texi: Likewise. + * doc/posix-functions/openat.texi: Likewise. + * doc/posix-functions/posix_fadvise.texi: Likewise. + * doc/posix-functions/posix_fallocate.texi: Likewise. + * doc/posix-functions/posix_madvise.texi: Likewise. + * doc/posix-functions/posix_memalign.texi: Likewise. + * doc/posix-functions/posix_openpt.texi: Likewise. + * doc/posix-functions/readlinkat.texi: Likewise. + * doc/posix-functions/remque.texi: Likewise. + * doc/posix-functions/renameat.texi: Likewise. + * doc/posix-functions/rintl.texi: Likewise. + * doc/posix-functions/sem_unlink.texi: Likewise. + * doc/posix-functions/shm_open.texi: Likewise. + * doc/posix-functions/shm_unlink.texi: Likewise. + * doc/posix-functions/signgam.texi: Likewise. + * doc/posix-functions/sigset.texi: Likewise. + * doc/posix-functions/stpcpy.texi: Likewise. + * doc/posix-functions/stpncpy.texi: Likewise. + * doc/posix-functions/strerror.texi: Likewise. + * doc/posix-functions/strtod.texi: Likewise. + * doc/posix-functions/symlinkat.texi: Likewise. + * doc/posix-functions/unlinkat.texi: Likewise. + * doc/posix-functions/utimensat.texi: Likewise. + * doc/glibc-functions/bindresvport.texi: Likewise. + * doc/glibc-functions/dn_expand.texi: Likewise. + * doc/glibc-functions/exp10.texi: Likewise. + * doc/glibc-functions/exp10f.texi: Likewise. + * doc/glibc-functions/fgetxattr.texi: Likewise. + * doc/glibc-functions/flistxattr.texi: Likewise. + * doc/glibc-functions/fopencookie.texi: Likewise. + * doc/glibc-functions/freeifaddrs.texi: Likewise. + * doc/glibc-functions/fremovexattr.texi: Likewise. + * doc/glibc-functions/fsetxattr.texi: Likewise. + * doc/glibc-functions/getifaddrs.texi: Likewise. + * doc/glibc-functions/getxattr.texi: Likewise. + * doc/glibc-functions/lgetxattr.texi: Likewise. + * doc/glibc-functions/listxattr.texi: Likewise. + * doc/glibc-functions/llistxattr.texi: Likewise. + * doc/glibc-functions/lremovexattr.texi: Likewise. + * doc/glibc-functions/lsetxattr.texi: Likewise. + * doc/glibc-functions/pow10.texi: Likewise. + * doc/glibc-functions/pow10f.texi: Likewise. + * doc/glibc-functions/rcmd_af.texi: Likewise. + * doc/glibc-functions/removexattr.texi: Likewise. + * doc/glibc-functions/res_init.texi: Likewise. + * doc/glibc-functions/res_mkquery.texi: Likewise. + * doc/glibc-functions/res_query.texi: Likewise. + * doc/glibc-functions/res_querydomain.texi: Likewise. + * doc/glibc-functions/res_send.texi: Likewise. + * doc/glibc-functions/rresvport_af.texi: Likewise. + * doc/glibc-functions/setxattr.texi: Likewise. + * doc/glibc-functions/strcasestr.texi: Likewise. + +2008-12-15 Bruno Haible + + Fix compilation error on OSF/1 4.0. + * lib/sys_select.in.h: When invoked from OSF/1 or + , simply delegate to the system header. + Reported by Daniel Richard G. . + +2008-12-15 Bruno Haible + + * doc/posix-functions/openat.texi: Mention the 'openat' module. + * doc/posix-functions/fchmodat.texi: Likewise. + * doc/posix-functions/fchownat.texi: Likewise. + * doc/posix-functions/fdopendir.texi: Likewise. + * doc/posix-functions/fstatat.texi: Likewise. + * doc/posix-functions/mkdirat.texi: Likewise. + * doc/posix-functions/unlinkat.texi: Likewise. + +2008-12-14 Bruno Haible + + Update doc for POSIX:2008. + * doc/posix-functions/faccessat.texi: New file. + * doc/posix-functions/fchmodat.texi: New file. + * doc/posix-functions/fchownat.texi: New file. + * doc/posix-functions/fdopendir.texi: New file. + * doc/posix-functions/fstatat.texi: New file. + * doc/posix-functions/futimens.texi: New file. + * doc/posix-functions/linkat.texi: New file. + * doc/posix-functions/mkdirat.texi: New file. + * doc/posix-functions/mkfifoat.texi: New file. + * doc/posix-functions/mknodat.texi: New file. + * doc/posix-functions/open_wmemstream.texi: New file. + * doc/posix-functions/openat.texi: New file. + * doc/posix-functions/psiginfo.texi: New file. + * doc/posix-functions/pthread_mutex_consistent.texi: New file. + * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file. + * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file. + * doc/posix-functions/readlinkat.texi: New file. + * doc/posix-functions/renameat.texi: New file. + * doc/posix-functions/strerror_l.texi: New file. + * doc/posix-functions/symlinkat.texi: New file. + * doc/posix-functions/unlinkat.texi: New file. + * doc/posix-functions/utimensat.texi: New file. + * doc/gnulib.texi (Function Substitutes): Add these subsections. + +2008-12-14 Bruno Haible + + Update doc for POSIX:2008. + * doc/posix-functions/alphasort.texi: Renamed from + doc/glibc-functions/alphasort.texi. + * doc/posix-functions/dirfd.texi: Renamed from + doc/glibc-functions/dirfd.texi. + * doc/posix-functions/dprintf.texi: Renamed from + doc/glibc-functions/dprintf.texi. + * doc/posix-functions/duplocale.texi: Renamed from + doc/glibc-functions/duplocale.texi. + * doc/posix-functions/fexecve.texi: Renamed from + doc/glibc-functions/fexecve.texi. + * doc/posix-functions/fmemopen.texi: Renamed from + doc/glibc-functions/fmemopen.texi. + * doc/posix-functions/freelocale.texi: Renamed from + doc/glibc-functions/freelocale.texi. + * doc/posix-functions/getdate_err.texi: Renamed from + doc/glibc-functions/getdate_err.texi. + * doc/posix-functions/isalnum_l.texi: Renamed from + doc/glibc-functions/isalnum_l.texi. + * doc/posix-functions/isalpha_l.texi: Renamed from + doc/glibc-functions/isalpha_l.texi. + * doc/posix-functions/isblank_l.texi: Renamed from + doc/glibc-functions/isblank_l.texi. + * doc/posix-functions/iscntrl_l.texi: Renamed from + doc/glibc-functions/iscntrl_l.texi. + * doc/posix-functions/isdigit_l.texi: Renamed from + doc/glibc-functions/isdigit_l.texi. + * doc/posix-functions/isgraph_l.texi: Renamed from + doc/glibc-functions/isgraph_l.texi. + * doc/posix-functions/islower_l.texi: Renamed from + doc/glibc-functions/islower_l.texi. + * doc/posix-functions/isprint_l.texi: Renamed from + doc/glibc-functions/isprint_l.texi. + * doc/posix-functions/ispunct_l.texi: Renamed from + doc/glibc-functions/ispunct_l.texi. + * doc/posix-functions/isspace_l.texi: Renamed from + doc/glibc-functions/isspace_l.texi. + * doc/posix-functions/isupper_l.texi: Renamed from + doc/glibc-functions/isupper_l.texi. + * doc/posix-functions/iswalnum_l.texi: Renamed from + doc/glibc-functions/iswalnum_l.texi. + * doc/posix-functions/iswalpha_l.texi: Renamed from + doc/glibc-functions/iswalpha_l.texi. + * doc/posix-functions/iswblank_l.texi: Renamed from + doc/glibc-functions/iswblank_l.texi. + * doc/posix-functions/iswcntrl_l.texi: Renamed from + doc/glibc-functions/iswcntrl_l.texi. + * doc/posix-functions/iswctype_l.texi: Renamed from + doc/glibc-functions/iswctype_l.texi. + * doc/posix-functions/iswdigit_l.texi: Renamed from + doc/glibc-functions/iswdigit_l.texi. + * doc/posix-functions/iswgraph_l.texi: Renamed from + doc/glibc-functions/iswgraph_l.texi. + * doc/posix-functions/iswlower_l.texi: Renamed from + doc/glibc-functions/iswlower_l.texi. + * doc/posix-functions/iswprint_l.texi: Renamed from + doc/glibc-functions/iswprint_l.texi. + * doc/posix-functions/iswpunct_l.texi: Renamed from + doc/glibc-functions/iswpunct_l.texi. + * doc/posix-functions/iswspace_l.texi: Renamed from + doc/glibc-functions/iswspace_l.texi. + * doc/posix-functions/iswupper_l.texi: Renamed from + doc/glibc-functions/iswupper_l.texi. + * doc/posix-functions/iswxdigit_l.texi: Renamed from + doc/glibc-functions/iswxdigit_l.texi. + * doc/posix-functions/isxdigit_l.texi: Renamed from + doc/glibc-functions/isxdigit_l.texi. + * doc/posix-functions/mbsnrtowcs.texi: Renamed from + doc/glibc-functions/mbsnrtowcs.texi. + * doc/posix-functions/mkdtemp.texi: Renamed from + doc/glibc-functions/mkdtemp.texi. + * doc/posix-functions/newlocale.texi: Renamed from + doc/glibc-functions/newlocale.texi. + * doc/posix-functions/nl_langinfo_l.texi: Renamed from + doc/glibc-functions/nl_langinfo_l.texi. + * doc/posix-functions/open_memstream.texi: Renamed from + doc/glibc-functions/open_memstream.texi. + * doc/posix-functions/opterr.texi: Renamed from + doc/glibc-functions/opterr.texi. + * doc/posix-functions/optind.texi: Renamed from + doc/glibc-functions/optind.texi. + * doc/posix-functions/optopt.texi: Renamed from + doc/glibc-functions/optopt.texi. + * doc/posix-functions/psignal.texi: Renamed from + doc/glibc-functions/psignal.texi. + * doc/posix-functions/scandir.texi: Renamed from + doc/glibc-functions/scandir.texi. + * doc/posix-functions/sched_get_priority_min.texi: Renamed from + doc/glibc-functions/sched_get_priority_min.texi. + * doc/posix-functions/signgam.texi: Renamed from + doc/glibc-functions/signgam.texi. + * doc/posix-functions/stpcpy.texi: Renamed from + doc/glibc-functions/stpcpy.texi. + * doc/posix-functions/stpncpy.texi: Renamed from + doc/glibc-functions/stpncpy.texi. + * doc/posix-functions/strcasecmp_l.texi: Renamed from + doc/glibc-functions/strcasecmp_l.texi. + * doc/posix-functions/strcoll_l.texi: Renamed from + doc/glibc-functions/strcoll_l.texi. + * doc/posix-functions/strfmon_l.texi: Renamed from + doc/glibc-functions/strfmon_l.texi. + * doc/posix-functions/strftime_l.texi: Renamed from + doc/glibc-functions/strftime_l.texi. + * doc/posix-functions/strncasecmp_l.texi: Renamed from + doc/glibc-functions/strncasecmp_l.texi. + * doc/posix-functions/strndup.texi: Renamed from + doc/glibc-functions/strndup.texi. + * doc/posix-functions/strnlen.texi: Renamed from + doc/glibc-functions/strnlen.texi. + * doc/posix-functions/strsignal.texi: Renamed from + doc/glibc-functions/strsignal.texi. + * doc/posix-functions/strxfrm_l.texi: Renamed from + doc/glibc-functions/strxfrm_l.texi. + * doc/posix-functions/timer_gettime.texi: Renamed from + doc/glibc-functions/timer_gettime.texi. + * doc/posix-functions/tolower_l.texi: Renamed from + doc/glibc-functions/tolower_l.texi. + * doc/posix-functions/toupper_l.texi: Renamed from + doc/glibc-functions/toupper_l.texi. + * doc/posix-functions/towctrans_l.texi: Renamed from + doc/glibc-functions/towctrans_l.texi. + * doc/posix-functions/towlower_l.texi: Renamed from + doc/glibc-functions/towlower_l.texi. + * doc/posix-functions/towupper_l.texi: Renamed from + doc/glibc-functions/towupper_l.texi. + * doc/posix-functions/uselocale.texi: Renamed from + doc/glibc-functions/uselocale.texi. + * doc/posix-functions/vdprintf.texi: Renamed from + doc/glibc-functions/vdprintf.texi. + * doc/posix-functions/wcpcpy.texi: + Renamed from doc/glibc-functions/wcpcpy.texi. + * doc/posix-functions/wcpncpy.texi: Renamed from + doc/glibc-functions/wcpncpy.texi. + * doc/posix-functions/wcscasecmp.texi: Renamed from + doc/glibc-functions/wcscasecmp.texi. + * doc/posix-functions/wcscasecmp_l.texi: Renamed from + doc/glibc-functions/wcscasecmp_l.texi. + * doc/posix-functions/wcscoll_l.texi: Renamed from + doc/glibc-functions/wcscoll_l.texi. + * doc/posix-functions/wcsdup.texi: Renamed from + doc/glibc-functions/wcsdup.texi. + * doc/posix-functions/wcsncasecmp.texi: Renamed from + doc/glibc-functions/wcsncasecmp.texi. + * doc/posix-functions/wcsncasecmp_l.texi: Renamed from + doc/glibc-functions/wcsncasecmp_l.texi. + * doc/posix-functions/wcsnlen.texi: Renamed from + doc/glibc-functions/wcsnlen.texi. + * doc/posix-functions/wcsnrtombs.texi: Renamed from + doc/glibc-functions/wcsnrtombs.texi. + * doc/posix-functions/wcsxfrm_l.texi: Renamed from + doc/glibc-functions/wcsxfrm_l.texi. + * doc/posix-functions/wctrans_l.texi: Renamed from + doc/glibc-functions/wctrans_l.texi. + * doc/posix-functions/wctype_l.texi: Renamed from + doc/glibc-functions/wctype_l.texi. + * doc/gnulib.texi (Function Substitutes): Add these subsections. + (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h, + Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h, + Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove + these subsections. + (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h): + Remove sections. + +2008-12-14 Bruno Haible + + Update doc for POSIX:2008. + * doc/posix-functions/*.texi: Update URL of POSIX specification. + +2008-12-14 Bruno Haible + + Update doc for POSIX:2008. + * doc/pastposix-functions/bcmp.texi: Renamed from + doc/posix-functions/bcmp.texi. + * doc/pastposix-functions/bcopy.texi: Renamed from + doc/posix-functions/bcopy.texi. + * doc/pastposix-functions/bsd_signal.texi: Renamed from + doc/posix-functions/bsd_signal.texi. + * doc/pastposix-functions/bzero.texi: Renamed from + doc/posix-functions/bzero.texi. + * doc/pastposix-functions/ecvt.texi: Renamed from + doc/posix-functions/ecvt.texi. + * doc/pastposix-functions/fcvt.texi: Renamed from + doc/posix-functions/fcvt.texi. + * doc/pastposix-functions/ftime.texi: Renamed from + doc/posix-functions/ftime.texi. + * doc/pastposix-functions/gcvt.texi: Renamed from + doc/posix-functions/gcvt.texi. + * doc/pastposix-functions/getcontext.texi: Renamed from + doc/posix-functions/getcontext.texi. + * doc/pastposix-functions/gethostbyaddr.texi: Renamed from + doc/posix-functions/gethostbyaddr.texi. + * doc/pastposix-functions/gethostbyname.texi: Renamed from + doc/posix-functions/gethostbyname.texi. + * doc/pastposix-functions/getwd.texi: Renamed from + doc/posix-functions/getwd.texi. + * doc/pastposix-functions/h_errno.texi: Renamed from + doc/posix-functions/h_errno.texi. + * doc/pastposix-functions/index.texi: Renamed from + doc/posix-functions/index.texi. + * doc/pastposix-functions/makecontext.texi: Renamed from + doc/posix-functions/makecontext.texi. + * doc/pastposix-functions/mktemp.texi: Renamed from + doc/posix-functions/mktemp.texi. + * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from + doc/posix-functions/pthread_attr_getstackaddr.texi. + * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from + doc/posix-functions/pthread_attr_setstackaddr.texi. + * doc/pastposix-functions/rindex.texi: Renamed from + doc/posix-functions/rindex.texi. + * doc/pastposix-functions/scalb.texi: Renamed from + doc/posix-functions/scalb.texi. + * doc/pastposix-functions/setcontext.texi: Renamed from + doc/posix-functions/setcontext.texi. + * doc/pastposix-functions/swapcontext.texi: Renamed from + doc/posix-functions/swapcontext.texi. + * doc/pastposix-functions/ualarm.texi: Renamed from + doc/posix-functions/ualarm.texi. + * doc/pastposix-functions/usleep.texi: Renamed from + doc/posix-functions/usleep.texi. + * doc/pastposix-functions/vfork.texi: Renamed from + doc/posix-functions/vfork.texi. + * doc/pastposix-functions/wcswcs.texi: Renamed from + doc/posix-functions/wcswcs.texi. + * doc/gnulib.texi (Legacy Function Substitutes): New chapter. + (Function Substitutes): Update. + +2008-12-14 Ralf Wildenhues + + * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by + m4/strerror.m4. + +2008-12-14 Ralf Wildenhues + Bruno Haible + + * modules/unilbrk/tables (Depends-on): Add unilbrk/base. + +2008-12-13 Bruno Haible + + * modules/strtoull (Depends-on): Remove unistd. + +2008-12-11 Ralf Wildenhues + + * modules/strtoull (Depends-on): Add stdlib. + +2008-12-11 Simon Josefsson + + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings. + +2008-12-10 Jim Meyering + + gl_ASSERT: don't say assertions are disabled when they're not + * m4/assert.m4 (gl_ASSERT): Do not make configure report + "checking whether to enable assertions... no", when they are in + fact enabled. This is solely a bug in the output of configure. + In spite of saying "no", NDEBUG was not defined in that case. + Also, as noted by Eric Blake, leave assertions enabled upon + --enable-assert=INVALID. + +2008-12-10 Bruno Haible + + Change MODULES.html to refer to POSIX:2008 where possible. + * MODULES.html.sh (POSIX2008_URL): New variable. + (posix_headers): Remove sys/timeb, ucontext. + (posix2001_headers): New variable. + (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt, + ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno, + index, makecontext, mktemp, pthread_attr_getstackaddr, + pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext, + ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions. + (posix2001_functions): New variable. + (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001 + otherwise. + +2008-12-09 Ralf Wildenhues + + add missing include to parse-duration.c + * lib/parse-duration.c: #include "xalloc.h", for xstrdup. + * modules/parse-duration (Depends-on): Add xalloc. + + fix sed script reading maint.mk + * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME). + (syntax-check-rules): Use it. - * src/fa.h (fa_ambig_example): cleaner prototype +2008-12-09 Bruno Haible - * src/fa.h (fa_example): cleaner prototype + * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on + MacOS X 10.4/PowerPC. + Reported by Simon Josefsson. - * src/fa.h (fa_compile): pass in size of regexp +2008-12-08 Jim Meyering - * src/fa.h: use 'struct fa *' instead of fa_t + work around mingw's lack of some S_IF definitions + * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined. + Reported by Simon Josefsson. -2009-03-13 David Lutterkort +2008-12-08 Bruno Haible - * src/augeas.c: fix handling of dirty flag - Under some circumstances, we did not properly propagate the dirty flag up - the tree, leading to files that were not saved even though they should have - been. + * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit + applied to variables. Needed on MacOS X 10.4/PowerPC. + Reported by Simon Josefsson. - This also removes two full sweeps over the tree for dirty handling, and now - only touches nodes that are/need to be marked dirty. +2008-12-08 William Pursell (tiny change) + and Eric Blake -2009-03-13 David Lutterkort + assert: honor --enable-assert + * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in + order to honor --enable-assert, rather than treating it as a + synonym for --disable-assert. - * Makefile.maint: different setup at home +2008-12-08 Jim Meyering -2009-03-12 David Lutterkort + * lib/posixtm.c: Remove now-useless declaration of mktime. - * src/transform.c (transform_save): properly sync data to disk - Make sure the data we write into the .augnew file hits the disk before - renaming to the proper name + * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs. - Modprobe: lens and tests for modprobe.conf +2008-12-07 Bruno Haible - * src/fa.c (re_cset_as_string): turn '[^\n]' into '.' + * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock, + test_once): Mark functions as static. + * tests/test-tls.c (test_tls): Likewise. - Place Sudoers and Util under LGPLv2+ - Raphael Pinson agreed to changing the license for these to LGPLv2+ like the - rest of Augeas. +2008-12-07 Bruno Haible -2009-03-09 David Lutterkort + * lib/striconveha.h (uniconv_register_autodetect): Renamed from + iconv_register_autodetect. - Version 0.4.2 +2008-12-07 Jim Meyering - Logrotate: process 'minsize 1M' rule - logrotate allows unit suffixes 'k', 'M' and 'G' for 'size' and 'minsize' + posixtm.c: avoid a warning + * lib/posixtm.c (posixtime): Don't initialize tm0. + It's no longer needed to placate gcc4's -Wuninitialized, + and the attempt to placate would elicit a new warning. - Squid: add squid.conf from Fedora 11 rawhide + unicodeio.c: mark unused parameters + * lib/unicodeio.c (exit_failure_callback): Mark unused parameter. + (fallback_failure_callback): Likewise. - * src/builtin.c: new builtins Sys.getenv and Sys.read_file +2008-12-07 Bruno Haible - * src/syntax.h (dup_string): duplicate a string + * gnulib-tool (func_create_testdir): When building the tests + subdirectory, ignore the modules gnumakefile and maintainer-makefile. + Reported by Simon Josefsson. - * src/internal.h (xstrerror): new function +2008-12-07 Ralf Wildenhues -2009-03-09 Francois Deppierraz + * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos. - Test the Debian Lenny sample squid.conf +2008-12-06 Bruno Haible -2009-03-09 Francois Deppierraz + * lib/c-stack.h (c_stack_action): Clarify possible side effects. + Suggested by Eric Blake. - Add a bunch of keywords available on squid-2.7-STABLE6 or squid-3.HEAD-20090308. - The keywords list was generated by the following command: +2008-12-06 Bruno Haible - fgrep TAG squid-2.7.STABLE6/src/squid.conf.default | awk '{ print " | \""$3"\"" }' | sort > /tmp/squid2.7 + Fix a c-stack test failure on MacOS X. + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require + AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal + handler for SIGBUS as well. + * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set, + install a signal handler for SIGBUS as well. + Reported by Bruce Dugan via Eric Blake. - fgrep TAG squid-3.HEAD-20090308/src/squid.conf.documented | awk '{ print " | \""$3"\"" }' | sort > /tmp/squid3-HEAD +2008-12-06 Bruno Haible - cat /tmp/squid2.7 /tmp/squid3-HEAD | sort | uniq + Advocacy documentation. + * doc/gnulib-intro.texi (Benefits): New section. + * doc/gnulib.texi: Update. -2009-03-08 David Lutterkort +2008-12-06 Bruno Haible - * tests/xpath.tests: Hosts lens puts comments into #comment nodes + Document the 'manywarnings' module. + * doc/manywarnings.texi: New file. + * doc/gnulib.texi: Include it. - * augeas.spec.in: BR for libselinux-devel (bug #26) - Without the BR, the Fedora and EPEL builds are done without SELinux - support, resulting in a binary that does not preserve SELinux contexts +2008-12-05 Eric Blake -2009-03-06 David Lutterkort + tests: silence some gcc warnings + * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void. + * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf + type mismatches. - Sshd: map comments as '#comment' nodes +2008-12-03 Ralf Wildenhues + Bruno Haible - Change the label for comment nodes to '#comment' + * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer. - Do not delete files that had an error upon parsing - When we can't read a file, we create an entry for it under /augeas, but - there won't be anything for it under /files. That looks a lot like a file - whose entire subtree was deleted; but since we failed reading the file, we - should not delete it either. +2008-11-29 Jim Meyering - * src/augeas.c (aug_init): always create /files + unicodeio.c: mark unused parameters + * lib/unicodeio.c (exit_failure_callback): Mark unused parameter. + (fallback_failure_callback): Likewise. - Sshd: add test showing how to add a Subsystem + fts: fix a thinko + * lib/fts.c (s_ifmt_shift_bits): Remove function. Not needed after all. + (set_stat_type): Return S_IF*-valued "type" directly. + Prompted by James Youngman's spotting a related bug. + Confirmed by further testing through find. -2009-03-03 David Lutterkort + fts: provide dirent.d_type via FTSENT.fts_statp, when possible + * lib/fts.c (D_TYPE): Define. + (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define. + (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise. + (s_ifmt_shift_bits): New function. + (set_stat_type): New function. + (fts_build): When not calling fts_stat, call set_stat_type + to propagate dirent.d_type info to fts_read caller. + * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that + fts_statp->st_mode type information may be valid. - * Makefile.maint: add autogen target +2008-11-28 Simon Josefsson - * src/pathx.c (eval_rel): for numbers, '<' and '<=' were reversed + * lib/sys_time.in.h: Add extern "C" block for C++. Suggested by + Brian Dessent . Reported by Sam Steingold + . - Postfix_main: handle continuation lines +2008-11-20 Bruno Haible - * src/pathx.c: fix some comments + Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next. + * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of + INCLUDE_NEXT. + * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also + INCLUDE_NEXT_AS_FIRST_DIRECTIVE. + * modules/math (Makefile.am): Substitute + INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT. + Reported by Albert Chin . -2009-03-02 David Lutterkort +2008-11-18 Alexandre Duret-Lutz + Bruno Haible - Version 0.4.1 + * lib/stdint.in.h: Define all type macros so that their expansion is + a single typedef'ed token. Fixes a compilation failure in Boost which + does "using ::int8_t;". - * configure.ac: make default warning level 'maximum' - Using 'error' here is too unfriendly on weird platforms, since builds can - fail, e.g. because of broken system headers. When doing actual development, - set this to 'error'. +2008-11-18 Simon Josefsson - * src/pathx.c: function label() returning the label of the ctx node + * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and + gl_MANYWARN_ALL_GCC. + * m4/warnings.m4: Removed gl_WARN_SUPPORTED and + gl_WARN_COMPLEMENT. Suggested by Bruno Haible . + * modules/manywarnings: New file. + * MODULES.html.sh: Mention manywarnings module. - * src/pathx.c: make sure ['foo' != 'foo'] is false +2008-11-18 Bruno Haible -2009-03-02 David Lutterkort + * doc/gnulib-tool.texi (Unit tests): New section. - * src/pathx.c: handle names with '.' properly - Make sure that a component ina path expression like '.bar' is parsed as a - single step (name), and not as the self axis '.' followed by some - garbage. +2008-11-18 Simon Josefsson - Bug reported by Jan Kupec + * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with + paths like 'lib/po/foo.po'. -2009-03-02 David Lutterkort +2008-11-17 Simon Josefsson - * src/pathx.c: it is an error if we don't consume the whole expression + * m4/warnings.m4: Improve code. Reported by Ralf Wildenhues + and Paolo Bonzini . -2009-02-27 David Lutterkort +2008-11-17 Simon Josefsson - * tests/test-event-saved.sh: make sure fuiles are writable by owner + * m4/warnings.m4: Use CPPFLAGS to really check whether the + parameter works. -2009-02-25 David Lutterkort +2008-11-17 Simon Josefsson - Plug a few memory leaks + * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED. - Remove files whose tree under /files was deleted - When doing rm /files/etc/hosts, we now delete the file /etc/hosts - on save +2008-11-17 Bruce Korb - Move path formatting functions around - Move path_expand and format_path to internal.c - Rename format_path to path_of_tree + * modules/parse-duration-tests: New file. + * tests/test-parse-duration.sh: New file. + * tests/test-parse-duration.c: New file. - * src/augeas.c (tree_find): helper for getting a tree node + New module 'parse-duration'. + * lib/parse-duration.h: New file. + * lib/parse-duration.c: New file. + * modules/parse-duration: New file. -2009-02-24 David Lutterkort +2008-11-17 Bruno Haible - * src/augeas.c: erase /augeas/events/saved only once - tree_save is called recursively; /augeas/events/saved must be reset - in aug_save, not tree_save + * tests/test-select-out.sh: Comment out the first pipe test. + Reported by Simon Josefsson. - Record saved files in transform_save, not tree_save +2008-11-17 Bruno Haible - * src/augeas.c (tree_unlink): remove and free a subtree + * modules/getaddrinfo (Depends-on): Add servent, hostent. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and + gl_HOSTENT. - * src/transform.h: move transform decls out of syntax.h +2008-11-17 Bruno Haible - Util.stdexcl: exclude .augsave and .augnew files + * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also + -lnetwork and -lnet. Needed for Haiku and BeOS. -2009-02-20 David Lutterkort +2008-11-16 Bruno Haible - * src/lexer.l: correct location info for strings and regexps + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation. - * src/get.c: check for valid match before calling token() +2008-11-16 Bruno Haible -2009-02-19 David Lutterkort + Avoid test failure on Haiku. + * tests/test-fsync.c: Include . + (main): Don't require that fsync (0) fails. - * src/parser.y: do not allow epsilon as a tree constant - This grammar mistake made epsilon a valid expression +2008-11-15 Bruno Haible - * src/fa.c: cache hash values in the state - This gives about a 15% performance improvement in typechecking - the logrotate lens + New module 'hostent'. + * modules/hostent: New file. + * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4. -2009-02-18 David Lutterkort +2008-11-15 Bruno Haible - * src/pathx.c: allow '(' Expr ')' + New module 'servent'. + * modules/servent: New file. + * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4. - * src/pathx.c: add 'and' and 'or' operators +2008-11-15 Bruno Haible - * src/pathx.c: add relational expressions '>', '<', '>=', '<=' + Avoid generating same test program with two different rules. + * modules/frexp-nolibm-tests (Makefile.am): Rename test program from + test-frexp to test-frexp-nolibm. + * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from + test-frexpl to test-frexpl-nolibm. - * src/pathx.c: add count() function +2008-11-15 Bruno Haible - * src/pathx.c (parse_name): do not allow ')' in names - Names can not contain ')', otherwise we will run beyond the end of - arguments in a function call like 'f(name)' + * modules/frexpl-tests (Makefile.am): Link test-frexpl with + $(FREXPL_LIBM). - * src/pathx.c: add position() function +2008-11-15 Bruno Haible - * src/pathx.c: allow '=' and '!=' of numbers + * lib/netdb.in.h: Activate the definitions also when the system's + has 'struct addrinfo'. + * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks + EAI_OVERFLOW or AI_NUMERICSERV. + * doc/posix-headers/netdb.texi: Document the problem. -2009-02-18 David Lutterkort +2008-11-15 Bruno Haible - * src/pathx.c: fix matching multiple predicates - We used to evaluate /path[pred1][last()] wrong - last() must match the last - node in the nodeset /path[pred1], not the last node in the nodeset /path. + * tests/test-sched.c: Test also the existence of the SCHED_* macros. - This requires that we compute nodesets explicitly. + Make the 'sched' module work on platforms where exists but + is incomplete (such as Haiku). + * lib/sched.in.h; Include the system's if it exists. + (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros. + * m4/sched_h.m4 (gl_SCHED_H): Test whether exists and also + defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H, + HAVE_STRUCT_SCHED_PARAM. + * modules/sched (Depends-on): Add include_next. + (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT, + PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM. + * doc/posix-headers/sched.texi: Document the issue. -2009-02-18 David Lutterkort +2008-11-13 Jim Meyering - Logrotate: small fixes - * recognize 'yearly' schedule - * allow whitespaces around { and } + test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined + * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this + test would fail due to the difference in the Report bugs to ... + line. The expected address is empty, "<>", while the actual + would contain e.g., "". Filter out any address. -2009-02-17 David Lutterkort +2008-11-12 Bruno Haible - * src/get.c: speed up initial match - Avoid matching the entire input string, since it can be _very_ slow. - Since it is very common that the toplevel lens is (l)*, optimize for - that. + lstat: don't compile lstat.c on systems lacking lstat + * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems + which don't have lstat; this is handled by lib/sys_stat.in.h already. + Reported by Daniel P. Berrange via Jim Meyering. - * src/get.c: reduce the number of calls to regexp_match - Only call the regexp matcher at the very beginning of get/parse, and once - for every match inside an iteration. Use re_registers to keep track of the - substrings being worked on in favor of 'struct split' +2008-11-12 Jim Meyering - Always do REGS_REALLOCATE for regexp match registers + * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb. - * src/regexp.c: clean up syntax options +2008-11-12 Simon Josefsson - * src/put.c: remove outdated debug msgs and comments + * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here + instead. - * src/internal.h: Remove bogus DEBUG define +2008-11-12 Bruno Haible - Ntp: enhance lens - These enhancements are needed to make the Ntp.lns process the default - /etc/ntp.conf on Fedora + * lib/unicodeio.c: Include unistr.h. + (utf8_wctomb): Remove function. + (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb. -2009-02-16 David Lutterkort +2008-11-12 Simon Josefsson - * src/syntax.c: print tests results in the same form we read them + * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf + Wildenhues and Bruno Haible + . + * modules/warnings (configure.ac): Don't call gl_WARN_INIT. -2009-02-13 David Lutterkort +2008-11-12 Simon Josefsson - Allow passing NULL regexps in some regexp routines + * doc/warnings.texi: New file, from Bruno Haible . + * doc/gnulib.texi: Add section for warnings. -2009-02-13 Raphael Pinson +2008-11-11 Bruno Haible - Xorg: new lens and tests + * lib/sockets.h: Add a comment. -2009-02-11 David Lutterkort +2008-11-11 Karl Berry - Test that an invalid regexp makes module loading fail + * config/srclist.txt (fdl.texi): add, syncing from gnustandards. - Services: various small fixes to process Fedora's /etc/services +2008-11-11 Eric Blake - * tests/test-get.sh: print all error info on failure + fdl.texi: avoid git symlinks + * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi. - Better error mesages when re match fails during get/put +2008-11-11 Paolo Bonzini - * src/lens.c: throw exception on regexp syntax errors + * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string. - * src/fa.c: test for invalid ranges like [z-a] +2008-11-11 Paolo Bonzini -2009-02-11 Raphael Pinson + * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS. + (gl_WARN_ADD): Substitute $2 if literal. - Lens and test for /etc/services +2008-11-11 Paolo Bonzini -2009-02-11 David Lutterkort + * m4/warning.m4: Remove. - * src/augtool.c (cmd_match): check return from aug_match more defensively +2008-11-11 Paolo Bonzini -2009-02-06 David Lutterkort + * m4/warnings.m4: Almost complete rewrite. :-) - Version 0.4.0 +2008-11-10 Simon Josefsson - Use printf instead of 'echo -e' in tests - Printf is more portable + * modules/warnings: New module. + * m4/warnings.m4: New file. + * MODULES.html.sh: Mention warnings module. + With review improvements from Paolo Bonzini and + Ralf Wildenhues . - Fix compilation on OpenSolaris - * src/pathx.c (position): assert not marked as noreturn +2008-11-10 Eric Blake - * tests/test-xpath.c (run_one_test): allow results in arbitrary order. Files on Fedora and Debian are enumerated in different order, leading to spurious test failures + fdl.texi: make a symlink to the latest version + * doc/standards.texi: Revert today's earlier change. + * doc/fdl-1.2.texi: Rename from old fdl.texi... + * doc/fdl.texi: ...and replace this with a symlink to the newer + fdl-1.3.texi. - * src/pathx.c: remove the value() function, it's redundant with '.' +2008-11-10 Bruno Haible - * pathx.c: when comparing strings consider NULL == "" + * tests/test-select-fd.c (main): Accept the result file name as fourth + argument. + * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument. + * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument. - Change how names are parsed in path expressions - Names can not contain any of the characters [][=/ \t\n] - to include - them in a name, they need to be escaped with a '\', so that 'foo\=bar' - matches a node with literal label 'foo=bar'. +2008-11-10 Bruno Haible - * tests/grub-rm-entry.rb: fix test failure + * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO, + HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO + as autoconf-substituted macros. + * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require + gl_NETDB_H_DEFAULTS. Set these variables. + * modules/netdb (Makefile.am): Substitute these variables. - * tests/augtest: do not typecheck everything - The typecheck is redundant (we already do that when running lens tests) and - really slow +2008-11-10 Eric Blake -2009-02-06 David Lutterkort + standards.texi: include correct file for FDL 1.3 + * doc/standards.texi (GNU Free Documentation License): Change + include file to pull in FDL 1.3, not 1.2. - Grub: process 'savedefault' in boot stanza - Also, allow keywords to be preceded by whitespace + fdl.texi: revert accidental change to license + * doc/fdl.texi: This is FDL 1.2, not 1.3. - Fixes ticket #36 +2008-11-10 Bruno Haible -2009-02-06 David Lutterkort + * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the + cross-compiling guesses also when the native compile gives no result. - Minor whitespace cleanup +2008-11-10 Bruno Haible -2009-02-02 Free Ekanayaka + * lib/spawni.c (__spawni): Force variable into the stack. - Lens and tests for DarkIce - See http://darkice.tyrell.hu/ +2008-11-10 Bruno Haible -2009-02-01 David Lutterkort + Add support for Haiku. + * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on + glibc and BeOS, but also on Haiku. + * lib/fpurge.c (fpurge): Likewise. + * lib/freadable.c (freadable): Likewise. + * lib/freadahead.c (freadahead): Likewise. + * lib/freading.c (freading): Likewise. + * lib/freadptr.c (freadptr): Likewise. + * lib/freadseek.c (freadptrinc): Likewise. + * lib/fseeko.c (rpl_fseeko): Likewise. + * lib/fseterr.c (fseterr): Likewise. + * lib/fwritable.c (fwritable): Likewise. + * lib/fwriting.c (fwriting): Likewise. + Reported by Ingo Weinhold . - * src/augeas.c: use ALLOC instead of CALLOC +2008-11-10 Ingo Weinhold - * augeas.c (aug_init): check an allocation failure + * lib/config.charset: Treat Haiku like BeOS. - * src/internal.c (escape, unescape): check allocation failures +2008-11-10 Ingo Weinhold - * src/pathx.c (free_state): allow NULL state + * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS. + * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise. - * src/augeas.c (init_root): check for failure of strdup +2008-11-08 Bruno Haible -2009-01-30 David Lutterkort + * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside + AC_CACHE_CHECK. - * src/pathx.c: factor test if a step matches into step_matches - This also fixes a problem matching, test also included +2008-11-08 Bruno Haible - * src/pathx.c: use bool for boolean values + * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h. - Build changes so that 'make' on Opensolaris 5.11 works - The tests ('make check') still fail, because of trouble with - some of the shell scripts +2008-11-08 Bruno Haible - * src/transform.c: use POSIX conform FNM_PATHNAME, nut GNU alias + * tests/test-select-fd.c: New file. + * tests/test-select-in.sh: New file. + * tests/test-select-out.sh: New file. + * tests/test-select-stdin.c: New file. + * modules/select-tests (Files): Add the new files. + (Depends-on): Add gettimeofday. + (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS. + Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to + check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD. - * src/get.c: remove braindead use of alloca +2008-11-06 Alexander V. Lukyanov + Bruno Haible - * tests/test-get.sh: use new descendant syntax to find errors + * lib/sys_stat.in.h: Enclose function definitions in extern "C". - Remove unneeded call to pathx_parse in aug_match +2008-10-12 Giuseppe Scrivano - Introduce parse_user_pathx to report errors - If user-supplied path expressions have errors, report them in - /augeas/pathx/error + * build-aux/pmccabe2html: Added support for C++ source files. - Move parsing of path expressions into public API methods - For path expressions that are passed through the API, we need to report - errors. This change lays the groundwork, so that we can distinguish between - parsing user-supplied path expressions and internally generated path - expressions. +2008-11-05 Ben Pfaff - Rename aug_tree_replace to tree_replace - We reserve the aug_ prefix for public functions. There is also no need to - pass struct augeas here, a tree root is enough. + Fix lib/close.c build on Windows. + * modules/close (Files): Add lib/w32sock.h. - More xpath tests; allow ... in tests +2008-11-05 Joel E. Denny - Simplify internal API's - * pass origin, not root to pathx_parse - * pathx_next does not need an explicit argument for the current - tree node any more + Accept Bison's NEWS format. + * build-aux/announce-gen (print_news_deltas): Tweak + $re_prefix. -2009-01-30 David Lutterkort +2008-11-04 Bruno Haible - Expand the grammar for path expressions - * add predicates based on labels and values - * allow path expressions in predicates, e.g. '/foo/bar[../baz = "7"]' - * add explicit axes and some abbreviations thereof + * modules/random_r (Maintainer): Add glibc. - This requires a rewrite of the interpreter of path expressions; the - interpreter is now based on a more explicit representation of the abstract - syntax of the path expression and is statically type checked. +2008-11-04 Simon Josefsson - Also add tests to check path expression evaluation + * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested + by karl@freefriends.org (Karl Berry). + * doc/alloca.texi: Likewise. + * doc/c-ctype.texi: Likewise. + * doc/c-strcase.texi: Likewise. + * doc/c-strcaseeq.texi: Likewise. + * doc/c-strcasestr.texi: Likewise. + * doc/c-strstr.texi: Likewise. + * doc/c-strtod.texi: Likewise. + * doc/c-strtold.texi: Likewise. + * doc/ctime.texi: Likewise. + * doc/error.texi: Likewise. + * doc/fdl.texi: Likewise. + * doc/gcd.texi: Likewise. + * doc/getdate.texi: Likewise. + * doc/gnulib-intro.texi: Likewise. + * doc/gnulib-tool.texi: Likewise. + * doc/gnulib.texi: Likewise. + * doc/inet_ntoa.texi: Likewise. + * doc/maintain.texi: Likewise. + * doc/make-stds.texi: Likewise. + * doc/quote.texi: Likewise. + * doc/regexprops-generic.texi: Likewise. + * doc/standards.texi: Likewise. + * doc/verify.texi: Likewise. + * doc/visibility.texi: Likewise. + * doc/gnulib.texi (GNU Free Documentation License): Include + fdl-1.3.texi instead of fdl.texi. + +2008-11-04 Simon Josefsson + + * doc/fdl-1.3.texi: New file, from + . + * modules/fdl-1.3: Add. + * MODULES.html.sh: Add fdl-1.3. + +2008-11-03 Bruno Haible + + Make determination of absolute name of header file work with AIX xlc. + * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require + AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for + preprocessing. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise. + Reported by Gary V. Vaughan . + +2008-11-03 Simon Josefsson + + * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of + -fprofile-arcs -ftest-coverage. Suggested by Ludovic Courtès + . + +2008-11-02 Bruno Haible + + Mark 'strpbrk' obsolete. + * modules/strpbrk (Status, Notice): New sections. + * modules/strtok_r (Depends-on): Add strpbrk. + +2008-11-02 Bruno Haible + + Mark 'strdup' obsolete. + * modules/strdup (Status, Notice): New sections. + * modules/findprog (Depends-on): Add strdup. + * modules/getaddrinfo (Depends-on): Likewise. + * modules/localename (Depends-on): Likewise. + * modules/relocatable-lib (Depends-on): Likewise. + * modules/relocatable-lib-lgpl (Depends-on): Likewise. + * modules/relocatable-prog (Depends-on): Likewise. + * modules/trim (Depends-on): Likewise. + * modules/unictype/gen-ctype (Depends-on): Likewise. + * modules/unilbrk/gen-lbrk (Depends-on): Likewise. + +2008-11-02 Bruno Haible + + Mark 'strcspn' obsolete. + * modules/strcspn (Status, Notice): New sections. + +2008-11-02 Bruno Haible + + Mark 'rmdir' obsolete. + * modules/rmdir (Status, Notice): New sections. + * modules/clean-temp (Depends-on): Add rmdir. + * modules/openat (Depends-on): Likewise. + +2008-11-02 Bruno Haible + + Mark 'raise' obsolete. + * modules/raise (Status, Notice): New sections. + (Include): Specify . + * modules/stdio (Depends-on): Add raise. + * modules/write (Depends-on): Likewise. + +2008-11-02 Bruno Haible + + Mark 'memset' obsolete. + * modules/memset (Status, Notice): New sections. + +2008-11-02 Bruno Haible + + Mark 'memmove' obsolete. + * modules/memmove (Status, Notice): New sections. + * modules/argp (Depends-on): Add memmove. + * modules/argz (Depends-on): Likewise. + * modules/canonicalize (Depends-on): Likewise. + * modules/canonicalize-lgpl (Depends-on): Likewise. + * modules/fts (Depends-on): Likewise. + * modules/getcwd (Depends-on): Likewise. + * modules/human (Depends-on): Likewise. + * modules/regex (Depends-on): Likewise. + * modules/striconveh (Depends-on): Likewise. + * modules/trim (Depends-on): Likewise. + * modules/unistr/u8-move (Depends-on): Likewise. + * modules/unistr/u16-move (Depends-on): Likewise. + * modules/unistr/u32-move (Depends-on): Likewise. + +2008-11-02 Bruno Haible + + Mark 'memcpy' obsolete. + * modules/memcpy (Status, Notice): New sections. + +2008-11-02 Bruno Haible + + Mark 'memcmp' obsolete. + * modules/memcmp (Status, Notice): New sections. + * modules/argmatch (Depends-on): Add memchr. + * modules/backupfile (Depends-on): Likewise. + * modules/c-strcasestr (Depends-on): Likewise. + * modules/crypto/des (Depends-on): Likewise. + * modules/csharpcomp (Depends-on): Likewise. + * modules/fnmatch (Depends-on): Likewise. + * modules/git-merge-changelog (Depends-on): Likewise. + * modules/isnand (Depends-on): Likewise. + * modules/isnand-nolibm (Depends-on): Likewise. + * modules/isnanf (Depends-on): Likewise. + * modules/isnanf-nolibm (Depends-on): Likewise. + * modules/isnanl (Depends-on): Likewise. + * modules/isnanl-nolibm (Depends-on): Likewise. + * modules/mbchar (Depends-on): Likewise. + * modules/memcoll (Depends-on): Likewise. + * modules/quotearg (Depends-on): Likewise. + * modules/regex (Depends-on): Likewise. + * modules/relocatable-prog (Depends-on): Likewise. + * modules/same (Depends-on): Likewise. + * modules/signbit (Depends-on): Likewise. + * modules/strcasestr-simple (Depends-on): Likewise. + * modules/unictype/gen-ctype (Depends-on): Likewise. + * modules/unilbrk/gen-lbrk (Depends-on): Likewise. + * modules/uniname/uniname (Depends-on): Likewise. + * modules/unistr/u8-cmp (Depends-on): Likewise. -2009-01-30 David Lutterkort +2008-11-02 Bruno Haible - Use absolute paths in lens tests when manipulating the tree - Paths that start with a number (like '1/ipaddr') are ambiguous in the new - path expression grammar and will confuse the parser; to make it clear that - they are paths, and not just a number, use absolute paths. + Mark 'memchr' obsolete. + * modules/memchr (Status, Notice): New sections. + * modules/argp (Depends-on): Add memchr. + * modules/base64 (Depends-on): Likewise. + * modules/c-strcasestr (Depends-on): Likewise. + * modules/chdir-long (Depends-on): Likewise. + * modules/fnmatch (Depends-on): Likewise. + * modules/getsubopt (Depends-on): Likewise. + * modules/git-merge-changelog (Depends-on): Likewise. + * modules/glob (Depends-on): Likewise. + * modules/strcasestr-simple (Depends-on): Likewise. + * modules/strnlen (Depends-on): Likewise. - Notes on new XPath grammar +2008-11-02 Bruno Haible - Rename struct path to struct pathx - Also rename path_* functions to pathx_*; rename make_pathx to pathx_parse - and change its signature to allow cleaner error reporting + Mark 'atexit' obsolete. + * modules/atexit (Status, Notice): New sections. + * modules/chdir-long (Depends-on): Add atexit. + * modules/wait-process (Depends-on): Likewise. -2009-01-29 David Lutterkort +2008-11-02 Bruno Haible - Grub: support color directive + * gnulib-tool: New option --with-obsolete. + (func_usage): Document it. + (func_modules_transitive_closure): Drop obsolete dependencies if + incobsolete is not true. + (func_import): Read and save the incobsolete variable to the cache. -2009-01-26 David Lutterkort +2008-11-02 Bruno Haible - Version 0.3.6 + * modules/TEMPLATE-EXTENDED: New field 'Status'. + * gnulib-tool: New option --extract-status. + (func_usage): Document it. + (sed_extract_prog): Recognize it. + (func_get_status): New function. -2009-01-26 Dominique Dumont +2008-10-30 Simon Josefsson - Sshd: add documentation on usage + * modules/sockets (License): Change from LGPL to LGPLv2+. -2009-01-25 David Lutterkort +2008-10-28 Simon Josefsson - Add indented puppet.conf to test root + * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf. + +2008-10-28 Simon Josefsson + + * MODULES.html.sh (Support for systems lacking POSIX:2001): + Mention times and sys_times. + * modules/sys_times, modules/sys_times-tests: New modules. + * modules/times, modules/times-tests: Likewise + * m4/sys_times_h.m4: New file. + * lib/sys_times.in.h: Likewise + * lib/times.c: Likewise. + * tests/test-sys_times.c: Likewise. + * tests/test-times.c: Likewise. + * doc/posix-headers/sys_times.texi: Update. + * doc/posix-functions/times.texi: Update. -2009-01-22 David Lutterkort +2008-10-28 Jim Meyering - Fix bug #25 - allow indented entries in puppet.conf - * lenses/inifile.aug: add new indented_entry and indented_title - lenses - * lenses/puppet.aug: use the indented_* lenses - * lenses/tests/test_puppet.aug: test with indented entries + * modules/tempname (Depends-on): Add lstat. -2009-01-19 David Lutterkort + * modules/lstat (License): Relicense: LGPL -> LGPLv2+. - Report version and legal save modes in /augeas/version +2008-10-28 Simon Josefsson -2009-01-17 David Lutterkort + * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit. + * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead, + using idiom used elsewhere in gnulib. - * ref.h: include limits.h, since we use UINT_MAX +2008-10-27 Jim Meyering -2009-01-16 David Lutterkort + * modules/gethostname (License): Relicense: LGPL -> LGPLv2+. - Mark up code in documentation comments for Dpkg and Exports +2008-10-27 Simon Josefsson -2009-01-16 Robin Lee Powell + * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in + TESTS_ENVIRONMENT, for shell scripts that needs to call built + programs. + * tests/test-argp-2.sh: Use $EXEEXT when needed. - Documentation for Exports and Dpkg +2008-10-27 Simon Josefsson -2009-01-13 David Lutterkort + * lib/sys_stat.in.h (lstat): Fix declaration for mingw. - Minor changes to handling of save flag - * complain if /augeas/save is missing or has an invalid value - * do not clobber non-save flags when updating from /augeas/save - * add a test +2008-10-27 Bruno Haible -2009-01-13 Bryan Kearney + * tests/test-lstat.c: Include . - Dynamically change behavior of aug_save; add noop save mode - * control behavior of aug_save through changing /augeas/save - * noop mode allows checking if changes will be written, without - changing file system +2008-10-27 Simon Josefsson -2009-01-08 Jim Meyering + * modules/lstat-tests: New module. + * tests/test-lstat.c: New file. - comment typos +2008-10-26 Jim Meyering - plug a leak - 24 bytes in 1 blocks are definitely lost in loss record 1 of 1 - at 0x4021BDE: calloc (vg_replace_malloc.c:397) - by 0x4029379: make_tree (augeas.c:316) - by 0x403AC70: get_lens (get.c:592) - by 0x403ACB6: get_lens (get.c:523) - by 0x403AB4F: get_lens (get.c:474) - by 0x403ACDE: get_lens (get.c:523) - by 0x403AB4F: get_lens (get.c:474) - by 0x403AF20: lns_get (get.c:684) - by 0x4034E81: lens_get (builtin.c:124) - by 0x402CDC7: native_call (syntax.c:967) - by 0x402F4C9: compile_exp (syntax.c:1574) - by 0x402EF17: compile_exp (syntax.c:1487) - by 0x402FEEC: __aug_load_module_file (syntax.c:1600) - by 0x80489AE: main (augparse.c:86) + * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter. - test ls output more portably in face of SELinux differences - * test-preserve.sh: Use cut -b1-10 to get mode from ls -l output. - Use ls -lZ (not ls -Z, which is not portable) to get SELinux context. +2008-10-26 Simon Josefsson + Bruno Haible -2009-01-04 Arnaud Gomes-do-Vale + Fix a clash between the type DATADIR on Windows and the macro DATADIR. + * modules/configmake (Include): Add a note that the include must come + after all system headers. + * lib/javaversion.c: Include configmake.h after all other includes. - * src/Makefile.am: fix bz #478619 - do not use abspath +2008-10-26 Bruno Haible -2009-01-03 Robin Lee Powell + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of + HAVE_STRUCT_RANDOM_DATA to 1. + (gl_STDLIB_H): Simplify. - Dpkg: new lens and test +2008-10-26 Simon Josefsson -2009-01-03 David Lutterkort + * m4/stdlib_h.m4: Check for struct random_data. Initialize and + substitute HAVE_STRUCT_RANDOM_DATA. + * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct + random_data. + * modules/stdlib (Makefile.am): Substitute + HAVE_STRUCT_RANDOM_DATA. - Php: expand filter slightly - Suggested by Robin Lee Powell +2008-10-26 Simon Josefsson -2008-12-29 David Lutterkort + * doc/gnulib.texi (@copying): Use GFDLv1.2+. + * doc/gnulib-intro.texi (Copyright): Likewise. - Fix segfault when branch in a union does not have a ktype - * src/lens.c (lns_key_regexp): check for NULL ktype of branch - * tests/modules/pass_union_nokey.aug: test the fix +2008-10-26 Simon Josefsson - Bug reported by Robin Lee Powell + * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's + findings. -2008-12-27 Free Ekanayaka +2008-10-25 Ben Pfaff + Bruno Haible - Add soma lens and test + * lib/unistd.in.h: Include . + (socket, connect,accept, bind, getpeername, getsockname, getsockopt, + listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select): + Provide dummy declarations. + (gethostname): Override. + * lib/sys_socket.in.h (gethostname): Provide dummy declaration. + * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke + gl_PREREQ_SYS_H_WINSOCK2. + * modules/gethostname (Files): Add m4/sys_socket_h.m4. + * doc/posix-functions/gethostname.texi: More details. - Add limits lens and test +2008-10-25 Bruno Haible -2008-12-24 David Lutterkort + * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require + gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist. + * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4. - * autogen.sh: remove bogus argument to configure + * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from + here ... + * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here. + * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of + gl_UNISTD_H_DEFAULTS. -2008-12-24 Marc Fournier +2008-10-25 Eric Blake - Php, Gdm: exclude literal ".anon" from title, not regexp /.anon/ + signbit: avoid spurious compiler failure + * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant + declarations inside function. -2008-12-24 Free Ekanayaka +2008-10-24 Simon Josefsson + Bruno Haible - Phpvars: allow whitespaces before the \n in the +2008-10-24 Bruno Haible - Version 0.3.5 + * modules/intprops (License): Change to LGPLv2+, with approval by Paul + Eggert. + * modules/strerror (License): Likewise. - * transform.c (transfer_file_attrs): ignore SELinux failures if filesystem does not support extended attributes +2008-10-24 Jim Meyering - * transform.c (clone_file): fix #32; only copy if /augeas/save/copy_if_rename_fails exists + sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@ + * modules/sys_socket (Depends-on) [Depends-on]: Fix typo. - Group: split list of users, make it optional - The list of users in a group is now split into individual 'user/' - nodes. If a group has no members, no user/ nodes are produced. +2008-10-24 Eric Blake -2008-12-23 Free Ekanayaka + getgroups: fix compilation when getgroups is available + * lib/getgroups.c (includes): Include for getgroups, + but with override of getgroups disabled. - Add lens and test for /etc/group +2008-10-24 Simon Josefsson -2008-12-23 David Lutterkort + * doc/gnulib.texi (Header files): Add note about C++ problems. + Explained by Bruno Haible . - Simpler interface and implementation for path_find_one +2008-10-23 Bruno Haible - Add path_expand_tree - Instead of calling path_find_one/tree_create + Define a dummy SA_NODEFER macro on Interix. + * lib/signal.in.h (SA_NODEFER): Define fallback. + Reported by Aleksey Cheusov via + Thomas Klausner and Eric Blake. - Move implementation dealing with path expressions into separate file +2008-10-23 Bruno Haible - Simplify searching in the tree by using parent pointers - Segments do not need to track the tree node where they matched anymore, - since we can get the same information by following parent pointers. + * modules/freadahead (License): Change to LGPLv2+. + Suggested by Simon Josefsson. -2008-12-23 David Lutterkort +2008-10-23 Jim Meyering - Make finding the parent and siblings of a node uniform - All nodes (including the root) now have a parent node, so - that the start of the list of siblings can be found as - tree->parent->children for any node. + random_r: new module + * modules/random_r: New file. + * m4/random_r.m4: New file. + * lib/random_r.c: New file, from glibc. + * modules/random_r-tests: New file. + * tests/test-random_r.c: New file. + * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r): + Declare. + (RAND_MAX): Define. + * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R. + * modules/stdlib: Substitute them, too. + * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it. + * doc/glibc-functions/initstate_r.texi: Mention the new module. + * doc/glibc-functions/random_r.texi: Likewise. + * doc/glibc-functions/setstate_r.texi: Likewise. + * doc/glibc-functions/srandom_r.texi: Likewise. + * config/srclist.txt: Mention it. - All 'standalone' trees now have a fake root, called 'origin' whose - children are the real root nodes. Another way to look at this is - that the tree is now edge-labeled. +2008-10-23 David Lutterkort -2008-12-23 David Lutterkort + * modules/selinux-h: Search for LIB_SELINUX and mark it as a + link requirement + +2008-10-23 Jim Meyering + + selinux-h: mark parameters of stub functions as intentionally unused + * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_. + * lib/se-context.in.h: Likewise. + +2008-10-22 Simon Josefsson + + * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw. + +2008-10-22 Simon Josefsson + + * m4/getgroups.m4: Avoid invoking test with wrong parameters. + +2008-10-22 Eric Blake + + glthread/thread: avoid compiler warning + * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]: + Add unreachable abort to silence compiler. + +2008-10-22 Eric Blake + + netdb: also supply struct addrinfo for cygwin 1.5.x + * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on + older cygwin. + * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for + cygwin. + * doc/posix-headers/netdb.texi (netdb.h): Document this. + +2008-10-22 Bruno Haible + + * users.txt: Update entry about pspp. + +2008-10-21 Bruno Haible + + Simplification. + * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration. + * lib/close.c (_gl_close_fd_maybe_socket): Make static. + + Simplification. + * lib/ioctl.c (ioctl): Don't undefine. + * lib/socket.c (socket): Don't undefine. + + Remove unused module indicator macros. + * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define + GNULIB_$1 as a C macro. + + * doc/posix-functions/close.texi: Undo last change. + * doc/posix-functions/ioctl.texi: Merge the two paragraphs about + Windows platforms. + +2008-10-21 Bruno Haible + + Add gethostname() declaration to . + * lib/unistd.in.h (gethostname): New declaration. + * lib/gethostname.c: Include . + * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require + gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME + and HAVE_GETHOSTNAME. + * modules/gethostname (Depends-on): Add unistd. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Include): Specify . + * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and + HAVE_GETHOSTNAME. + * tests/test-gethostname.c: Include first. + +2008-10-21 Bruno Haible + + * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl. + * modules/select-tests (Depends-on): Likewise. + Reported by Simon Josefsson. + +2008-10-21 Simon Josefsson + + * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c. + * lib/accept.c: New file, based on winsock.c. + * lib/bind.c: New file, based on winsock.c. + * lib/connect.c: New file, based on winsock.c. + * lib/getpeername.c: New file, based on winsock.c. + * lib/getsockname.c: New file, based on winsock.c. + * lib/getsockopt.c: New file, based on winsock.c. + * lib/ioctl.c: New file, based on winsock.c. + * lib/listen.c: New file, based on winsock.c. + * lib/recv.c: New file, based on winsock.c. + * lib/recvfrom.c: New file, based on winsock.c. + * lib/send.c: New file, based on winsock.c. + * lib/sendto.c: New file, based on winsock.c. + * lib/setsockopt.c: New file, based on winsock.c. + * lib/shutdown.c: New file, based on winsock.c. + * lib/socket.c: New file, based on winsock.c. + * lib/w32sock.h: New file, based on winsock.c. + * lib/winsock.c: Remove file. + * modules/accept: Likewise. + * modules/bind: Likewise. + * modules/connect: Likewise. + * modules/getpeername: Likewise. + * modules/getsockname: Likewise. + * modules/getsockopt: Likewise. + * modules/ioctl: Likewise. + * modules/listen: Likewise. + * modules/recv: Likewise. + * modules/recvfrom: Likewise. + * modules/send: Likewise. + * modules/sendto: Likewise. + * modules/setsockopt: Likewise. + * modules/shutdown: Likewise. + * modules/socket: Use socket.c instead of winsock.c. + * modules/sys_socket: Remove (unneeded?) dependency on winsock.c. + * doc/posix-functions/accept.texi: Doc fix. + * doc/posix-functions/bind.texi: Doc fix. + * doc/posix-functions/close.texi: Doc fix. + * doc/posix-functions/connect.texi: Doc fix. + * doc/posix-functions/getpeername.texi: Doc fix. + * doc/posix-functions/getsockname.texi: Doc fix. + * doc/posix-functions/getsockopt.texi: Doc fix. + * doc/posix-functions/ioctl.texi: Doc fix. + * doc/posix-functions/listen.texi: Doc fix. + * doc/posix-functions/recv.texi: Doc fix. + * doc/posix-functions/recvfrom.texi: Doc fix. + * doc/posix-functions/send.texi: Doc fix. + * doc/posix-functions/sendto.texi: Doc fix. + * doc/posix-functions/setsockopt.texi: Doc fix. + * doc/posix-functions/shutdown.texi: Doc fix. + * doc/posix-functions/socket.texi: Doc fix. + +2008-10-20 Bruno Haible + + Take into account the role of SIGABRT_COMPAT on Windows 2008. + * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros. + (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it + as an alias for SIGABRT. + * lib/sigaction.c (SIGABRT_COMPAT): New macro. + (sigaction): Map it to SIGABRT. + Reported by Ramiro Polla via Eric Blake. + +2008-10-20 Bruno Haible + + * lib/fts.c: Don't include lstat.h. + * lib/openat.c: Include instead of lstat.h. + + Move the lstat() declaration to . + * lib/lstat.h: Remove file. + * lib/sys_stat.in.h: Add special invocation convention. + (lstat): New declaration. + * lib/lstat.c (orig_lstat): New function. + (rpl_lstat): Use orig_lstat instead of lstat. + * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and + AC_C_INLINE. Set REPLACE_LSTAT. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT + and REPLACE_LSTAT. + * modules/lstat (Files): Remove lib/lstat.h. + (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR. + (Include): Specify instead of lstat.h. + * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and + REPLACE_LSTAT. + * NEWS: Mention the change. + +2008-10-20 Bruno Haible + + * modules/posix_spawn-tests: New file. + * tests/test-posix_spawn3.c: New file. + +2008-10-20 Bruno Haible + + * modules/posix_spawnp-tests (Depends-on): Add sys_wait. + * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS, + WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions. + * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS, + WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise. + +2008-10-20 Bruno Haible + + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug + of posix_spawn on AIX 5.3. + +2008-10-20 Bruno Haible + + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X. + +2008-10-20 Bruno Haible + + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead + of AC_LANG_PROGRAM. + +2008-10-20 Simon Josefsson + + * lib/netdb.in.h: Don't define GNU specific constants until they + are supported or needed. Reported by Bruno Haible + . + +2008-10-20 Simon Josefsson + + * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h. + +2008-10-20 Simon Josefsson + + * lib/getaddrinfo.h: Remove file. + * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h. + * m4/getaddrinfo.m4: Call gl_HEADER_NETDB. Don't check for netdb.h. + * lib/netdb.in.h: Add declarations from getaddrinfo.h. + * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0. + * modules/netdb: Substitute GNULIB_GETADDRINFO. + * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h. + * tests/test-getaddrinfo.c: Likewise. + * lib/gai_strerror.c: Likewise. Also drop HAVE_NETDB_H check. + * NEWS: Mention change. + +2008-10-19 Bruno Haible + + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code. + +2008-10-19 Bruno Haible + + * lib/wait-process.c: Include simply . + (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED, + WIFSTOPPED): Remove fallback definitions. + * modules/wait-process (Depends-on): Add sys_wait. + + New module 'sys_wait'. + * modules/sys_wait: New file. + * lib/sys_wait.in.h: New file, partially copied from + lib/wait-process.c. + * m4/sys_wait_h.m4: New file. + * doc/posix-headers/sys_wait.texi: Mention the new module. + +2008-10-19 Bruno Haible + + * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h. + +2008-10-19 Bruno Haible + + Assume that waitpid() fills an 'int' status, not a 'union wait'. + * lib/wait-process.c (WAIT_T): Remove type. + (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks. + (wait_subprocess): Update. + +2008-10-19 Bruno Haible + + New module 'atoll'. + * modules/atoll: New file. + * lib/stdlib.in.h (atoll): New declaration. + * lib/atoll.c: New file, from glibc with modifications. + * m4/atoll.m4: New file. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL, + HAVE_ATOLL. + * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL. + * doc/posix-functions/atoll.texi: Mention the new module. + +2008-10-19 Bruno Haible + + Add strtoull() declaration to . + * lib/stdlib.in.h (strtoull): New declaration. + * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS. + Set HAVE_STRTOULL. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL, + HAVE_STRTOULL. + * modules/strtoull (Depends-on): Add stdlib. + (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. + * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL, + HAVE_STRTOULL. + +2008-10-19 Bruno Haible + + Add strtoll() declaration to . + * lib/stdlib.in.h (strtoll): New declaration. + * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS. + Set HAVE_STRTOLL. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL, + HAVE_STRTOLL. + * modules/strtoll (Depends-on): Add stdlib. + (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. + * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL. + +2008-10-19 Bruno Haible + + * modules/bcopy (Depends-on): Add strings. + (Include): Specify . + +2008-10-19 Bruno Haible + + * doc/posix-functions/atexit.texi: Update doc regarding mingw. + +2008-10-19 Bruno Haible + + * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename + the parameter from 'errno' to 'errnum'. Fixes a compilation error on + mingw. + +2008-10-19 Bruno Haible + + * lib/atanl.c: Don't include isnanl.h. + * lib/cosl.c: Likewise. + * lib/ldexpl.c: Likewise. + * lib/logl.c: Likewise. + * lib/sinl.c: Likewise. + * lib/sqrtl.c: Likewise. + * lib/tanl.c: Likewise. + + Move the isnanf(), isnand(), isnanl() declarations to . + * lib/isnanf.h: Remove file. + * lib/isnand.h: Remove file. + * lib/isnanl.h: Remove file. + * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h, + lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted + macros. + * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set + HAVE_ISNANF, don't define it as a C macro. + * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set + HAVE_ISNAND, don't define it as a C macro. + * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set + HAVE_ISNANL, don't define it as a C macro. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and + HAVE_ISNAN[FDL]. + * modules/isnanf (Files): Remove lib/isnanf.h. + (Depends-on): Add math. + (configure.ac): Invoke gl_MATH_MODULE_INDICATOR. + (Include): Specify instead of isnanf.h. + * modules/isnand (Files): Remove lib/isnand.h. + (Depends-on): Add math. + (configure.ac): Invoke gl_MATH_MODULE_INDICATOR. + (Include): Specify instead of isnand.h. + * modules/isnanl (Files): Remove lib/isnanl.h. + (Depends-on): Add math. + (configure.ac): Invoke gl_MATH_MODULE_INDICATOR. + (Include): Specify instead of isnanl.h. + * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and + HAVE_ISNAN[FDL]. + * tests/test-isnanf.c: Include instead of isnanf.h. + * tests/test-isnand.c: Include instead of isnand.h. + * tests/test-isnanl.c: Include instead of isnanl.h. + * NEWS: Mention the change. + +2008-10-18 Bruno Haible + + Add getusershell(), setusershell(), endusershell() declarations to + . + * lib/unistd.in.h (getusershell, setusershell, endusershell): New + declarations. + * lib/getusershell.c: Include unistd.h. + * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require + gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set + HAVE_GETUSERSHELL. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL + and HAVE_GETUSERSHELL. + * modules/getusershell (Depends-on): Add unistd, extensions. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Include): Specify . + * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and + HAVE_GETUSERSHELL. + +2008-10-18 Bruno Haible + + Add a getloadavg() declaration to . + * lib/stdlib.in.h; Include when needed for the + getloadavg declaration. + (getloadavg): New declaration. + * lib/getloadavg.c: Include first. + * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and + AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set + HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG, + HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG. + * modules/getloadavg (Depends-on): Add stdlib, extensions. + (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. + (Include): Specify . + * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG, + HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG. + +2008-10-18 Bruno Haible + + * lib/dirchownmod.c: Don't include lchmod.h. + + Move the lchmod() declaration to . + * lib/lchmod.h: Remove file. + * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING. + (lchmod): New declaration, moved here from lib/lchown.h. + * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and + AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD + and HAVE_LCHMOD. + * modules/lchmod (Files): Remove lib/lchmod.h. + (Depends-on): Add sys_stat, extensions. + (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR. + (Include): Specify instead of lchmod.h. + * modules/sys_stat (Depends-on): Add link-warning. + (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the + definition of GL_LINK_WARNING. + * NEWS: Mention the change. + +2008-10-18 Bruno Haible + + * lib/fchdir.c: Don't include dirfd.h. + * lib/fts.c: Likewise. + * lib/getcwd.c: Likewise. + * lib/glob.c: Likewise. + + Move the dirfd() declaration to . + * lib/dirfd.h: Remove file. + * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING. + (dirfd): New declaration. + * lib/dirfd.c: Include instead of dirfd.h. + * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and + AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set + HAVE_DECL_DIRFD. + * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and + HAVE_DECL_DIRFD. + * modules/dirfd (Files): Remove lib/dirfd.h. + (Depends-on): Add dirent, extensions. + (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR. + (Include): Specify instead of dirfd.h. + * modules/dirent (Depends-on): Add link-warning. + (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and + definition of GL_LINK_WARNING. + * NEWS: Mention the change. + +2008-10-18 Bruno Haible + + Move the euidaccess() declaration to . + * lib/euidaccess.h: Remove file. + * lib/unistd.in.h (euidaccess): New declaration. + * lib/euidaccess.c: Don't include euidaccess.h. + * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS. + Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS + and HAVE_EUIDACCESS. + * modules/euidaccess (Files): Remove lib/euidaccess.h. + (Depends-on): Add unistd. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Include): Specify instead of euidaccess.h. + * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and + HAVE_EUIDACCESS. + * NEWS: Mention the change. + +2008-10-18 Bruno Haible + + * lib/xgetdomainname.c: Include instead of getdomainname.h. + + Move the getdomainname() declaration to . + * lib/getdomainname.h: Remove file. + * lib/unistd.in.h (getdomainname): New declaration. + * lib/getdomainname.c: Include instead of getdomainname.h. + * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require + gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set + HAVE_GETDOMAINNAME. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME. + * modules/getdomainname (Files): Remove lib/getdomainname.h. + (Depends-on): Add unistd, extensions. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Includes): Specify instead of getdomainname.h. + * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and + HAVE_GETDOMAINNAME. + * NEWS: Mention the change. + +2008-10-18 Bruno Haible + + * modules/dirent: New file. + * m4/dirent_h.m4: New file. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS. + Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly. + * modules/fchdir (Files): Remove lib/dirent.in.h. + (Depends-on): Add dirent. + (Makefile.am): Move rules to modules/dirent. + * doc/posix-headers/dirent.texi: Mention the new module. + +2008-10-18 Bruno Haible + + Avoid -Wunused-parameter warnings in public gnulib header files. + * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a + macro. + * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it. + +2008-10-18 Bruno Haible + + * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'. + * doc/glibc-functions/error.texi: Mention the module 'error'. + * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'. + * doc/glibc-functions/getdomainname.texi: Mention the module + 'getdomainname'. + * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'. + * doc/glibc-functions/getpagesize.texi: Mention the module + 'getpagesize'. + * doc/glibc-functions/getusershell.texi: Mention the module + 'getusershell'. + * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'. + * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'. + * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'. + * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'. + * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'. + * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'. + * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'. + * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'. + * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'. + * doc/glibc-functions/strndup.texi: Mention the module 'strndup'. + * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'. + * doc/glibc-functions/strsep.texi: Mention the module 'strsep'. + * doc/glibc-functions/timegm.texi: Mention the module 'timegm'. + * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'. + +2008-10-17 Bruno Haible + + * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than + HP-UX and IRIX, use -0.0L. + * tests/test-ceill.c (minus_zero): Likewise. + * tests/test-floorl.c (minus_zero): Likewise. + * tests/test-frexpl.c (minus_zero): Likewise. + * tests/test-isnan.c (minus_zerol): Likewise. + * tests/test-isnanl.h (minus_zero): Likewise. + * tests/test-ldexpl.c (minus_zero): Likewise. + * tests/test-roundl.c (minus_zero): Likewise. + * tests/test-signbit.c (minus_zerol): Likewise. + * tests/test-snprintf-posix.h (minus_zerol): Likewise. + * tests/test-sprintf-posix.h (minus_zerol): Likewise. + * tests/test-truncl.c (minus_zero): Likewise. + * tests/test-vasnprintf-posix.c (minus_zerol): Likewise. + * tests/test-vasprintf-posix.c (minus_zerol): Likewise. + Reported by Markus Armbruster via Jim Meyering + and by Nelson H. F. Beebe via Eric Blake. + +2008-10-17 Bruno Haible + + Avoid gcc warnings because of #pragma GCC system_header on older gcc. + * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so + that it gets activated only for gcc >= 3.0. + * lib/dirent.in.h: Likewise. + * lib/errno.in.h: Likewise. + * lib/fcntl.in.h: Likewise. + * lib/float.in.h: Likewise. + * lib/iconv.in.h: Likewise. + * lib/inttypes.in.h: Likewise. + * lib/locale.in.h: Likewise. + * lib/math.in.h: Likewise. + * lib/netdb.in.h: Likewise. + * lib/netinet_in.in.h: Likewise. + * lib/search.in.h: Likewise. + * lib/signal.in.h: Likewise. + * lib/spawn.in.h: Likewise. + * lib/stdarg.in.h: Likewise. + * lib/stdint.in.h: Likewise. + * lib/stdio.in.h: Likewise. + * lib/stdlib.in.h: Likewise. + * lib/string.in.h: Likewise. + * lib/strings.in.h: Likewise. + * lib/sys_file.in.h: Likewise. + * lib/sys_ioctl.in.h: Likewise. + * lib/sys_select.in.h: Likewise. + * lib/sys_socket.in.h: Likewise. + * lib/sys_stat.in.h: Likewise. + * lib/sys_time.in.h: Likewise. + * lib/sysexits.in.h: Likewise. + * lib/time.in.h: Likewise. + * lib/unistd.in.h: Likewise. + * lib/wchar.in.h: Likewise. + * lib/wctype.in.h: Likewise. + Reported by Yoann Vandoorselaere . + +2008-10-17 Jim Meyering + + ignore-value: don't depend on inline module + * modules/ignore-value (Depends-on): Remove 'inline'. + (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here. + Suggestion from Bruno Haible. + +2008-10-17 Bruno Haible + + New implementation of condition variables for Win32. + * lib/glthread/cond.h (struct gl_waitqueue_link): New type. + (gl_linked_waitqueue_t): New type. + (gl_cond_t): Use it. + * lib/glthread/cond.c (struct gl_waitqueue_element): New type. + (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove, + gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions. + (glthread_cond_init_func, glthread_cond_wait_func, + glthread_cond_timedwait_func, glthread_cond_signal_func, + glthread_cond_broadcast_func, glthread_cond_destroy_func): + Reimplemented on the basis of gl_linked_waitqueue_t. + * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from + gl_waitqueue_t. + (gl_rwlock_t): Update. + * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t. + +2008-10-17 Simon Josefsson + + * modules/recvfrom (Depends-on): Add dependency on getpeername. + Reported by Yoann Vandoorselaere . + +2008-10-17 Jim Meyering + + ignore-value: new module + * modules/ignore-value: New file. + * lib/ignore-value.h: New file. + * MODULES.html.sh (Compiler warning management): New section, + just for this module. More to come. + +2008-10-16 Paul Eggert + + open-safer.c: avoid 'signed and unsigned in conditional...' warning + * lib/open-safer.c (open_safer): Use an "if/else" statement in place + of the ternary operator. Reported by Reuben Thomas . + +2008-10-16 Jim Meyering + + openat-die.c: avoid 'no previous prototype' warning + * lib/openat-die.c: Include "openat.h". + Reported by Reuben Thomas . + +2008-10-16 Simon Josefsson + + * m4/netdb_h.m4: Assume that if netdb.h exists, it works. + * lib/netdb.in.h: Fix typo. + Reported by Bruno Haible + + * lib/netdb.in.h: Include sys/socket.h for platforms without + netdb.h, to get structures like hostent on MinGW. + * modules/netdb (Depends-on): Add sys_socket. + +2008-10-15 Simon Josefsson + + * modules/netdb, modules/netdb-tests: New file. + * m4/netdb_h.m4: New file. + * lib/netdb.in.h: Add, currently just an empty file pending + definitions. + * tests/test-netdb.c: New file. + * doc/posix-headers/netdb.texi: Mention that we replace it if + needed. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + netdb. + +2008-10-15 Simon Josefsson + + * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation + with code. + +2008-10-13 Bruno Haible + + * lib/glthread/cond.c (glthread_cond_wait_func, + glthread_cond_timedwait_func): Add a comment. + +2008-10-13 Yoann Vandoorselaere - Rename seg_siblings to tree_siblings + * tests/test-poll.c: Include , for ioctl(). + * tests/test-select.c: Likewise, - Add an explicit parent pointer to the tree +2008-10-13 Bruno Haible -2008-12-23 Free Ekanayaka + * lib/glthread/cond.c (glthread_cond_wait_func, + glthread_cond_timedwait_func): Fix variable name. + Reported by Yoann Vandoorselaere . - Lens and test for config files using PHP-style variables - Process /etc/squirrelmail/config.php +2008-10-13 Paolo Bonzini -2008-12-23 Marc Fournier + fix getaddrinfo emulation for systems with struct sockaddr.sa_len + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect + struct sockaddr.sa_len. + * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate. - New lens and tests for /etc/rsyncd.conf - rsyncd.conf is an ini file which allows indented - parameters (like smb.conf) as well as entries outside - any section (like php.ini). +2008-10-13 Simon Josefsson -2008-12-23 David Lutterkort + * build-aux/pmccabe2html: Add css and css_url parameters. - * fa.c: mark '.' as a special character that needs to be escaped +2008-10-12 Bruno Haible -2008-12-22 David Lutterkort + * tests/test-sameacls.c (main) [AIX]: Clear type argument before + calling aclx_get. + Reported by Rainer Tammer . - Notes on the expanded XPath notation +2008-10-12 Bruno Haible -2008-12-22 Free Ekanayaka + Use msvcrt aware primitives for creation/termination of Win32 threads. + * lib/glthread/thread.c: Include . + (glthread_create_func): Use _beginthreadex instead of CreateThread. + (wrapper_func): Update signature. + (gl_thread_exit_func): Use _endthreadex instead of EndThread. - Add lens and test for /etc/passwd +2008-10-11 Yoann Vandoorselaere + Bruno Haible - Shellvars: process two more files on Debian - Add /etc/arno-iptables-firewall/debconf.cfg and /etc/cron-apt/config + Provide a Win32 implementation of the 'cond' module. + * lib/glthread/cond.h [USE_WIN32]: New implementation. + * lib/glthread/cond.c (glthread_cond_init_func, + glthread_cond_wait_func, glthread_cond_timedwait_func, + glthread_cond_signal_func, glthread_cond_broadcast_func, + glthread_cond_destroy_func) [USE_WIN32]: New functions. + * modules/cond (Dependencies): Add gettimeofday. - Add lenses and tests for postfix's main.cf and master.cf +2008-10-11 Bruno Haible - Squid: new lens for squid.conf + Make sleep work on older versions of mingw. + * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not + only whether it exists. + * doc/posix-functions/sleep.texi: Mention the problem with older + versions of mingw. - Webmin: new lens +2008-10-11 Bruno Haible -2008-12-16 David Lutterkort + New module 'shutdown'. + * modules/shutdown: New file. + * lib/sys_socket.in.h (shutdown): New declaration. + * lib/winsock.c (shutdown): New function. + * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize + GNULIB_SHUTDOWN. + * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN. + * doc/posix-functions/shutdown.texi: Document the new module. - Shellvars: load /etc/sysconfig/sendmail +2008-10-11 Jim Meyering -2008-12-03 David Lutterkort + * lib/fclose.c: Fix typo in comment: s/close/fclose/. - Xinetd: make sure equal sign is surrounded by spaces - Fix ticket #30 +2008-10-11 Bruno Haible - * lenses/xinetd.aug: make sure new equal signs have a space before - and after them; indent attributes with a tab by default - * lenses/tests/test_xinetd.aug: add test + New module 'fclose'. + * modules/fclose: New file. + * lib/stdio.in.h (fclose): New declaration. + * lib/fclose.c: New file. + * m4/fclose.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE, + REPLACE_FCLOSE. + * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE. + * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE, + REPLACE_FCLOSE. + * modules/close (Depends-on): fclose. + * doc/posix-functions/fclose.texi: Mention the problem on Windows. -2008-11-20 David Lutterkort +2008-10-11 Bruno Haible - Sshd: change the structure of Condition subtrees - The conditions for a match block are now a single subtree, instead of - one subtree per condition. + * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails, + set errno and don't call _close. -2008-11-19 David Lutterkort +2008-10-10 Bruno Haible + + * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the + ACL, not afterwards. Fixes test failure on Cygwin. + +2008-10-09 Ben Pfaff + + * build-aux/announce-gen: Fix gnulib version related part of usage + message. Die with a useful error message if no tarballs are + found. + +2008-10-10 Jim Meyering + + bootstrap: use git's --depth=N option only if it's supported + * build-aux/bootstrap: Work with git-1.4.4.4, which does not + recognize the --depth option. Reported by Pádraig Brady. + +2008-10-09 Bruno Haible + + New module 'ioctl'. + * modules/ioctl: New file. + * lib/sys_socket.in.h (ioctl): Remove declaration. + * lib/winsock.c: Include . + (rpl_ioctl): Define only of the gnulib module 'ioctl' is present. + * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require + gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H. + * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4. + * doc/posix-functions/ioctl.texi: Mention the new module. + +2008-10-09 Bruno Haible + + New module 'sys_ioctl'. + * lib/sys_ioctl.in.h: New file. + * m4/sys_ioctl_h.m4: New file. + * modules/sys_ioctl: New file. + * doc/glibc-headers/sys_ioctl.texi: Mention the new module. + +2008-10-09 Bruno Haible + + * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant. + * lib/winsock.c: Include . + (rpl_ioctl): Change to second argument 'int' and then varargs. + +2008-10-09 Bruno Haible + + * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function + when the sys_socket module is present and the system has . + +2008-10-09 Bruno Haible + + * doc/posix-functions/close.texi: Mention module 'close' instead of + module 'sys_socket'. + +2008-10-09 Bruno Haible + + * doc/glibc-headers/sys_ioctl.texi: New file. + * doc/gnulib.texi: Include it. + +2008-10-09 Paolo Bonzini + Bruno Haible + + Combine the two replacements of 'close'. + * lib/sys_socket.in.h (close): Define to a reminder to include + . + (_gl_close_fd_maybe_socket): New declaration. + (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro. + * lib/winsock.c (close): Remove undefinition. + (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when + needed for the gnulib module 'close'. + * lib/unistd.in.h (close): If the gnulib module 'close' is not used, + define to an error symbol or to a warning, if suitable. + * lib/close.c: Include . + (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it. + * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also + UNISTD_H_HAVE_WINSOCK2_H. + (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + UNISTD_H_HAVE_WINSOCK2_H. + * modules/sys_socket (Files): Add m4/unistd_h.m4. + (configure.ac): Set a module indicator. + (Makefile.am): Substitute GNULIB_CLOSE. + * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H. + * modules/poll-tests (Depends-on): Add close. + * modules/select-tests (Depends-on): Likewise. + +2008-10-09 Paolo Bonzini + Bruno Haible + + New module 'close'. + * modules/close: New file. + * lib/unistd.in.h (close): Move declaration out of the + FCHDIR_REPLACEMENT scope. + (_gl_unregister_fd): New declaration. + * lib/close.c: New file. + * lib/fchdir.c (rpl_close): Remove function. + * m4/close.m4: New file. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace + close. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and + REPLACE_CLOSE. + * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and + REPLACE_CLOSE. + * modules/fchdir (Depends-on): Add close. + +2008-10-09 Paolo Bonzini + Bruno Haible + + * lib/fcntl.in.h (open): Simplify conditionals. + (_gl_register_fd): New declaration. + * lib/fchdir.c (rpl_open): Remove function. + * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file + also. + (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace + open. + +2008-10-09 Jim Meyering + + GNUmakefile: use the more name-space-friendly "_version" + * top/GNUmakefile (_dummy): Update. + (_version): Rename from "version". + +2008-10-09 Paolo Bonzini + Bruno Haible + + * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from + rpl_close. + (_gl_register_fd): New function, extracted from rpl_open. + (rpl_close, rpl_closedir): Use _gl_unregister_fd. + (rpl_open, rpl_opendir): Use _gl_register_fd. + +2008-10-09 Paolo Bonzini + + Fix organization of 'open' replacement. + * m4/open.m4 (gl_REPLACE_OPEN): New macro. + (gl_FUNC_OPEN): Use it. + (gl_PREREQ_OPEN): Add a : to make the body non-empty. + +2008-10-08 Bruno Haible + + * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL. + +2008-10-08 Simon Josefsson + + * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock). The file is + AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket, + listen). + +2008-10-08 Eric Blake + + GNUmakefile: add 'make version' target + * top/GNUmakefile (_curr-ver): Split version update rules... + (version): ...into a target. + +2008-10-07 Bruno Haible + + Use a more portable replacement expression for -0.0L. + * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN + instead of -0.0L. Fix m4 quotation. + + * tests/test-signbit.c: Include . + (minus_zero): New variable. + (test_signbitl): Use minus_zero instead of -zero. + * modules/signbit-tests (Depends-on): Add float. + + * tests/test-ceill.c: Include . + (zero): Remove variable. + (minus_zero): New variable. + (main): Use minus_zero instead of -zero. + * modules/ceill-tests (Depends-on): Add float. + + * tests/test-floorl.c: Include . + (zero): Remove variable. + (minus_zero): New variable. + (main): Use minus_zero instead of -zero. + * modules/floorl-tests (Depends-on): Add float. + + * tests/test-roundl.c: Include . + (zero): Remove variable. + (minus_zero): New variable. + (main): Use minus_zero instead of -zero. + * modules/roundl-tests (Depends-on): Add float. + + * tests/test-truncl.c: Include . + (zero): Remove variable. + (minus_zero): New variable. + (main): Use minus_zero instead of -zero. + * modules/truncl-tests (Depends-on): Add float. + + * tests/test-frexpl.c (zero): Remove variable. + (minus_zero): New variable. + (main): Use minus_zero instead of -zero. + * modules/frexpl-tests (Depends-on): Add float. + + * tests/test-isnan.c (zerol): Remove variable. + (minus_zerol): New variable. + (test_long_double): Use minus_zerol instead of -zerol. + * modules/isnan-tests (Depends-on): Add float. + + * tests/test-isnanl.h (zero): Remove variable. + (minus_zero): New variable. + (main): Use minus_zero instead of -zero. + * modules/isnanl-nolibm-tests (Depends-on): Add float. + * modules/isnanl-tests (Depends-on): Add float. + + * tests/test-ldexpl.c (zero): Remove variable. + (minus_zero): New variable. + (main): Use minus_zero instead of -zero. + * modules/ldexpl-tests (Depends-on): Add float. + + * tests/test-snprintf-posix.h (zerol): Remove variable. + (minus_zerol): New variable. + (test_function): Use minus_zerol instead of -zerol. + * modules/snprintf-posix-tests (Depends-on): Add float. + * modules/vsnprintf-posix-tests (Depends-on): Add float. + + * tests/test-sprintf-posix.h (zerol): Remove variable. + (minus_zerol): New variable. + (test_function): Use minus_zerol instead of -zerol. + * modules/sprintf-posix-tests (Depends-on): Add float. + * modules/vsprintf-posix-tests (Depends-on): Add float. + + * tests/test-vasnprintf-posix.c (zerol): Remove variable. + (minus_zerol): New variable. + (test_function): Use minus_zerol instead of -zerol. + * modules/vasnprintf-posix-tests (Depends-on): Add float. + + * tests/test-vasprintf-posix.c (zerol): Remove variable. + (minus_zerol): New variable. + (test_function): Use minus_zerol instead of -zerol. + * modules/vasprintf-posix-tests (Depends-on): Add float. + +2008-10-07 Simon Josefsson + + * MODULES.html.sh (Support for building documentation): Mention + pmccabe2html. Sort entries. + + Add pmccabe2html module, from gnupdf. + * build-aux/pmccabe.css: New file. + * build-aux/pmccabe2html: New file. + * m4/pmccabe2html.m4: New file. + * modules/pmccabe2html: New file. + +2008-10-07 Richard W.M. Jones + + flock: new module + * MODULES.html.sh: Add to list of modules. + * lib/flock.c: flock implementation for Windows and Unix systems + which have fcntl. + * doc/glibc-functions/flock.texi: Update documentation. + * lib/sys_file.in.h: header file. + * m4/flock.m4: M4 macros. + * m4/sys_file_h.m4: M4 macros for replacement sys/file.h. + * modules/flock: flock module. + * modules/flock-tests: flock tests module. + * modules/sys_file: sys/file.h module. + * tests/test-flock.c: test suite for flock. + +2008-10-06 Jim Meyering + + bootstrap: check for LT_INIT more portably still ;-) + * build-aux/bootstrap: Don't rely on \>, since it's not portable. + Spotted by Bruno Haible. + +2008-10-06 Eric Blake + + test-signbit: avoid tripping Irix cc bug on -0.0L + * tests/test-signbit.c (minus_zerol): Delete, and replace with + '-zerol'. This may break on HP-UX/hppa, but at least makes the + entire testsuite consistent and avoids an Irix 6.2 bug. + +2008-10-05 Bruno Haible + Jim Meyering + + Add an option for ignoring EPIPE during close_stdout. + * lib/closeout.h: Include . + (close_stdout_set_ignore_EPIPE): New declaration. + * lib/closeout.c: Include . + (ignore_EPIPE): New variable. + (close_stdout_set_ignore_EPIPE): New function. + (close_stdout): Ignore EPIPE error if ignore_EPIPE is set. + * lib/close-stream.c (close_stream): Mention the possible EPIPE + failure. + * modules/closeout (Depends-on): Add stdbool. + +2008-10-05 Bruno Haible + + * modules/accept: New file. + * modules/bind: New file. + * modules/connect: New file. + * modules/getpeername: New file. + * modules/getsockname: New file. + * modules/getsockopt: New file. + * modules/listen: New file. + * modules/recv: New file. + * modules/recvfrom: New file. + * modules/send: New file. + * modules/sendto: New file. + * modules/setsockopt: New file. + * modules/socket: New file. + * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition. + (socket, connect, accept, bind, getpeername, getsockname, getsockopt, + listen, recv, send, recvfrom, sendto, setsockopt): Declare only when + the particular module is requested. Add a link warning when the + particular module is not requested. + * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind, + rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv, + rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when + the particular module is requested. + * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR, + gl_SYS_SOCKET_H_DEFAULTS): New macros. + (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS. + * modules/sys_socket (Depends-on): Add link-warning. + (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT, + GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT, + GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM, + GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of + GL_LINK_WARNING. + * doc/posix-functions/accept.texi: Mention the new module 'accept'. + * doc/posix-functions/bind.texi: Mention the new module 'bind'. + * doc/posix-functions/connect.texi: Mention the new module 'connect'. + * doc/posix-functions/getpeername.texi: Mention the new module + 'getpeername'. + * doc/posix-functions/getsockname.texi: Mention the new module + 'getsockname'. + * doc/posix-functions/getsockopt.texi: Mention the new module + 'getsockopt'. + * doc/posix-functions/listen.texi: Mention the new module 'listen'. + * doc/posix-functions/recv.texi: Mention the new module 'recv'. + * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'. + * doc/posix-functions/send.texi: Mention the new module 'send'. + * doc/posix-functions/sendto.texi: Mention the new module 'sendto'. + * doc/posix-functions/setsockopt.texi: Mention the new module + 'setsockopt'. + * doc/posix-functions/socket.texi: Mention the new module 'socket'. + * modules/poll-tests (Depends-on): Add socket, bind, getsockopt, + listen, connect, accept. + * modules/select-tests (Depends-on): Likewise. + +2008-10-05 Bruno Haible + + * lib/winsock.c (strerror): Remove unused #undef. + (rpl_close): Remove unused local variable. + + * modules/sys_socket (Depends-on); Add errno. + +2008-10-05 Bruno Haible + + * lib/sys_select.in.h: Include the GL_LINK_WARNING definition. + (select): Add a link warning when the 'select' module is not used. + * modules/sys_select (Depends-on): Add link-warning. + (Makefile.am): Substitute the definition of GL_LINK_WARNING. + Suggested by Paolo Bonzini. + +2008-10-05 Jim Meyering + + bootstrap: check for LT_INIT more portably + * build-aux/bootstrap: Avoid using grep -E, since it's not + portable enough. Suggestion from Bruno Haible. + +2008-10-05 Bruno Haible + + * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem + as being fixed by gnulib. + +2008-10-05 Bruno Haible + + * modules/select-tests: New file, mostly copied from + modules/sys_select-tests. + * tests/test-select.c: New file, mostly copied from + tests/test-sys_select.c. + * tests/test-sys_select.c: Move most of the code to tests/test-select.c. + * modules/sys_select-tests (Depends-on): Remove all dependencies. + (Makefile.am): Remove test_sys_select_LDADD. + + * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it + to an undefined symbol, for an error message. + * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro. + (gl_SYS_SELECT_H_DEFAULTS): New macro. + (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of + winsock-select.c here. + * modules/sys_select (Files): Remove lib/winsock-select.c. + (Depends-on): Remove alloca. + (Makefile.am): Substitute GNULIB_SELECT. + * modules/select: New file. + * doc/posix-functions/select.texi: Update. + +2008-10-05 Bruno Haible + + * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always. + * lib/spawn_faction_adddup2.c (__sysconf): Likewise. + * lib/spawn_faction_addopen.c (__sysconf): Likewise. + * modules/posix_spawn_file_actions_addclose (Depends-on): Add + getdtablesize. + * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise. + * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise. + +2008-10-05 Bruno Haible + + * modules/getdtablesize-tests: New file. + * tests/test-getdtablesize.c: New file. + + New module 'getdtablesize'. + * lib/unistd.in.h (getdtablesize): New declaration. + * lib/getdtablesize.c: New file. + * m4/getdtablesize.m4: New file. + * modules/getdtablesize: New file. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE. + * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE, + HAVE_GETDTABLESIZE. + * doc/glibc-functions/getdtablesize.texi: Mention the new module. + +2008-10-05 Bruno Haible + + * modules/sched (Makefile.am): Fix typo. + Reported by Simon Josefsson. + +2008-10-05 Jim Meyering - Only try to save backup file if original exists - * transform.c (transform_save): check that original exists before - creating backup + bootstrap: check for LT_INIT, too + * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL + are deprecated. Suggestion from Ralf Wildenhues. - Fix saving of files where backup/new and target are on different devices - * transform.c (clone_file): new function - * transform.c (transform_save): if rename fails because new/backup file - and target file are on different devices, copy the files +2008-10-05 Bruno Haible -2008-11-05 David Lutterkort + * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than + overriding them by ours. + (POSIX_SPAWN_USEVFORK): Use the next free bit position. - * Makefile.maint: add target tag-release +2008-10-05 Jim Meyering - Version 0.3.4 + bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL + * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the + obsolete AM_PROG_LIBTOOL. Spotted by Debarshi Ray . - * test-preserve.sh: check that augtool -b produces a backup +2008-10-04 Bruno Haible -2008-10-30 David Lutterkort + * modules/dup2 (License): Change to LGPLv2+. + * modules/sleep (License): Likewise. + * modules/perror (License): Likewise. + * modules/fopen (License): Change to LGPLv2+, with approval by Eric + Blake. + * modules/signal (License): Likewise. + * modules/sigprocmask (License): Likewise. + * modules/raise (License): Change to LGPLv2+, with approval by Jim + Meyering. - Fix problem with transferring file attributes during save - * src/transform.c(transform_save): transfer attributes from the original to - the new file as soon as the new file is created; create a .augsave file - as a hardlink, not by renaming - * src/transform.c(file_replace): pull out the code to transfer attributes - into new function transfer_file_attrs; rename of new file to original is - now done in transform_save +2008-10-04 Bruno Haible -2008-10-24 David Lutterkort + * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining. + Reported by Rainer Tammer . - Version 0.3.3 +2008-10-03 Paolo Bonzini + Bruno Haible - * Makefile.maint: add upload target + * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN. + * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK. + * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK. - Modest beginnings of a maiintainer Makefile - * Makefile.maint: new file +2008-10-03 Kamil Dudka - Undo API breakage introduced in commit 48c285c - * src/augeas.c (aug_save): return 0 on success, instead of the number of - files changed - * src/augtool.c (cmd_save): get the number of files changed from aug_match + filevercmp: new module + * lib/filevercmp.h: New function filevercmp comparing version strings. + * lib/filevercmp.c: Implementation of filevercmp function. + * modules/filevercmp: Module metadata. + * tests/test-filevercmp.c: Unit test for new module. + * modules/filevercmp-tests: Unit test metadata. + * MODULES.html.sh: Add filevercmp module. - build: use LIB_SELINUX as set by gnulib - * configure.ac: do not set up LIB_SELINUX, gnulib does that +2008-10-03 Bruno Haible -2008-10-22 Sylvain Baubeau + * lib/c-ctype.h: Add comment. + Reported by Jim Meyering. - Grub: support "rootnoverify" and "chainloader" directives +2008-10-02 Bruno Haible -2008-10-21 David Lutterkort + * modules/posix_spawn-internal (Depends-on): Add 'open'. - Version 0.3.2 +2008-10-02 Paolo Bonzini - test-preserve.sh: do not check SELinux context on non-SELinux systems + * build-aux/bootstrap: Allow renaming bootstrap, and change the + name of bootstrap.conf accordingly. - test-events-saved.sh: sort the list of saved files +2008-10-02 Paolo Bonzini - aug_save: report saved files in /augeas/events/saved - aug_save now reports which files were changed on disk underneath - /augeas/events/saved; if multiple files are changed in one save operation, - there will be multiple /augeas/events/saved entries in the tree. The value - of each is the path to the file prefixed with /files. + * build-aux/bootstrap: Install git-merge-changelog configuration + items into .gitconfig if needed. - Generate ChangeLog from git history +2008-10-02 Paolo Bonzini - file_replace: preserve SELinux context - Copy the SELinux context from the existing file. + * build-aux/bootstrap: Recognize `gnulib' being a submodule in a + git repository, and initialize/update it accordingly. - transform_save: preserve file owner/group and mode when saving - Take the file owner/group and mode from the existing file and set it on the - newly created file during save. When a file is created from scratch, we - still create the file with whatever default user/group/mode the current - user has set. +2008-10-02 Richard W.M. Jones -2008-10-20 David Lutterkort + * modules/fsync-tests: New file. + * tests/test-fsync.c: New file. - aug_save: report the number of files that were changed - When the tree is saved, keep track of the number of files that were - actually changed and return that number. + New module 'fsync'. + * lib/fsync.c: New file. + * m4/fsync.m4: New file. + * modules/fsync: New file. + * lib/unistd.in.h (fsync): New declaration. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both + GNULIB_FSYNC and HAVE_FSYNC. + * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC. + * MODULES.html.sh (posix_functions): Add fsync. + * doc/posix-functions/fsync.texi: Mention the new module. - transform_save: make saving idempotent - When a file needs to be saved, its contents are first generated in a temp - file which is then moved over the original file. Between generating the - temp file and moving it in its final place, read its contents back in and - compare with the contents of the original file. Only move the tempfile over - the original if the contents do indeed differ. This avoids spurious changes - in mtime. +2008-10-02 Jim Meyering - Formatting changes + fts.c: sync with similar code from coreutils' remove.c + * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils. + Guard also with "#if defined __linux__", since for now at least, + this code is Linux-kernel-specific. -2008-10-16 Jim Meyering +2008-10-02 Jim Meyering - Include early, so its _GNU_SOURCE definition takes effect. - * src/lexer.l (%top{...}): Include here, not in %{...}. - Otherwise, the flex-emitted inclusion of would - precede the definition of _GNU_SOURCE, rendering it useless. - This also avoids warnings about strndup being undeclared. - Don't include explicitly, since flex already does that. + fts: bug fixes + * lib/fts.c: Remove unnecessary "defined" in cpp directive. + Include , not . -2008-10-13 Joel Nimety + * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/. + Include , not . - Grub: add support for password directive +2008-10-01 Bruno Haible -2008-10-06 Free Ekanayaka + Avoid the broken posix_spawn function on AIX 5.3 and 6.1. + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro. + (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed. + * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs. + * doc/posix-functions/posix_spawnp.texi: Likewise. + * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check + whether posix_spawn actually works. + * m4/pipe.m4 (gl_PIPE): Likewise. + * modules/execute (Files): Add m4/posix_spawn.m4. + * modules/pipe (Files): Add m4/posix_spawn.m4. + Reported and analyzed by Rainer Tammer . + +2008-10-01 Jim Meyering + + remove trailing spaces + * NEWS: Likewise. + * lib/poll.c (poll): Likewise. + * lib/sys_socket.in.h (SHUT_RDWR): Likewise. + * lib/winsock.c (rpl_close): Likewise. + * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise. + * modules/yield: Likewise. + * tests/test-poll.c (connect_to_socket, poll1): Likewise. + * tests/test-sys_select.c (connect_to_socket): Likewise. - Samba: Change default indentation and separation - Match indentation of the example configuration file shipped by the upstream - authors + fts.c: adjust a new interface to be more generally useful + * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter. + (fts_build): Adjust caller. - Add gdm lens and associated test +2008-09-30 Yoann Vandoorselaere + + * modules/cond-tests: New file. + * tests/test-cond.c: New file. + +2008-09-30 Yoann Vandoorselaere + Bruno Haible + + * modules/cond (Dependencies): Add errno, time. + * lib/glthread/cond.h: Include . + (gl_cond_define, gl_cond_define_initialized): Use the same definition + across platforms. -2008-10-02 David Lutterkort +2008-09-30 Yoann Vandoorselaere + Bruno Haible - Ignore files based on .hgignore + * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function. + +2008-09-30 Yoann Vandoorselaere + Bruno Haible + + * modules/tls-tests (Depends-on): Add thread, yield. + (configure.ac): Remove all checks. + (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED. + * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield, + gl_thread_self): Remove definitions. Include glthread/thread.h and + glthread/yield.h instead. + (test_tls): Pass an additional NULL argument to gl_thread_join. + +2008-09-30 Yoann Vandoorselaere + Bruno Haible + + * modules/lock-tests (Depends-on): Add thread, yield. + (configure.ac): Remove all checks. + (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED. + * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield, + gl_thread_self): Remove definitions. Include glthread/thread.h and + glthread/yield.h instead. + (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an + additional NULL argument to gl_thread_join. + +2008-09-30 Bruno Haible + + Fix the Win32 implementation of the 'thread' module. + * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a + pointer type. + (gl_thread_self): Invoke gl_thread_self_func. + (gl_thread_self_func): New declaration. + * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable. + (do_init_self_key, init_self_key): New functions. + (struct gl_thread_struct): Renamed from 'struct thread_extra'. + Remove some fields. + (running_threads, running_lock): Remove variables. + (get_current_thread_handle): New function. + (gl_thread_self_func, wrapper_func, glthread_create_func, + glthread_join_func, gl_thread_exit_func): Largely rewritten and + simplified. + +2008-09-30 Bruno Haible + + * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular + files. -2008-10-01 David Lutterkort +2008-09-30 Jim Meyering - Complain when nodes in the tree can not be put - When nodes are added to the tree that do not match the appropriate - key/label lens, we used to silently drop them if the key/label was inside a - repetition inside a concat. + fts.m4: correct the test for statfs.f_type + * m4/fts.m4 (gl_FUNC_FTS_CORE): Include + when checking for statfs.f_type. - Now, we check when we split the tree for a concat that we have used all the - nodes in the tree that we were supposed to, and complain otherwise. +2008-09-15 Simon Josefsson - This also uncovered that the test rec-hosts-add.rb was broken, but still - passed. + tests: avoid some compiler warnings + * tests/test-memchr.c (main): Pass NULL indirectly. + * tests/test-getdate.c (main): Remove unused variable 'ret'. -2008-10-01 David Lutterkort +2008-09-29 Ondřej Vašík - Pass --nostdinc properly when running under gdb + getdate.y: disallow countable dayshifts like "4 yesterday ago" + * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for + exactly specified dayshifts. + (dayshift): New rule. + (rel): Add dayshift. + (relative_time_table) [tomorrow, yesterday, today, now]: + Use tDAY_SHIFT in place of tDAY_UNIT. + * tests/test-getdate.c: Add tests for now-disallowed countable + dayshifts, e.g., "4 yesterday ago". - Logrotate: parse tabooext into list; add processing of a number of options - Patch by Sean E. Millichamp +2008-09-29 Bruno Haible -2008-09-22 David Lutterkort + * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c. + * tests/test-posix_spawn1.in.sh: Renamed from + tests/test-posix_spawn.in.sh. + * tests/test-posix_spawn2.c: New file. + * tests/test-posix_spawn2.in.sh: New file. + * modules/posix_spawnp-tests (Files): Update. + (Makefile.am): Update. Add test-posix_spawn2 to the tests. - Grub: add support for 'serial' and 'terminal' - Patch by Sean E. Millichamp +2008-09-29 Bruno Haible - Add backlinks to main site + Propagate effects of putenv/setenv/unsetenv to child processes. + * lib/execute.c (execute): Use spawnvpe instead of spawnvp. + * lib/pipe.c (create_pipe): Likewise. + +2008-09-29 Bruno Haible - Remove some italics + Enable use of shell scripts as executables in mingw. + * lib/execute.c (execute): When spawnv fails with error ENOEXEC, + run the program as a shell script. + * lib/pipe.c (create_pipe): Likewise. + * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the + resulting array. - Logrotate: add dateext flag - Patch by Sean E. Millichamp +2008-09-29 Eric Blake -2008-09-22 David Lutterkort + * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo. - Various changes to the NaturalDocs support - This patch changes a few things around in the NaturalDocs support: +2008-08-24 Paolo Bonzini - - There is no explicit --with-naturaldocs option anymore; instead, - configure.ac looks for a program that's either called 'naturaldocs' or - 'NaturalDocs' and enables support for doc generation depending on whether - that program is found or not. + * doc/posix-functions/accept.texi: Update mingw problems. + * doc/posix-functions/bind.texi: Update mingw problems. + * doc/posix-functions/close.texi: Update mingw problems. + * doc/posix-functions/connect.texi: Update mingw problems. + * doc/posix-functions/getpeername.texi: Update mingw problems. + * doc/posix-functions/getsockname.texi: Update mingw problems. + * doc/posix-functions/getsockopt.texi: Update mingw problems. + * doc/posix-functions/ioctl.texi: Update mingw problems. + * doc/posix-functions/listen.texi: Update mingw problems. + * doc/posix-functions/recv.texi: Update mingw problems. + * doc/posix-functions/recvfrom.texi: Update mingw problems. + * doc/posix-functions/select.texi: Update mingw problems. + * doc/posix-functions/send.texi: Update mingw problems. + * doc/posix-functions/sendto.texi: Update mingw problems. + * doc/posix-functions/setsockopt.texi: Update mingw problems. + * doc/posix-functions/socket.texi: Update mingw problems. - This works in any of the following situations: - (1) NaturalDocs is installed from an RPM, and therefore on the default - PATH, with its Perl modules installed on the standard Perl library - path - (2) NaturalDocs is installed in a random directory, and both PATH and - PERL5LIB are set accordingly - (3) A wrapper script that sets the path is on PATH +2008-09-29 Paolo Bonzini + Bruno Haible - - Various fixes to make 'make distcheck' work + * lib/sys_select.in.h: Include sys/time.h. + * m4/sys_select.h.m4: Test that struct timeval is fully defined. + * modules/sys_select: Depend on sys_time. + * tests/test-sys_select.c: Test that sys/select.h defines struct + timeval fully. -2008-09-12 David Lutterkort +2008-09-29 Bruno Haible - Properly include test modules + * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'. + * lib/sys_select.in.h: Likewise. -2008-09-11 Raphael Pinson +2008-09-29 Bruno Haible - Add naturaldocs support Build pdf docs + * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables. -2008-09-09 Raphael Pinson +2008-09-29 Bruno Haible - Adapt comments for NaturalDocs parsing + * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket. + Set LIBSOCKET instead of augmenting LIBS. + * modules/sockets (Link): New section. + * modules/sockets-tests (test_sockets_LDADD): New variable. + * modules/sys_select-tests (test_sys_select_LDADD): New variable. + * modules/poll-tests (test_poll_LDADD): New variable. + * NEWS: Document the change. - Add comments for NaturalDocs parsing +2008-09-29 Bruno Haible - Add comments for NaturalDocs parsing + * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro. + * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning + ARPA_INET_H directly. + * m4/inet_pton.m4 (gl_INET_PTON): Likewise. + +2008-09-28 Bruno Haible + + * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted + from gl_HEADER_SYS_SOCKET. + (gl_HEADER_SYS_SOCKET): Invoke it. + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. + +2008-09-28 Bruno Haible + + * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem. + * tests/test-sys_select.c: Include , for struct timeval. + Needed on OSF/1 4.0. - Add comments for NaturalDocs parsing Reorganize a bit +2008-09-28 Bruno Haible - Adapt sudoers.aug for NaturalDocs parsing + Override open more carefully. + * lib/open.c (orig_open): New function. + (rpl_open): Use orig_open instead of open. + * lib/fcntl.in.h: Add special invocation convention. + * m4/open.m4 (gl_PREREQ_OPEN): New macro. + (gl_FUNC_OPEN): Invoke it. - Adapt augeas.h for NaturalDocs parsing + Override freopen more carefully. + * lib/freopen.c (orig_freopen): New function. + (rpl_freopen): Use orig_freopen instead of freopen. + * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro. + (gl_FUNC_FREOPEN): Invoke it. -2008-09-08 David Lutterkort + Override fopen more carefully. + * lib/fopen.c (orig_fopen): New function. + (rpl_fopen): Use orig_fopen instead of fopen. + * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro. + (gl_FUNC_FOPEN): Invoke it. + Needed on AIX. Reported by Rainer Tammer . - Sshd: better handling of match blocks - Split match conditions into individual 'Condition' entries. Store the - settings for a match block inside 'Settings' entries. +2008-09-28 Bruno Haible -2008-09-08 Free Ekanayaka + * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about + SIGPIPE. - Add monit lens and test +2008-09-28 Bruno Haible -2008-09-06 Free Ekanayaka + * tests/test-sigaction.c (handler, main): Disable the check whether + SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on + glibc systems with LinuxThreads. - Ldap: merge with Spacevars. Spacevars: process havp.config - Adapt Test_ldap, since there is no Ldap.lns anymore +2008-09-28 Bruno Haible + + * doc/posix-functions/freopen.texi: Mention the trailing slash problem. + + * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed + with AIX xlc. + * lib/fcntl.in.h (open): Likewise. + Reported by Rainer Tammer . -2008-09-08 David Lutterkort +2008-09-28 Bruno Haible - Use --nostdinc in tests - We never want to use installed lenses in the tests; they should only be - read from the directories that are specified explicitly + * modules/posix_spawnp-tests: New file. + * tests/test-posix_spawn.c: New file. + * tests/test-posix_spawn.in.sh: New file. - augtool, augparse: add --nostdinc option + New module 'posix_spawnp'. + * modules/posix_spawnp: New file. + * lib/spawnp.c: New file, from GNU libc with modifications. + * doc/posix-functions/posix_spawnp.texi: Mention the new module. - augtool, augparse: allow long options + New module 'posix_spawn'. + * modules/posix_spawn: New file. + * lib/spawn.c: New file, from GNU libc with modifications. + * doc/posix-functions/posix_spawn.texi: Mention the new module. -2008-09-06 Free Ekanayaka + New module 'posix_spawnattr_destroy'. + * modules/posix_spawnattr_destroy: New file. + * lib/spawnattr_destroy.c: New file, from GNU libc with modifications. + * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new + module. - Shellvars: merge Sysconfig, Ifcfg; support /etc/default - Merge Sysconfig and Ifcfg into Shellvars + New module 'posix_spawnattr_setsigmask'. + * modules/posix_spawnattr_setsigmask: New file. + * lib/spawnattr_setsigmask.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the + new module. + + New module 'posix_spawnattr_getsigmask'. + * modules/posix_spawnattr_getsigmask: New file. + * lib/spawnattr_getsigmask.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the + new module. + + New module 'posix_spawnattr_setsigdefault'. + * modules/posix_spawnattr_setsigdefault: New file. + * lib/spawnattr_setdefault.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the + new module. + + New module 'posix_spawnattr_getsigdefault'. + * modules/posix_spawnattr_getsigdefault: New file. + * lib/spawnattr_getdefault.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the + new module. + + New module 'posix_spawnattr_setschedpolicy'. + * modules/posix_spawnattr_setschedpolicy: New file. + * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the + new module. + + New module 'posix_spawnattr_getschedpolicy'. + * modules/posix_spawnattr_getschedpolicy: New file. + * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the + new module. + + New module 'posix_spawnattr_setschedparam'. + * modules/posix_spawnattr_setschedparam: New file. + * lib/spawnattr_setschedparam.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the + new module. + + New module 'posix_spawnattr_getschedparam'. + * modules/posix_spawnattr_getschedparam: New file. + * lib/spawnattr_getschedparam.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the + new module. + + New module 'posix_spawnattr_setpgroup'. + * modules/posix_spawnattr_setpgroup: New file. + * lib/spawnattr_setpgroup.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new + module. - Add /etc/default/* to the list of supported configuration files + New module 'posix_spawnattr_getpgroup'. + * modules/posix_spawnattr_getpgroup: New file. + * lib/spawnattr_getpgroup.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new + module. -2008-09-05 David Lutterkort + New module 'posix_spawnattr_setflags'. + * modules/posix_spawnattr_setflags: New file. + * lib/spawnattr_setflags.c: New file, from GNU libc with modifications. + * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new + module. - transform: append missing newlines - If a file does not end with a newline, append one automatically. Most - lenses require that a file ends with a newline, and files that are missing - them are quite common. + New module 'posix_spawnattr_getflags'. + * modules/posix_spawnattr_getflags: New file. + * lib/spawnattr_getflags.c: New file, from GNU libc with modifications. + * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new + module. - Shellvars: use Util.eol for eol + New module 'posix_spawnattr_init'. + * modules/posix_spawnattr_init: New file. + * lib/spawnattr_init.c: New file, from GNU libc with modifications. + * doc/posix-functions/posix_spawnattr_init.texi: Mention the new + module. - test/modules: only distribute .aug files + New module 'posix_spawn_file_actions_destroy'. + * modules/posix_spawn_file_actions_destroy: New file. + * lib/spawn_faction_destroy.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention + the new module. + + New module 'posix_spawn_file_actions_addopen'. + * modules/posix_spawn_file_actions_addopen: New file. + * lib/spawn_faction_addopen.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention + the new module. + + New module 'posix_spawn_file_actions_adddup2'. + * modules/posix_spawn_file_actions_adddup2: New file. + * lib/spawn_faction_adddup2.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention + the new module. - Shellvars: handle space at the end of a line + New module 'posix_spawn_file_actions_addclose'. + * modules/posix_spawn_file_actions_addclose: New file. + * lib/spawn_faction_addclose.c: New file, from GNU libc with + modifications. + * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention + the new module. -2008-09-04 David Lutterkort + New module 'posix_spawn_file_actions_init'. + * modules/posix_spawn_file_actions_init: New file. + * lib/spawn_faction_init.c: New file, from GNU libc with modifications. + * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the + new module. - Added tag release-0.3.1 for changeset 803c17b1833a + New module 'posix_spawn-internal'. + * modules/posix_spawn-internal: New file. + * lib/spawn_int.h: New file, from GNU libc with modifications. + * lib/spawni.c: New file, from GNU libc with modifications. + * m4/posix_spawn.m4: New file. + + New module 'spawn'. + * modules/spawn: New file. + * lib/spawn.in.h: New file, from GNU libc with modifications. + * m4/spawn_h.m4: New file. + * doc/posix-headers/spawn.texi: Mention the new module. + +2008-09-28 Bruno Haible + + * modules/sched-tests: New file. + * tests/test-sched.c: New file. - Release 0.3.1 + New module 'sched'. + * modules/sched: New file. + * lib/sched.in.h: New file. + * m4/sched_h.m4: New file. + * doc/posix-headers/sched.texi: Mention the new module. + +2008-09-27 Eric Blake + + Fix previous patch, and tweak references to $0. + * posix-modules: Call func_gnulib_dir before using $gnulib_dir. + (func_version, func_gnulib_dir): Don't call this program + gnulib-tool. + (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs + with using $0 in function. + * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise. + (func_fatal_error): Reuse the name the user invoked us with. + +2008-09-27 Bruno Haible + + * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro. + (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here... + (gl_ICONV_H): Not here. + * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H + instead of assigning ICONV_H directly. + + * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning + WCHAR_H directly. + +2008-09-27 Bruno Haible + + * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor. + * modules/arpa_inet (Depends-on): Add link-warning. + (Makefile.am): Insert the definition of GL_LINK-WARNING. + * modules/unistd (Makefile.am): Likewise. + +2008-09-26 Bruno Haible + + * posix-modules (cvsdatestamp, last_checkin_date, version): Remove + variables. + (func_version): Essentially copied from gnulib-tool. + (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error, + func_readlink): Copied from gnulib-tool. + +2008-09-26 Bruno Haible + + * gnulib-tool (func_version): Change directory to $gnulib_dir before + invoking git-version-gen. + +2008-09-26 Bruno Haible + + * posix-modules: Update to directory names changed on 2008-01-19. + Remove commas in output before splitting into words. No more need to + avoid 'ftruncate' since 2007-02-19. + +2008-09-26 Bruno Haible + + * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'. + +2008-09-26 Bruno Haible + + * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE. + * modules/fwriteerror (Depends-on): Add errno. + +2008-09-26 Bruno Haible + + * tests/test-vc-list-files-git.sh: Explain reason for skipping test. + * tests/test-vc-list-files-cvs.sh: Likewise. + +2008-09-26 Bruno Haible + + * doc/posix-headers/sys_resource.texi: Reorder items. + +2008-09-26 Jim Meyering + + fts: tweak inode comparison function + * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing + inode numbers, as documented. + + fts: sort dirent entries on inode number before traversing + This avoids a quadratic, seek-related performance penalty when + operating on a directory containing many entries (measurable at 10k; + 3.5 hours at 2 million entries with a cold cache) on certain types + of file systems, including ext3 and ext4, but not tmpfs. + * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define. + (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined. + (S_MAGIC_TMPFS, S_MAGIC_NFS): Define. + (fs_handles_readdir_ordered_dirents_efficiently): New function. + (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise. + (fts_build): Set the stat.st_ino member from D_INO. + If it is likely to be useful, sort dirent entries on inode number. + + * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h, + and the struct statfs.f_type member. + * modules/fts (Depends-on): Add d-ino. + +2008-09-26 Bruno Haible + + * modules/sigpipe-die (Depends-on): Add sigpipe. + + * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc, + putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS + and GNULIB_STDIO_H_SIGPIPE are set. + * lib/stdio-write.c: New file. + * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF, + GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC, + GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE, + REPLACE_STDIO_WRITE_FUNCS. + (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF, + GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC, + GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE, + GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS. + * modules/stdio (Files): Add lib/stdio-write.c. + (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF, + GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC, + GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE, + GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS. + * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define + REPLACE_FPRINTF_POSIX. + * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define + REPLACE_PRINTF_POSIX. + * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define + REPLACE_VFPRINTF_POSIX. + * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define + REPLACE_VPRINTF_POSIX. + * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the + SIGPIPE issue. + * doc/posix-functions/fputc.texi: Likewise. + * doc/posix-functions/fputs.texi: Likewise. + * doc/posix-functions/fwrite.texi: Likewise. + * doc/posix-functions/printf.texi: Likewise. + * doc/posix-functions/putc.texi: Likewise. + * doc/posix-functions/putchar.texi: Likewise. + * doc/posix-functions/puts.texi: Likewise. + * doc/posix-functions/vfprintf.texi: Likewise. + * doc/posix-functions/vprintf.texi: Likewise. + + * modules/safe-write (Depends-on): Add write. + + * modules/sigpipe-tests: New file. + * tests/test-sigpipe.c: New file. + * tests/test-sigpipe.sh: New file. + + * modules/write: New file. + * lib/unistd.in.h: Include . + (write): New declaration. + * lib/write.c: New file. + * m4/write.m4: New file. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE. + * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE, + GNULIB_WRITE, REPLACE_WRITE. + * doc/posix-functions/write.texi: Mention the write, sigpipe modules + and the SIGPIPE issue. + + * lib/signal.in.h (SIGPIPE): Define to a replacement value. + (raise): New declaration. + * lib/sigprocmask.c (SIGPIPE_handler): New variable. + (ext_signal): New function. + (rpl_raise): New function. + * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize + GNULIB_SIGNAL_H_SIGPIPE. + * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE. + * doc/posix-headers/signal.texi: Mention the SIGPIPE issue. + + * modules/sigpipe: New file. + * m4/sigpipe.m4: New file. + +2008-09-25 Derek Price + Bruno Haible + + * gnulib-tool (func_import): Report all license incompatibilities, not + just the first one. + +2008-09-25 Bruno Haible + + * gnulib-tool (func_import): When computing the edits, consider not + only the Makefile.ams that exist but also those that will be generated. + +2008-09-25 Simon Josefsson + + * modules/sys_select-tests (Depends-on): Remove sys_select itself, + fixes gnulib-tool --test warning about duplicate dependency. + +2008-09-25 Bruno Haible + + * gnulib-tool: Don't ask the user to perform edits in the generated + Makefile.ams. + (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that + apply to the Makefile.am being generated. + (func_emit_tests_Makefile_am): Execute edits that apply to the + Makefile.am being generated. + (func_import): Setup list of Makefile.am edits before emitting the + Makefile.ams, not at the end. + (func_create_testdir): Update. + Reported by Yoann Vandoorselaere . + +2008-09-25 Yoann Vandoorselaere + + * gnulib-tool (func_import): Store the --tests-base option in the + comment in gnulib-cache.m4. + +2008-09-24 Paolo Bonzini + + * NEWS: Document increased portability that sys_select now provides. + + * lib/sys_select.in.h: Install select wrapper. + * lib/sys_socket.in.h: Use more descriptive name when there is no + select wrapper. + * lib/winsock-select.c: New. + * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used. + Require gl_HEADER_SYS_SOCKET. + * modules/sys_select: Depend on alloca, add lib/winsock-select.c. + * modules/sys_select-tests: Copy dependencies from modules/poll-tests. + * tests/test-sys_select.c: Add functional tests. + +2008-09-24 Eric Blake + + open, fopen: close fd leak in last patch + * lib/open.c (rpl_open): Close fd before returning error. + * lib/fopen.c (rpl_fopen): Close fd before returning error. + * doc/posix-functions/open.texi (open): Document that Irix also + has the bug. + * doc/posix-functions/fopen.texi (fopen): Likewise. + Reported by Paolo Bonzini. + +2008-09-24 Bruno Haible + + Ensure that a filename ending in a slash cannot be used to access a + non-directory. + * lib/open.c (rpl_open): When the filename ends in a slash, use fstat() + to check whether it's really a directory. + * lib/fopen.c: Include fcntl.h, unistd.h. + (rpl_fopen): When the filename ends in a slash, use open(), fstat(), + and fdopen(). + * modules/fopen (Depends-on): Add unistd. + * tests/test-open.c (main): Try to open "/dev/null/" as a directory. + * tests/test-fopen.c (main): Likewise. + * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug. + * doc/posix-functions/fopen.texi: Likewise. + Reported by Eric Blake. + +2008-09-23 Eric Blake + + c-stack: avoid compiler optimizations when provoking overflow + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make + recursion harder to optimize, to ensure a stack overflow occurs. + * tests/test-c-stack.c (recurse): Likewise. + Borrowed from libsigsegv. + + c-stack: work around Irix sigaltstack bug + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check + whether sigaltstack uses wrong end of stack_t (copied in part from + libsigsegv). + * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around + Irix bug, without requiring an over-allocation. + * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the + bug. - Sysctl: lens for sysctl.conf - Contributed by Sean Millichamp + fopen: document mingw bug on directories + * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for + not allowing a stream visiting a directory, even though reading + from such a stream is not portable. -2008-09-04 Free Ekanayaka +2008-09-23 Paolo Bonzini - Add lens and test for dnsmasq.conf + * lib/poll.c: Rewrite. + * modules/poll: Depend on alloca. -2008-09-02 Free Ekanayaka +2008-09-23 Paolo Bonzini - Add slapd.aug and test modules + * lib/sys_socket.in.h: Do not implement rpl_setsockopt here, + instead define prototypes for a full set of wrappers. Ensure + that Cygwin does not use the compatibility code, which is only + for MinGW. + * lib/winsock.c: New. + * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used. + * modules/sys_socket: Add lib/winsock.c. + + * modules/poll-tests: Add errno and perror. + * tests/test-poll.c: Use ioctl, not ioctlsocket. + +2008-09-23 Paolo Bonzini + + * tests/test-poll.c: Downgrade minimum needed Winsock version. + +2008-09-23 Bruno Haible + + * doc/posix-functions/*: Add info about functions missing on IRIX 5.3. + * doc/glibc-functions/*: Likewise. + +2008-09-23 Simon Josefsson - Spacevars: Allow passing the entry keyword as a parameter - Modify Ldap.lns and Test_spacevars accordingly + * tests/test-perror.sh (tmpfiles): Cleanup temporary files on + success. -2008-08-30 Free Ekanayaka +2008-09-22 Eric Blake + Bruno Haible - Add samba.aug and associated test + vasnprintf: fix x86/glibc regression on printf("%La", 0.0L) + * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that + supply %A but mishandle pseudo-NaN. + Reported by Simon Josefsson. -2008-08-27 Free Ekanayaka +2008-09-21 Bruno Haible - Inifile: support empty comments - Empty comments are lines beginning with ";" or "#" but without any more text + * tests/test-lock.c (main): Tweak skip message. + * tests/test-tls.c (main): Likewise. + +2008-09-21 Bruno Haible -2008-08-29 Raphael Pinson + * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check + whether 'struct sigaction' has sa_sigaction here... + (gl_PREREQ_SIG_HANDLER_H): ... not here. + (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST. - Map entries outside of sections inside a ".anon" section - Clean regexp for entry key - Remove /.anon/ from record key regexp - Modify test_php.aug according to new mapping policy - entry_re is standard in php.aug +2008-09-21 Bruno Haible -2008-09-03 David Lutterkort + * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New + section. + (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol, + strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to + the new section. + (Support for obsolete systems lacking POSIX:2001): New section. + (String handling ): Move strdup to the new section. + Suggested by Simon Josefsson and Paolo Bonzini. - typecheck_maybe: less convoluted check for empty match - There's no need to construct an FA to check if a regular expression matches - the empty string. +2008-09-21 Bruno Haible + + * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit + exponents in %e and %g results on 'long double'. Needed for mingw's + improved *printf functions. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + Reported by Eric Blake. + +2008-09-21 Bruno Haible + + * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs. + * tests/test-sprintf-posix.h (test_function): Likewise. + +2008-09-21 Bruno Haible + + * modules/getpass (Depends-on): Add strdup-posix. + + New module 'strdup-posix'. + * modules/strdup-posix: New file. + * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro. + * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + REPLACE_STRDUP. + * modules/string (Makefile.am): Substitute REPLACE_STRDUP. + * doc/posix-functions/strdup.texi: Mention module strdup-posix. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + strdup-posix. + + * modules/strdup (Depends-on): Remove malloc-posix. + +2008-09-20 Bruno Haible + + * lib/fstrcmp.c: Add data about branch probabilities, from Ralf + Wildenhues. + +2008-09-20 Bruno Haible + + Ensure that wint_t gets defined on IRIX 5.3. + * lib/wchar.in.h (wint_t): Define if not defined by the system. + * lib/wctype.in.h (wint_t): Likewise. + (__wctype_wint_t): Remove type. + (isw*): Use wint_t instead of __wctype_wint_t. + * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T. + * modules/wchar (Files): Add m4/wint_t.m4. + (Makefile.am): Substitute HAVE_WINT_T. + * tests/test-wchar.c: Check that wchar_t and wint_t are defined. + * tests/test-wctype.c: Check that wint_t is defined. + * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem. + * doc/posix-headers/wctype.texi: Likewise. + Reported by Tom G. Christensen . + +2008-09-18 Bruno Haible + + * gnulib-tool (func_exit): Update comment. + +2008-09-18 Simon Josefsson + + * modules/getaddrinfo (Depends-on): Remove strdup, this module + assumes strdup exists and does not depend on strdup to return + ENOMEM on out of memory conditions. + +2008-09-18 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in + NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two + digits for the exponent. + +2008-09-18 Jim Meyering + Bruno Haible + + * lib/vasnprintf.c (decimal_point_char): Define also if + NEED_PRINTF_INFINITE_LONG_DOUBLE. + +2008-09-16 Bruno Haible + and Eric Blake + + vasnprintf: support Irix 5.3 + * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms + that mishandle long double infinity. + Reported by Tom G. Christensen. + +2008-09-16 Bruno Haible + + * doc/glibc-functions/scandir.texi: Mention the function is missing on + Solaris 9. + * doc/glibc-functions/alphasort.texi: Likewise. + Reported by Michael Haubenwallner . + +2008-09-16 Jim Meyering -2008-09-03 David Lutterkort + posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+" + * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets + a umask modification leak out of a subshell. Otherwise, the + opensolaris /bin/sh would be accepted and thus cause unwarranted + failures in the coreutils test suite. - Properly typecheck the '?' operator - The '?' operator was completely missing a typecheck for the atype. The - check must make sure that neither the ctype nor the atype match the empty - word. +2008-09-16 Paolo Bonzini - To allow constructs like (store re)?, we allow the atype to match the empty - word, as long as the lens inside the '?' consumes the value of the current - node, since that also tells as whether to use the inner lens or not. + * tests/test-poll.c (connect_to_socket): Allow non-blocking connect + to succeed. - Various existing lenses failed to typecheck after this change and have been - adapted; this also fixes a bug in the Fstab.lns where existing whitespace - was being replaced with a default tab. The Interfaces.lns needed a fairly - invasive change, and as a consequence produces way more (too many?) - anonymous tree nodes. +2008-09-16 Jim Meyering - Added tests to verify the typechecking of '?' + avoid spurious test failure when library is built without ACL support + * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for... + * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL. + * tests/test-file-has-acl.sh: Skip if USE_ACL == 0. + * tests/test-copy-acl.sh: Likewise. -2008-09-02 David Lutterkort +2008-09-15 Ralf Wildenhues - Minor error message improvements - - Include information about the lens that produced the error if it's - available - - When a union during 'put' does not match, produce an error instead of - aborting + * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound + based on character occurrence counts. -2008-08-28 David Lutterkort +2008-09-15 Eric Blake - Fix a bug with transferring skeletons - It is possible for a skeleton to move from one subtree lens to another, if - both use the same key; since the lenses might have different skeleton - types, we need to detect this and discard the skeleton if its type does not - match the lens that is used during put. + tests: avoid some compiler warnings + * tests/test-memchr.c (main): Pass NULL indirectly. + * tests/test-closein.c (main): Avoid unused variable. - skel_instance_of: fix bad check for regexp match - The return value of regexp_match was interpreted incorrectly, making it - seem that the skel_instance_of test should fail if we ever tried to match - an empty string. +2008-09-15 Bruno Haible -2008-08-27 David Lutterkort + * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that + are missing on OpenBSD 4.0 individually. + Reported by Yoann Vandoorselaere . - Some files for the test root +2008-09-15 Bruno Haible - A test for the del typecheck + * doc/posix-headers/errno.texi: Mention the Cygwin problem. + * doc/posix-functions/strerror.texi: Mention also Cygwin. + * doc/posix-functions/perror.texi: Likewise. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED + is missing. + Reported by Eric Blake. + + * lib/errno.in.h: Use replacement values >= 2000. + Reported by Eric Blake. + +2008-09-14 Ralf Wildenhues + + * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'. + (EARLY_ABORT): Return true when the edit_count has grown too beyond the + limit. + (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when + compareseq was aborted. + +2008-09-14 Bruno Haible + + * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and + yvec_edit_count. + (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count. + (fstrcmp_bounded): Simplify result computation accordingly. + +2008-09-14 Ralf Wildenhues + + * lib/fstrcmp.h (fstrcmp_bounded): New declaration. + (fstrcmp): Define in terms of fstrcmp_bounded. + * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add + lower_bound argument. + Return quickly if the result is certainly < lower_bound. + * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded. + +2008-09-14 Ralf Wildenhues + + * lib/diffseq.h (EARLY_ABORT): New macro. + (compareseq): Change return type to bool. Return true when EARLY_ABORT + evaluates to true. + +2008-09-14 Bruno Haible + + * modules/perror-tests: New file. + * tests/test-perror.sh: New file. + * tests/test-perror.c: New file. + + New module 'perror'. + * lib/stdio.in.h (perror): New declaration. + * lib/perror.c: New file. + * m4/perror.m4: New file. + * modules/perror: New file. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror. + * doc/posix-functions/perror.texi: Mention the perror module. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR, + REPLACE_PERROR. + * modules/stdio (Makefile.am): Substitute GNULIB_PERROR, + REPLACE_PERROR. + +2008-09-14 Bruno Haible + + * modules/stdio (Makefile.am): Reorder to match the order in + lib/stdio.in.h. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise. + +2008-09-13 Bruno Haible + + * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions. + +2008-09-13 Bruno Haible + + Extend strerror to cover the added errno values. + * lib/strerror.c: Include errno.h and winsock2.h if it exists. + (rpl_strerror): Provide error messages for the added errno values and + for the WSA* values. + * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR. + (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace + strerror. + (gl_PREREQ_STRERROR): Test whether winsock2.h exists. + * modules/strerror (Depends-on): Add errno. + * doc/posix-functions/strerror.texi: Document the change. + * tests/test-strerror.c (main): Check also the string for ETIMEDOUT + and EOVERFLOW. + +2008-09-13 Bruno Haible + + * modules/EOVERFLOW: Remove file. + * m4/eoverflow.m4: Remove file. + * modules/EOVERFLOW-tests: Remove file. + * tests/test-EOVERFLOW.c: Remove file. + * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno. + * modules/ftell (Depends-on): Likewise. + * modules/getdelim (Depends-on): Likewise. + * modules/getugroups (Depends-on): Likewise. + * modules/poll (Depends-on): Likewise. + * modules/snprintf (Depends-on): Likewise. + * modules/sprintf-posix (Depends-on): Likewise. + * modules/vasnprintf (Depends-on): Likewise. + * modules/vasprintf (Depends-on): Likewise. + * modules/vfprintf-posix (Depends-on): Likewise. + * modules/vsnprintf (Depends-on): Likewise. + * modules/vsprintf-posix (Depends-on): Likewise. + * modules/xvasprintf (Depends-on): Likewise. + * modules/unistdio/u8-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u8-vasprintf (Depends-on): Likewise. + * modules/unistdio/u8-vsnprintf (Depends-on): Likewise. + * modules/unistdio/u8-vsprintf (Depends-on): Likewise. + * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise. + * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise. + * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise. + * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise. + * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise. + * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise. + * modules/unistdio/u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-vasprintf (Depends-on): Likewise. + * modules/unistdio/u16-vsnprintf (Depends-on): Likewise. + * modules/unistdio/u16-vsprintf (Depends-on): Likewise. + * modules/unistdio/u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-vasprintf (Depends-on): Likewise. + * modules/unistdio/u32-vsnprintf (Depends-on): Likewise. + * modules/unistdio/u32-vsprintf (Depends-on): Likewise. + * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise. + * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise. + * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise. + * modules/unistdio/ulc-fprintf (Depends-on): Likewise. + * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise. + * modules/unistdio/ulc-vasprintf (Depends-on): Likewise. + * modules/unistdio/ulc-vfprintf (Depends-on): Likewise. + * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise. + * modules/unistdio/ulc-vsprintf (Depends-on): Likewise. + * MODULES.html.sh: Remove EOVERFLOW. + * NEWS: Mention the change. + +2008-09-13 Bruno Haible + + * modules/errno-tests: New file. + * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c. + + * lib/errno.in.h: New file. + * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4. + * modules/errno: New file. + * doc/posix-headers/errno.texi: Update documentation. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno. + +2008-09-13 Bruno Haible + + * tests/test-poll.c: Use #if for native Windows, rather than testing + __MSVCRT__. + +2008-09-13 Yoann Vandoorselaere + Bruno Haible + + * lib/glob.c: Don't include on native Windows. + (WINDOWS32): New macro. + (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME"). + +2008-09-13 Bruno Haible + + * lib/glthread/cond.h [USE_SOLARIS_THREADS] + (ETIMEDOUT): Remove macro. + (glthread_cond_timedwait_multithreaded): New declaration. + (glthread_cond_timedwait): Use it. + * lib/glthread/cond.c [USE_SOLARIS_THREADS] + (glthread_cond_timedwait_multithreaded): New function. + +2008-09-12 Paolo Bonzini + + * modules/poll-tests: Do not check for io.h. + * tests/test-poll.c: Check for __MSVCRT__ instead. + +2008-09-12 Paolo Bonzini + + * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case. + * modules/poll-tests: Add inet_pton, stdbool, sockets. + * tests/test-poll.c: Use them. Use _pipe on Windows. + +2008-09-12 Paolo Bonzini + + * modules/poll-tests: New. + * tests/test-poll.c: New. + +2008-09-12 Eric Blake + + frexp: test for NetBSD failure on -0.0 + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but + not all, bugs from NetBSD 3.0 have been fixed. + * doc/posix-functions/frexp.texi (frexp): Document bug. + Reported by Thomas Klausner. - Script to run lens tests through Valgrind - We don't run this as part of 'make check' since it's _very_ slow. + signbit: work around bug of HP-UX 10.20 cc with -0.0 literal + * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid + literal -0.0. + Reported by Jonathan C. Patschke . -2008-08-27 David Lutterkort +2008-09-11 Yoann Vandoorselaere - Dhclient: change some defaults for del - This is really a bug in how string literals are unescaped by the lexer, but - we can sidestep the problem here. + * lib/glthread/cond.h: Use dummy implementation also if + USE_WIN32_THREADS. - The lexer bug is https://fedorahosted.org/augeas/ticket/12 +2008-09-11 Yoann Vandoorselaere -2008-08-27 Free Ekanayaka + * modules/fnmatch-posix (License): Change to LGPLv2+. + * modules/fnmatch-gnu (License): Likewise. - Dhclient lens +2008-09-11 Yoann Vandoorselaere -2008-08-26 Raphael Pinson + * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32. - Add OpenVPN lens and associated test +2008-09-11 Jim Meyering -2008-08-27 Free Ekanayaka + * users.txt: Add gtk-vnc. - Dput: add allowed_distributions entry - See man dput.cf(5) from a recent dput version (Ubuntu/hardy or - Debian/lenny) +2008-09-08 Simon Josefsson -2008-08-26 David Lutterkort + * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum + rotate amounts. - Typecheck del lens - The builtin lens 'del RE STR' was missing a typecheck: the default string - STR must match the regular expression RE, otherwise we might produce text - that we cant parse back in. + * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally + required for 16-bit and 8-bit rotates. + * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16, + rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and + UINT8_MAX instead of hard-coded constants. + Suggested by Paul Eggert. - This patch fixes that, adds a test that the check is performed, and fixes - all the places in existing lenses where a use of 'del' failed the - typecheck. +2008-09-07 Bruno Haible -2008-08-18 Nahum Shalman + * tests/test-striconveh.c (main): Check behaviour when converting from + UTF-7. - Shellvars: fix arrays so that saving works properly * based on an IRC conversation with raphink + Make striconveh work better with stateful encodings. + * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume + that iconv does not increment the inptr when returning -1/EINVAL. -2008-08-25 David Lutterkort +2008-09-07 Bruno Haible - Acknowledge Free Ekanayaka + * build-aux/config.rpath: Update according to libtool-2.2.6. + * build-aux/config.libpath: Likewise. -2008-08-25 Free Ekanayaka +2008-09-06 Bruno Haible - Ldap lens + * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS. + * lib/freadptr.c (freadptr): Likewise. + * lib/freadseek.c (freadptrinc): Likewise. + Reported by Simon Josefsson. - Spacevars lens +2008-09-06 Bruno Haible -2008-08-24 Free Ekanayaka + * modules/freadptr (License): Change to LGPLv2+. + * modules/freadseek (License): Likewise. + Suggested by Eric Blake. - Interfaces: new lens to process Debian's /etc/network/interfaces + * modules/memchr2 (License): Change to LGPLv2+. + Approved by Eric Blake. -2008-08-25 David Lutterkort +2008-09-04 Ralf Wildenhues + Bruno Haible - Util.comment: produce #comment nodes + Make gnulib-tool work with native 'sed' on AIX. + * gnulib-tool (sed_noop): New variable. + (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import, + func_add_or_update, func_create_testdir): Use it to initialize sed + script variables. + Reported by Albert Chin . -2008-08-14 Raphael Pinson +2008-09-04 Albert Chin + Bruno Haible - Inifile: complete rewrite. Also rewrite lenses using Inifile - Adapt Php, Dput, Puppet and the corresponding tests to use the new Inifile + * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next + also works after #include directives. + +2008-09-04 Ondřej Vašík + + getdate.y: reject an out-of-range timezone value + * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside + the range [-24...+24]. When specified with only one or two digits, + * tests/test-getdate.c: Tests for the fix. + * doc/getdate.texi: Document this change. + +2008-09-03 Bruno Haible + + * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module. + +2008-09-02 Simon Josefsson + + * lib/bitrotate.h (rotl64, rotr64): Add. Suggested by Bruce Korb + with ideas from Ben Pfaff + , Bruno Haible and Eric + Blake . + + * tests/test-bitrotate.c: Add more test vectors. + +2008-09-02 Eric Blake + + vasnprintf-posix: handle large precision via %.*d + * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf + when handling it ourselves. + * tests/test-vasnprintf-posix.c (test_function): Add test. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-vasprintf-posix.c (test_function): Likewise. + Reported by Alain Guibert. + +2008-09-01 Eric Blake + + c-stack: make configure-time check more robust + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for + successful sigaction call. + Reported by Tom G. Christensen. + +2008-09-01 Bruno Haible + + New module 'findprog-lgpl'. + * modules/findprog-lgpl: New file. + * lib/findprog-lgpl.c: New file. + * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is + also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL + to decide whether to use strdup or xstrdup, concatenated_filename or + xconcatenated_filename. + +2008-09-01 Bruno Haible + + Split module 'concat-filename' into 'concat-filename' (LGPL) and + 'xconcat-filename' (GPL). + * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc. + (License): Change to LGPLv2+. + * modules/xconcat-filename: New file. + * lib/concat-filename.h (concatenated_filename): Change specification. + (xconcatenated_filename): New declaration. + * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h. + (concatenated_filename): Use malloc instead of xalloc. Handle out-of- + memory situations. + * lib/xconcat-filename.c: New file. + * NEWS: Mention the change. + * lib/findprog.c: Include concat-filename.h, not filename.h. + (find_in_path): Use xconcatenated_filename instead of + concatenated_filename. + * lib/javacomp.c: Include concat-filename.h, not filename.h. + (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable, + is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable, + is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable, + is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename + instead of concatenated_filename. + * lib/javaexec.c: Include concat-filename.h, not filename.h. + (execute_java_class): Use xconcatenated_filename instead of + concatenated_filename. + * modules/findprog (Depends-on): Add xconcat-filename, remove filename. + * modules/javacomp (Depends-on): Likewise. + * modules/javaexec (Depends-on): Likewise. + +2008-09-01 Bruno Haible + + Split module 'filename' into 'filename' and 'concat-filename'. + * modules/filename: Keep only lib/filename.h. + (License): Change to LGPLv2+. + * modules/concat-filename: New file, extracted from modules/filename. + * lib/filename.h (concatenated_filename): Remove declaration. + * lib/concat-filename.h: New file, extracted from lib/filename.h. + * lib/concat-filename.c: Include concat-filename.h. + * NEWS: Mention the change. + +2008-09-01 Simon Josefsson + + * lib/bitrotate.h (rotl8, rotr8): Add. + + * modules/bitrotate (configure.ac): Need + AC_REQUIRE([AC_C_INLINE]). + (Description): Mention stdint.h. Reported by Bruno Haible + . + + * lib/bitrotate.h (rotr16, rotl16): Fix mask value. Reported by + Paolo Bonzini . + +2008-08-31 Bruno Haible + + Assume Solaris specific bi-arch conventions on Solaris systems. + * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit + mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2. + * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not + work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2 + like acl_libdirstem. + (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like + acl_libdirstem. + * NEWS: Mention the change. + Reported by Ben Taylor . + +2008-08-31 Jim Meyering + + * lib/strftime.h: Add comments describing the two added arguments. + + remove duplicate #include directives + * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include . + * lib/putenv.c: Remove duplicate #include . + +2008-08-31 Bruno Haible + + New module 'sigpipe-die'. + * modules/sigpipe-die: New file. + * lib/sigpipe-die.h: New file. + * lib/sigpipe-die.c: New file. + * MODULES.html.sh (Signal handling): Add sigpipe-die. + +2008-08-31 Bruno Haible + + Don't override previously installed signal handlers. + * lib/fatal-signal.c (saved_sigactions): New variable. + (uninstall_handlers): Reset the signal to the saved handler, not + to SIG_DFL (except when ignored). + (install_handlers): Save the previous handlers. + +2008-08-30 Bruno Haible + + * gnulib-tool (func_reset_sigpipe): New function. + (func_get_automake_snippet, func_modules_transitive_closure, + func_import): Invoke it before a join command that reads from stdin, + to avoid "echo: write error: Broken pipe" error messages on stderr. + Reported by Sam Steingold . + +2008-08-30 Bruno Haible + + * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash. + Code copied from m4/open.m4. + * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write + access and the filename ends in a slash. Code copied from lib/open.c. + * doc/posix-functions/fopen.texi: Document bug with trailing slash. + * tests/test-fopen.c (main): Check against bug with trailing slash. + +2008-08-29 Bruno Haible + + Avoid some "gcc -pedantic" warnings. + * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER. + * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER. + * lib/dirent.in.h: Likewise. + * lib/fcntl.in.h: Likewise. + * lib/float.in.h: Likewise. + * lib/iconv.in.h: Likewise. + * lib/inttypes.in.h: Likewise. + * lib/locale.in.h: Likewise. + * lib/math.in.h: Likewise. + * lib/netinet_in.in.h: Likewise. + * lib/search.in.h: Likewise. + * lib/signal.in.h: Likewise. + * lib/stdarg.in.h: Likewise. + * lib/stdint.in.h: Likewise. + * lib/stdio.in.h: Likewise. + * lib/stdlib.in.h: Likewise. + * lib/string.in.h: Likewise. + * lib/strings.in.h: Likewise. + * lib/sys_select.in.h: Likewise. + * lib/sys_socket.in.h: Likewise. + * lib/sys_stat.in.h: Likewise. + * lib/sys_time.in.h: Likewise. + * lib/sysexits.in.h: Likewise. + * lib/time.in.h: Likewise. + * lib/unistd.in.h: Likewise. + * lib/wchar.in.h: Likewise. + * lib/wctype.in.h: Likewise. + * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER. + * modules/fchdir (Makefile.am): Likewise. + * modules/fcntl (Makefile.am): Likewise. + * modules/float (Makefile.am): Likewise. + * modules/iconv_open (Makefile.am): Likewise. + * modules/inttypes (Makefile.am): Likewise. + * modules/locale (Makefile.am): Likewise. + * modules/math (Makefile.am): Likewise. + * modules/netinet_in (Makefile.am): Likewise. + * modules/search (Makefile.am): Likewise. + * modules/signal (Makefile.am): Likewise. + * modules/stdarg (Makefile.am): Likewise. + * modules/stdint (Makefile.am): Likewise. + * modules/stdio (Makefile.am): Likewise. + * modules/stdlib (Makefile.am): Likewise. + * modules/string (Makefile.am): Likewise. + * modules/strings (Makefile.am): Likewise. + * modules/sys_select (Makefile.am): Likewise. + * modules/sys_socket (Makefile.am): Likewise. + * modules/sys_stat (Makefile.am): Likewise. + * modules/sys_time (Makefile.am): Likewise. + * modules/sysexits (Makefile.am): Likewise. + * modules/time (Makefile.am): Likewise. + * modules/unistd (Makefile.am): Likewise. + * modules/wchar (Makefile.am): Likewise. + * modules/wctype (Makefile.am): Likewise. + Reported by Reuben Thomas . + +2008-08-29 Bruno Haible + + * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT + any more. + +2008-08-29 Simon Josefsson + + * MODULES.html.sh (Misc): Add bitrotate. + + * modules/bitrotate: New file. + + * lib/bitrotate.h: New file. + + * modules/bitrotate-tests: New file. + + * tests/test-bitrotate.c: New file. + + * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency + on the bitrotate module. + + * lib/arctwo.c: Use new bitrotate module. + +2008-08-29 Jim Meyering + + bootstrap: merge changes from coreutils + * build-aux/bootstrap (cp_mark_as_generated): Preserve perms + of copied files. Remove a kludge, now that this is fixed. + * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues) + * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext. + * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code. + +2008-08-29 Bruno Haible + + * MODULES.html.sh: Remove --cvs-urls option. + +2008-08-28 Jose E. Marchesi (tiny change) + + maint.mk: adjust to file name change + * top/maint.mk: s/Makefile.cfg/cfg.mk/. + +2008-08-28 Jim Meyering + + * modules/getndelim2 (License): Relicense to LGPLv2+. + Approved by Richard Stallman for the version of 1995, and by + Paul Eggert, Bruno Haible, Eric Blake for their contributions. + +2008-08-27 Paolo Bonzini + + * lib/getdelim.c (flockfile, funlockfile): Make all of them + dummy if one is not available. Do not touch them if + USE_UNLOCKED_IO, instead letting unlocked-io.h do that. + (getc_maybe_unlocked): New. + * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked. + +2008-08-26 Eric Blake + + doc/INSTALL: resync from autoconf + * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify. + (INSTALL_PRELUDE): Delete; this is done more efficiently by + moving... + * install.texi [!autoconf]: ...here. Resync from autoconf. + * INSTALL: Regenerate. + * INSTALL.ISO: New file. + * INSTALL.UTF-8: Likewise. + +2008-08-26 Jim Meyering + + GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy + * top/GNUmakefile (_is-dist-target, _is-install-target): Make + these definitions conditional, so that they may be overridden, too. + +2008-08-26 Bruno Haible + + Generate INSTALL file variants with prettier quotes. + * doc/Makefile (INSTALL_PRELUDE): New macro. + (INSTALL): Use it. + (INSTALL.ISO, INSTALL.UTF-8): New rules. + +2008-08-26 Bruno Haible + + Run makeinfo in an English locale. + * doc/Makefile (MAKEINFO): New variable. + +2008-08-26 Bruno Haible + + * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn. + Suggested by Eric Blake. + +2008-08-25 Bruno Haible + + * doc/Makefile (INSTALL): Generate with @firstparagraphindent set. + +2008-08-25 Eric Blake + + c-stack: test that stack overflow can be caught + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check + that platform allows handling stack overflow; at least OS/2 EMX + has sigaltstack, but crashes before transferring control to + handler on stack overflow. + * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also + check for HAVE_STACK_OVERFLOW_HANDLING. + Reported by Elbert Pol. + +2008-08-25 Bruno Haible + + * doc/posix-functions/strftime.texi: Fix description of strftime module. - Php: allow entries outside of sections - Adapt php.aug to support entries outside of sections and still map sections - as labels (Fix #9) +2008-08-24 Bruno Haible -2008-08-15 David Lutterkort + * tests/uniwidth/test-uc_width2.c: New file. + * tests/uniwidth/test-uc_width2.sh: New file. + * modules/uniwidth/width-tests (Files): Add the new files. + (TESTS): Add uniwidth/test-uc_width2.sh. + (TESTS_ENVIRONMENT): New variable. + (check_PROGRAMS): Add test-uc_width2. + (test_uc_width2_SOURCES): New variable. - Shellvars: one more cornercase with double quoted strings + Fix uc_width(0x00AB) bug, introduced on 2007-07-08. + * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD, + not 0x00AB. + Reported by Alexander V. Lukyanov . -2008-08-15 David Lutterkort +2008-08-22 Eric Blake - Shellvars: much improved handling - - handle single and double quoted strings correctly - - parse arrays into a subtree + test-lock, test-tls: mention why a test is skipped + * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is + skipped. + * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise. - Inspired by a chat and preliminary work by nahamu + count-one-bits: relax license + * modules/count-one-bits (License): Relicense to LGPLv2+. + Suggested by Ludovic Courtès, approved by Ben Pfaff. -2008-08-15 David Lutterkort +2008-08-22 Andreas Schwab - skel_instance_of: remove pointless check - There is no point in trying to match against skel->text for a store lens - since that is always NULL. + * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): + Remove spurious space in assignment. - Fix syntax error in test +2008-08-21 Simon Josefsson - augl_error: Initialize info + * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC. Reported by + Paul Eggert . -2008-08-14 David Lutterkort +2008-08-20 Paolo Bonzini - aug_mv: fix bug when moving at the root level - When moving from the root level, the source node needs to be removed from - aug->tree, not aug->tree->children. In addition, the list_remove macro must - be passed aug->tree and not a local variable holding that value, since we - might have to remove the list entry that aug->tree is pointing to. + * modules/gettext: Add m4/threadlib.m4. - Added test in test-mv.sh to test that moving at the root level works. +2008-08-19 Eric Blake -2008-08-14 David Lutterkort + test-c-stack: fix compilation failure on FreeBSD 5.0 + * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite + headers before . + * doc/posix-headers/sys_resource.texi (sys/resource.h): Document + the bug. + Reported by Nelson H. F. Beebe. - Module names are treated case-insensitively - Before, if you had a module 'Mod' in file 'mod.aug' and requested variable - 'MoD.var' from another module, the interpreter would throw itself into a - loop where it kept loading 'mod.aug', but never found 'MoD.var' because the - comparison of module names 'MoD' and 'Mod' was case sensitive. + strverscmp: migrate from "strverscmp.h" to + * modules/string (Makefile.am): Add new hooks. + * modules/strverscmp (Files): Remove strverscmp.h. + (Depends-on): Add string. + (configure.ac): Add indicator. + (Include): Mention new header. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new + defaults. + * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of + results. + * lib/strverscmp.h: Delete. + * lib/string.in.h (strverscmp): Provide declaration, when needed. + * tests/test-strverscmp.c (includes): Adjust client. + * lib/check-version.c (includes): Likewise. + * NEWS: Document the change. -2008-08-13 Raphael Pinson + strverscmp: add unit test + * modules/strverscmp-tests: New file. + * tests/test-strverscmp.c: Likewise. - Add puppet.aug and associated test +2008-08-19 Simon Josefsson - test_php.aug: make a nice test for PHP + * lib/gc-gnulib.c: Indentation cleanup. Add some comments + regarding Windows crypto stuff, from Mono. - Php: simplified and based on Inifile - "Slightly" simplify php.aug now that the comment issue is fixed in - inifile.aug +2008-08-19 Adam Strzelecki (tiny change) - Inifile: use #comment for comment fields - Adapt test_dput.aug and test_inifile.aug + * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT. Try to use Intel CSP + if present, for intel RND. Return error on failures. - Inifile: no space around seps by default +2008-08-18 Ben Pfaff - Inifile: reformat inifile.aug, ignore empty comments - Reformat inifile.aug : - - improve readability - - limit line width to 80 chars - - change a few var names - Ignore empty comments - Adapt test_dput.aug to ignore empty comments + gitlog-to-changelog: give better diagnostic for failed pipe-open + * build-aux/gitlog-to-changelog: Improve error message: suggest + that the version of Git may be too old. - Fstab: map comments and support empty lines +2008-08-18 Simon Josefsson + + * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity. Use + ISO 8601 format. Suggested by Greg Troxel . - Sudoers: clean up comment definition +2008-08-18 Bruno Haible -2008-08-12 David Lutterkort + * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not + pthread_in_use(). + +2008-08-18 Bruno Haible + + * lib/glthread/threadlib.c: Include . + +2008-08-18 Bruno Haible + + * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix + glthread_recursive_lock_* macros. + * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded): + Fix syntax error. + +2008-08-18 Bruno Haible + + * lib/glthread/thread.c: Avoid forcing a context switch right after + thread creation. + +2008-08-17 Bruno Haible + + * lib/glthread/thread.c: New file, based on code from tests/test-lock.c. + * lib/glthread/thread.h: Provide Win32 specific implementation. + * modules/thread (Files): Add lib/glthread/thread.c. + (Depends-on): Add lock. + (Makefile.am): Add glthread/thread.c to lib_SOURCES. + +2008-08-17 Yoann Vandoorselaere + + New module 'yield'. + * modules/yield: New file. + * lib/glthread/yield.h: New file. + * m4/yield.m4: New file. + * MODULES.html.sh (Multithreading): Add yield. + +2008-08-17 Yoann Vandoorselaere + + New module 'thread'. + * modules/thread: New file. + * lib/glthread/thread.h: New file. + * m4/thread.m4: New file. + * MODULES.html.sh (Multithreading): Add thread. + +2008-08-17 Bruno Haible + + * lib/glthread/lock.h: Include always. + * lib/glthread/tls.h: Likewise. + * lib/glthread/cond.h: Likewise. + +2008-08-17 Yoann Vandoorselaere + + New module 'cond'. + * modules/cond: New file. + * lib/glthread/cond.h: New file. + * lib/glthread/cond.c: New file. + * m4/cond.m4: New file. + * MODULES.html.sh (Multithreading): Add cond. + +2008-08-16 Eric Blake + + c-stack: fix regression on Irix 5.3 from 2008-06-21 + * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for + sa_sigaction... + * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here. + (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's. + * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default. + * modules/signal (Makefile.am): Use the value. + * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION + && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define. + * doc/posix-headers/signal.texi (signal.h): Document this + portability issue. + * doc/posix-functions/sigaction.texi (sigaction): Likewise. + Reported by Tom G. Christensen. + +2008-08-17 Bruno Haible - Hosts: handle comments at the end of a host entry - Comments are put into the tree as part of that host node, i.e. will live as - long as the host entry. + New module 'threadlib'. + * modules/threadlib: New file. + * lib/glthread/threadlib.c: New file, extracted from + lib/glthread/lock.c. + * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove + functions. + * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to + gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY. + * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove + macros. + (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h. + (gl_DISABLE_THREADS): Remove macro. + * modules/lock (Files): Remove build-aux/config.rpath. + (Depends-on): Remove havelib. Add threadlib. + (configure.ac-early): Remove section. + * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK. + * modules/tls (Depends-on): Remove lock. Add threadlib. + (Link): New section, copied from threadlib. + * MODULES.html.sh (Multithreading): Add threadlib. + +2008-08-14 Bruno Haible + + * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock, + glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock, + glthread_rwlock_unlock, glthread_rwlock_destroy, + glthread_recursive_lock_lock, glthread_recursive_lock_unlock, + glthread_recursive_lock_destroy): Define as macros always. + * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from + glthread_lock_lock. + (glthread_lock_unlock_func): Renamed from glthread_lock_unlock. + (glthread_lock_destroy_func): Renamed from glthread_lock_destroy. + (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock. + (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock. + (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock. + (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy. + (glthread_recursive_lock_lock_func): Renamed from + glthread_recursive_lock_lock. + (glthread_recursive_lock_unlock_func): Renamed from + glthread_recursive_lock_unlock. + (glthread_recursive_lock_destroy_func): Renamed from + glthread_recursive_lock_destroy. + +2008-08-14 Bruno Haible + + * lib/glthread/lock.h: Renamed from lib/lock.h. + * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes. + * lib/glthread/tls.h: Renamed from lib/tls.h. + * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes. + * lib/fstrcmp.c: Update includes. + * lib/strsignal.c: Update includes. + * modules/lock (Files, Makefile.am): Update. + (Include): Change to "glthread/lock.h". + * modules/tls (Files, Makefile.am): Update. + (Include): Change to "glthread/tls.h". + * tests/test-lock.c: Update includes. + * tests/test-tls.c: Update includes. + * NEWS: Mention the renamed header files. + +2008-08-11 Jim Meyering + + * lib/fts_.h: Fix grammar (insert a missing "is") in a comment. + +2008-08-11 Eric Blake + + test-c-stack: avoid C99-ism + * tests/test-c-stack.c (main): Fix whitespace, move declaration + before statement. + Reported by Alain Guibert. + +2008-08-10 Jim Meyering + + ensure that return value of uinttostr et al are not ignored + * lib/inttostr.h (__GNUC_PREREQ): Define. + (__attribute_warn_unused_result__): Define. + (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute. + +2008-08-07 Paolo Bonzini + + * lib/lock.c (glthread_recursive_lock_init_multithreaded) + [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo. + +2008-08-07 Jim Meyering + + * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/. + + * modules/mkstemp (License): Relicense under LGPLv2+. + * modules/tempname (License): Likewise. + +2008-08-06 Bruno Haible + + * lib/poll.c (poll): Further micro-optimization. + +2008-08-06 Jim Meyering + + inet_pton.c: use locale-independent tolower + * lib/inet_pton.c: Include rather than . + (inet_pton6): Use c_tolower rather than tolower. + * modules/inet_pton (Depends-on): Add c-ctype. + +2008-08-06 Paolo Bonzini + + * lib/poll.c (poll): Avoid division when timeout is 0, cache + _SC_OPEN_MAX, avoid repeated access to errno. Check for nfd < 0. + +2008-08-06 Jim Meyering + + * modules/inet_pton (License): Relicense under LGPLv2+. + +2008-08-03 Bruno Haible + + Additional non-aborting API for lock and tls. + * lib/lock.h: Include . + (glthread_lock_init): New macro/function. + (gl_lock_init): Define as wrapper around glthread_lock_init. + (glthread_lock_lock): New macro/function. + (gl_lock_lock): Define as wrapper around glthread_lock_lock. + (glthread_lock_unlock): New macro/function. + (gl_lock_unlock): Define as wrapper around glthread_lock_unlock. + (glthread_lock_destroy): New macro/function. + (gl_lock_destroy): Define as wrapper around glthread_lock_destroy. + (glthread_rwlock_init): New macro/function. + (gl_rwlock_init): Define as wrapper around glthread_rwlock_init. + (glthread_rwlock_rdlock): New macro/function. + (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock. + (glthread_rwlock_wrlock): New macro/function. + (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock. + (glthread_rwlock_unlock): New macro/function. + (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock. + (glthread_rwlock_destroy): New macro/function. + (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy. + (glthread_recursive_lock_init): New macro/function. + (gl_recursive_lock_init): Define as wrapper around + glthread_recursive_lock_init. + (glthread_recursive_lock_lock): New macro/function. + (gl_recursive_lock_lock): Define as wrapper around + glthread_recursive_lock_lock. + (glthread_recursive_lock_unlock): New macro/function. + (gl_recursive_lock_unlock): Define as wrapper around + glthread_recursive_lock_unlock. + (glthread_recursive_lock_destroy): New macro/function. + (gl_recursive_lock_destroy): Define as wrapper around + glthread_recursive_lock_destroy. + (glthread_once): New macro/function. + (gl_once): Define as wrapper around glthread_once. + Update function declarations. + * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from + glthread_rwlock_init. Return error code. + (glthread_rwlock_rdlock_multithreaded): Renamed from + glthread_rwlock_rdlock. Return error code. + (glthread_rwlock_wrlock_multithreaded): Renamed from + glthread_rwlock_wrlock. Return error code. + (glthread_rwlock_unlock_multithreaded): Renamed from + glthread_rwlock_unlock. Return error code. + (glthread_rwlock_destroy_multithreaded): Renamed from + glthread_rwlock_destroy. Return error code. + (glthread_recursive_lock_init_multithreaded): Renamed from + glthread_recursive_lock_init. Return error code. + (glthread_recursive_lock_lock_multithreaded): Renamed from + glthread_recursive_lock_lock. Return error code. + (glthread_recursive_lock_unlock_multithreaded): Renamed from + glthread_recursive_lock_unlock. Return error code. + (glthread_recursive_lock_destroy_multithreaded): Renamed from + glthread_recursive_lock_destroy. Return error code. + (glthread_once_call): Make static. + (glthread_once_multithreaded): Renamed from glthread_once. + * lib/tls.h: Include . + (glthread_tls_key_init): New macro/function. + (gl_tls_key_init): Define as wrapper around glthread_tls_key_init. + (glthread_tls_set): New macro/function. + (gl_tls_set): Define as wrapper around glthread_tls_set. + (glthread_tls_key_destroy): New macro/function. + (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy. + Update function declarations. + * lib/tls.c (glthread_tls_get_multithreaded): Renamed from + glthread_tls_get. + Suggested by Yoann Vandoorselaere . + +2008-08-04 Eric Blake + + gnumakefile: use space, not TAB, outside of targets + * top/GNUmakefile (_dummy): Fix whitespace error in prior edit. + +2008-08-02 Jim Meyering + + getdate.y: avoid locale-dependent date parsing failure + In Turkish locales, getdate would fail to recognize keywords + containing a lowercase "i". The solution is not to rely on + locale-sensitive case-conversion. + * lib/getdate.y: Include rather than . + (lookup_word): Use c_toupper in place of toupper. + (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too. + Reported by Vefa Bicakci in + . + * modules/getdate (Depends-on): Add c-ctype. + +2008-08-02 Bruno Haible + + * gnulib-tool (func_import): When updating or creating a .gitignore + file, prepend each added line with a slash, and ignore leading slashes + from the existing lines. + Reported by Joel E. Denny . + +2008-08-02 Ralf Wildenhues + + Portability fix for GNU make 3.79.1. + * top/GNUmakefile: Avoid 'else COND', which older GNU make + versions do not understand. + +2008-08-01 Bruno Haible + + Work around bug of HP-UX 10.20 cc with -0.0 literal. + * tests/test-isnanf.h (zero): New variable. + (main): Avoid literal -0.0f. + * tests/test-isnand.h (zero): New variable. + (main): Avoid literal -0.0. + * tests/test-isnanl.h (zero): New variable. + (main): Avoid literal -0.0L. + * tests/test-isnan.c (zerof, zerod, zerol): New variables. + (test_float, test_double, test_long_double): Avoid literals -0.0f, + -0.0, -0.0L. + * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f. + (test_signbitd): Avoid literal -0.0. + (test_signbitl): Avoid literal -0.0L. + * tests/test-ceilf1.c (zero): New variable. + (main): Avoid literal -0.0f. + * tests/test-ceill.c (zero): New variable. + (main): Avoid literal -0.0L. + * tests/test-floorf1.c (zero): New variable. + (main): Avoid literal -0.0f. + * tests/test-floorl.c (zero): New variable. + (main): Avoid literal -0.0L. + * tests/test-roundf1.c (zero): New variable. + (main): Avoid literal -0.0f. + * tests/test-round1.c (zero): New variable. + (main): Avoid literal -0.0. + * tests/test-roundl.c (zero): New variable. + (main): Avoid literal -0.0L. + * tests/test-truncf1.c (zero): New variable. + (main): Avoid literal -0.0f. + * tests/test-trunc1.c (zero): New variable. + (main): Avoid literal -0.0. + * tests/test-truncl.c (zero): New variable. + (main): Avoid literal -0.0L. + * tests/test-frexp.c (zero): New variable. + (main): Avoid literal -0.0. + * tests/test-frexpl.c (zero): New variable. + (main): Avoid literal -0.0L. + * tests/test-ldexpl.c (zero): New variable. + (main): Avoid literal -0.0L. + * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0. + (zerod, zerol): New variables. + (test_function): Avoid literals -0.0, -0.0L. + * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0. + (zerod, zerol): New variables. + (test_function): Avoid literals -0.0, -0.0L. + * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0. + (zerod, zerol): New variables. + (test_function): Avoid literals -0.0, -0.0L. + * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0. + (zerod, zerol): New variables. + (test_function): Avoid literals -0.0, -0.0L. + * tests/test-strtod.c (zero): New variable. + (main): Avoid literal -0.0. + Reported by Jonathan C. Patschke . + +2008-07-31 Jim Meyering + + sha256.h: correct definition of SHA224_DIGEST_SIZE + * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24. + Reported by Paulie Pena IV . + Define as 224 / 8, rather than as a literal. + (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal. + * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8. + (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8. + +2008-07-31 Bruno Haible + + * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work + on HP-UX 10.20 with "cc -Ae". Fix second conditional. + Reported by Jonathan Patschke . + +2008-07-31 Bruno Haible + + * gnulib-tool (func_import): Make change from 2008-06-23 more robust. + Reported by Paolo Bonzini . + +2008-07-30 Eric Blake + + test-strtod: allow compilation without -lm + * tests/test-strtod.c (main): Avoid link dependence on fabs. + Reported by Dennis Clarke . + +2008-07-28 Jim Meyering + + bootstrap: work also when there are no .po files in po/ + * build-aux/bootstrap (update_po_files): Complete the change + that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9. + +2008-07-27 Jim Meyering + + * users.txt: Add zile. + +2008-07-26 Ben Pfaff + + Add missing dependencies on new m4/exponent[fdl].m4 files. + * modules/isnanf-nolibm: Add m4/exponentf.m4. + * modules/isnand-nolibm: Add m4/exponentd.m4. + * modules/isnanl-nolibm: Add m4/exponentl.m4. + * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of + m4/isnan[fdl].m4, because the macros actually used moved. + Reported by Jim Meyering. + +2008-07-14 Ben Pfaff + + Add isinf module. + * lib/isinf.c: New file. + * lib/math.in.h: Define isinf macro if we have decided to replace + it. + * m4/isinf.m4: New file. + * m4/math_h.m4: Initialize and substitute variables for isinf + module. + * modules/isinf: New file. + * modules/isinf-tests: New file. + * modules/math: Add substitutions for new module. + * tests/test-isinf.c: New file. + * doc/posix-functions/isinf.texi: Mention new module. + * MODULES.html.sh: Mention new module. + +2008-07-14 Ben Pfaff - Based on an initial patch by Kjetil Torgrim Homme + Factor out some macros for use by additional modules. + * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file + exponentf.m4. + * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file + exponentd.m4. + * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new + file exponentl.m4. + * m4/exponentf.m4: New file. + * m4/exponentd.m4: New file. + * m4/exponentl.m4: New file. + * modules/isnanf: Use new file m4/exponentf.m4. + * modules/isnand: Use new file m4/exponentd.m4. + * modules/isnanl: Use new file m4/exponentl.m4. -2008-08-12 Raphael Pinson +2008-07-23 Ulrich Drepper - Pam: Use eol, indent, comment and empty from Util + mktime.c: normalize tp->tm_isdst value to -1/0/1. + * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value. + Reported by Michael Ringe in + . - Util: add eol, indent, comment and empty + * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after + readlink on platforms without PATH_MAX. - Pam: allow comments at the end of lines and leading spaces +2008-07-21 Eric Blake - Xinetd: better handling of whitespace - - allow indented comments - - allow spaces around "}" to close a service + Warn, not fail, on stale version. + * top/GNUmakefile (_curr-ver): Tone down previous patch. -2008-08-12 David Lutterkort + Don't allow installation with stale devel version number. + * top/GNUmakefile (_is-install-target): New macro. + (_curr-ver): Forbid installation with stale version number. - Exports: fix failing test - Exports.lns uses Hosts.comment .. since that changed, we also need to - change Exports.lns +2008-07-20 Bruno Haible -2008-08-12 Raphael Pinson + * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to + TESTS_ENVIRONMENT. + * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use. - Hosts: put comments into tree and better whitespace handling - - allow spaces at the end of the line - - allow indentation at the beginning of entries - - allow indented comments - - show comments as fields and ignore empty lines and empty comments +2008-07-20 Bruno Haible - Handle indentation for Sudoers - Allow indentation for every field - cmnd_spec: use sto_to_com_cmnd (allows spaces) - Add a test with new tricky commands in spec + * lib/c-stack.h (c_stack_action): Add documentation. + * lib/c-stack.c (c_stack_action): Remove incomplete documentation. - Various small fixes for Sudoers - Deal with empty comments in empty. - Add "!" as a valid parameter delimiter in Defaults. - Make tests a bit more interesting in test_sudoers.aug. +2008-07-20 Bruno Haible - Sudoers: fix Runas_Spec - sep_cont is not mandatory after runas_spec. - Remove a space after a runas_spec in the test. + * modules/canonicalize-lgpl (License): Relicense under LGPLv2+. + * modules/readlink (License): Likewise. - Sudoers: various fixes for Defaults - Do not allow "Defaults.*" as user name for spec (instead of "Defaults"). - Simplify Defaults type from (@|:|>) into [@:>]. - Make a specific regexp for Defaults value to allow spaces. - Add a test line in test_sudoers.aug to test a more complex Defaults line. +2008-07-17 Eric Blake - Add sudoers lens and associated test + * modules/c-stack (Link): Fix typo. -2008-08-11 David Lutterkort + Make c-stack use libsigsegv, when available. + * modules/c-stack (Depends-on): Add libsigsegv. + * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if + needed. + * lib/c-stack.c (SIGSTKSZ): Define fallback. + (segv_handler, overflow_handler, c_stack_action) + [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new + implementation when libsigsegv is available, but only when using + the library is necessary. + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add + comment, explaining why XSI check fails on Linux. + (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK. + * tests/test-c-stack2.sh: Tweak skip message. + * NEWS: Document new link-time requirements. - Test for continuation lines +2008-07-16 Eric Blake -2008-08-11 David Lutterkort + c-stack: Expose false positives when not using libsigsegv. + * modules/c-stack-tests (Files): Expand test. + * tests/test-c-stack.c (main): Add means to conditionally trigger + non-overflow SIGSEGV. + * tests/test-c-stack2.sh: New file. - Posix ERE compliant escaping - Posix extended regular expressions treat a backslash outside of a character - class always as an escape character, with the character sequence '\\x' - being identical to 'x', even if 'x' is a special char like '['. +2008-07-14 Bruno Haible - Inside character classes, the backslash does not escape anything, and is - treated as an ordianry character. + * m4/libsigsegv.m4: Remove unneeded AC_PREREQ. + Reported by Eric Blake. - See regex(7) or - http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html#tag_09_04 +2008-07-14 Sam Steingold + Bruno Haible -2008-08-09 David Lutterkort + New module libsigsegv. + * modules/libsigsegv: New file. + * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with + modifications. + * MODULES.html.sh (Signal handling): New section. - Revamp the dict data structure - Dicts were simple linked lists of key/value pairs, and appending and - searching on those lists caused serious slowdown when the dicts became - large, for example when writing an /etc/hosts file with > 2000 lines. +2008-07-14 Bruno Haible - Dicts are now organized as arrays that are kept sorted by the key, and - lookup is done through binary search. Though this is still quadratic in - theory, it behaves linearly in practice even for a very large /etc/hosts - file (~ 60k lines); when keys appear in order (e.g. when they are generated - by a sequence) or when all entries fall under one key, adding an entry to a - dict is O(log n). + * modules/unictype/ctype-* (Description): Add the word "function". + Improves the resulting doc in MODULES.html. -2008-08-09 David Lutterkort +2008-07-12 Ben Pfaff - Don't use registers in split_iter - The data in the registers was never used, calculating it causes some - overhead in the matcher. + Add longlong module. + * modules/longlong: New file. -2008-08-08 David Lutterkort +2008-07-12 Bruno Haible - Eliminate unneeded calls to regexp_match in split_iter + * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM + to empty. - Don't call regexp_match when we know that there is no match - It is common in the put direction that we try and split when we're already - inside a leaf node. In that case, we know that there is no possible split, - and therefore can save the trouble of calling regexp_match. +2008-07-10 Ben Pfaff -2008-08-08 David Lutterkort + Add isnan module. + * doc/posix-functions/isnan.texi: Mention new module. + * lib/math.in.h: Define isnan macro if we have decided to replace + it. + * m4/isnan.m4: New file. + * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new + macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality + also. + (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce + redundancy. + * m4/math_h.m4: Initialize and substitute variables for isnan + module. + * modules/isnan: New file. + * modules/isnan-tests: New file. + * modules/math: Add substitutions for new module. + * tests/test-isnan.c: New file. + * MODULES.html.sh: Mention new module. + +2008-07-10 Ben Pfaff + + Add isnanf module. + * lib/isnanf.m4: New file. + * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro. + (gl_HAVE_ISNANF_IN_LIBM): New macro. + (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF, + gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN. + * modules/isnanf: New file. + * modules/isnanf-tests: New file. + * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of + files. + * tests/test-isnanf-nolibm.c: factored most of its contents into + new file tests/test-isnanf.h. + * tests/test-isnanf.h: New file. + * tests/test-isnanf.c: New file. + * MODULES.html.sh: Mention new module. + * doc/glibc-functions/isnanf.texi: Mention new module. + +2008-07-10 Ben Pfaff + + Add isnand module. + * lib/isnand.h: New file. + * m4/isnand.m4 (gl_FUNC_ISNAND): New macro. + (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro + gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that + functionality also. + (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND, + gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN. + (gl_HAVE_ISNAND_IN_LIBM): New macro. + * modules/isnand: New file. + * modules/isnand-tests: New file. + * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of + files. + * tests/test-isnand-nolibm.c: factored most of its contents into + new file tests/test-isnand.h. + * tests/test-isnand.h: New file. + * tests/test-isnand.c: New file. + * MODULES.html.sh: Mention new module. - Avoid O(n^2) runtime by appending to lists in constant time - The data structure used to keep track of successive matches of an iterated - lens, a split list, was being appended to by traversing the list for each - new element. Now, we remember the last element on the list and append in - constant time. +2008-07-10 Ben Pfaff - The same was true in a few other places: the building of a tree and of - skeletons suffered from the same problem. + * lib/isnanf.h: Rename lib/isnanf-nolibm.h. + * lib/isnand.h: Rename lib/isnand-nolibm.h. + * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c. + * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c. + * modules/isnanf-nolibm: Update references to renamed files. + * modules/isnand-nolibm: Likewise. + * modules/isnanf-nolibm-tests: Likewise. + * modules/isnand-nolibm-tests: Likewise. + * lib/frexp.c: Likewise. + * lib/isfinite.c: Likewise. + * lib/signbitd.c: Likewise. + * lib/signbitf.c: Likewise. + * lib/vasnprintf.c: Likewise. + * tests/test-ceilf1.c: Likewise. + * tests/test-ceilf2.c: Likewise. + * tests/test-floorf1.c: Likewise. + * tests/test-floorf2.c: Likewise. + * tests/test-frexp.c: Likewise. + * tests/test-round1.c: Likewise. + * tests/test-round2.c: Likewise. + * tests/test-roundf1.c: Likewise. + * tests/test-strtod.c: Likewise. + * tests/test-trunc1.c: Likewise. + * tests/test-trunc2.c: Likewise. + * tests/test-truncf1.c: Likewise. + * tests/test-truncf2.c: Likewise. + * NEWS: Mention the renamed header files. - Dicts still have that problem - they need to be changed to hash tables to - address this issue. +2008-07-11 Jim Meyering -2008-08-08 David Lutterkort + vc-list-files: make the last-resort awk code more portable + * build-aux/vc-list-files: Don't rely on awk's "sub" command. + /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56 + does not support it. - Add list_reverse and list_tail_cons - list_reverse reverses a list in place. list_tail_cons appends to a list in - constant time, since it is given a pointer to the tail of the list. +2008-07-10 Eric Blake -2008-08-07 David Lutterkort + Work with tar's bootstrap. + * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case + where LIBSOURCES_DIR contains .#bootmp but must not be treated as + an m4 comment. + +2008-07-09 Jim Meyering + + posix-shell.m4: fix typo that made this test malfunction + * m4/posix-shell.m4: Remove capitalization in variable name. - Added tag release-0.3.0 for changeset 60f2a13c2528 +2008-07-08 Bruno Haible - Release 0.3.0 + * m4/onceonly.m4: Update comments. + Reported by Ben Pfaff . - Mention the exit status +2008-07-04 Jim Meyering - Version libfa and libaugeas - Use libtool's version support to properly version these two libraries. For - libaugeas, we also bump the minor version, since we just added aug_mv to - the interface. + * users.txt: Add vc-dwim. + (bison, coreutils): Use the gitweb URL. -2008-08-07 David Lutterkort +2008-07-03 Jim Meyering - Check that 'put' fails when invalid tree entries are present - put_quant_star and create_quant_star did not compare the part of the tree - they should transform against the part of the tree they actually - transformed. This lead to parts of the tree getting ignored during 'put' if - the tree contained invalid nodes, and ultimately to files getting - truncated. + * users.txt: Add libffcall. From Sam Steingold. - This is now checked and causes a 'Short iteration' error, avoiding file - truncation. The fix also uncovered an error in the test for Aptsources.lns, - where an invalid tree node was put into the tree, but did not lead to a - test failure. +2008-07-03 Ondřej Vašík - Fixes bug https://fedorahosted.org/augeas/ticket/1 + getdate.y: do not ignore TZ with relative day, month or year offset + * lib/getdate.y (get_date): Move the tz-handling block to follow the + relative-date-handling, since otherwise, the latter would clobber the + sole output (an updated Start value) of the tz-handling block. + * tests/test-getdate.c: Tests for the fix -2008-08-07 David Lutterkort +2008-07-03 Ralf Wildenhues - Return an exit status from augtool - augtool will return a non-zero exit status if any command issued - failed. This is useful when piping multiple commands into augtool to check - that they all succeeded. + Recognize 'foo_LIBRARIES += libgnu.a'. + * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a + makefile snippet has already specified an installation location, + also using '+='. -2008-07-29 David Lutterkort +2008-07-02 Ondřej Vašík - Fix failures on FreeBSD - (1) Point augtool at the lenses in the source dir (not FreeBSD problem, - happens whenever Augeas is not installed yet) - (2) Remove bashism 'echo $"..."' with 'echo -e "..."' + getdate.y: factor out common actions + * lib/getdate.y (apply_relative_time, set_hhmmss): New functions. + Use them in place of open-coded actions. - Quiet the test +2008-07-01 Simon Josefsson -2008-07-29 Raphael Pinson + Add self-test for getdate module. + * modules/getdate-tests: New file. + * tests/test-getdate.c: New file. - Use regexp union instead of lens union in php.aug - Using a union of regexps is much faster than a union of lenses, since the - regular expressions that are constructed internally are much simpler. +2008-06-29 Bruno Haible -2008-07-25 Raphael Pinson + * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or + .gitignore. + Reported by Sylvain Beucler . - Fix php.aug now that inifile.aug supports spaces in values +2008-06-29 Bruno Haible - Add PHP module and associated (basic) test file + * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option. + * m4/gnulib-tool.m4: Update to match current gnulib-tool. -2008-07-29 Raphael Pinson +2008-06-29 Bruno Haible - Use regexp union instead of lens union in dput.aug - Using a union of regexps is much faster than a union of lenses, since the - regular expressions that are constructed internally are much simpler. + * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into + EXTRA_DIST. + Reported by Sylvain Beucler . -2008-07-25 Raphael Pinson +2008-06-26 Jim Meyering - Rewrite dput.aug using inifile.aug Add a few keywords from man dput.cf Fix test file after rewrite + make several modules depend on the "open" module + This provides slightly increased consistency when opening-for-write + the name of a non-directory spelled with a trailing slash. + * modules/chdir-safer: Likewise. + * modules/chown: Likewise. + * modules/clean-temp: Likewise. + * modules/copy-file: Likewise. + * modules/fchdir: Likewise. + * modules/fcntl-safer: Likewise. + * modules/pipe: Likewise. + * modules/utime: Likewise. + Prompted by Eric Blake and Bruno Haible. - Allow spaces in entry values +2008-06-24 Andreas Schwab - Allow spaces in titles + * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound + literals can be used as initializers for global variables. - Fix empty comments in INI file +2008-06-23 Eric Blake -2008-07-29 David Lutterkort + Make gnulib-cache.m4 easier to diff. + * gnulib-tool (func_import): Allow newlines when reading cached + gl_MODULES, and generate newlines when creating gnulib-cache.m4. - Include canonicalize.h - On non-glibc systems, we need to make sure canonicalize_file_name is - declared from gnulib. +2008-06-23 Bruno Haible - Fail the whole test if one of the lens tests fails + * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro. + (gl_PREREQ_SIGPROCMASK): Don't invoke it. + * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from + m4/signalblocking.m4. + (gl_PREREQ_SIGACTION): Don't invoke it. + * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke + gl_PREREQ_SIG_HANDLER_H. + * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise. + Don't check for sigaction here. -2008-07-28 David Lutterkort +2008-06-23 Bruno Haible - Add a call to move a subtree to the public API + * lib/fatal-signal.c (fatal_signal_handler): Update comment. + (install_handlers): Don't set the SA_RESETHAND flag. -2008-07-26 David Lutterkort +2008-06-23 Bruno Haible - Refactor tree_create + * m4/sigaction.m4: Comment fixes. + * lib/signal.in.h: Likewise. - Don't run the typechecker by default from try +2008-06-23 Eric Blake -2008-07-24 David Lutterkort + Fix typo. + * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator. - Flatten the tree of lenses - For union and concat, we used to store multiple unions/concats in a binary - tree. Now, the tree is flattened and a string of concats is stored as one - lens. + Avoid SA_ namespace. + * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK. + Reported by Ralf Wildenhues. - Allow a key and store in each branch of a union + Avoid test failure due to SA_RESTORER. + * tests/test-sigaction.c (SA_MASK): New macro. + (main): Avoid failing due to extension flags being set. + Reported by Jim Meyering. - lns_key_regexp: store does not do anything about the key - We used to generate tree nodes with a NULL label for a STORE, but that is - no longer the case, and therefore the STORE lens should not produce any key - regexp. + Revert use of sig-handler.h in sigprocmask.c. + * modules/sigprocmask (Files): Don't rely on sig-handler.h, since + it requires the existence of struct sigaction. + * lib/sigprocmask.c (handler_t): Restore typedef. + (rpl_signal, old_handlers): Use local type. + +2008-06-22 Bruno Haible - Correctly handle saving to nonexistant files + * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test + conditionally. + Reported by Albert Chin . + +2008-06-22 Bruno Haible + + * doc/posix-functions/siginterrupt.texi: Move note. + + * lib/signal.in.h (SA_RESTART): New macro. + * lib/sigaction.c: Update comment. + + * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS. + + * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro. + (gl_PREREQ_SIGPROCMASK): Invoke it. + * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise. + + * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed. + + * lib/sigprocmask.c: Update a comment. + +2008-06-21 Eric Blake + + Use sigaction module rather than signal(). + * modules/c-stack (Depends-on): Add sigaction. + * modules/fatal-signal (Depends-on): Likewise. + * modules/nanosleep (Depends-on): Likewise. + * modules/sigprocmask (Files): Add sig-handler.h. + * modules/sigaction (Files): Likewise. + * lib/sig-handler.h (get_handler): New file, suggested by Paul + Eggert. + * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions. + (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal. + * lib/fatal-signal.c (uninstall_handlers, install_handlers) + (init_fatal_signals): Likewise. + * lib/nanosleep.c (rpl_nanosleep): Likewise. + (siginterrupt): Delete fallback. + * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t + instead. + * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for + siginterrupt. + + New module sigaction, for mingw. + * modules/sigaction: New module... + * modules/sigaction-tests: ...and its test. + * m4/sigaction.m4: New file. + * lib/sigaction.c: Likewise. + * tests/test-sigaction.c: Likewise. + * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables. + * modules/signal (Makefile.am): Likewise. + * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when + needed. + * doc/posix-headers/signal.texi (signal.h): Mention provided + types. + * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention + that sigaction is preferable. + * doc/posix-functions/sigaction.texi (sigaction): Mention new + module. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + sigaction. - Store system errors - When encountering system errors while reading or writing a file, extract - the full error message corresponding to errno and store it in error/message + Improve robustness of sigprocmask by overriding signal. + * lib/signal.in.h (rpl_signal): Override signal when sigprocmask + is in use. + * lib/sigprocmask.c (blocked_handler): Reinstall block handler. + (SIGKILL, SIGSTOP): Provide fallbacks. + (rpl_signal): Implement. + (old_handlers, blocked_set): Mark volatile, since sigprocmask and + signal can be called inside handlers. -2008-07-23 Raphael Pinson + Fix nanosleep module on mingw. + * modules/nanosleep (Depends-on): Add sys_select. + * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module. - Add AptPreferences module and associated test + Fix licensing of sigprocmask. + * modules/raise (License): Relicense as LGPL. - Add bbhosts module and associated test +2008-06-21 Bruno Haible - Add ntp module and associated test + * lib/propername.c (proper_name_utf8): Don't use the transliterated + result if it contains question marks. + Reported by Michael Geng . - Add logrotate and associated test +2008-06-19 Bruno Haible - Add support for end of line comments in entry* Add new entry* lenses for comments_nosharp Make more generic entry and comment lenses Update test_inifile.aug to test end of line comments + Fix CVS-ism. + * doc/gnulib.texi: Include updated-stamp.texi. + * doc/Makefile (GNULIB_TEXI_FILES): New variable. + (updated-stamp.texi): New rule. + (gnulib.info): Depend on it. + * doc/.gitignore: Add updated-stamp.texi. + Based on a patch by Thien-Thi Nguyen . - Add inifile generic module and associated test module +2008-06-19 Bruno Haible -2008-07-22 David Lutterkort + * doc/Makefile (gnulib.info): Update and simplify dependencies. + Reported by Thien-Thi Nguyen . - Fix segfault when running 'augtool print' +2008-06-19 Eric Blake -2008-07-21 David Lutterkort + Fix VPATH 'make dist' with GNU make and non-VCS tarball. + * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily. + Reported by Stepan Kasal. + +2008-06-18 Bruno Haible + + * lib/fatal-signal.c (init_fatal_signals): Add comment. + Reported by Eric Blake. + +2008-06-18 Eric Blake + + Work around cygwin 1.5.25 strsignal bug. + * tests/test-strsignal.c: Allow for const char *. + * doc/glibc-functions/strsignal.texi (strsignal): Document the bug. + +2008-06-18 Simon Josefsson + + * users.txt: Update URL to article and add author/date + information. + +2008-06-17 Bruno Haible + + New macro gl_DISABLE_THREADS. + * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default + if the user did not pass --enable-threads or --disable-threads option. + (gl_DISABLE_THREADS): New macro. + Reported by Eric Blake . + +2008-06-17 Bruno Haible + + * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also + when the macro ignores it. + Based on a patch by Eric Blake . + +2008-06-17 Bruno Haible + + * modules/tls (License): Change to LGPLv2+. + Reported by Eric Blake. + +2008-06-17 Eric Blake + + Simplify c-stack prerequisites. + * lib/c-stack.c (includes): Remove unused . + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x + no longer requires to exist. Optimize setrlimit + check. + (gl_PREREQ_C_STACK): Remove check for unused getcontext and + . + + Move c-stack test into testsuite. + * modules/c-stack-tests: New file. + * lib/c-stack.c [DEBUG]: Move test program... + * tests/test-c-stack.c: ...into this new file. Skip rather than + fail test if sigaltstack is lacking. + * tests/test-c-stack.sh: New driver file. + +2008-06-16 Eric Blake + + Use raise module consistently. + * modules/fatal-signal (Depends-on): Add raise. + * modules/sigprocmask (Depends-on): Likewise. + * lib/fatal-signal.c (fatal_signal_handler): Rely on raise. + * lib/sigprocmask.c (sigprocmask): Likewise. + * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise. + * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise. + + Fix compliance bug in sigpending. + * lib/sigprocmask.c (sigpending): Return pending array via + parameter, not return value. - Canonicalize file names before writing - We used to clobber symlinks because writing a file consists of writing to - an intermediate .augnew file, and then moving that over the target file. To - keep target files that are symlinks intact, we now canonicalize the target - filename and then move the intermediate file to the canonicalized target - file. +2008-06-14 Eric Blake + + Improve obstack-printf test code. + * tests/test-obstack-printf.c (test_function): Fix comment, and + simplify usage of obstack_* in macros. Add a test for coverage. + Reported by Bruno Haible. - Avoid picking '\0' in examples. - Now, we only pick '\0' as the example character for a transition if it is - the only char for that transition. +2008-06-14 Bruno Haible + + * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated + array size as a constant, not as a const variable. + * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require + AC_USE_SYSTEM_EXTENSIONS. + * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise. + Test whether the obstack_printf function actually exists. + * modules/obstack-printf (Depends-on): Add extensions. + (Include): Remove obstack.h. + * modules/obstack-printf-posix (Depends-on): Add extensions. + (Include): Remove obstack.h. + +2008-06-13 Eric Blake + + Add obstack-printf and obstack-printf-posix modules. + * modules/obstack-printf: New file. + * modules/obstack-printf-posix: Likewise. + * MODULES.html.sh (Misc): Mention them. + * doc/glibc-functions/obstack_printf.texi (obstack_printf): + Likewise. + * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): + Likewise. + * modules/stdio (Makefile.am): Accomodate new modules. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise. + * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf): + Declare. + * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New + functions. + * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF) + (gl_REPLACE_OBSTACK_PRINTF): New macros + * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise. + * tests/test-obstack-printf.c: New file. + * modules/obstack-printf-tests: Likewise. + * modules/obstack-printf-posix-tests: Likewise. + +2008-06-11 Bruno Haible + + * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug. + * lib/open.c: Include errno.h. + (open): Fail when attempting to write to a file that has a trailing + slash. + * tests/test-open.c (main): Test against trailing slash bug. + * doc/posix-functions/open.texi: Mention the trailing slash bug. + +2008-06-10 Bruno Haible + + * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed + for $? to work inside the trap command, with various /bin/sh-s. + * tests/test-vc-list-files-cvs.sh: Likewise. + +2008-06-10 Bruno Haible + + * lib/acl-internal.h: Don't include gettext.h here. + * lib/set-mode-acl.c: Include gettext.h here. + * lib/copy-acl.c: Likewise. + +2008-06-10 Bruno Haible + + * lib/wait-process.h (wait_subprocess): Add termsigp argument. + * lib/wait-process.c (wait_subprocess): Likewise. + * lib/execute.h (execute): Add termsigp argument. + * lib/execute.c (execute): Likewise. + * lib/csharpcomp.c (compile_csharp_using_pnet, + compile_csharp_using_mono, compile_csharp_using_sscli): Update. + * lib/csharpexec.c (execute_csharp_using_pnet, + execute_csharp_using_mono, execute_csharp_using_sscli): Update. + * lib/javacomp.c (compile_using_envjavac, compile_using_gcj, + compile_using_javac, compile_using_jikes, is_envjavac_gcj, + is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present, + is_jikes_present): Update. + * lib/javaexec.c (execute_java_class): Update. + * lib/javaversion.c (execute_and_read_line): Update. + * NEWS: Document the changes. + Reported by Eric Blake. + +2008-06-10 Eric Blake + + Add missing include. + * tests/test-strstr.c (includes): Add . + * tests/test-strcasestr.c (includes): Likewise. + * tests/test-memmem.c (includes): Likewise. + +2008-06-10 Bruno Haible + + * lib/wait-process.c (wait_subprocess): Add an assertion. + +2008-06-10 Bruno Haible + + * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code. + +2008-06-10 Bruno Haible + + * tests/test-memmem.c (main): Reset SIGALRM to default handling before + using alarm(). + * tests/test-strcasestr.c (main): Likewise. + * tests/test-strstr.c (main): Likewise. + +2008-06-09 Bruno Haible + + Work around the Solaris 10 ACE ACLs ABI change. + * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't + declare if ACL_NO_TRIVIAL is present. + (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE, + NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE, + NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros. + * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't + define if ACL_NO_TRIVIAL is present. + (acl_ace_nontrivial): Detect whether the old or new ABI is in use, + and use the current ABI. + (file_has_acl): Use same #if condition as elsewhere. + * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is + in use, and use the current ABI. + * doc/acl-resources.txt: More doc about newer Solaris 10 versions. + Reported by Jim Meyering. + +2008-06-09 Eric Blake + + Work around environments that (stupidly) ignore SIGALRM. + * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling + before using alarm(). + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise. + Reported by Ian Beckwith . + + Produce autobuild blurb earlier in log. + * modules/autobuild (configure.ac-early): Move AB_INIT here. + +2008-06-09 Jim Meyering + and Ondřej Vašík + + utimens.c: correct kernel bug work-around + Ondřej Vašík found that the invalid return value of 280 indicates + failure, not success, and the kernel bug we're trying to work + around affects not just the utimensat call, but also the fallback + futimens call. + * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure, + not success. + [HAVE_FUTIMENS]: Use the same work-around, here. -2008-07-18 David Lutterkort +2008-06-09 Jim Meyering - Added tag release-0.2.2 for changeset e7f6d16e75df + add more guards around definition of ACE_-related code + * lib/file-has-acl.c (acl_ace_nontrivial): Define only if + ALLOW and ACE_OWNER are also defined. - Release 0.2.2 +2008-06-08 Bruno Haible - Rename rule because FreeBSD's make chokes on it - Rename the rule .FORCE-datadir.h to FORCE-datadir.h + * lib/acl-internal.h: Add me as co-author. + * lib/file-has-acl.c: Likewise. + * lib/set-mode-acl.c: Likewise. + * lib/copy-acl.c: Likewise. - Sample dput.cf for dput lens +2008-06-08 Bruno Haible - Lens for Debian's dput files - Contributed by Raphael Pinson + Add support for AIX ACLs. + * lib/acl-internal.h (acl_nontrivial): New declaration. + * lib/file-has-acl.c (acl_nontrivial): New function. + (file_has_acl): Add implementation using AIX 4 ACL API. + * lib/set-mode-acl.c (qset_acl): Likewise. + * lib/copy-acl.c (qcopy_acl): Likewise. -2008-07-17 David Lutterkort +2008-06-08 Bruno Haible - augtool: Print '(none)' when getting a path with no value - The output used to be mangled. Now it is 'path = value' if hte path has a - non-NULL value, 'path (none)' if the path exists but has a NULL value, and - 'path (o)' if an error occurred. + Add support for HP-UX ACLs. + * lib/acl-internal.h (acl_nontrivial): New declaration. + * lib/file-has-acl.c (acl_nontrivial): New function. + (file_has_acl): Add implementation using HP-UX 11 ACL API. + * lib/set-mode-acl.c (qset_acl): Likewise. + * lib/copy-acl.c (qcopy_acl): Likewise. - Added tag release-0.2.1 for changeset 13fdcd9bb18a +2008-06-08 Bruno Haible -2008-07-17 David Lutterkort + Add support for Cygwin ACLs. + * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API. + * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away + the chmod_or_fchmod call. + * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise. - aliases.aug: Do not require whitespace after commas - It's perfectly fine to have an alias like 'alias: target1,target2' +2008-06-08 Bruno Haible - Bug reported by Greg Swift + Fix bug with setuid modes in Solaris 10+ code. + * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set + succeeded, when the mode contains some special bits. -2008-07-16 David Lutterkort +2008-06-08 Bruno Haible + + Add support for Solaris 7..10 ACLs. + * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New + declarations. + * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New + functions. + (file_has_acl): Add implementation using Solaris 7..10 ACL API. + * lib/set-mode-acl.c (qset_acl): Likewise. + * lib/copy-acl.c (qcopy_acl): Likewise. + +2008-06-08 Bruno Haible + + * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New + declaration. + * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function. + (acl_access_nontrivial): Remove MacOS X case. + (file_has_acl): Use acl_extended_nontrivial. + * lib/copy-acl.c (qcopy_acl): Likewise. + +2008-06-08 Bruno Haible + + * lib/set-mode-acl.c (qset_acl): Trivial code simplifications. + +2008-06-08 Jim Meyering + + * modules/acl (Maintainer): Add Bruno Haible. - Fix insertion before the first child - Inserting a node as the new first child was completely broken. +2008-06-07 Bruno Haible - Bug reported by Raphael Pinson. + Improve support for Tru64 ACLs. + * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT + ACL on OSF/1. -2008-07-16 David Lutterkort +2008-06-07 Bruno Haible - Add support for 'insert' in unit tests - Two new primitives 'insa' (insert after) and 'insb' (insert before) are - added so that unit tests can modify the tree through insert, as in + Add support for MacOS X ACLs. + * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of + ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT. + * lib/set-mode-acl.c (qset_acl): Likewise. + * lib/copy-acl.c (qcopy_acl): Likewise. - test lns put str after - insa label path = str2 +2008-06-07 Bruno Haible - It would be nice to kill insert with one primitive, but that would have - either required special syntax (like 'ins STR before/after STR') or some - addition to the type system to make it syntactically reasonable. + Fix memory leak introduced on 2008-05-22. + * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after + use. -2008-07-09 David Lutterkort +2008-06-07 Bruno Haible - Test that putting into an empty string works + * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(), + to construct an empty ACL. - Initialize state->pos in lns_parse and lns_get - Otherwise, get and parse on an empty string will produce a 'short - iteration' error, even if the empty string is acceptable for that lens. +2008-06-07 Bruno Haible -2008-07-07 David Lutterkort + * lib/set-mode-acl.c (chmod_or_fchmod): Document return value + precisely. + * lib/copy-acl.c (qcopy_acl): Trivial code simplifications. - Put the default dir for lenses into DATADIR (the real fix) - Reworks 527:14602e2757dd in a way that actually works and conforms to the - GNU coding standards. +2008-06-07 Bruno Haible - Most of this fix suggested by Jim Meyering, I only touched it up a little - (and no doubt introduced all the bugs). + * lib/copy-acl.c (qcopy_acl): Make the #if branches independent. + * lib/set-mode-acl.c (qset_acl): Choose better local variable names. -2008-07-07 David Lutterkort +2008-06-07 Bruno Haible - Check for NULL values in the put direction of store - This is now flagged as an error instead of causing a segfault. + * doc/posix-functions/_setjmp.texi: Explain the use of this function + regardless of POSIX. + * doc/posix-functions/_longjmp.texi: Likewise. + * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a + SystemV platform in this case. -2008-07-03 David Lutterkort +2008-06-06 Eric Blake - Lens for /etc/exports + Document abort() bugs. + * doc/posix-functions/abort.texi (abort): Mention anomalies. -2008-07-01 David Lutterkort + * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp. + * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has + sigsetjmp. + * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has + siglongjmp, but only as a macro. + * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this + is obsolete. + * doc/posix-functions/_setjmp.texi (_setjmp): Likewise. - Release 0.2.1 + Tweak documentation to cover cygwin argz bugs. + * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin + argz bug fix; no code change needed since no cygwin releases + occurred between the last fix and the bug being tested. + * doc/glibc-functions/argz_add.texi (argz_add): Document the argz + module and recently fixed cygwin bugs. + * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise. + * doc/glibc-functions/argz_append.texi (argz_append): Likewise. + * doc/glibc-functions/argz_count.texi (argz_count): Likewise. + * doc/glibc-functions/argz_create.texi (argz_create): Likewise. + * doc/glibc-functions/argz_create_sep.texi (argz_create_sep): + Likewise. + * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise. + * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise. + * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise. + * doc/glibc-functions/argz_next.texi (argz_next): Likewise. + * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise. + * doc/glibc-functions/argz_stringify.texi (argz_stringify): + Likewise. - distclean-local: Do not clobber build/aux + Avoid gcc warning on cygwin. + * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE && + !ACL_NO_TRIVIAL]: Avoid unused variable. - Suppress generated manpages +2008-06-05 Eric Blake -2008-06-30 David Lutterkort + Be tolerant of UNKNOWN version in gnulib-tool test dir. + * top/GNUmakefile (_dummy): Warn rather than reconfigure if + git-version-gen fails to come up with a version. + Reported by Simon Josefsson. - Put the default dir for lenses into DATADIR - Instead of hardcoding the default dir for lenses to somewhere in '/usr', - look in DATADIR - that's after all where the default lenses are installed - if DATADIR (or PREFIX) is changed. +2008-06-05 Jim Meyering + Paul Eggert - Man page for augparse + utimens.c: work around a probable Linux kernel bug + * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what + appears to be a kernel bug that causes utimensat to return 280 + instead of 0, indicating success. - Put Augeas version into footer +2008-06-04 Bruno Haible -2008-06-23 David Lutterkort + * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes + 2008-06-01 commit. - Auto-generate the ChangeLog file from mercurial logs - Reviewed-by: David Lutterkort +2008-06-04 Bruno Haible -2008-06-13 David Lutterkort + * lib/acl-internal.h (acl_access_nontrivial): New declaration. + * lib/file-has-acl.c (acl_access_nontrivial): New function. + (file_has_acl): Use it. Save errno afterwards. + * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial. - Fix two problems in the grub lens - (1) The grub lens did not handle blank lines - (2) Ubuntu uses 'quiet' in its boot stanzas, which we didn't know about +2008-06-03 Bruno Haible - Reported by Jason Dobies + * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX- + draft code. Simplify #ifs. + * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL. + Put Solaris code after POSIX-draft code. Fix comments regarding + Solaris 10, HP-UX. Mention Cygwin. + * lib/copy-acl.c (qcopy_acl): Simplify #ifs. -2008-06-13 David Lutterkort +2008-06-03 Eric Blake - Produce more helpful errors - The previous check whether we could proces the entire input was too crude - and produced the unhelpful error message "Get could not process entire - input", pointing to the start of the string, even if the problem was much - farther down the line. + Provide fallback for older kernels. + * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]: + Provide runtime fallback if kernel lacks support. + Reported by Mike Frysinger. - With this change, error messages contain an indication to where the error - happened that is a little closer to the actual trouble spot. +2008-06-02 Bruno Haible -2008-06-12 David Lutterkort + * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if + it exists. - Check that we take the right branch in a union +2008-06-02 Bruno Haible - Process /etc/sysconfig/selinux - Patch by Alan Pevec + * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry. + * lib/copy-acl.c (qcopy_acl): Update comment. -2008-06-12 David Lutterkort +2008-06-02 Bruno Haible - Fix segfault when aug_init/close are called multiple times - The way we cached the regexp '[0-9]+/' was totally botched. We now allocate - the pattern statically in memory and pin it to protect it from being freed, - ever. + * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft + like ACL APIs. - Reported by Harald Hoyer +2008-06-02 Bruno Haible -2008-06-06 David Lutterkort + * tests/test-file-has-acl.sh: Use different code for Cygwin. + * tests/test-set-mode-acl.sh: Likewise. + * tests/test-copy-acl.sh: Likewise. + * tests/test-copy-file.sh: Likewise. - Initialize out parameters +2008-06-02 Bruno Haible -2008-06-06 David Lutterkort + * tests/test-file-has-acl.sh: Remove unused code. - Change struct fields of type (const char *) to (char *) - There were many places where struct fields were declared (const char *) but - then used as (char *) - mostly to free them. Remove the 'const' from those - fields. +2008-06-01 Bruno Haible - I would really appreciate if somebody could look over these and make sure I - don't throw away constness in too many places. It seems strange to declare a - field as non-const, even if the string referenced by it is never modified, - and only ever free'd when the enclosing struct is free'd. + * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl. + (copy_acl): Just a wrapper around qcopy_acl that emits the error + messages. + * lib/set-mode-acl.c (qset_acl): Document return value precisely. -2008-06-05 David Lutterkort +2008-06-01 Bruno Haible - Added tag release-0.2.0 for changeset d23f95cd13f3 + * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris + tests. Test for libpacl, needed for OSF/1. Test for extended ACLs, + needed for MacOS X. Test for HP-UX API. Test for newer and older AIX + APIs. + * modules/acl-tests (configure.ac): Remove tests now contained in + m4/acl.m4. - Release 0.2.0 +2008-06-02 Jim Meyering -2008-06-03 David Lutterkort + announce-gen: use a better key-server host name + * build-aux/announce-gen (main): Recommend keys.gnupg.net, since + it may be more consistently reliable. Suggested by Werner Koch + in . - Remove bashisms from test scripts - Make tests scripts work with plain old sh; also, don't hardcode location of - Ruby interpreter to /usr/bin/ruby. +2008-06-01 Bruno Haible - Work around a problem with Bison on FreeBSD - Bison looks for _STDLIB_H to see if stdlib.h has been included, but the - system includes use _STDLIB_H_; that makes Bison think malloc/free have not - been declared yet and it goes and does that. gcc then complains about the - duplicate declaration. + * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD. + Reported by Voroskoi Andras . -2008-06-03 David Lutterkort +2008-06-01 Voroskoi Andras (tiny change) - Infrastructure and import of gnulib modules - We do not keep the gnulib sources in our own repo. Instead, autogen.sh now - calls out to bootstrap to pull in needed files from gnulib. + * lib/stdio-impl.h [__DragonFly__]: Fix typo. - The bootstrap script was copied from libvirt. +2008-06-01 Bruno Haible -2008-06-02 David Lutterkort + New ACL tests. + * tests/test-file-has-acl.sh: New file. + * tests/test-file-has-acl.c: New file. + * tests/test-set-mode-acl.sh: New file. + * tests/test-set-mode-acl.c: New file. + * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh. + * tests/test-copy-acl.c: New file. + * modules/acl-tests: New file, based on modules/copy-file-tests. + * modules/copy-file-tests (Files): Remove tests/test-sameacls.c. + (Depends-on): Add acl-tests. + (configure.ac): Remove checks. + (Makefile.am): Don't create test-sameacls program here any more. - Use a build aux dir (in build/aux) +2008-06-01 Bruno Haible - Use autoheader and generate config.h + * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX. + * tests/test-sameacls.c: Include progname.h. + (main): Invoke set_program_name. Portability fixes for MacOS X, + Solaris, HP-UX. - Work around lack of open_memstream on non-GNU systems - Since open_memstream is only available with glibc, wrap its use and fall - back to writing to a tempfile on other platforms. +2008-06-01 Bruno Haible - Remove src/config.h - It was a bad idea to begin with; fold the contents into internal.h and make - room for a generated config.h + * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead + function. + Reported by VOROSKOI Andras . + +2008-06-01 Bruno Haible + + * modules/rpmatch (Depends-on): Add strdup. + +2008-06-01 Bruno Haible + + * lib/pipe.c: Include unistd-safer.h. + (create_pipe): Ensure the returned file descriptors are not in {0,1,2}. + * modules/pipe (Depends-on): Add unistd-safer. + +2008-05-30 Simon Josefsson + + * modules/autobuild (configure.ac): Call AB_INIT. + +2008-05-30 Simon Josefsson - Support the @include syntax - Debian uses lines of the form '@include module' to reference other pam - configs. The official PAM docs don't mention it, but obviously it works. + * tests/test-getaddrinfo.c: Don't print debug messages by default. + Suggested by Bruno Haible . - Handle trailing whitespace in pam.d; split module-arguments +2008-05-30 Simon Josefsson - Allow multiple comma-separated fs types in fstab - On Debian Etch, the CDROM has fs type 'udf,iso9660' + * tests/test-base64.c: Cast size_t to unsigned long when invoking + printf. Use %lu instead of %d. Reported by Bruno Haible + . - Handle blank lines in /etc/hosts +2008-05-29 Eric Blake - Fix missing ref on an info struct in syntax.c(compile_minus) + Prefer new POSIX 200x interfaces over futimesat. + * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat. + * lib/utimens.c (gl_futimens): Use them for nanosecond resolution + when available. + [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation. -2008-05-30 Jim Meyering +2008-05-28 Bruno Haible - * tests/test-lenses.sh: more quotes, protect against space in abs_srcdir + * modules/stpcpy (License): Change to LGPLv2+. + Requested by David Lutterkort . - don't conflate top_srcdir and abs_top_srcdir - * tests/Makefile.am: Use $(var), rather than obsolete @var@ notation. - (TESTS_ENVIRONMENT): Rename LHS to match RHS to help avoid (my) confusion: - s/top_builddir/abs_top_builddir/ and s/top_srcdir/abs_top_srcdir/. - * tests/augtest: Reflect renamings. - * tests/test-interpreter.sh: Likewise. - * tests/test-get.sh: Likewise, and remove unused top_builddir= assignment. - * tests/test-lenses.sh: Likewise; remove unnecessary braces, add quotes - to protect against pathological $TMPDIR. +2008-05-27 Bruno Haible -2008-05-29 David Lutterkort + * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for + current mingw. + Reported by Jose E. Marchesi . - Make distcheck work again - Restore top_builddir and top_srcdir so that augtest passes during make - distcheck. +2008-05-27 Bruno Haible - Fix memory leak in make_exn_lns_error + * modules/iconv_open (Link): New section, from module 'iconv'. + * modules/striconv (Link): Likewise. + * modules/striconveh (Link): Likewise. + * modules/xstriconv (Link): Likewise. + * modules/unicodeio (Link): Likewise. + * modules/propername (Link): Likewise. + Reported by Jim Meyering. -2008-05-29 Jim Meyering +2008-05-26 Jim Meyering - Remove some absolute paths for binaries. - * tests/Makefile.am [TESTS_ENVIRONMENT]: Add a PATH definition that - lets tests invoke "augtool" and "augparse" without any absolute prefix. - Remove top_builddir and top_srcdir definitions; no longer needed. - * tests/augtest: Remove definition of AUGTOOL. Update use. - * tests/test-lenses.sh: Likewise for AUGPARSE. - * tests/test-interpreter.sh: Likewise. - * tests/rec-initdefault.rb: Use 'augtool -n' in place of #{AUGTOOL}. + sha256: do not artificially restrict buffer length to be < 2^32 + * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from + uint32_t to size_t. + * lib/sha256.c (sha256_conclude_ctx): Change type of a local + to match. -2008-05-23 David Lutterkort + avoid unaligned access errors, e.g., on sparc + * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than + direct access through a possibly-unaligned uint64* pointer. + * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than + direct access through a possibly-unaligned uint32* pointer. + Prompted by this patch from Tom "spot" Callaway: + http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638 - Fix use of possibly uninitialized variable - * get.c(lns_parse): initialize skel; gcc complains about possible - uninitialized use + sha512.c: fix typo in comment + * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit. -2008-05-28 David Lutterkort +2008-05-25 Bruno Haible - Check that augtool reads all of tests/root/ without error + * lib/set-mode-acl.c: Renamed from lib/acl.c. + * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c. + (Makefile.am): Update lib_SOURCES. -2008-05-23 David Lutterkort +2008-05-25 Bruno Haible - Add a test to check we take the right branch - This does essentially the same as the test Pass_prefix_union introduced - with cset 489:3f4414038a30, but in a real world lens. + * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL. - Escape | when turning a string into a regexp +2008-05-25 Jim Meyering - Add source statements in shell scripts as '.source' nodes + useless-if-before-free: freed expr may have white-space differences + * build-aux/useless-if-before-free: Recognize cases in which the + freed expression differs from the tested one in embedded white + space, e.g., if (p[i + 1]) free(p[i+1]). Correct thinko in prev: + $1 was used, so we can't make any regexp shy. Improved tests now + detect this. - Escape label strings when creating the key regexp for them + useless-if-before-free: accept white space in the expression. + * build-aux/useless-if-before-free: For now, any white space + in the expression must be identical in the free argument. - Allow lower case characters in shell vars + useless-if-before-free: efficiency tweak + * build-aux/useless-if-before-free: Make the expression-matching + regexp "shy". + Make the *outer* regexp shy, not the expr-matching one. -2008-05-23 Jim Meyering + update code-in-comment to accept cast of free arg + * build-aux/useless-if-before-free: Update regexp. - "echo get /|augtool -n" would read one past end of malloc'd buffer * src/augeas.c (make_path): Avoid buffer overrun. +2008-05-25 Bruno Haible -2008-05-23 David Lutterkort + * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c. + * modules/copy-file-tests (Files, Makefile.am): Update. + * tests/test-copy-file.c (func_test_copy): Update. - Fix a major bug in the get implementation of lenses - We used to process the input from left to right, matching the regular - expressions of lenses with the input successively. That is very wrong, in - particular, it leads to lens union choosing the wrong branch: in the union - l1|l2, union would always choose l1 if l1 matched a prefix of l2. +2008-05-24 Andreas Färber (tiny change) - We now process the input in a top-down fashion, splitting the string into - parts as we descend in the tree of lenses. As evidenced by the test - pass_prefix_union, that fixes the bad behavior. + * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds. - Incidentally, it also uncovered another bug in the test_hosts.aug, where a - test passed, even though the string we were using did not end with the - newline that is mandatory for Hosts.record. +2008-05-23 Bruno Haible - This change also does away with pasing flags and a FILE* for logging - details about hte parse process; they don't really make sense anymore, nor - is that behavior very useful in a library. + Improve support for ACLs on OSF/1. + * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma. + Remove fallback for unknown flavors of ACLs. -2008-05-22 David Lutterkort +2008-05-22 Bruno Haible - Fix use of uninitialized pointer - ERR must be initialized, since it is later passed to free_lns_error + Add support for ACLs on OSF/1. + * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function + replacements. + (acl_free_text): New macro fallback. + * lib/acl_entries.c (acl_entries): Use acl_free_text instead of + acl_free. + * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for + acl_free_text function. Require AC_C_INLINE. - Lens for vsftpd.conf - The lens is very tight, in that it only allows actual options, and knows - what kind of value each option accepts. +2008-05-22 Bruno Haible -2008-05-21 James Antill + Make copy_acl work on MacOS X 10.5. + * lib/acl-internal.h (MODE_INSIDE_ACL): New macro. + (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT. + * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL. + If MODE_INSIDE_ACL, don't assume that every system has the same text + representation for ACLs as FreeBSD. + * lib/copy-acl.c (copy_acl): Add support for platforms with + !MODE_INSIDE_ACL. + * lib/file-has-acl.c (file_has_acl): Likewise. + * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of + FreeBSD, MacOS X, or IRIX, respectively. - Fix for the joy that is the glibc asprintf API. +2008-05-22 Bruno Haible -2008-05-21 James Antill + * lib/acl.h: Don't include . + (GETACLCNT): Move fallback to lib/acl-internal.h. + * lib/acl-internal.h: Include here. + (GETACLCNT): New macro fallback, moved here from lib/acl.h. - Minor fix to not use bad memory. +2008-05-22 Bruno Haible - Remove strcat's for stpcpy's + Split off copy_acl function to separate file. + * lib/copy-acl.c: New file, extracted from lib/acl.c. + * lib/acl.c (copy_acl): Moved function to separate file. + * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs. + * modules/acl (Files): Add lib/copy-acl.c. + (Makefiles.am): Augment lib_SOURCES. - Fix escaping strings that end in \ Fix escaping of unprintable bytes +2008-05-22 Bruno Haible - Fix buffer overflow on strings ending in \ + * modules/copy-file-tests: New file. + * tests/test-copy-file.sh: New file. + * tests/test-copy-file.c: New file. + * tests/test-copy-file-sameacls.c: New file. -2008-05-21 David Lutterkort +2008-05-22 Eric Blake - Use glibtoolize on OSX - Patch provided by Rizwan Kassim + Avoid gcc warning. + * tests/test-memcmp.c (main): Pass NULL indirectly. + +2008-05-21 Bruno Haible + + Add reference doc about ACLs. + * doc/acl-resources.txt: New file. + * doc/acl-cygwin.txt: New file. + +2008-05-21 Bruno Haible + + Avoid one more warning from gcc. + * lib/vasnprintf.c (IF_LINT): Update comments. + (VASNPRINTF): Use it also for the 'prefix' array initializer. 2008-05-21 Jim Meyering - Make a file-scoped static array "const". + avoid a warning from gcc + * lib/vasnprintf.c (IF_LINT): Define. + (scale10_round_decimal_long_double): + Use it to avoid a "may be used uninitialized" warning. + (scale10_round_decimal_double): Likewise. -2008-05-18 Jim Meyering +2008-05-21 Simon Josefsson - * src/augtool.c (cleanpath): Don't access path[-1]. + * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is + declared. - * src/transform.c (transform_save): Detect pre-fclose write failure. +2008-05-20 Bruno Haible - * src/internal.c (read_file): Rewrite, plugging a file descriptor leak. + * tests/test-memcmp.c (main): Test also the sign of the result. Test + against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP. -2008-05-16 David Lutterkort +2008-05-20 Simon Josefsson - Added tag release-0.1.1 for changeset fae07193655a + * modules/memcmp-tests: New file. + * tests/test-memcmp.c: New file. - Release 0.1.1 +2008-05-19 Bruno Haible - Add dependency on ref.h + * modules/propername (Notice, configure.ac): Put quoted "..." into + --keyword option. + * lib/propername.h: Update comments accordingly. + Reported by Eric Blake. -2008-05-16 David Lutterkort +2008-05-19 Martin Lambers (tiny change) - Get rid of compiled regexps earlier - After we're done with a transform, release the memory used by compiled - regexps; storage for compiled regexps accounts for the lion's share of - Augeas' memory needs. + * modules/getpass-gnu (Depends-on): Add fseeko. - Before this patch, augtool run against the files in tests/root/ used more - than 10MB of memory; with this patch, that is done to 250 kB after the - initial load, with a spike of about 6MB during loading. +2008-05-19 Simon Josefsson -2008-05-15 David Lutterkort + * modules/base64-tests: New file. - Misc leak fixes in the interpreter - * Do not ref the old binding in bind_type, ownership is transferred from - the caller to the new list head - * Unref the argument of an apply and the func computed in compile_compose - * Unref the value after it is bound in the context in compile_decl - * Unref various things in define_native_intl +2008-05-19 Bo Borgerson - Don't leak the key when appending dict entries + * lib/base64.c (base64_decode_ctx): If a decode context structure + was passed in use it to ignore newlines. If a context structure + was _not_ passed in, continue to treat newlines as garbage (this + is the historical behavior). Formerly base64_decode. + (base64_decode_alloc_ctx): Formerly base64_decode_alloc. Now + takes a decode context structure. + * lib/base64.h (base64_decode): Macro for four-argument calls. + (base64_decode_alloc): Likewise. + * lib/base64.c (base64_decode_ctx): If a decode context structure + was passed in use it to ignore newlines. If a context structure + was _not_ passed in, continue to treat newlines as garbage (this + is the historical behavior). Formerly base64_decode. + (base64_decode_alloc_ctx): Formerly base64_decode_alloc. Now + takes a decode context structure. + * lib/base64.h (base64_decode): Macro for four-argument calls. + (base64_decode_alloc): Likewise. - Free the actual struct exn when freeing an exn value - Factor freeing a struct exn into free_exn; previously, the code did not - free the storage for the struct exn itself. +2008-05-19 Jim Meyering - Don't leak key/value in parse on error + avoid a warning from gcc + * lib/trim.c (IF_LINT): Define. + (trim2): Use it to avoid a "may be used uninitialized" warning. - Do not leak the split on error - put_subtree has to free the split it computes; previously, it leaked that - if an error inside the subtree occurred. + Fix doc typo. + * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/. - Free loadpath - Although not strictly necessary, it makes it easier to run augparse through - valgrind and get meaningful results. +2008-05-19 Bruno Haible - Free path + * doc/glibc-functions/getpass.texi: Document limits of other + implementations. - Don't leak SNAME +2008-05-19 Simon Josefsson + Bruno Haible - Free the lns_error in lens_put + * doc/glibc-functions/getpass.texi: Document gnulib implementation. - Cleanly free regexp patterns; put empty_pattern into ro storage +2008-05-18 Bruno Haible - Ref the returned tree - The tree that tree_set_glue and tree_rm_glue return needs to have its ref - increased, as the calling conventions for builtin functions stipulate that - the returned value is owned by the caller + * modules/propername: New file, from GNU gettext. + * lib/propername.h: New file, from GNU gettext. + * lib/propername.c: New file, from GNU gettext. + * MODULES.html.sh (Internationalization functions): Add propername. -2008-05-14 David Lutterkort +2008-05-16 Jim Meyering + Bruno Haible - Report errors more clearly in the tree - When an error happens during get/put, store additional info in the tree: - for get errors, store the position in the file where the error occured, for - put errors, the path of the node. In both cases, also store the - human-readable message. + Avoid some warnings from "gcc -Wshadow". + * lib/vasnprintf.c (exp, remainder): Define to different identifiers. - For a file F, all this information is stored underneath /augeas/F/error, - with the value associated with /augeas/F/error giving some indication about - the kind of error encountered. +2008-05-15 Eric Blake -2008-05-13 David Lutterkort + Extend previous patch to cygwin 1.7.0. + * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a + fast implementation in cygwin >= 1.7.0. + * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. - Report errors during put +2008-05-15 Bruno Haible - Check that values match the regexp for the corresponding store during put + * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast + implementation in glibc >= 2.9. + * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. - Lens and transform for /etc/fstab - The lens could be further refined by distinguishing between the legal - values in the first field (LABEL=xxx vs special file system vs device) and - by trying to model more of the vfs/option dependencies, but that's more of - a v2 feature. +2008-05-15 Bruno Haible - Remove bad assertions - It is perfectly legal for create_* functions to be called with a non-NULL - skeleton; that happens for example when the union combinator puts a tree - that "jumped branches", i.e. whose get used one branch of the union, and - the put uses the other branch because of changes to the tree. + * MODULES.html.sh (Internationalization functions): Remove linebreak. + (Unicode string functions): Add unilbrk/*. + Reported by Karl Berry. - Reduce the number of calls to collect - We were calling collect way too often, which was slowing things down. Also - broke collect into separate subfunctions so we can see better when one of - them becomes a bottleneck. +2008-05-15 Eric Blake -2008-05-13 David Lutterkort + Fix violation of replacement in regex. + * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool. + * lib/regexec.c (re_search_internal): Likewise. + Reported by Heinrich Mislik . - Stricter skeleton instance check for del and store - Besides having the right tag, del and store match a skeleton only if the - text for that skeleton also matches their regexp. +2008-05-15 Jim Meyering - Weaken the check for key, label, seq, and counter a tiny bit. + avoid distracting test output when git or cvs is not found + * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output. + * tests/test-vc-list-files-git.sh: Likewise. -2008-05-12 David Lutterkort +2008-05-15 Eric Blake - Proper typecheck for lens unions - Check that lenses have disjoint ctypes and atypes in a union. + Glibc finally accepted the memmem speedup code, bugzilla #5514. + * doc/glibc-functions/memmem.texi (memmem): Mention last broken + glibc version. + * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise. + * doc/posix-functions/strstr.texi (strstr): Likewise. + * lib/str-two-way.h (MAX): Sychronize with glibc. + +2008-05-15 Paolo Bonzini + + * lib/regcomp.c (optimize_utf8): Add a note on why we test + opr.ctx_type. + (calc_first): Initialize constraint field. + (duplicate_node_closure): Use it instead of special casing ANCHORS. + Fix grammar. + (duplicate_node): Merge constraint field for all node types. + (calc_eclosure_iter): Look at constraint field for all node types. + * lib/regex_internal.c (create_cd_newstate): Don't look at + opr.ctx_type. + +2008-05-14 Bruno Haible + + Help GCC to do better code generation. + * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'. + * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise. + * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro. + (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc): + Declare with attribute 'malloc' if supported. - Fix up the existing lenses that violate that. +2008-05-14 Lasse Collin -2008-05-09 David Lutterkort + use "echo STR|wc -c" rather than unportable "expr length STR" + * build-aux/mktempd (mktempd): Vendor-supplied expr from at least + OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function. - Keep re_cset_as_string from including an explicit '\0' - We use NUL delimited strings; that means we can not use a CSET - representation that mentions '\0' explicitly. +2008-05-14 Jim Meyering - Use the new '-' operator for key_re + use dd ibs=$n count=1 ... rather than less-portable head -c$n + * build-aux/mktempd (rand_bytes): head's -cN option is not accepted + by Solaris 10's /bin/head or by the one from HP-UX 11.x. + Reported in http://sourceforge.net/forum/message.php?msg_id=4960334 + via Collin Lasse. + +2008-05-14 Eric Blake + + Avoid quadratic growth in gl_LIBSOURCES. + * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/. + Suggested by Bruno Haible. + + Test xmemdup0. + * modules/xmemdup0-tests: New file. + * tests/test-xmemdup0.c: Likewise. + +2008-05-13 Eric Blake + + Split xmemdup0 into its own module. + * modules/xmemdup0: New file. + * lib/xmemdup0.h: Likewise. + * lib/xmemdup0.c: Likewise. + * MODULES.html.sh (Memory management functions): Add xmemdup0. + * lib/xalloc.h (xmemdup0): Remove. + * lib/xmalloc.c (xmemdup0): Likewise. + +2008-05-13 Eric Blake + Bruno Haible + + Reduce number of forks required during autoconf. + * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST + and gl_LIBSOURCES_DIR. + (func_emit_initmacro_end): Use them here in a single m4_syscmd... + (func_emit_initmacro_done) : ...rather than in one + m4_syscmd per file. + : Move... + * m4/gnulib-common.m4 (m4_foreach_w): ...here. + +2008-05-13 Eric Blake + + * gnulib-tool: Fix various comment typos. + +2008-05-12 Bruno Haible + + Tailor the linebreaking algorithm. + * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry. + +2008-05-12 Bruno Haible + + Update to Unicode 5.0.0. + * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL, + LBP_JV, LBP_JT. Redistribute values. + (unilbrk_table): Change size. + * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match + Unicode TR#14 rev. 22. + * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL, + LBP_JV, LBP_JT. Redistribute values. + (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0. + (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp): + Update. + * lib/unilbrk/lbrkprop1.h: Regenerated. + * lib/unilbrk/lbrkprop2.h: Regenerated. + * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): + Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK. + * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks): + Likewise. + * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks): + Likewise. + * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected + result. + * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise. + * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise. + * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise. + * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise. + * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise. + * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise. + +2008-05-11 Bruno Haible + + * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace. + +2008-05-11 Bruno Haible + + * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c). + * modules/unilbrk/gen-lbrk: New file. + +2008-05-11 Bruno Haible + + * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE. + * m4/sha512.m4 (gl_SHA512): Likewise. + +2008-05-11 Jim Meyering + + New modules: crypto/sha256, crypto/sha512 (from coreutils) + * modules/crypto/sha256: New file. + * modules/crypto/sha512: Likewise. + * lib/sha256.c: Likewise. + * lib/sha256.h: Likewise. + * lib/sha512.c: Likewise. + * lib/sha512.h: Likewise. + * lib/u64.h: Likewise. + * m4/sha256.m4: Likewise. + * m4/sha512.m4: Likewise. + * MODULES.html.sh (Cryptographic computations (low-level)): List them. + +2008-05-10 Bruno Haible + + * MODULES.html.sh (Environment variables ): Add unsetenv. + (Input/Output ): Add xprintf. + (Signal handling ): Add strsignal. + (Cryptographic computations (high-level)): Add crypto/gc-camellia. + (Core language properties): Add func. + (Mathematics ): Add ceil, floor, frexp-nolibm. + (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW, + strings. + (Enhancements for POSIX:2001 functions): Add iconv_open-utf. + (Input/output): New section. + (File system functions): Add openat-die, stat-macros. + (Networking functions): Add sockets. + (Unicode string functions): Add unictype/*. + (Support for building libraries and executables): Add gperf. + (Support for building documentation): Add agpl-3.0. + (Misc): Add nocrash. + +2008-05-10 Bruno Haible + + * modules/unictype/gen-ctype: New file. + +2008-05-10 Jim Meyering + + Make chdir-safer.c more efficient on a system with no symlinks. + * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls + also if ELOOP is zero. Suggested by Bruno Haible. + + Make chdir-safer.c slightly safer. + * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW, + not O_NOFOLLOW, in case the latter is nonzero and open ignores it. + + Avoid compile failure on systems without ELOOP (like mingw). + * lib/chdir-safer.c (ELOOP): Define if not already defined. + Reported by Bruno Haible. + +2008-05-10 Bruno Haible + + * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h. + (is_utf8_encoding): Use a case-insensitive comparison. + * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove + streq. + +2008-05-10 Bruno Haible + + * lib/unilbrk/ulc-common.c: Don't include . + (iconv_string_length, iconv_string_keeping_offsets): Remove functions. + * lib/unilbrk/ulc-common.h (iconv_string_length, + iconv_string_keeping_offsets): Remove declarations. + * lib/unilbrk/ulc-possible-linebreaks.c: Include , uniconv.h. + Don't include , streq.h, xsize.h. + (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the + conversion. + * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include + , streq.h, xsize.h. + (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the + conversion. + * modules/unilbrk/ulc-common (Depends-on): Remove iconv. + * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add + uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize. + * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise. + +2008-05-10 Bruno Haible + + * modules/unilbrk/ulc-width-linebreaks-tests: New file. + * tests/unilbrk/test-ulc-width-linebreaks.c: New file. + + * modules/unilbrk/u32-width-linebreaks-tests: New file. + * tests/unilbrk/test-u32-width-linebreaks.c: New file. + + * modules/unilbrk/u16-width-linebreaks-tests: New file. + * tests/unilbrk/test-u16-width-linebreaks.c: New file. + + * modules/unilbrk/u8-width-linebreaks-tests: New file. + * tests/unilbrk/test-u8-width-linebreaks.c: New file. + + * modules/unilbrk/ulc-possible-linebreaks-tests: New file. + * tests/unilbrk/test-ulc-possible-linebreaks.c: New file. + + * modules/unilbrk/u32-possible-linebreaks-tests: New file. + * tests/unilbrk/test-u32-possible-linebreaks.c: New file. + + * modules/unilbrk/u16-possible-linebreaks-tests: New file. + * tests/unilbrk/test-u16-possible-linebreaks.c: New file. + + * modules/unilbrk/u8-possible-linebreaks-tests: New file. + * tests/unilbrk/test-u8-possible-linebreaks.c: New file. + +2008-05-10 Bruno Haible + + Split up 'linebreak' module. + * lib/unilbrk.h: New file, based on lib/linebreak.h. + * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h. + * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with + modifications. + * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c. + * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c. + * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c. + * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c. + * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from + lib/linebreak.c. + * modules/unilbrk/base: New file. + * modules/unilbrk/tables: New file. + * modules/unilbrk/u8-possible-linebreaks: New file. + * modules/unilbrk/u16-possible-linebreaks: New file. + * modules/unilbrk/u32-possible-linebreaks: New file. + * modules/unilbrk/ulc-common: New file. + * modules/unilbrk/ulc-possible-linebreaks: New file. + * modules/unilbrk/u8-width-linebreaks: New file. + * modules/unilbrk/u16-width-linebreaks: New file. + * modules/unilbrk/u32-width-linebreaks: New file. + * modules/unilbrk/ulc-width-linebreaks: New file. + * lib/linebreak.h: Remove file. + * lib/linebreak.c: Remove file. + * m4/linebreak.m4: Remove file. + * modules/linebreak: Remove file. + * NEWS: Mention the changes. + +2008-05-09 Eric Blake + + Add xmemdup0. + * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe + implementation. + * lib/xmalloc.c (xmemdup0): New C implementation. -2008-05-09 David Lutterkort +2008-05-08 Bruno Haible - Add subtraction of regular expressions to the language - It is now possible to say something like + * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation. - let re = /[a-z]+/ - "baseurl" +2008-05-07 Eric Blake - The '-' operator is only defined between regexps. + Support cross-compilation of . + * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in + AC_CACHE_CHECK. -2008-05-09 David Lutterkort +2008-05-06 Soren Hansen (tiny change) - Add REGEXP_MINUS; move REGEXP_TO_FA to regexp.c + * build-aux/vc-list-files: Add support for bzr. - Refactor typechecking for union/concat - The typechecking for union and concat is incredibly similar, but was - implemented with too much code duplication. +2008-05-03 Jim Meyering - Store character sets as bitsets - Also clean up the definition of the bitset type and make the bitset_* - functions const correct + avoid failed assertion with tight malloc + * tests/test-getndelim2.c: Correct an off-by-one assertion. -2008-05-09 David Lutterkort +2008-05-03 Simon Josefsson - Add fa_as_regexp that converts an automaton back to a regexp - During conversion from FA to regexp, our FA mutates into a 'generalized - transition graph' where transitions aren't labelled with character - intervals, but with regular expressions. + * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations + are needed from arpa/inet.h. + * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP. + Reported by Bruno Haible. - There are lots of gyrations to keep the generated regexp reasonably short - (and syntactically correct) +2008-05-02 Jim Meyering -2008-05-08 David Lutterkort + avoid compilation error on FreeBSD 6 + * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define. - Check for (some) allocation failures +2008-05-01 Jim Meyering - Reference count 'struct re' instances + useless-if-before-free: correct --help's exit status description + * build-aux/useless-if-before-free (usage): Like grep, exit 0 + for one or more matches, etc. Reported by Bruno Haible. - Split ref counting macros into separate header + vc-list-files: make the stand-alone gnulib test work + * modules/vc-list-files-tests (configure.ac): + Define and AC_SUBST abs_aux_dir. + (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing + $(abs_top_srcdir) to each script and having each of them + duplicate the work of setting PATH, set PATH here, using + the new variable, abs_aux_dir instead. + * tests/test-vc-list-files-cvs.sh: Don't set PATH here. + * tests/test-vc-list-files-git.sh: Likewise. + Reported by Bruno Haible. - Remove use of bad REALLOC macro. - The old REALLOC macro caused an automatic memory leak when REALLOC - failed. Use of REALLOC_N instead also forces checking of more allocation - failures. +2008-05-01 Bruno Haible - Safer memory allocation from libvirt + * lib/getndelim2.c (getndelim2): Fix newsize computation during + reallocation. Rename 'done' to 'found_delimiter'. -2008-05-08 David Lutterkort +2008-05-01 Jim Meyering - Fix a rather embarrassing #ifdef problem - When __GNUC__ was not defined, a big chunk of internal.h was suppressed - that is not compiler dependent. + vc-list-files: accommodate /bin/sh like the one from Solaris 10 + * build-aux/vc-list-files: Use `...`, not $(...). - Also, add ATTRIBUTE_PURE macro. +2008-04-30 Jim Meyering -2008-05-08 David Lutterkort + add tests for vc-list-files + * modules/vc-list-files-tests: New module. + * tests/test-vc-list-files-cvs.sh: New file. + * tests/test-vc-list-files-git.sh: New file. - Switch to using unsigned char internally - Since we use chars as indices into arrays in some cases, it is simpler to - treat characters as unsigned. This also addresses passing possibly signed - chars to is* functions - by using unsigned char, we avoid possible silent - conversion problems when going from char -> int. + avoid a warning from gcc + * lib/getndelim2.c (IF_LINT): Define. + (getndelim2): Use it to avoid a "may be used uninitialized" warning. - There were also cases where we iterated over chars using a char, which was - prone to silent overflow. + vc-list-files: work properly with build-aux/cvsu, too + * build-aux/vc-list-files: Hoist the "./"-removing code to apply + to all cvs-based clauses. -2008-05-08 David Lutterkort + vc-list-files: work properly in the CVS+awk case, too + * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix. - Fix mistaken assignments in asserts - Reported by Jeff Johnson + vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash + * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer + take more than one file argument, so . Add quotes, just in case $dir + ever contains a shell meta-character. Prompted by Soren Hansen in + . -2008-05-06 David Lutterkort +2008-04-29 Eric Blake - Cleaner way of turning off expensive asserts - Avoid littering everything with #ifdef's, define an 'expensive_assert' - instead that expands to nothing unless HASH_DEBUG_VERIFY is defined. + Optimize getndelim2 to use block operations when possible. + * modules/getndelim2 (Depends-on): Add stdbool, freadptr, + freadseek, and memchr2. + * lib/getndelim2.c (getndelim2): Use them for block reads. - Patch by Jim Meyering +2008-04-29 Bruno Haible -2008-05-06 David Lutterkort + * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS. + * m4/inet_pton.m4 (gl_INET_PTON): Likewise. + * modules/inet_ntop (Depends-on): Add extensions. + * modules/inet_pton (Depends-on): Likewise. + Reported by Simon Josefsson. - Small fixes to the specfile - Suggested by Michael Schwendt +2008-04-29 Jim Meyering -2008-05-05 David Lutterkort + When the is more than one match in a block, match all of them. + * build-aux/useless-if-before-free: Iterate through each block + until there are no more matches. - Lens and transform for xinetd.conf + Fix broken useless-if-before-free script. + * build-aux/useless-if-before-free: Fix typo: missing "?" after + the expression to match cast of argument to free-like function. - Enclose the regexp for a key in (..) before adding a / +2008-04-29 Eric Blake - Properly determine if segment needs qualifier - For segments with label NULL, we didn't qualify the first sibling with the - NULL label since we were comparing NULL to the result of seg_label, which - was "(none)" + Use new header. + * lib/getaddrinfo.c (includes): s/"inet_ntop.h"//. - Be more consistent in how NULL labels are printed +2008-04-29 Jim Meyering -2008-05-05 David Lutterkort + Avoid test segfault on x86_64 due to lack of inet_ntop declaration. + * tests/test-getaddrinfo.c: Include , now guaranteed + by gnulib to exist and to declare e.g., inet_ntop. + Don't include "inet_ntop.h", now removed. - Suppress assert of hash_verify - Doing the assert(hash_verify(hash)) at various places in hash.c is very - expensive and slows things down considerably when assertions are turned - on. + * m4/arpa_inet_h.m4: Remove trailing blanks. - Rather than turning assertions off globally, only do the hash_verify - asserts when they are explicitly requested by defining HASH_DEBUG_VERIFY +2008-04-29 Eric Blake -2008-05-05 David Lutterkort + Silence valgrind on safe reads beyond potential array bounds. + * lib/rawmemchr.valgrind: New file. + * lib/strchrnul.valgrind: Likewise. + * modules/rawmemchr (Files): Distribute new file. + * modules/strchrnul (Files): Likewise. + Suggested by Bruno Haible. - Do not minimize freshly created regexps - The minimization imposes a serious performance penalty, and is generally - not needed. +2008-04-29 Bruno Haible - This also exposes a bug in fa_overlap; for acceptToAccept to work properly, - it needs to be passed a deterministic automaton. + * lib/arpa_inet.in.h: Include system's if it exists. + (inet_ntop, inet_pton): Change portability warning's wording. + * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H. + Invoke gl_CHECK_NEXT_HEADERS. + (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H. + * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and + set ARPA_INET_H. + * m4/inet_pton.m4 (gl_INET_PTON): Likewise. + * modules/arpa_inet (Description): No longer only for systems that + lack it. + (Depends-on): Add include_next. + (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H, + HAVE_ARPA_INET_H. -2008-05-05 David Lutterkort +2008-04-29 Jim Meyering - Fix containment check - Checking for FA2\FA1 being empty was plain silly; this check is a little - better, but still not the correct disjointness check. + * modules/mkdir (License): Re-license as LGPLv2+. -2008-05-02 David Lutterkort +2008-04-29 Bruno Haible - Spec file fixes + * modules/rawmemchr (Maintainer): Set to Eric. + * modules/strchrnul (Maintainer): Likewise. -2008-05-01 David Lutterkort +2008-04-29 Simon Josefsson - Added tag release-0.1.0 for changeset c032a957c316 + * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set + HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON. - Version 0.1.0 + * modules/arpa_inet (arpa/inet.h): Use them. + +2008-04-28 Eric Blake - Rename parameter 'glob' to 'glb' - gcc on RHEL4 gets confused and thinks that that shadows the global 'glob' - function. + Test getndelim2. + * modules/getndelim2-tests: New file. + * tests/test-getndelim2.c: Likewise. + * lib/getndelim2.c (getndelim2): Never return 0. Lock the + stream. + * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions. + + * MODULES.html.sh: Document new module. -2008-04-30 David Lutterkort +2008-04-20 Bruno Haible + + * lib/c-stack.c (die): Use raise. + * modules/c-stack (Depends-on): Add raise. + +2008-04-28 Bruno Haible - Process lots of files in /etc/sysconfig - Load all those shell-script style config files from /etc/sysconfig using - the generic Shellvars lens. + Expect rpmatch to be declared. + * lib/yesno.c (rpmatch): Remove declaration. + + Declare rpmatch. + * lib/stdlib.in.h (rpmatch): New declaration. + * lib/rpmatch.c: Include first. + * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and + gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH, + HAVE_RPMATCH. + * modules/rpmatch (Depends-on): Add stdlib, extensions. + (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. + (Include): Set to . + * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and + HAVE_RPMATCH. + * NEWS: Document the change. - Ultimately, it would be better if we definedfor each of them which - variables are actually going to be looked at (together with some - restrictions on possible values) +2008-04-28 Bruno Haible + + Change rpmatch to use nl_langinfo when appropriate. + * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h. + (N_): New macro. + (localized_pattern): New function/macro. + (try): Remove match, nomatch arguments. Copy the pattern into safe + memory before caching it. + (rpmatch): Use localized_pattern. Add translator comments. + * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR. + Suggested by Eric Blake. + * modules/rpmatch (Depends-on): Add stdbool. + +2008-04-28 Eric Blake + + Add rawmemchr module, matching glibc. + * modules/string (Makefile.am): New indicator. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it. + * lib/string.in.h (rawmemchr): Declare when appropriate. + * modules/rawmemchr: New file. + * m4/rawmemchr.m4: Likewise. + * lib/rawmemchr.c: Likewise. + * modules/rawmemchr-tests: Likewise. + * tests/test-rawmemchr.c: Likewise. + * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document + module. + * modules/strchrnul (Depends-on): Add rawmemchr. + * lib/strchrnul.c (strchrnul): Optimize a corner case. -2008-04-30 David Lutterkort + Whitespace cleanup. + * tests/test-strchrnul.c: Reindent. + * lib/strchrnul.c: Likewise. - Test files for various /etc/sysconfig files - The next commit will add a lens for handling shell var style files in - /etc/sysconfig. These are simply test/sample files. No functionality. + Optimize and test strchrnul. + * lib/strchrnul.c (strchrnul): Rewrite to do parallel search. + * modules/strchrnul-tests: New file. + * tests/test-strchrnul.c: Likewise. - Refactor ifcfg.aug - This puts the bits that are generally useful for processing /etc/sysconfig - files into shell.aug + Remove intprops dependency. + * modules/memchr (Depends-on): Remove intprops. + * modules/memrchr (Depends-on): Likewise. + * modules/memchr2 (Depends-on): Likewise. + * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check. + * lib/memrchr.c (__memrchr): Likewise. + * lib/memrchr2.c (memchr2): Likewise. + Reported by Simon Josefsson. -2008-04-30 Jim Meyering +2008-04-28 Simon Josefsson - check for a few failed memory allocations - * src/augtool.c: check for a few failed memory allocations + * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top. + Suggested by Ralf Wildenhues . -2008-04-30 Harald Hoyer +2008-04-28 Simon Josefsson - do ldconfig in post/postun of the libs subpackage + * lib/inet_ntop.h, lib/inet_pton.h: Remove files. -2008-04-28 David Lutterkort + * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h. - Free the value when freeing a tree node + * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h. - Plug another memory leak + * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h + declarations. + [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations. -2008-04-25 David Lutterkort + * m4/inet_pton.m4: Don't check for header files. - Fix segfault when aug_get was passed a "/" - In that case, make_path returns NULL, which must be checked. + * m4/inet_ntop.m4: Don't check for header files. - The bigger question, why "/" is not a valid path is a little more subtle: - the tree is really edge-labeled, not node-labeled, i.e. a label applies to - the edge going from a parent to its child, but root has no parent, and - therefore "/" does not really make sense. +2008-04-28 Simon Josefsson -2008-04-25 David Lutterkort + * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary. + * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't + trigger for cygwin). + Reported by Bruno Haible . + +2008-04-28 Bruno Haible + + * doc/posix-functions/strdup.texi: Mention mingw problem. + +2008-04-27 Bruno Haible + + * modules/stat-time-tests (Depends-on): Add sleep. + * tests/test-stat-time.c (force_unlink): New function. + (cleanup): Use it. + (test_mtime): Remove the ctime related tests. + (test_ctime): New function, containing the ctime related tests. + (main): Call test_ctime, except on native Windows platforms. + +2008-04-27 Bruno Haible + + * lib/rpmatch.c (rpmatch): Add some comments. + Reported by James Youngman . + +2008-04-27 Bruno Haible + + * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on + quiet NaNs. + +2008-04-27 Bruno Haible + + Make test-yesno.sh work on mingw. + * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF. + * tests/test-yesno.c: Include yesno.h first. Include binary-io.h. + (main): Set stdin to binary mode. + * modules/yesno-tests (Depends-on): Add binary-io. + +2008-04-27 Bruno Haible + + Fix 'isfinite' on x86, x86_64, ia64 platforms. + * tests/test-isfinite.c (test_isfinitel): Also test the behavior on + argument that lie outside the IEEE 854 domain. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro. + (gl_ISFINITE): Use it. + * doc/posix-functions/isfinite.texi: Document the fixed bugs. + +2008-04-27 Bruno Haible + + Allow local renaming in config.h. + * lib/memrchr.c (memrchr): Don't undefine outside libc. + +2008-04-27 Bruno Haible + + * lib/memchr.c (__memchr): Change type of 'i'. + * lib/memchr2.c (memchr2): Likewise. + +2008-04-26 Eric Blake + and Bruno Haible + + Optimize and test memrchr. + * modules/memrchr (Depends-on): Add intprops. + * lib/memrchr.c (__memrchr): Avoid false positives in loop. + * modules/memrchr-tests: New file. + * tests/test-memrchr.c: New file. + +2008-04-26 Bruno Haible + + Add tentative support for DragonFly BSD. + * lib/stdio-impl.h: Add macros for DragonFly BSD. + * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of + fp. + * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization, + restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise. + * lib/fpurge.c (fpurge): Likewise. + * lib/freadable.c (freaadable): Likewise. + * lib/freadahead.c (freadahead): Likewise. + * lib/freading.c (freading): Likewise. + * lib/freadptr.c (freadptr): Likewise. + * lib/freadseek.c (freadptrinc): Likewise. + * lib/fseeko.c (fseeko): Likewise. + * lib/fseterr.c (fseterr): Likewise. + * lib/fwritable.c (fwritable): Likewise. + * lib/fwriting.c (fwriting): Likewise. - Split multiple baseurl's in a yum file into multiple baseurl nodes - With this, the schema for yum config files may now contain nodes like - { "section" - ... other key/value pairs ... - { "baseurl" = "url1" } - { "baseurl" = "url2" } - ... - { "baseurl" = "urlN" } - ... other key/value pairs ... - } +2008-04-26 Bruno Haible - Note that the baseurl nodes have to be consecutive; otherwise, put will - fail. + * lib/stdio-impl.h: New file. + * lib/fbufmode.c: Include stdio-impl.h. + (fbufmode): Use fp_, remove redundant #defines. + * lib/fflush.c: Include stdio-impl.h. + (clear_ungetc_buffer): Remove redundant #defines. + * lib/fpurge.c: Include stdio-impl.h. + (fpurge): Remove redundant #defines. + * lib/freadable.c: Include stdio-impl.h. + (freadable): Remove redundant #defines. + * lib/freadahead.c: Include stdio-impl.h. + (freadahead): Remove redundant #defines. + * lib/freading.c: Include stdio-impl.h. + (freading): Remove redundant #defines. + * lib/freadptr.c: Include stdio-impl.h. + (freadptr): Remove redundant #defines. + * lib/freadseek.c: Include stdio-impl.h. + (freadptrinc): Remove redundant #defines. + * lib/fseeko.c: Include stdio-impl.h. + (rpl_fseeko): Remove redundant #defines. + * lib/fseterr.c: Include stdio-impl.h. + (fseterr): Remove redundant #defines. + * lib/fwritable.c: Include stdio-impl.h. + (fwritable: Remove redundant #defines. + * lib/fwriting.c: Include stdio-impl.h. + (fwriting): Remove redundant #defines. + * modules/fbufmode (Files): Add lib/stdio-impl.h. + * modules/fflush (Files): Likewise. + * modules/fpurge (Files): Likewise. + * modules/freadable (Files): Likewise. + * modules/freadahead (Files): Likewise. + * modules/freading (Files): Likewise. + * modules/freadptr (Files): Likewise. + * modules/freadseek (Files): Likewise. + * modules/fseeko (Files): Likewise. + * modules/fseterr (Files): Likewise. + * modules/fwritable (Files): Likewise. + * modules/fwriting (Files): Likewise. + +2008-04-26 Bruno Haible + + * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization, + restore_seek_optimization, update_fpos_cache): New functions, extracted + from rpl_fflush. + (rpl_fflush): Use them. + * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro. + (gl_REPLACE_FFLUSH): Use it. + +2008-04-26 Bruno Haible + + * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program + on Solaris. + * tests/test-xstrtoimax.sh: Likewise. + * tests/test-xstrtoumax.sh: Likewise. + Reported by Ralf Wildenhues . + +2008-04-26 Bruno Haible + + * modules/memchr-tests: New file. + * tests/test-memchr.c; New file, based on tests/test-memchr2.c. + +2008-04-26 Eric Blake + Bruno Haible + + * lib/memchr.c: Include intprops.h. + (__memchr): Optimize parallel detection of matching bytes. Rename local + variables. Add explanatory comments. + +2008-04-26 Bruno Haible + + Fix module 'memchr', broken since 2000-10-28. + * lib/memchr.c: Outside glibc, define memchr, not __memchr. + +2008-04-26 Bruno Haible + + * lib/memchr2.c (memchr2): Rename local variables. Add explanatory + comments. + +2008-04-25 Eric Blake + + Use native fstatat on cygwin 1.7.0. + * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made + first. + +2008-04-23 Eric Blake + + Improve memchr2 performance. + * lib/memchr2.c (memchr2): Further optimize parallel detection of + NUL bytes. + * modules/memchr2 (Depends-on): Use intprops.h. + +2008-04-23 Simon Josefsson + + * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring + an inline function instead of a CPP macro. Patch by Ben Pfaff + . + +2008-04-23 Simon Josefsson + + * lib/arpa_inet.in.h: New file. + + * modules/arpa_inet (Files): Add lib/arpa_inet.in.h. + (Makefile.am): Sed in substitute header file. + + * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and + gl_ARPA_INET_MODULE_INDICATOR. Use them. + + * modules/inet_ntop (configure.ac): Use + gl_ARPA_INET_MODULE_INDICATOR. + + * modules/inet_pton (configure.ac): Use + gl_ARPA_INET_MODULE_INDICATOR. -2008-04-24 David Lutterkort +2008-04-22 Jim Meyering - Fix lens selection in union - The logic in put to select the appropriate branch in unions got it wrong if - the first branch matched the empty word, because applies only checked that - the atype for the sublens matched some of the tree. It has to check for a - complete match of its tree. + * modules/verify (License): Re-license as LGPLv2+. - This change fixes that and adds a test to demonstrate the problem. +2008-04-22 Simon Josefsson -2008-04-24 David Lutterkort + * lib/sys_socket.in.h: Define setsockopt macro to cast fourth + parameter to void* as per POSIX standard (MinGW uses char*). - Fix ref counting error in lns_make_plus - We burnt the passed-in ownership of L when constructing STAR; also, since - we unref STAR at the end, we need to take ownership of STAR->LENS when - constructing the concat of L and STAR->LENS +2008-04-21 Bruno Haible - * src/fa.c (string_extend): Handle realloc failure. - Patch by Jim Meyering + * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, + iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit): + Define to replacements if REPLACE_ISWCNTRL is 1. + * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work. + If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1. + * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL. + * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and + what it fixes. + * doc/posix-functions/iswalpha.texi: Likewise. + * doc/posix-functions/iswblank.texi: Likewise. + * doc/posix-functions/iswcntrl.texi: Likewise. + * doc/posix-functions/iswdigit.texi: Likewise. + * doc/posix-functions/iswgraph.texi: Likewise. + * doc/posix-functions/iswlower.texi: Likewise. + * doc/posix-functions/iswprint.texi: Likewise. + * doc/posix-functions/iswpunct.texi: Likewise. + * doc/posix-functions/iswspace.texi: Likewise. + * doc/posix-functions/iswupper.texi: Likewise. + * doc/posix-functions/iswxdigit.texi: Likewise. + Reported by Alain Guibert. - Update AUTHORS/NEWS +2008-04-21 Bruno Haible - Processing of Apt's sources files - Contributed by Dean Wilson + * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit. + Patch by Alain Guibert. -2008-04-24 David Lutterkort +2008-04-21 Bruno Haible - Make sure install preserves timestamps - Avoids getting into trouble with the .aug files in augeas-libs on multilib - when installing more than one arch. + Fix test failures on mingw. + * tests/test-xstrtol.c (print_no_progname): New function. + (main): Install it in error_print_progname hook. + * tests/test-xstrtol.sh: Convert CR/LF to NL in output. + * tests/test-xstrtoimax.sh: Likewise. + * tests/test-xstrtoumax.sh: Likewise. - See http://fedoraproject.org/wiki/PackagingDrafts/MultilibTricks +2008-04-21 Bruno Haible -2008-04-24 David Lutterkort + Fix test failure on mingw. + * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output. - Remove trailing whitespace from the end of lines - No functional change, only formatting. +2008-04-21 Bruno Haible -2008-04-23 David Lutterkort + * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN): + Actually assign a value. - Remove aug_exists - it does not exist anymore +2008-04-20 Bruno Haible - Delete old, outdated notes + Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl', + take 2. + * lib/canonicalize.c (canonicalize_file_name): Elide if the + 'canonicalize-lgpl' module is also used. + * lib/canonicalize-lgpl.c: Undo last change. + * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR. - Some repo files for yum +2008-04-20 Bruno Haible - Add todo file for low-level tasks that don't make sense on the website + * lib/mkdir.c (mkdir): Undefine after the includes, not right after + config.h. Provide _mkdir based fallback for mingw. + * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration + if REPLACE_MKDIR is 1. Otherwise, test for mingw directly. + * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require + gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR + rather than defining mkdir in config.h. + * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro. + (gl_SYS_STAT_H_DEFAULTS): New macro. + (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and + HAVE_IO_H any more. + * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of + HAVE_DECL_MKDIR and HAVE_IO_H. -2008-04-23 David Lutterkort +2008-04-20 Bruno Haible - Split libraries into a -libs package - This also includes the files in /usr/share/augeas, since they are read by - the library and control how configuration files are processed. + * lib/isapipe.c: Port to native Windows platforms. - Patch provided by Harald Hoyer +2008-04-20 Bruno Haible -2008-04-23 David Lutterkort + * lib/gc-gnulib.c: Include before . - Include the augtool manpage as doc in the RPM +2008-04-21 Eric Blake -2008-04-23 David Lutterkort + Work around preprocessors that don't handle UINTMAX_MAX. + * lib/memchr2.c (memchr2): Avoid embedded #if. + Reported by Alain Guibert, fix suggested by Bruno Haible. - Don't die on NULL entries in args - There is no guarantee that parseline will fill all of args with strings, - empty or otherwise; chk_args needs to be prepared that any entry in args - can be NULL. +2008-04-21 Simon Josefsson - Also, parseline initializes all args as NULL now to guard against garbage - pointers accumulating from previous uses. + * doc/posix-functions/strftime.texi (strftime): Explain better + Windows incompatibility. Suggested by Micah Cowan + . -2008-04-23 David Lutterkort +2008-04-20 Bruno Haible - Don't complain about missing optional args - For example, both 'print' and 'print PATH' are legal. Make sure we accept - either. + * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen, + unistr/u8-mblen. - Properly handle lines with spaces - The lines read in through readline can now have spaces in their arguments, - if those arguments are enclosed in single or double quotes. +2008-04-20 Bruno Haible - Revised help texts + Fix test failure on platforms with non-GNU iconv. + * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function. + (U_TO_U8): Use it, rather than u16_to_u8. + * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of + units at the end of the input string. + * modules/uniconv/u16-conv-to-enc (Depends-on): Update. - Man page - Provided by Dean Wilson +2008-04-20 Bruno Haible -2008-04-22 David Lutterkort + * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL + when the resulting length is 0. + * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise. - Fix two memory leaks in the interpreter +2008-04-20 Bruno Haible - Plug more memory leaks + * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually + works. + * doc/posix-functions/roundf.texi: Mention roundf bug on mingw. - Fix memory leak from not freeing hash table entries +2008-04-20 Bruno Haible - Clean up the error path in load_file; free the loaded text in transform_load + * tests/test-tsearch.c (main): Don't use initstate if it is missing. + * modules/tsearch-tests (configure.ac): Test for initstate function. -2008-04-22 David Lutterkort +2008-04-20 Bruno Haible - Use fread_file_lim to read entire files - The function is taken verbatim from libvirt's util.c, and due to show up in - gnulib soon. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute + for nlink_t if missing. + * tests/test-sys_stat.c: Check the existence of the nlink_t type. - Also, make read_file return a char * instead of the silly const char *. +2008-04-19 Bruno Haible -2008-04-22 David Lutterkort + Work around snprintf bug on Linux libc5. + * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke + gl_SNPRINTF_SIZE1. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. + * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if + that test failed. + * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise. + * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems. + * modules/snprintf (Files): Add m4/printf.m4. + * modules/vsnprintf (Files): Likewise. + * doc/posix-functions/snprintf.texi: Document Linux libc5 problem. + * doc/posix-functions/vsnprintf.texi: Likewise. - Check the return value from hash_create +2008-04-19 Bruno Haible - More const-correctness fixes - Patch provided by Jim Meyering + * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error + from 0.0058 to less than 10^-7. - File needed for running the tests +2008-04-19 Bruno Haible - Stick more closely to what the shell accepts as assignments + Fix rounding when a precision is given. + * lib/vasnprintf.c (is_borderline): New function. + (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with + 9...9x. + * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f, + %e, %g. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-fprintf-posix.h (test_function): Test rounding with %f. + * tests/test-printf-posix.h (test_function): Likewise. + * tests/test-printf-posix.output: Update. + Reported by John Darrington via + Ben Pfaff . - Properly escape/unescape quotes in strings - Patch provided by Alan Pevec +2008-04-18 Simon Josefsson -2008-04-21 David Lutterkort + * doc/posix-functions/strftime.texi (strftime): Clarify platform. + Suggested by Bruno Haible . - Updated for 0.0.8 and upcoming 0.1.0 release +2008-04-17 Bruno Haible - Remove aug_exists from public API - aug_get now combines the functionality of the old aug_exists and aug_get - calls, so that callers can retrieve a value and check whether a path - expression matches exactly one node in a single call. + * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy, + gl_recursive_lock_destroy): Provide no-op definitions for the dummy + implementation. + Patch by Bruce Merry . - Make creation of new files work - When a subtree is created that corresponds to a brandnew file, create the - underlying file properly. +2008-04-17 Simon Josefsson - Propagate failure of transform_save up + * doc/posix-functions/strftime.texi (strftime): Mention that %e + doesn't work under Windows. -2008-04-21 David Lutterkort +2008-04-16 Bruno Haible - Sync compiler warnings with latest from libvirt - This should avoid build failures seen on Debian, caused by - -fstack-protector + * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR): + New macros. + (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN, + SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC, + SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN, + SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC, + SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU, + SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US, + SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New + macros. + (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian, + Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua, + Northern Sotho, Uighur. - Also fix build failure caused by addition of -Wformat-security +2008-04-16 Bruno Haible -2008-04-21 David Lutterkort + * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro. + (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2. + (gl_locale_name_from_win32_LANGID): Fix code for Sindhi. + Reported by Daniel Bergström . - Mention people who sent patches +2007-12-25 KJK::Hyperion + Bruno Haible - Parse network configs in /etc/sysconfig/ifcfg-* - Patch provided by Alan Pevec + * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New + function. + (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID): + New functions, mostly extracted from gl_locale_name_default. + (gl_locale_name_default): Use gl_locale_name_from_win32_LCID. - Don't mark ROOT for MAKE_PATH as const - it's not always true +2008-04-16 Eric Blake - Cap file reads (arbitrarily) at 32MB + Adjust strtod detection to catch glibc 2.7 bug. + * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior. + Reported by John Gatewood Ham. - Don't ever try to read a directory - Suggested by Jim Meyering. +2008-04-16 Bruno Haible - Return int from aug_print to indicate errors - Check for failures during printing and return an indication whether printing - succeeded or not. + Add tentative support for Linux libc5. + * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code. + * lib/fpurge.c (fpurge): Likewise. + * lib/freadable.c (freadable): Likewise. + * lib/freadahead.c (freadahead): Likewise. + * lib/freading.c (freading): Likewise. + * lib/freadptr.c (freadptr): Likewise. + * lib/freadseek.c (freadptrinc): Likewise. + * lib/fseeko.c (rpl_fseeko): Likewise. + * lib/fseterr.c (fseterr): Likewise. + * lib/fwritable.c (fwritable): Likewise. + * lib/fwriting.c (fwriting): Likewise. + Reported by Alain Guibert . -2008-04-21 David Lutterkort +2008-04-15 Bruno Haible - Don't hide pointer in typedef; const correctness - The type for the Augeas handle is now called 'augeas' insteda of - 'augeas_t', and is a struct, not a pointer to a struct. + * modules/mathl (configure.ac): Define module indicator. - Mark the places where the passed-in struct augeas is readonly in the API. +2008-04-15 Bruno Haible - Patch provided by Jim Meyering + * lib/logl.c (logl): Remove unused variables. -2008-04-21 David Lutterkort +2008-04-15 Bruno Haible - Change names of macros used to guard against double-inclusion - Change the names from __NAME_H to NAME_H_ since __* macros are reserved. + * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8 + fails. - Suggested by Jim Meyering. +2008-04-15 Bruno Haible -2008-04-21 David Lutterkort + * lib/trim.c (trim2): Fix argument of isspace() macro. - Add "2008" to the copyright in the headers +2008-04-15 Paolo Bonzini -2008-04-19 David Lutterkort + * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it + to 0. + * lib/trigl.c (ieee754_rem_pio2l): Fix range checks. - Remove dependency on glib and use kazlib's hash table instead - The dependency on glib was only there for the hash tables used by - libfa. Rather than requiring all of glib just for that, use the hash table - implementation in hash.[ch] taken from kazlib. +2008-04-14 Bruno Haible -2008-04-18 David Lutterkort + * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of + AC_LANG_PROGRAM argument. + * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise. + * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise. + * m4/inttypes.m4 (gl_INTTYPES_H): Likewise. + * m4/math_h.m4 (gl_MATH_H): Likewise. + * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise. + * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise. + * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise. + * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise. + * m4/regex.m4 (gl_REGEX): Likewise. + * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise. + * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. + * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise. + * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise. + * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. - Hashtable from Kazlib 1.20 - Available from http://users.footprints.net/~kaz/kazlib.html +2008-04-14 Jim Meyering - Abort if failing assertions are not used + test-strtod: fix typos: s/abs/fabs/ + * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs". -2008-04-19 David Lutterkort +2008-04-13 Bruno Haible - Remove pathsplit symbol + Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'. + * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize' + module is also used and while not building the reloc-wrapper. -2008-04-16 David Lutterkort +2008-04-13 Bruno Haible - Added tag release-0.0.8 for changeset cb00aa18e518 + * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error. - Release 0.0.8 +2008-04-13 Bruno Haible - Remove unused function + Fix AIX compilation failure introduced on 2008-04-02. + * tests/test-frexp.c (exp): Undefine before redefining. + * tests/test-frexpl.c (exp): Likewise. - Install lens tests in lenses/tests/ not lenses/ +2008-04-13 Bruno Haible - Use the right path expression to print the whole tree + Work around a HP-UX stdio bug. + * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX. + * tests/test-ftello.c (main): Likewise. + * doc/posix-functions/ftell.texi: Mention HP-UX bug. + * doc/posix-functions/ftello.texi: Likewise. - Don't segfault when a test fails without producing any tree +2008-04-13 Bruno Haible -2008-04-15 David Lutterkort + Make test-signbit pass on HP-UX/hppa. + * tests/test-signbit.c (minus_zerol): New variable. + (test_signbitl): Use it. - Call the node for a boot entry 'title' +2008-04-13 Bruno Haible -2008-04-14 David Lutterkort + Make truncl work on OSF/1 4.0. + * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works. + Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL. + * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not + HAVE_DECL_TRUNCL. + * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not + HAVE_DECL_TRUNCL. + * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem. - Remove the use in sequences in some places - Where indentation isn't important, we can flatten and simplify the tree by - not using seqs. Instead of something like aliases/1, aliases/2, ... we now - have alias[1], alias[2] etc. +2008-04-13 Bruno Haible - Start sequences at 1, in symmetry with the element[N] counting + * lib/unictype.h: Remove trailing comma from enumeration definitions. - Consolidate tree allocation into one make_tree function +2008-04-13 Bruno Haible - Change the ins syntax to support insert before/after - This reflects the change to the aug_insert API + * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification + expression, so as to avoid HP-UX 11 cc compiler bug. - Handle searching for the last() element properly - path_first didn't find anything when looking for 'element[last()]' +2008-04-13 Bruno Haible - Process grub.conf + * m4/regex.m4 (gl_PREREQ_REGEX): Also check for . -2008-04-14 David Lutterkort +2008-04-13 Bruno Haible - Don't delete too many siblings - When a path specified a node that had siblings with the same name, tree_rm - was deleting that node and all the siblings after it (because the name - label[3] would ssuccessively refer to its later siblings as label[3] was - deleted) + * lib/git-merge-changelog.c: Remove empty declaration outside of + functions. - Now, first generate a list of nodes to delete before removing anything. +2008-04-13 Bruno Haible -2008-04-14 David Lutterkort + * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD. - Fix put test - it was checking for hte wrong result +2008-04-13 Bruno Haible - Running a failing test fails loading the whole module + * doc/posix-headers/sys_socket.texi: Document the problem on EMX. + * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace + also if it exists but lacks definitions of the SHUT_* macros. + * modules/sys_socket (Description): Update. + Reported by Elbert Pol . -2008-04-11 David Lutterkort +2008-04-13 Bruno Haible - Add path expressions allowing XPath-like path matching - Path expressions passed in through the public API can now contain indices - to denote a specific sibling (including [last()]) amongst siblings with - multiple labels, and use '*' to match nodes with any label. + * lib/localcharset.c (OS2): Don't redefine if already defined. + Reported by Elbert Pol . - Syntax and semantics follow XPath. +2008-04-13 Bruno Haible -2008-04-11 David Lutterkort + * lib/binary-io.h [__EMX__]: Include . + Reported by Elbert Pol . - Run all tests - don't abort after the first failure +2008-04-12 Bruno Haible -2008-04-10 David Lutterkort + * lib/fpucw.h: Enable the definitions also for x86_64. + Needed for NetBSD/x86_64. + Reported by Thomas Klausner . - Escape values and enclose them in quotes when printing +2008-04-12 Bruno Haible - Typecheck only on the first test - It's enough to pass -c to augtool on the first test we run; doing it again - in later tests is completely redundant and just slows the test run down. + * tests/test-strtod.c: Include isnand.h. + (main): Use isnand instead of isnan. + Reported by Jim Meyering. -2008-04-09 David Lutterkort +2008-04-12 Bruno Haible - Complain if a transform is built from a lens orphaning a key/value - Such a transform would lose information when applied and can't be - valid. Ideally, this check would be in the typechecker, but requires - dependant types, too much of a complication right now. + * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN. + Reported by Nelson H. F. Beebe . -2008-04-09 David Lutterkort +2008-04-12 Jim Meyering - Clean up some confusion around the semantics of store - Store does not create a tree; instead it puts a value in place where the - enclosing subtree will find it. + * m4/math_h.m4 (gl_MATH_H): Fix typos. - During lens building, there is now a check to make sure the key and value - are set in at most one place in each subtree. Ideally, this check would - happen in the typechecker, but it would require that we parametrize the - lens type, considerably complicating matters. +2008-04-12 Bruno Haible -2008-04-09 David Lutterkort + * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion. + Reported by Elbert Pol . - When get encounters an error during a test, include hte tree in the exn - lns_get now returns a tree even if the full input was not consumed. To - check whether get succeeded, the ERR parameter needs to be checked. +2008-04-12 Eric Blake - Update README + Work around Solaris 10 math.h bug. + * m4/math_h.m4 (gl_MATH_H): Check for bug. + (gl_MATH_H_DEFAULTS): Set up default. + * modules/math (Makefile.am): Replace new indicators. + * lib/math.in.h (NAN, HUGE_VAL): Provide replacements. + * tests/test-math.c (main): Test this. + * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL. + * doc/posix-headers/math.texi (math.h): Mention bug. + Reported by Nelson H. F. Beebe and Jim Meyering. + +2008-04-11 Bruno Haible + + Adapt to future versions of Apple GCC. + * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__. + Reported by Peter O'Gorman . + +2008-04-11 Bruno Haible + + * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error. + +2008-04-11 Bruno Haible + + * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD. + + * modules/getaddrinfo-tests (Makefile.am): Define + test_getaddrinfo_LDADD. + +2008-04-11 Bruno Haible + + * lib/strsignal.c (_sys_siglist): Don't declare if already declared. + (init): Fix syntax error. + * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist + is declared. + +2008-04-11 Bruno Haible + + * lib/glob.c: Include . Needed at least with IRIX cc. + * modules/glob (Depends-on): Add stdbool. + +2008-04-11 Bruno Haible + + * lib/trim.c: Include . + +2008-04-11 Eric Blake + + Avoid compile failure on OS/2. + * lib/regex_internal.h (internal_function): Disable optimization + on OS/2 (__EMX__), where it caused compiler error. + Reported by Elbert Pol. + +2008-04-11 Bruno Haible + + Flush the standard error stream before aborting. Needed on mingw. + * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort(). + * tests/test-array_list.c (ASSERT): Likewise. + * tests/test-array_oset.c (ASSERT): Likewise. + * tests/test-avltree_list.c (ASSERT): Likewise. + * tests/test-avltree_oset.c (ASSERT): Likewise. + * tests/test-avltreehash_list.c (ASSERT): Likewise. + * tests/test-binary-io.c (ASSERT): Likewise. + * tests/test-byteswap.c (ASSERT): Likewise. + * tests/test-c-ctype.c (ASSERT): Likewise. + * tests/test-c-strcasecmp.c (ASSERT): Likewise. + * tests/test-c-strcasestr.c (ASSERT): Likewise. + * tests/test-c-strncasecmp.c (ASSERT): Likewise. + * tests/test-c-strstr.c (ASSERT): Likewise. + * tests/test-canonicalize-lgpl.c (ASSERT): Likewise. + * tests/test-canonicalize.c (ASSERT): Likewise. + * tests/test-carray_list.c (ASSERT): Likewise. + * tests/test-ceilf1.c (ASSERT): Likewise. + * tests/test-ceilf2.c (ASSERT): Likewise. + * tests/test-ceill.c (ASSERT): Likewise. + * tests/test-count-one-bits.c (ASSERT): Likewise. + * tests/test-fbufmode.c (ASSERT): Likewise. + * tests/test-fflush2.c (ASSERT): Likewise. + * tests/test-floorf1.c (ASSERT): Likewise. + * tests/test-floorf2.c (ASSERT): Likewise. + * tests/test-floorl.c (ASSERT): Likewise. + * tests/test-fopen.c (ASSERT): Likewise. + * tests/test-fpending.c (ASSERT): Likewise. + * tests/test-fprintf-posix.c (ASSERT): Likewise. + * tests/test-fpurge.c (ASSERT): Likewise. + * tests/test-freadable.c (ASSERT): Likewise. + * tests/test-freadahead.c (ASSERT): Likewise. + * tests/test-freading.c (ASSERT): Likewise. + * tests/test-freadptr.c (ASSERT): Likewise. + * tests/test-freadptr2.c (ASSERT): Likewise. + * tests/test-freadseek.c (ASSERT): Likewise. + * tests/test-freopen.c (ASSERT): Likewise. + * tests/test-frexp.c (ASSERT): Likewise. + * tests/test-frexpl.c (ASSERT): Likewise. + * tests/test-fseek.c (ASSERT): Likewise. + * tests/test-fseeko.c (ASSERT): Likewise. + * tests/test-fstrcmp.c (ASSERT): Likewise. + * tests/test-ftell.c (ASSERT): Likewise. + * tests/test-ftello.c (ASSERT): Likewise. + * tests/test-func.c (ASSERT): Likewise. + * tests/test-fwritable.c (ASSERT): Likewise. + * tests/test-fwriting.c (ASSERT): Likewise. + * tests/test-getdelim.c (ASSERT): Likewise. + * tests/test-getline.c (ASSERT): Likewise. + * tests/test-i-ring.c (ASSERT): Likewise. + * tests/test-iconv-utf.c (ASSERT): Likewise. + * tests/test-iconv.c (ASSERT): Likewise. + * tests/test-isfinite.c (ASSERT): Likewise. + * tests/test-isnand.c (ASSERT): Likewise. + * tests/test-isnanf.c (ASSERT): Likewise. + * tests/test-isnanl.h (ASSERT): Likewise. + * tests/test-ldexpl.c (ASSERT): Likewise. + * tests/test-linked_list.c (ASSERT): Likewise. + * tests/test-linkedhash_list.c (ASSERT): Likewise. + * tests/test-localename.c (ASSERT): Likewise. + * tests/test-lseek.c (ASSERT): Likewise. + * tests/test-mbscasecmp.c (ASSERT): Likewise. + * tests/test-mbscasestr1.c (ASSERT): Likewise. + * tests/test-mbscasestr2.c (ASSERT): Likewise. + * tests/test-mbscasestr3.c (ASSERT): Likewise. + * tests/test-mbscasestr4.c (ASSERT): Likewise. + * tests/test-mbschr.c (ASSERT): Likewise. + * tests/test-mbscspn.c (ASSERT): Likewise. + * tests/test-mbsncasecmp.c (ASSERT): Likewise. + * tests/test-mbspbrk.c (ASSERT): Likewise. + * tests/test-mbspcasecmp.c (ASSERT): Likewise. + * tests/test-mbsrchr.c (ASSERT): Likewise. + * tests/test-mbsspn.c (ASSERT): Likewise. + * tests/test-mbsstr1.c (ASSERT): Likewise. + * tests/test-mbsstr2.c (ASSERT): Likewise. + * tests/test-mbsstr3.c (ASSERT): Likewise. + * tests/test-memchr2.c (ASSERT): Likewise. + * tests/test-memmem.c (ASSERT): Likewise. + * tests/test-open.c (ASSERT): Likewise. + * tests/test-printf-frexp.c (ASSERT): Likewise. + * tests/test-printf-frexpl.c (ASSERT): Likewise. + * tests/test-printf-posix.c (ASSERT): Likewise. + * tests/test-quotearg.c (ASSERT): Likewise. + * tests/test-rbtree_list.c (ASSERT): Likewise. + * tests/test-rbtree_oset.c (ASSERT): Likewise. + * tests/test-rbtreehash_list.c (ASSERT): Likewise. + * tests/test-round1.c (ASSERT): Likewise. + * tests/test-roundf1.c (ASSERT): Likewise. + * tests/test-roundl.c (ASSERT): Likewise. + * tests/test-signbit.c (ASSERT): Likewise. + * tests/test-sleep.c (ASSERT): Likewise. + * tests/test-snprintf-posix.c (ASSERT): Likewise. + * tests/test-snprintf.c (ASSERT): Likewise. + * tests/test-sprintf-posix.c (ASSERT): Likewise. + * tests/test-stat-time.c (ASSERT): Likewise. + * tests/test-strcasestr.c (ASSERT): Likewise. + * tests/test-strerror.c (ASSERT): Likewise. + * tests/test-striconv.c (ASSERT): Likewise. + * tests/test-striconveh.c (ASSERT): Likewise. + * tests/test-striconveha.c (ASSERT): Likewise. + * tests/test-strsignal.c (ASSERT): Likewise. + * tests/test-strstr.c (ASSERT): Likewise. + * tests/test-strtod.c (ASSERT): Likewise. + * tests/test-trunc1.c (ASSERT): Likewise. + * tests/test-trunc2.c (ASSERT): Likewise. + * tests/test-truncf1.c (ASSERT): Likewise. + * tests/test-truncf2.c (ASSERT): Likewise. + * tests/test-truncl.c (ASSERT): Likewise. + * tests/test-vasnprintf-posix.c (ASSERT): Likewise. + * tests/test-vasnprintf-posix2.c (ASSERT): Likewise. + * tests/test-vasnprintf.c (ASSERT): Likewise. + * tests/test-vasprintf-posix.c (ASSERT): Likewise. + * tests/test-vasprintf.c (ASSERT): Likewise. + * tests/test-vfprintf-posix.c (ASSERT): Likewise. + * tests/test-vprintf-posix.c (ASSERT): Likewise. + * tests/test-vsnprintf-posix.c (ASSERT): Likewise. + * tests/test-vsnprintf.c (ASSERT): Likewise. + * tests/test-vsprintf-posix.c (ASSERT): Likewise. + * tests/test-wcwidth.c (ASSERT): Likewise. + * tests/test-xfprintf-posix.c (ASSERT): Likewise. + * tests/test-xprintf-posix.c (ASSERT): Likewise. + * tests/test-xvasprintf.c (ASSERT): Likewise. + * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise. + * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise. + * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise. + * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise. + * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise. + * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise. + * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise. + * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise. + * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise. + * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise. + * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise. + * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise. + * tests/unictype/test-bidi_byname.c (ASSERT): Likewise. + * tests/unictype/test-bidi_name.c (ASSERT): Likewise. + * tests/unictype/test-bidi_of.c (ASSERT): Likewise. + * tests/unictype/test-bidi_test.c (ASSERT): Likewise. + * tests/unictype/test-block_list.c (ASSERT): Likewise. + * tests/unictype/test-block_of.c (ASSERT): Likewise. + * tests/unictype/test-block_test.c (ASSERT): Likewise. + * tests/unictype/test-categ_and.c (ASSERT): Likewise. + * tests/unictype/test-categ_and_not.c (ASSERT): Likewise. + * tests/unictype/test-categ_byname.c (ASSERT): Likewise. + * tests/unictype/test-categ_name.c (ASSERT): Likewise. + * tests/unictype/test-categ_none.c (ASSERT): Likewise. + * tests/unictype/test-categ_of.c (ASSERT): Likewise. + * tests/unictype/test-categ_or.c (ASSERT): Likewise. + * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise. + * tests/unictype/test-combining.c (ASSERT): Likewise. + * tests/unictype/test-decdigit.c (ASSERT): Likewise. + * tests/unictype/test-digit.c (ASSERT): Likewise. + * tests/unictype/test-mirror.c (ASSERT): Likewise. + * tests/unictype/test-numeric.c (ASSERT): Likewise. + * tests/unictype/test-pr_byname.c (ASSERT): Likewise. + * tests/unictype/test-pr_test.c (ASSERT): Likewise. + * tests/unictype/test-predicate-part1.h (ASSERT): Likewise. + * tests/unictype/test-scripts.c (ASSERT): Likewise. + * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise. + * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise. + * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise. + * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise. + * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise. + * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise. + * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise. + * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise. + * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise. + * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise. + * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise. + * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise. + * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise. + * tests/uniwidth/test-u16-width.c (ASSERT): Likewise. + * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise. + * tests/uniwidth/test-u32-width.c (ASSERT): Likewise. + * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise. + * tests/uniwidth/test-u8-width.c (ASSERT): Likewise. + * tests/uniwidth/test-uc_width.c (ASSERT): Likewise. + Reported by Eric Blake. + +2008-04-11 Bruno Haible + + * lib/wchar.in.h: Tweak comment. + +2008-04-11 Bruno Haible + + Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5. + * gnulib-tool (func_emit_initmacro_start): Emit an invocation of + gl_COMMON. + * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros. + +2008-04-11 Bruno Haible + + * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL. + +2008-04-11 Simon Josefsson + + * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead + of attempting to use non-existing /dev/*random. Based on patch + from Adam Strzelecki in + . + +2008-04-08 Bruno Haible + + Add tentative support for emx+gcc. + * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code. + * lib/fpurge.c (fpurge): Likewise. + * lib/freadable.c (freadable): Likewise. + * lib/freadahead.c (freadahead): Likewise. + * lib/freading.c (freading): Likewise. + * lib/freadptr.c (freadptr): Likewise. + * lib/freadseek.c (freadptrinc): Likewise. + * lib/fseeko.c (rpl_fseeko): Likewise. + * lib/fseterr.c (fseterr): Likewise. + * lib/fwritable.c (fwritable): Likewise. + * lib/fwriting.c (fwriting): Likewise. + * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc. + +2008-04-09 Eric Blake + + Avoid some autoconf warnings. + * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/. + * m4/acl.m4 (gl_FUNC_ACL): Likewise. + * m4/afs.m4 (gl_AFS): Likewise. + * m4/gc-random.m4 (gl_GC_RANDOM): Likewise. + * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise. + * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED) + (gl_INTEGER_TYPE_SUFFIX): Likewise. + * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE) + (AC_CHECK_DECLS_ONCE): Likewise. + Rename file... + * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that + gnulib-tool requires autoconf 2.59 or better. + * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/. + +2008-04-08 Eric Blake + + Use 'git describe --match' if present (added in git 1.5.5). + * build-aux/git-version-gen: Limit result to tags that match 'v*' + if possible. + +2008-04-08 Bruno Haible + + Add tentative support for OpenServer. + * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base, + _ptr, _cnt. + * lib/fpurge.c (fpurge): Likewise. + * lib/freadable.c (freadable): Likewise. + * lib/freadahead.c (freadahead): Likewise. + * lib/freading.c (freading): Likewise. + * lib/freadptr.c (freadptr): Likewise. + * lib/freadseek.c (freadptrinc): Likewise. + * lib/fseeko.c (rpl_fseeko): Likewise. + * lib/fseterr.c (fseterr): Likewise. + * lib/fwritable.c (fwritable): Likewise. + * lib/fwriting.c (fwriting): Likewise. + Reported by Roger Cornelius and + Brian K. White . + +2008-04-06 Jim Meyering + + * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic + +2008-04-06 Bruno Haible + + Avoid possible error with non-ASCII bytes in UTF-8 locales. + * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr". + * tests/test-printf-posix.sh: Likewise. + * tests/test-vfprintf-posix.sh: Likewise. + * tests/test-vprintf-posix.sh: Likewise. + * tests/test-xprintf-posix.sh: Likewise. - Remove 'spec' files and tests that don't make sense any longer +2008-04-06 Ralf Wildenhues - Fail test scripts on _any_ unexpected error + * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting, + hide error from 'ls', needed on OS/2. + Report by Elbert Pol . - Distribute lens tests +2008-04-04 Eric Blake - Suppress .rpmnew/save files + Make test-fseeko.c failures meaningful. + * tests/test-fseeko.c: Print line number on failure. + * tests/test-fseek.c: Likewise. + Reported by Nelson H. F. Beebe. + + Improve strtod bug detection check. + * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing, + required for Solaris 10. + Reported by Bob Friesenhahn and Nelson H. F. Beebe. + +2008-04-04 Bruno Haible + + * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed + by m4/setenv.m4. + +2008-04-03 Eric Blake + + Ensure sane .version contents. + * top/GNUmakefile (_dummy): Also delete .version when rebuilding + version string. + * build-aux/git-version-gen: Improve documentation. + + Make GNU make output nicer. + * top/GNUmakefile [!_have-Makefile]: Add dependency on + MAKECMDGOALS to enforce message for all command line targets. Set + srcdir for use in maint.mk. + + Another maintainer tweak. + * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as + a target that regenerates version. + +2008-04-03 Jim Meyering + + vc-list-files: don't cause coreutils "make po-check" failure + * build-aux/vc-list-files: Skip postprocessing when $2 is '.' - Obey AUG_TYPE_CHECK flag - Do not do the expensive lens type checks if AUG_TYPE_CHECK is not set. Run - augtool with -c in tests to ensure tests do type checks. +2008-04-03 Eric Blake + + Allow VPATH usage of vc-list-files. + * build-aux/vc-list-files (scriptversion): Add timestamp. + (options): Add --help, --version, -C. + (CVS): Support installed cvsu. -2008-04-09 David Lutterkort +2008-04-02 Bruno Haible - Update augtool round-trip tests and add them to 'make check' - Update the tests to the new layout of the tree. + Avoid some "statement with no effect" warnings from gcc. + * tests/test-wctype.c (main): Explicitly ignore unused values. + Reported by Jim Meyering. - augtest allows marking tests to skip (by putting 'skip=true' into the - test) and sets the exit status properly so that 'make check' will fail if - one of the augtool tests fails +2008-04-02 Jim Meyering -2008-04-09 David Lutterkort + Avoid some warnings from "gcc -Wshadow". + * tests/test-frexp.c (exp): Define to a different identifier. + * tests/test-frexpl.c (exp): Likewise. - Fix underallocation +2008-04-03 Jim Meyering - Only attempt to save if there are dirty files + bootstrap: remove dangling *.[ch] symlinks from lib + * build-aux/bootstrap [dangling symlink removal]: Move find's + -depth option to precede all others, to avoid a warning. + Remove *.[ch] files too, and from "$source_base" (usually lib/). - Reread the original file from the same root on save +2008-04-02 Bruno Haible - Pass the children of the right tree + Avoid some warnings from "gcc -Wshadow". + * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function. + * tests/tests-vprintf-posix.c (my_printf): Move after test_function. + * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function. + * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function. + Reported by Jim Meyering. - Fix some errors that made aug_save fail +2008-04-01 Bruno Haible - Mark a freshly loaded tree as clean + Fix test to work on IRIX 6.5 with cc. + * tests/test-math.c (numeric_equal): New function. + (main): Use it. - Check the return value of asprintf - Handling of asprintf failures (and allocation failures in general) needs a - lot more work. +2008-04-01 Bruno Haible - Small touchup - needs much more work + * doc/posix-headers/math.texi: Refine documentation of NAN problem. - Fix segfault if a qualified name references the module it is in - Now explicitly referencing the enclosing module works properly: if the name - is already defined locally, everything works, and if it is not, an error is - produced. +2008-04-01 Bruno Haible -2008-04-08 David Lutterkort + * tests/test-vasnprintf-posix.c: Include nan.h instead of . + (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L. + * modules/vasnprintf-posix-tests (Files): Add tests/nan.h. + (Depends-on): Remove math. + + * tests/test-vasprintf-posix.c: Include nan.h instead of . + (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L. + * modules/vasprintf-posix-tests (Files): Add tests/nan.h. + (Depends-on): Remove math. + + * tests/test-snprintf-posix.h: Include nan.h instead of . + (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L. + * modules/snprintf-posix-tests (Files): Add tests/nan.h. + (Depends-on): Remove math. + * modules/vsnprintf-posix-tests (Files): Add tests/nan.h. + (Depends-on): Remove math. + + * tests/test-sprintf-posix.h: Include nan.h instead of . + (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L. + * modules/sprintf-posix-tests (Files): Add tests/nan.h. + (Depends-on): Remove math. + * modules/vsprintf-posix-tests (Files): Add tests/nan.h. + (Depends-on): Remove math. + + * tests/test-round1.c: Include nan.h. + (main): Use NaNd instead of NAN. + * modules/round-tests (Files): Add tests/nan.h. - Typecheck the atype of concat and iter + * tests/test-trunc1.c: Include nan.h. + (main): Use NaNd instead of NAN. + * modules/trunc-tests (Files): Add tests/nan.h. - Typecheck the atype of union + * tests/test-roundf1.c: Include nan.h. + (main): Use NaNf instead of NAN. + * modules/roundf-tests (Files): Add tests/nan.h. + + * tests/test-truncf1.c: Include nan.h. + (main): Use NaNf instead of NAN. + * modules/truncf-tests (Files): Add tests/nan.h. - Change the typecheck on union - Typecheck unions l1|l2 less strictly (and less annoyingly) by requiring - that l2 has a chance of ever being used, and not the stricter criterion of - disjoint ctypes for l1 and l2 + * tests/test-ceilf1.c: Include nan.h. + (main): Use NaNf instead of NAN. + * modules/ceilf-tests (Files): Add tests/nan.h. - Port of the lenses for inittab and sshd_config tothe new syntax + * tests/test-floorf1.c: Include nan.h. + (main): Use NaNf instead of NAN. + * modules/floorf-tests (Files): Add tests/nan.h. - Curb the repeated printing of exceptions + * tests/test-isnanf.c: Include nan.h instead of . + (main): Use NaNf instead of NAN. + * modules/isnanf-nolibm-tests (Files): Add tests/nan.h. - Clearer error message + * tests/test-isnand.c: Include nan.h instead of . + (main): Use NaNd instead of NAN. + * modules/isnand-nolibm-tests (Files): Add tests/nan.h. - Processing of pam.d + * tests/test-frexp.c: Include nan.h. + (main): Use NaNd instead of NAN. + * modules/frexp-tests (Files): Add tests/nan.h. - Pull some useful space deleters into Util + * lib/isnan.c: Don't include . + (FUNC): Don't use NAN macro. + * modules/isnand-nolibm (Depends-on): Remove math. + * modules/isnanf-nolibm (Depends-on): Remove math. + * modules/isnanl (Depends-on): Remove math. + * modules/isnanl-nolibm (Depends-on): Remove math. + + * tests/nan.h: New file. + +2008-04-01 Eric Blake - Check that let expressions work + Fix typos. + * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon + values to be the right type. + + For now, cater to gnulib strtod inaccuracies. + * tests/test-strtod.c (main): Allow 1-ulp error on expected + fractional results. While not as nice from a QoI perspective, it + is a quicker patch than correctly implementing decimal to binary + rounding. + +2008-03-31 Eric Blake + + Guarantee a definition of NAN. + * lib/math.in.h (NAN): Define if missing. + * tests/test-math.c (main): Test it. + * doc/posix-headers/math.texi (math.h): Document this. + * lib/isnan.c (rpl_isnand): Use it. + * tests/test-ceilf1.c (NaN): Delete, and use NAN instead. + * tests/test-floorf1.c (NaN): Likewise. + * tests/test-frexp.c (NaN): Likewise. + * tests/test-isnand.c (NaN): Likewise. + * tests/test-isnanf.c (NaN): Likewise. + * tests/test-round1.c (NaN): Likewise. + * tests/test-roundf1.c (NaN): Likewise. + * tests/test-snprintf-posix.h (NaN): Likewise. + * tests/test-sprintf-posix.h (NaN): Likewise. + * tests/test-trunc1.c (NaN): Likewise. + * tests/test-truncf1.c (NaN): Likewise. + * tests/test-vasnprintf-posix.c (NaN): Likewise. + * tests/test-vasprintf-posix.c (NaN): Likewise. + * modules/isnand-nolibm (Depends-on): Add math. + * modules/isnanf-nolibm (Depends-on): Likewise. + * modules/isnanl (Depends-on): Likewise. + * modules/isnanl-nolibm (Depends-on): Likewise. + * modules/snprintf-posix-tests (Depends-on): Likewise. + * modules/sprintf-posix-tests (Depends-on): Likewise. + * modules/vsnprintf-posix-tests (Depends-on): Likewise. + * modules/vsprintf-posix-tests (Depends-on): Likewise. + * modules/vasnprintf-posix-tests (Depends-on): Likewise. + * modules/vasprintf-posix-tests (Depends-on): Likewise. + +2008-03-31 Bruno Haible + + * tests/test-strtod.c (main): Update results for OSF/1 platforms. + * doc/posix-functions/strtod.texi: Likewise. + +2008-03-31 Bruno Haible + + * tests/test-strtod.c (main): Don't use C99 syntax. + +2008-03-31 Bruno Haible + + * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris. + Reported by Eric Blake. + +2008-03-31 Jim Meyering + + Don't compare actual signbit return values. + * tests/test-strtod.c (main): Rather, compare only their + zero/non-zero nature. + +2008-03-31 Eric Blake + + More strtod documentation. + * doc/posix-functions/strtod.texi (strtod): Interpret more test + failures as distinct bugs. + +2008-03-30 Paul Eggert + + * lib/wchar.in.h [defined __need_mbstate_t]: Just include . + Problem reported by Erik Benada in + . + +2008-03-30 Bruno Haible + + * tests/test-strtod.c: Add comments about which assertion fails on which + platform. + * doc/posix-functions/strtod.texi: Add info about many more platforms. + +2008-03-30 Eric Blake + + Test signbit behavior on zeros. + * tests/test-signbit.c (test_signbitf): Add tests for zero. + (test_signbitd, test_signbitl): Likewise. + + More strtod touchups. + * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and + sign of negative underflow, for now. Use .5, not .1. + * doc/posix-functions/strtod.texi (strtod): Mention these + limitations. + Reported by Jim Meyering. + +2008-03-30 Bruno Haible + + * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion + from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8. + +2008-03-30 Bruno Haible + + Avoid failure when attempting to return empty iconv results on some + platforms. + * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory + allocation, don't report ENOMEM when the resulting string is empty. + +2008-03-30 Bruno Haible + + Fix buffer overrun. + * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves: + Don't consider the width for tmp_length. Check count against tmp_length + before doing the padding. Ensure enough allocation during padding. + +2008-03-30 Eric Blake + + strtod touchups. + * lib/strtod.c (strtod): Avoid compiler warnings. + Reported by Jim Meyering. + +2008-03-30 Bruno Haible + + * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback. + * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW. + + * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback. + * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW. - Fix problem in concating filters - The check whether we fully own a filter in compile_concat, and therefore - can modify it destructively, was wrong. Besides holding the only reference - to the filter, we also need to be holding the only reference to the value - wrapping the filter. + * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback. + * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW. + * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW. - Mark hosts and aliases for autoloading + * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback. + * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW. - Load from the new ../lenses dir + * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback. + * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW. - Obey setting of an explicit root directory + * lib/xvasprintf.c (EOVERFLOW): Remove fallback. + * modules/xvasprintf (Depends-on): Add EOVERFLOW. - Don't segfault when there is no filter arg for a match - Before, running "augtool match '/augeas/files/*/error'" would result in a - segfault. Now it prints all matching entries, regardless of their value. + * lib/vsprintf.c (EOVERFLOW): Remove fallback. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW. + * modules/vsprintf-posix (Depends-on): Add EOVERFLOW. + + * lib/vsnprintf.c (EOVERFLOW): Remove fallback. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW. + * modules/vsnprintf (Depends-on): Add EOVERFLOW. + + * lib/vfprintf.c (EOVERFLOW): Remove fallback. + * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW. + * modules/vfprintf-posix (Depends-on): Add EOVERFLOW. + + * lib/vasprintf.c (EOVERFLOW): Remove fallback. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW. + * modules/vasprintf (Depends-on): Add EOVERFLOW. + + * lib/vasnprintf.c (EOVERFLOW): Remove fallback. + * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW. + * modules/vasnprintf (Files): Remove m4/eoverflow.m4. + (Depends-on): Add EOVERFLOW. + * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4. + (Depends-on): Add EOVERFLOW. + * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4. + (Depends-on): Add EOVERFLOW. + * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4. + (Depends-on): Add EOVERFLOW. + * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4. + (Depends-on): Add EOVERFLOW. + * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4. + (Depends-on): Add EOVERFLOW. + * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4. + (Depends-on): Add EOVERFLOW. + * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4. + (Depends-on): Add EOVERFLOW. + + * lib/sprintf.c (EOVERFLOW): Remove fallback. + * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW. + * modules/sprintf-posix (Depends-on): Add EOVERFLOW. + + * lib/snprintf.c (EOVERFLOW): Remove fallback. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW. + * modules/snprintf (Depends-on): Add EOVERFLOW. + + * lib/poll.c (EOVERFLOW): Remove fallback. + * modules/poll (Depends-on): Add EOVERFLOW. + + * lib/getugroups.c (EOVERFLOW): Remove fallback. + * modules/getugroups (Depends-on): Add EOVERFLOW. + + * lib/getdelim.c (EOVERFLOW): Remove fallback. + * modules/getdelim (Depends-on): Add EOVERFLOW. + + * lib/ftell.c (EOVERFLOW): Remove fallback. + * modules/ftell (Depends-on): Add EOVERFLOW. + + * lib/fprintf.c (EOVERFLOW): Remove fallback. + * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW. + * modules/fprintf-posix (Depends-on): Add EOVERFLOW. + + * lib/c-stack.c (EOVERFLOW): Remove unused fallback. + + * modules/EOVERFLOW-tests: New file. + * tests/test-EOVERFLOW.c: New file. + + * modules/EOVERFLOW: New file. + * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem. + +2008-03-30 Bruno Haible + + Fix bug introduced on 2007-06-10. + * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use + spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO. + +2008-03-30 Bruno Haible + + Improve freadseek's efficiency after ungetc. + * lib/freadseek.c: Include freadahead.h. + (freadptrinc): New function, extracted from freadseek. + (freadseek): Use it in a loop. Use freadahead to determine the number + of loop iterations. + * modules/freadseek (Depends-on): Add freadahead. + (configure.ac): Require AC_C_INLINE. + +2008-03-30 Bruno Haible + + * lib/freadseek.c (freadseek): Don't ignore the return value of + freadptr. + +2008-03-29 Eric Blake + + Add hex float support. + * modules/strtod (Depends-on): Add c-ctype. + (Link): Mention POW_LIB. + * lib/strtod.c (strtod): Recognize hex floats. Don't allow + whitespace between 'e' and exponent. + * tests/test-strtod.c (main): Enable hex float tests. + * doc/posix-functions/strtod.texi (strtod): Document what gnulib + now provides. + + Document various strtod bugs, with some fixes. + * doc/posix-functions/strtod.texi (strtod): Document bugs with + "-0x", "inf", "nan", and hex constants. + * doc/posix-functions/atof.texi (atof): Likewise. + * modules/stdlib (Makefile.am): Support strtod. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise. + * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and + detect additional strtod bugs. + * lib/stdlib.in.h (rpl_strtod): Add declarations. + * lib/strtod.c (strtod): Return -0.0 on negative underflow. Use + bool where appropriate. Parse 'inf' and 'nan'. + * tests/test-strtod.c: New file. + * modules/strtod (Depends-on): Add stdbool, stdlib. + (configure.ac): Turn on module indicator. + * modules/strtod-tests: New module. + +2008-03-29 Eric Blake + + Fix ftell on mingw. + * lib/ftell.c (EOVERFLOW): Define if the system lacks it. + * modules/ftell-tests (Depends-on): Add binary-io. + * modules/ftello-tests (Depends-on): Likewise. + * tests/test-ftell.c (main): Enhance test to cover behavior after + ungetc. Enforce binary mode. + * tests/test-ftello.c (main): Likewise. + + Pass test-freadseek on cygwin. + * modules/freadseek (Depends-on): Use freadptr, not freadahead. + * lib/freadseek.c (freadseek): Don't increment beyond bounds of + ungetc buffer. + + * tests/test-fflush2.c (main): Fix typo. - Handle continuation lines; more thorough tests +2008-03-29 Bruno Haible - Check that labels and keys do not contain a '/' - We rely on that fact in various places when handling paths; '/' is the - separator of path components and can never appear in a path component. + * tests/test-fflush2.c (main): Temporarily disable the contents of + this test. + * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO. + Reported by Eric Blake. - Print a newline on EOF +2008-03-28 Simon Josefsson - Autoloading of files for augtool - Autoload is indicated by putting a 'autoload ...' statement as the first - expression in a module. Currently, there can only be one autoload; the - identifier mentioned in the autoload must be defined in the enclosing + * lib/gc.h (enum Gc_hash): Add GC_SHA224. + (GC_SHA224_DIGEST_SIZE): Add. + + * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224. + (gc_hash_digest_length): Likewise. + (gc_hash_buffer): Likewise. + +2008-03-25 Bruno Haible + + * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more + detail which gettext release to use. + Reported by Simon Josefsson. + +2008-03-26 Jim Meyering + + gnumakefile: remove file from $(top_builddir), not from $(top_srcdir) + * modules/gnumakefile (clean-GNUmakefile): Also, use + test ... && ... || : syntax rather than if-then ... fi. + + gnumakefile: Don't double-quote-expand $(VPATH) value. + * modules/gnumakefile (clean-GNUmakefile): Use single quotes. + +2008-03-24 Eric Blake + + Alter GNUmakefile to install into top directory. + * modules/maintainer-makefile: Split, and add dependency... + * modules/gnumakefile: to this new module. + * build-aux/GNUmakefile: Move... + * top/GNUmakefile: ...here. + * build-aux/maint.mk: Move... + * top/maint.mk: ...here. + * MODULES.html.sh (Support for maintaining...): Document new module. -2008-04-07 David Lutterkort +2008-03-23 Bruno Haible - Builtins for filters and transforms - Three simple builtins to construct transforms: + * gnulib-tool: New options --vc-files, --no-vc-files. + (func_usage): Document them. + (vc_files): New variable. + (func_import): Consider vc_files. + (func_create_testdir): Set vc_files to empty. + Suggested by Jim Meyering and Karl Berry. - - incl : string -> filter includes all files matching a glob - - excl : string -> filter -> filter excludes all files matching a glob - - transform: lens -> filter -> transform +2008-03-23 Bruno Haible -2008-04-08 David Lutterkort + Fix regex compilation error on HP-UX 11. + * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T. + * modules/regex (Files): Add m4/mbstate_t.m4. + Reported by Ton Voon . - Implement free_lens +2008-03-23 Bruno Haible -2008-04-07 David Lutterkort + * doc/gnulib-tool.texi (gettextize and autopoint): New section. - A lens for yum +2008-03-23 Eric Blake + Bruno Haible - Fix bad free + Install files from top/ in the destination directory. + * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST + augmentation also for the files from top/. + (func_import, func_create_testdir): Rewrite file names: + top/filename -> filename. - Add Util.split +2008-03-23 Bruno Haible - Local let expressions - Add syntax for - let a = - let b = exp in - exp + Tweak "gnulib --version" output. + * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified". - Plug two more memory leaks - - require_exp_type is sometimes called with a term that already has - a type. Don't typecheck such terms again - - compile_compose should not run the full typechecker on the closure it is - building, since parts of it have been typechecked already. Instead, - manually create types for the new terms. Also, don't evaluate the - subexpressions since their values are not used at all +2008-03-23 Bruno Haible - Add a 'gensym' builtin + Tweak "gnulib --version" output. + * gnulib-tool (func_version): Use date of last commit to ChangeLog, + rather than contents of ChangeLog, when possible. - More ref ocunting fixes - - aug_close now releases the list of modules - - compile_bracket cleans up the arg - - augparse closes the augeas connection, mostly so that we can see leaks - in valgrind better +2008-03-21 Eric Blake -2008-04-04 David Lutterkort + More --version tweaks. + * gnulib-tool (func_version): Obey GNU Coding Standards. Output + date of last ChangeLog entry. - Fix major brainfart in ref counting lists - The way lists were reference counted (and particularly unref'd) was just - plain stupid wrong. A list 'next' pointer is no different from any other - pointer when it comes to ref counting. +2008-03-21 Jim Meyering - Initialize *err properly, even if there is no tree + * build-aux/GNUmakefile (_have-git-version-gen): Split long line. - Fix bug with nested subtrees - There was no clear indication if a subtree was a leaf (and should therefore - not grow any tree returned by its child) or was an interior subtree (so - that any returned tree needs to become a child of a new tree) +2008-03-20 Eric Blake - Kludge around an inconsistency with print_tree + VPATH fix. + * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir. - Beginnings of tests for the interpreter +2008-03-20 Simon Josefsson - Exceptions during compilation countas failure + * build-aux/GNUmakefile: Make git-version-gen optional. Add + _build-aux variable. Suggested by Eric Blake . - Fix how the key regexp for unions is calculated - Union would produce spurious empty keys, for example in the expression - [ key /a/ . ([ l1 ] | [ l2 ]) ] - the union would get an atype of '//' which is wrong, since the subtree [] - does not contribute to an atype. +2008-03-20 Eric Blake - Start a util module with some common functions + Sync GNUmakefile with coreutils. + * build-aux/GNUmakefile (have-Makefile): Rename... + (_have-Makefile): ...to this, for namespace consideration. + (GNUmakefile.cfg): Include, if present. + (_autoreconf): Define a default. + (_is-dist-target): New rule for rebuilds to pick up intra-release + version. + (maint-cfg.mk): Rename... + (cfg.mk): ...to this. - Run lens tests during 'make check' +2008-03-18 Jim Meyering - Fix bug introduced in 292:5123e63e004b - Don't compare with the whole path if there is a parent, only the last - component of that path. + New script and module: mktempd + * MODULES.html.sh (maint+release support): Add mktempd. + * build-aux/mktempd: New file. + * modules/mktempd: New file. - Handle trailing slashes on loadpath components cleanly +2008-03-15 Jim Meyering - /etc/aliases processing in the new syntax with tests + Undo last change. + * lib/sha1.c, lib/md5.c: 63 != ~63. + Reported by Andreas Schwab. -2008-04-04 David Lutterkort + sha1.c, md5.c: Hoist a redundant expression. + * lib/sha1.c (sha1_process_bytes): AND-off the low bits in + "ctx->buflen" only once, before calling *_process_block. + * lib/md5.c (md5_process_bytes): Likewise. - Allow rm from toplevel of tree - The only issue with this is that the dirty flag can not be set properly - when deleting from the toplevel of the tree since the flag has to be set on - the parent, which we don't have. +2008-03-14 Eric Blake - This is really only an issue if (a) we delete the whole tree (b) the next - sibling of the node we delete is semantically different from the deleted - node (e.g. because it goes into a different file) + Bump copyright year in files generated by gnulib-tool. + * gnulib-tool (func_emit_copyright_notice): Extract copyright from + gnulib-tool, rather than hard-coding it. - Either way, this only happens during tests; in the 'real' tree, toplevel - nodes are fixed, like /files and /augeas, and we don't really have an issue - there. + Fix 'gnulib-tool --version' output to work with git. + * gnulib-tool (func_gnulib_dir): New function, extracted from... + (startup): ...here. + (func_version): Use it to invoke git-version-gen, rather than + relying on CVS keyword expansion. Modernize wording. + (cvsdatestamp, last_checkin_date, version): Kill unused + variables. -2008-04-04 David Lutterkort +2008-03-12 Jim Meyering - Small tweaks + Recognize optional cast of the argument to free. + * build-aux/useless-if-before-free: Update regexps. - Produce exn when tree_rm/tree_set fail + * build-aux/bootstrap (gnulib_tool): Remove trailing blanks. - Update yylloc for string/regexp constants +2008-03-11 Bruno Haible -2008-04-03 David Lutterkort + Extend AC_LIB_LINKFLAGS to the situation of several libraries provided + by a single package. + * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro. + (AC_LIB_LINKFLAGS_BODY): Use the information stored by + AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH. + Reported by Sam Steingold . - When compile_exp produces an exn, bind it anyway - This avoids lots of trouble with NULL values +2008-03-12 Sergey Poznyakoff - Desugar (lens)+ - The construct (lens)+ is now processed as lens . lens* + * build-aux/bootstrap (version_controlled_file): Adapt for SVN + repositories. - Fix segv on repetition of regexps +2008-03-11 Bruno Haible - Clearer error messages from typechecking lenses + Avoid conflicts between local macro definitions. + * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS, + AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine. - Fix key regexp for union; throw exception on subtrees with multiple keys +2008-03-10 Peter O'Gorman + Bruno Haible - Have lens constructors return exns on failure - Also refactor exception generation. + Make va_copy work with some version of xlc on AIX 5.1. + * lib/stdarg.in.h: New file. + * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H. + On AIX, use a file substitute. + * modules/stdarg (Files): Add lib/stdarg.in.h. + (Depends-on): Add include_next. + (Makefile.am): Build a stdarg.h substitute if requested. + * doc/posix-functions/va_copy.texi: Document the platforms lacking it. - Add a test that produces an exception +2008-03-10 Bruno Haible - Allow '*' as a test result indicating an expected exception + * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise. + Reported by Peter O'Gorman . - Error propagation from lns_put - Record a lns_error if things don't work out during put. Generate an - exception on error. +2008-03-10 Bruno Haible - A very first lens in the new syntax, with tests + * modules/stdlib (Depends-on): Add include_next, remove + absolute-header. - Use the default string for a del lens, really. +2008-03-09 Bruno Haible - Module names must be consistent with the name of the file they are in - The basename of the file must be the name of the module, lowercased and - with ".aug" appended + * lib/freadahead.h (freadahead): Document more precisely. + * lib/freadahead.c (freadahead): When an ungetc is in effect, return + the sum of both buffer sizes. + * tests/test-freadahead.c (main): Also test behaviour after ungetc. + * NEWS: Document the change. -2008-04-03 David Lutterkort +2008-03-09 Bruno Haible - Add explicit loadpath - augtool and augparse now take an explicit loadpath with the -I option, - which can be repeated multiple times. + Extend freadptr to return also the buffer size. + * lib/freadptr.h (freadptr): Add sizep argument. + * lib/freadptr.c: Include freadptr.h, not freadahead.h. + (freadptr): Add sizep argument. Determine buffer size like freadahead + does. + * tests/test-freadptr.c: Don't include freadahead.h. + (main): Adapt for new calling convention of freadptr. + * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c. + * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh. + * modules/freadptr-tests (Files): Add tests/test-freadptr2.c, + tests/test-freadptr2.sh. + (Depends): Remove freadahead. + (TESTS): Add test-freadptr2.sh. + (check_PROGRAMS): Add test-freadptr2. - aug_init takes a loadpath as a new argument +2008-03-09 Bruno Haible -2008-04-03 David Lutterkort + * doc/Makefile (%.pdf): Explain how to remedy the save_size error. + Report and solution by Simon Josefsson. - Load needed modules - When the module for a qualified identifier Mod.name is not loaded yet, - automatically load it by looking for a file mod.aug on the module load - path. +2008-03-06 Bruno Haible - Rename struct env to struct module + Make fflush after ungetc work on BSD platforms. + * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible. + * tests/test-fflush2.c: New file. + * tests/test-fflush2.sh: New file. + * modules/fflush-tests (Files): Add tests/test-fflush2.sh, + tests/test-fflush2.c. + (Makefile.am): Build test-fflush2 and run test-fflush2.sh. + * doc/posix-functions/fflush.texi: Document fflush after ungetc bug. - Separate function composition from concatenation - Function composition is now written as 'f ; g' instead of 'f . g' +2008-03-06 Eric Blake - Allow tree constants with NULL labels + Likewise for ftello. + * modules/ftello (Dependencies): Add extensions. + * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS. - Clean up printing of empty trees +2008-03-06 Bruno Haible - Clarify the reference counting terminology + * modules/fseeko (Dependencies): Add extensions. + * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS. + Needed on glibc systems. - Free the skel that lns_put creates initially +2008-03-06 Bruno Haible - Make sure free_dict frees the whole dict + * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside + email address. + Reported by Thien-Thi Nguyen . - Fix reference problem - The wrong type was being unref'd +2008-03-06 Bruno Haible -2008-04-02 David Lutterkort + * users.txt: Add libgnupdf. - Free the whole dictionary - While entries are looked up, dict->entry changes; dict->mark is the head of - the list of all entries that were ever in the dict. +2008-03-06 Thien-Thi Nguyen (tiny change) - Clear skel and dict in state so assertions in create_ don't trip + * doc/gnulib-tool.texi (@nosuchmodulenote): New macro. + (Header File Substitutes, Function Substitutes, + Glibc Header File Substitutes, Glibc Function Substitutes): Use it. + (Build robot for gnulib): Fix typo. - Always split the full tree - There's no need to support splitting a partial tree for now. This means - that lns_put will put TREE and all its siblings. +2008-03-06 Bruno Haible - Fix incorrect usage of size parameter for re_match + * doc/gnulib-tool.texi (VCS Issues): Small updates. + Reported by Thien-Thi Nguyen . - Add missing break in get/parse_union - Without it, it acts like a concat that drops trees on the floor +2008-03-06 Bruno Haible - Allow printing of hidden tree nodes - When printing test results, we want to see the full tree + * doc/func.texi: New file, extracted from doc/gnulib.texi. + * doc/gnulib.texi: Include it. - Pass lns_error to parse; free dicts and skels +2008-03-06 Simon Josefsson -2008-04-02 David Lutterkort + * modules/func (License): Change license to unlimited; there was + no LGPL parts in the module anyway. - Report errors from get as exceptions - Adds a value kind 'EXN'. When the interpreter gets such a value, it bails - out immediately. +2008-03-06 Simon Josefsson - lns_get now reports parse errors in an lns_error struct, which is turned - into an exception in the interpreter. + * modules/__func__: Renamed to modules/func. + * modules/__func__-tests: Renamed to modules/func-tests. + * tests/test-__func__.c: Renamed to tests/test-func.c. + * m4/__func__.m4: Renamed to m4/func.m4. + * doc/gnulib.texi (__func__): Section renamed to func. + Suggested by Eric Blake . -2008-04-02 David Lutterkort +2008-03-06 Simon Josefsson - Added tag ml-syntax-start for changeset fcd6c04a1eed + * doc/gnulib.texi (__func__): Use C99 terminology when talking + about __func__. Make example self-contained. Suggested by Eric + Blake . - A subtree without a key matches "/" + * tests/test-__func__.c (main): Avoid extraneous () around __func. + Suggested by Eric Blake . - Print \n after test result +2008-03-06 Simon Josefsson - Allocate enough bytes for string in unescape + * modules/__func__: New file. + * modules/__func__-tests: New file. + * tests/test-__func__.c: New file. + * m4/__func__.m4: New file. + * doc/gnulib.texi (__func__): Document __func__ module. - Free regexps cleanly +2008-03-05 Simon Josefsson - Fill in subtree->atype with empty regexp + * modules/byteswap (License): Re-license as LGPLv2+. -2008-04-01 David Lutterkort +2008-03-05 Simon Josefsson - Interpreter for the new file description syntax - This is by no means done, but done enough to allow incremental fixes from - now on. This checkin still contains lots of FIXME's and bugs. Very simple - unit tests do work though. + * doc/Makefile: Add pdf target. - The syntax for describing files is now a very simple OCaml-like functional - language; the file syntax.c implements an interpreter for that language. +2008-03-05 Simon Josefsson -2008-03-25 David Lutterkort + * modules/inline (License): Use 'unlimited', since there are only + *.m4 files in this module. - Revamp the language +2008-03-03 John E. Malmberg (tiny change) + Bruno Haible -2008-03-14 David Lutterkort + Add support for HP C 7.1 on OpenVMS 8.3. + * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS. - Remove comment about fa_overlap/fa_ambig_example - I don't really have the data to support preferring one over the other that. +2008-03-03 John E. Malmberg (tiny change) - Rename parse_* functions to get_* + Update VMS specifics. + * lib/getopt.c [VMS]: Remove include of unixlib.h. - Rename parser.c to get.c +2008-03-02 Jim Meyering - Add bcprules (by Benjamin Pierce); needed by lenses.tex + Remove the last dependency on the "free" module. + * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE. + Reported by Bob Proulx. - Added tag release-0.0.7 for changeset 93563112907c + * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc. - Release 0.0.7 + Remove useless "if" tests before free. Deprecate "free" module. + * doc/posix-functions/free.texi: Mention that this + module is no longer useful. + * modules/free (Notice): Say this module is obsolete. + * modules/readutmp (Depends-on): Remove free. + * lib/save-cwd.c (free_cwd): Remove useless "if" before free. + * lib/putenv.c (putenv): Likewise. + * lib/gc-gnulib.c (gc_cipher_close): Likewise. + * lib/getaddrinfo.c (freeaddrinfo): Likewise. + * tests/test-c-strcasestr.c (main): Likewise. + * tests/test-c-strstr.c (main): Likewise. + * tests/test-mbscasestr1.c (main): Likewise. + * tests/test-mbscasestr2.c (main): Likewise. + * tests/test-mbsstr1.c (main): Likewise. + * tests/test-mbsstr2.c (main): Likewise. + * tests/test-memmem.c (main): Likewise. + * tests/test-strcasestr.c (main): Likewise. + * tests/test-striconv.c (main): Likewise. + * tests/test-striconveh.c (main): Likewise. + * tests/test-striconveha.c (main): Likewise. + * tests/test-strstr.c (main): Likewise. - Expose typechecking in augtool - Run 'augtool -c' to get typechecking. Very useful during - development. (Though augparse is even more useful when writing new lenses) + * build-aux/git-version-gen: Adjust a comment and the Usage string. - Be a little more restrictive on when to dump the whole grammar + bootstrap: sync from coreutils again + * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks. - Fix lenses so that they pass type checking. - There were several subtle amibuities in the lenses previously, which the - typechecker nicely discovers now. +2008-03-01 Jim Meyering - When splitting the tree, check that we are atthe right subtree - Without the check, spliting at a subtree just gobbles up trees without any - regard for what that tree is. This becmoes a problem in a sequence like - [ COMMENT ] * . [ key FOO . store BAR ] * - when there is no comment, and therefore no subtree witha NULL label. A tree - with a single node matching FOO is wrongly split as if there was a COMMENT - (which, if it were there would have to have a NULL label) + bootstrap: sync from coreutils + * build-aux/bootstrap (update_po_files): Copy a .po file into place + also when the target doesn't exist. -2008-03-13 David Lutterkort +2008-03-01 Eric Blake - Defer allocating storage for a state_set as long as possible + Fix bugs in last patch. + * lib/memchr2.c (memchr2): Fix typo. + * tests/test-memchr2.c: Test previous bug, and don't use GNU + extension. + Reported by Bruce Korb. - Rename constants state_set_* to array_* - We use state_set_initial_size and state_set_max_stride for both state_set - and transitions arrays. Rename them to array_initial_size and - array_max_expansion + New module 'memchr2'. + * modules/memchr2: New file. + * modules/memchr2-tests: Likewise. + * lib/memchr2.h: Likewise. + * lib/memchr2.c: Likewise, based on memchr.c. + * tests/test-memchr2.c: New test. + * MODULES.html.sh (String handling): Add memchr2. - Speed up FA_MINUS by checking for some simple cases with fixed results +2008-02-29 Bruno Haible - Speed up fa_contains by not determinizing FA1 + * modules/freadseek-tests: New file. + * tests/test-freadseek.sh: New file. + * tests/test-freadseek.c: New file. - Speed up intersection - (1) Do not determinize before intersecting - (2) Check if one of the automata is the empty language, and return the - empty language if so + New module 'freadseek'. + * modules/freadseek: New file. + * lib/freadseek.h: New file. + * lib/freadseek.c: New file. + * MODULES.html.sh (File stream based Input/Output): Add freadseek. - Store transitions in an array - Brings about a 10% performance gain since we don't allocate each transition - individually, and since traversing and accessing transitions is a wee bit - faster. +2008-02-29 Sergey Poznyakoff - Remove unused macro + * users.txt: Add anubis, cpio, mailfromd, mailutils, radius, + wydawca. - Clean up fa_iter some - Now both cases (max == -1 for unbounded iteration) and max >=0 use the same - code to generate the automaton (fa){min} + * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if + program_invocation_name and program_invocation_short_name are + present. - Compute union and concat in place internally - Reduces the number of times we clone an fa for internal purposes, and - therefore the memory management overhead. +2008-02-28 Bruno Haible - Rejigger the weights assigned by chr_score to make fa_example more predictable + * tests/test-freadptr.c: Add a test for behaviour after ungetc. + * tests/test-freadptr.sh: Also test non-seekable stdin. - Minor optimization for fa_example +2008-02-28 Sergey Poznyakoff - Keep the list of states for clone in a sorted set - This speeds up things enormously (for cmfm.aug, augparse goes from 17s to 6s) + * build-aux/bootstrap (source_base, m4_base) + (doc_base, tests_base): New variables. + (gnulib_tool_options): Do not hardcode base directories, use + the above variables instead. - Store that pairs of states for intersection in a hash table +2008-02-28 Atsushi SAKAI - Sorted state sets - When order of states in a set doesn't matter, allow the set to be kept - sorted so that search can use binary search. + * lib/xsize.h: Fix typo in comment: s/tupe/type/. -2008-03-12 David Lutterkort +2008-02-28 Bruno Haible - Fix two memory leaks + * modules/freadptr-tests: New file. + * tests/test-freadptr.sh: New file. + * tests/test-freadptr.c: New file. + + New module 'freadptr'. + * modules/freadptr: New file. + * lib/freadptr.h: New file. + * lib/freadptr.c: New file. + * MODULES.html.sh (File stream based Input/Output): Add freadptr. + +2008-02-26 Karl Berry + + Sync from Libtool: + * libltdl/argz.c (argz_add, argz_count): New functions. + * libltdl/argz.in.h: Declare them. + Report by Juan Manuel Guerrero . + +2008-02-22 Bruno Haible + + * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type + is a pointer type. Needed for HP-UX 10. + * doc/posix-functions/localtime_r.texi: Mention HP-UX 10. + * doc/posix-functions/gmtime_r.texi: Likewise. + Reported by Peter O'Gorman . + +2008-02-24 Bruno Haible - Remove the last uses of FA_MAP - Use STATE_SET instead, since it's faster and lighterweight + * modules/environ-tests: New file. + * tests/test-environ.c: New file. - Rename structs fa_state and fa_trans to state and trans + New module 'environ'. + * modules/environ: New file. + * lib/unistd.in.h (environ): New declaration. + * m4/environ.m4: New file. + (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var + after use. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and + HAVE_DECL_ENVIRON. + * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and + HAVE_DECL_ENVIRON. + * doc/posix-functions/environ.texi: Mention module 'environ'. Remove + wrong claim that 'environ' is missing on some systems. + * modules/execute (Depends-on): Add environ. + * lib/execute.c (environ): Remove fallback declaration. + * modules/pipe (Depends-on): Add environ. + * lib/pipe.c (environ): Remove fallback declaration. + * modules/setenv (Depends-on): Add environ. + * lib/setenv.c (environ): Remove fallback declaration. + * modules/unsetenv (Depends-on): Add environ. + * lib/unsetenv.c (environ): Remove fallback declaration. + * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to + m4/environ.m4. + (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ. + (gl_PREREQ_UNSETENV): Likewise. - [mq]: min_hopcroft.patch +2008-02-24 Bruno Haible - Sort transitions before generating examples - Otherwise, examples depend on the order in which transitions appear for - each state. + * doc/posix-functions/environ.texi: Document the MacOS X problem. - Add state sets at head of state_set_list +2008-02-20 Bob Proulx - Use state_set in fa_clone - To speed up fa_clone, keep the correspondence between old and new states in - a state_set to reduce allocation overhead. + Enable use of older two part flavor 'git describe'. + * build-aux/git-version-gen: If using the older two part flavor of + git version then recreate the third part now present in the + newer three part flavor of git describe. - Reverse transitions in place in fa_reverse +2008-02-20 Martin Buchholz (tiny change) - Improve the performance of fa_intersect with better data structures - Store the map of (s1, s2) -> s for intersection in nested state sets - instead of a linked list. + * lib/fts.c (fts_build): Typo correction to comment. -2008-03-12 David Lutterkort +2008-02-17 Bruno Haible - Faster data structures for sets of states and a list of sets of states - Store the list of sets of states for determinize in a hash table. Since I - don't feel like implementing my own, pull in glib and use GHashTable. + * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid + generating no-op conflicts. - Store sets of states in an array rather than in a linked list. This greatly - reducs the overhead from memory allocations, since the array is expanded by - doubling its size (up to some threshold) +2008-02-17 Bruno Haible + + Speed up by 10%. + * lib/git-merge-changelog.c (main): Use the iterator to iterate through + result_entries, rather than an index-based loop. + +2008-02-17 Bruno Haible + + Speed up by 25%. + * lib/git-merge-changelog.c (struct entry): New fields 'hashcode', + 'hashcode_cached'. + (entry_create): New function. + (entry_hashcode): Use the cached hashcode if possible. + (read_changelog_file, try_split_merged_entry): Use entry_create. + +2008-02-17 Bruno Haible + + Speed up from O(n^2) to O(n) for long ChangeLog files. + * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h. + (read_changelog_file): Change implementation of entries_reversed list + to rbtreehash. + * modules/git-merge-changelog (Depends-on): Add rbtreehash-list. + +2008-02-17 Bruno Haible + + New option --split-merged-entry. + * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro. + (find_paragraph_end, try_split_merged_entry): New functions. + (long_options): Add option --split-merged-entry. + (usage): Document option --split-merged-entry. + (main): Implement option --split-merged-entry. + Reported by Eric Blake. + +2008-02-17 Bruno Haible + + * lib/git-merge-changelog.c: Include c-strstr.h. + (main): Support the "git pull --rebase" situation. + * modules/git-merge-changelog (Depends-on): Add c-strstr. + Reported by Eric Blake. + +2008-02-16 Eric Blake + + Avoid doubling \ in common case of "c-maybe" quoting style. + * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when + eliding outer quotes. + * lib/quotearg.h: Document this. + * tests/test-quotearg.c (result_strings, inputs, results_g) + (flag_results, locale_results): Test it by adding a new string to + each test group. + (compare_strings): Test new string. + +2008-02-13 Eric Blake + + Avoid trigraph quoting in default output. + * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS. + * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs + unless explicitly requested. + * tests/test-quotearg.c (flag_results, main): Add additional tests. + +2008-02-13 Lasse Collin + + Don't rely on signed integer overflowing to negative value. + * lib/getugroups.c (getugroups): Include . + Instead, compare against INT_MAX, and increment only if the test passes. + +2008-02-13 Jim Meyering + and Eric Blake + + Avoid shadowing warning and compile errors on Linux. + * tests/test-quotearg.c [ENABLE_NLS]: Disable + forwarding macros on Linux. + (dcgettext): Define a stub, for Linux. + (results_g, main): Avoid warnings. + +2008-02-12 Eric Blake + + Silence warning in last patch. + * lib/quotearg.c (quotearg_buffer_restyled): Add missing const. + + Quotearg part 4: add tests, fix c-maybe colon quoting. + * lib/quotearg.h: Improve documentation. + * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra + escapes when adding outer quotes. When quoting trigraphs, use + valid C notation. When quoting NUL, omit extra characters if next + character is not digit. Alter prototype. + (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust + callers. + * modules/quotearg-tests: New module. + * tests/test-quotearg.c: New test. + +2008-02-07 Eric Blake + + Quotearg part 3: add flag to control outer quote elision. + * lib/quotearg.h (c_maybe_quoting_style): New style. + (enum quoting_flags): Better documentation of flags. + * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add + c-maybe style. + (quotearg_buffer_restyled): Handle new flag to elide outer + quotes. + + Quotearg part 2: add flag that can control NUL elision. + * lib/quotearg.h (set_quoting_flags): New prototype. + * lib/quotearg.c (struct quoting_options): Add flag field. + (set_quoting_flags): New function. + (quotearg_buffer_restyled): Add flags parameter. + (quotearg_alloc_mem): Set the flag if length cannot be returned. + (quotearg_n_options): Set the flag, since length cannot be + returned. + (quoting_options_from_style): Default flags correctly. + + Quotearg part 1: more wrappers, restore quotearg_char state. + * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem) + (quotearg_mem, quotearg_style_mem, quotearg_char_mem) + (quotearg_colon_mem): New wrappers. + * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite... + (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new + functions. + (quotearg_n_mem, quotearg_mem, quotearg_style_mem) + (quotearg_colon_mem): New functions. + +2008-02-11 Bruno Haible + + * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a + library in the current directory: it does not work with parallel make. + Reported by Ralf Wildenhues . + +2008-02-11 Bruno Haible + + * .gitattributes: New file. + +2008-02-11 Jim Meyering + + useless-if-before-free: Fix reversed exit values. + * build-aux/useless-if-before-free: Use correct values + for EXIT_MATCH and EXIT_NO_MATCH. + + * build-aux/useless-if-before-free: Close stdout carefully. + +2008-02-10 Bruno Haible + + New module 'git-merge-changelog'. + * modules/git-merge-changelog: New file. + * lib/git-merge-changelog.c: New file. + +2008-02-10 Jim Meyering + + useless-if-before-free: New option: --list (-l). + + useless-if-before-free: Don't exit immediately upon open failure. + * build-aux/useless-if-before-free: Exit 2 for errors. + Upon failure to open a file, don't exit immediately. + Rather, just warn and continue with any remaining files. + +2008-02-10 Bruno Haible + + New abstract list operation 'node_set_value'. + * lib/gl_list.h (gl_list_node_set_value): New function. + (struct gl_list_implementation): New field node_set_value. + * lib/gl_list.c (gl_list_node_set_value): New function. + * lib/gl_array_list.c (gl_array_node_set_value): New function. + (gl_array_list_implementation): Update. + * lib/gl_carray_list.c (gl_carray_node_set_value): New function. + (gl_carray_list_implementation): Update. + * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function. + * lib/gl_linked_list.c (gl_linked_list_implementation): Update. + * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update. + * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function. + * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update. + * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update. + * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation): + Update. + * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update. + * lib/gl_sublist.c (gl_sublist_node_set_value): New function. + (gl_sublist_list_implementation): Update. + +2008-02-10 Bruno Haible + + * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT". + Needed when ELEMENT is #defined to 'some_type *'. + +2008-02-10 Jim Meyering + + New script and module: useless-if-before-free + * MODULES.html.sh (maint+release support): Add useless-if-before-free. + * build-aux/useless-if-before-free: New file. + * modules/useless-if-before-free: New file. + + * build-aux/gitlog-to-changelog: Use committer date, not author date. + + xstrtol_error: Fix typo. + * lib/xstrtol-error.c (xstrtol_error): The parameter was unused: + s/exit_failure/exit_status/. + +2008-02-09 Jim Meyering + + New script and module: gitlog-to-changelog + * MODULES.html.sh (maint+release support): Add gitlog-to-changelog. + * modules/gitlog-to-changelog: New file. + * build-aux/gitlog-to-changelog: New file. -2008-03-11 David Lutterkort +2008-02-08 Jim Meyering - fa_star added a spurious epstrans loop on new initial + Avoid two "parameter unused" warnings. + * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime): + Mark "st" as used. - Mark live and reachable states - Performance improvement. Instead of allocating temporary lists for live and - reachable states, use one bit each in the state to mark them for that - purpose. + Use "git COMMAND", not "git-COMMAND". + * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/. + * build-aux/announce-gen (get_tool_versions): Correct a diagnostic. + * build-aux/git-version-gen: Use "git status", not "git-status". -2008-03-11 David Lutterkort +2008-02-07 Bruno Haible - Add typechecking of lenses - Concatenation and iteration of lenses is now checked for ambiguity. Union - is checked for disjointness, but that is only flagged as a warning, since - it's mostly a harmless problem, and fixing it requires writing nasty - regexps in the spec files. + * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems. + Avoids a crash on Windows Vista. + Reported by Adam Strzelecki via + Simon Josefsson . - Fix existing specs to pass typeckecking. Typechecking is extremely slow - right now, some of that will be addressed shortly. For now, augtool does - not do typechecking, but augparse does by default. +2008-02-06 Bruno Haible -2008-03-10 David Lutterkort + Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20. + * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro. + * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro. + (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it. + * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke + gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke + gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise. + * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise. + * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. + * tests/test-vasnprintf-posix.c (test_function): Add testcases for the + left-adjust flag. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * doc/posix-functions/fprintf.texi: Update. + * doc/posix-functions/printf.texi: Update. + * doc/posix-functions/snprintf.texi: Update. + * doc/posix-functions/sprintf.texi: Update. + * doc/posix-functions/vfprintf.texi: Update. + * doc/posix-functions/vprintf.texi: Update. + * doc/posix-functions/vsnprintf.texi: Update. + * doc/posix-functions/vsprintf.texi: Update. + Reported by Peter Fales . - Fix subtle bug in determinize - Fix a bug that would only hit if '\0' is ever in points. +2008-02-06 Bruno Haible -2008-03-06 David Lutterkort + Fix bug introduced on 2008-01-26. + * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan. - Add fa_ambig_example to generate ambiguous words - Generate an ambiguous string upv given two languages and directions on how - to split that string into u.pv and up.v. Algorithm from Anders Moeller from - the dk.brics.grammar package. +2008-02-06 Bruno Haible -2008-03-06 David Lutterkort + Fix bug introduced on 2007-06-10. + * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if + !NEED_PRINTF_FLAG_ZERO. - Fix example generation, it was completely broken - The previous algorithm was way too simplistic, and failed on more - complicated languages. +2008-02-05 Peter O'Gorman - fa_example now generates a relatively short word, subject to certain - preferences, so that for example, alnum characters are preferred over - printable ones, and those over nonprintable ones. + getloadavg: use libperfstat on AIX5 + * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat -2008-03-06 David Lutterkort +2008-02-03 Bruno Haible - Fix some cornercases in fa_example + * lib/diffseq.h: Add comments about required #includes. + Reported by Michael Biggs . -2008-03-05 David Lutterkort +2008-02-01 Bruno Haible - Add generators and tests for some basic languages - Basic languages are the empty language, the language containing only the - empty word, and the total language \Sigma^* + * users.txt: Add gnuit. - Fix tyops +2008-01-31 Bruno Haible - Added tag release-0.0.6 for changeset 9a4f846673ac + * lib/md4.c (set_uint32): Mark as inline. + * lib/md5.c (set_uint32): Likewise. + * lib/sha1.c (set_uint32): Likewise. + * m4/md4.m4 (gl_MD4): Require AC_C_INLINE. + * m4/md5.m4 (gl_MD5): Likewise. + * m4/sha1.m4 (gl_SHA1): Likewise. - Released version 0.0.6 +2008-01-31 Jim Meyering -2008-03-05 David Lutterkort + Use "sizeof VAR", rather than a literal "4". + * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4. + * lib/md4.c (md4_read_ctx): Likewise. + * lib/sha1.c (sha1_read_ctx): Likewise. - Allow influencing the behavior of save - By passing one of the flags AUG_SAVE_BACKUP or AUG_SAVE_NEWFILE to - aug_init, it is possible to influence the behavior of aug_save to either - overwrite files in palce, save originals with extension .augsave, or put - changes into files with extension .augnew. +2008-01-31 Simon Josefsson - Also added switches to augtool to set this from the command line, and to - set the filesystem root. + * tests/test-sha1.c: New file, based on test-md5.c. -2008-03-05 David Lutterkort + * modules/crypto/sha1-tests: New file. - Added tag release-0.0.5 for changeset 0efe2a620e39 +2008-01-31 Simon Josefsson - Mark print_re as unused + * lib/sha1.h (SHA1_DIGEST_SIZE): Define. - Release 0.0.5 +2008-01-31 Jim Meyering - Make aug_close public + Prefer "sizeof v" over the equivalent "4". + * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4. + * lib/md5.c (set_uint32): Likewise. + * lib/sha1.c (set_uint32): Likewise. + +2008-01-31 Simon Josefsson + + * lib/sha1.c (set_uint32): Mark function as static. + +2008-01-31 Simon Josefsson + + md2: clarify comments to say that alignment is not required. + * lib/md2.h: Remove warning about alignment in comment. + * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has + never been required. + +2008-01-31 Simon Josefsson + + md4: adapt alignment constraint fix from sha1. + * lib/md4.c (set_uint32): New function, from sha1.c + (md4_read_ctx): Use it. + (md4_finish_ctx): Doc fix. + * lib/md4.h: Doc fix. + +2008-01-31 Simon Josefsson + + md5: adapt alignment constraint fix from sha1. + * lib/md5.c (set_uint32): New function, from sha1.c + (md5_read_ctx): Use it. + (md5_finish_ctx): Doc fix. + * lib/md5.h: Doc fix. + +2008-01-30 Peter Palfrader + + sha1: remove the result buffer alignment constraint + * lib/sha1.c (set_uint32): New function. + (sha1_read_ctx): Rewrite to remove the result buffer alignment + constraint. + (sha1_finish_ctx): Remove comment warning about alignment constraint. + * lib/sha1.h: Likewise. + +2008-01-30 Andreas Schwab + Bruno Haible + + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include and ensure a + correct definition of LDBL_MIN_EXP. + +2008-01-30 Karl Berry + + * config/srclist-update: try to preserve x bit on updates. + * config/srclistvars.sh: update for karl. + +2008-01-29 Jim Meyering + + vasnprintf.c: Avoid warning about unused label + * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the + "overflow" label definition and associated code with the + same cpp condition that guards the sole use of that label. + +2008-01-26 Bruno Haible + + * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, + gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in. + * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in. + * lib/isnanl-nolibm.h (isnanl): Likewise. + Reported by Paul Eggert . + +2008-01-26 Bruno Haible + + * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in. + * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in. + +2008-01-26 Bruno Haible + + * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the + GCC >= 4.0 built-in. + * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in. + +2008-01-26 Bruno Haible + + Rename isnan, applicable to 'double' only, to isnand. + * modules/isnand-nolibm: Renamed from modules/isnan-nolibm. + (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h. + (configure.ac): Update. + (Include): Replace "isnan.h" with "isnand.h". + * m4/isnand.m4: Renamed from m4/isnan.m4. + (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set + HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c + instead of isnan.c. + * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC + instead of HAVE_ISNAN_IN_LIBC. + (isnand): Renamed from isnan. + * lib/isnand.c: New file. + * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests. + (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c. + (Makefile.am): Update. + * tests/test-isnand.c: Renamed from tests/test-isnan.c. + Include isnand.h instead of isnan.h. + (main): Test isnand instead of isnan. + * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove + isnan-nolibm. + * modules/frexp (Depends-on): Likewise. + * modules/frexp-tests (Depends-on): Likewise. + * modules/frexp-nolibm (Depends-on): Likewise. + * modules/frexp-nolibm-tests (Depends-on): Likewise. + * modules/isfinite (Depends-on): Likewise. + * modules/round-tests (Depends-on): Likewise. + * modules/signbit (Depends-on): Likewise. + * modules/signbit-tests (Depends-on): Likewise. + * modules/snprintf-posix (Depends-on): Likewise. + * modules/sprintf-posix (Depends-on): Likewise. + * modules/trunc-tests (Depends-on): Likewise. + * modules/unistdio/u8-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise. + * modules/vasnprintf-posix (Depends-on): Likewise. + * modules/vasprintf-posix (Depends-on): Likewise. + * modules/vfprintf-posix (Depends-on): Likewise. + * modules/vsnprintf-posix (Depends-on): Likewise. + * modules/vsprintf-posix (Depends-on): Likewise. + * lib/frexp.c: Include isnand.h instead of isnan.h. + (ISNAN): Set to isnand instead of isnan. + * lib/isfinite.c: Include isnand.h instead of isnan.h. + (gl_isfinited): Use isnand instead of isnan. + * lib/signbitd.c: Include isnand.h instead of isnan.h. + (gl_signbitd): Use isnand instead of isnan. + * lib/vasnprintf.c: Include isnand.h instead of isnan.h. + (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan. + * tests/test-frexp.c: Include isnand.h instead of isnan.h. + (main): Use isnand instead of isnan. + * tests/test-round1.c: Include isnand.h. + (main): Use isnand instead of isnan. + * tests/test-round2.c: Include isnand.h instead of isnan.h. + (ISNAN): Set to isnand instead of isnan. + * tests/test-trunc1.c: Include isnand.h. + (main): Use isnand instead of isnan. + * tests/test-trunc2.c: Include isnand.h instead of isnan.h. + (equal): Use isnand instead of isnan. + * MODULES.html.sh (Mathematics ): Replace isnan-nolibm with + isnand-nolibm. + * NEWS: Mention the change. + +2008-01-25 Paul Eggert + Bruno Haible + + * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether + the GCC builtins for signbits are present and set + REPLACE_SIGNBIT_USING_GCC if so. + * lib/math.in.h (signbit): Define using GCC builtins if + REPLACE_SIGNBIT_USING_GCC is set. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize + REPLACE_SIGNBIT_USING_GCC. + * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC. + +2008-01-25 Jim Meyering + + Prefer over "config.h". See autoconf doc for explanation. + * lib/poll.c: Include , not "config.h". + * tests/test-getaddrinfo.c: Likewise. + +2008-01-25 Simon Josefsson + + * modules/sockets-tests: New file. + +2008-01-24 Simon Josefsson + + * modules/sockets: New module, can be used to call WSA_Startup and + WSA_Cleanup when needed. + + * lib/sockets.h, lib/sockets.c: New files. + + * m4/sockets.m4: New file. + + * tests/test-sockets.c: New file. + +2008-01-19 Bruno Haible + + * doc/posix-headers: Renamed from doc/headers. + * doc/posix-functions: Renamed from doc/functions. + * doc/gnulib.texi: Update. + +2008-01-19 Bruno Haible + + * doc/glibc-functions/strcasestr.texi: Include contents of + doc/functions/strcasestr.texi, fixing the list of platforms. + * doc/functions/strcasestr.texi: Remove file. + +2008-01-19 Bruno Haible + + * doc/glibc-functions/memmem.texi: Include contents of + doc/functions/memmem.texi. + * doc/functions/memmem.texi: Remove file. + +2008-01-18 Bruno Haible + + * doc/glibc-functions/*.texi: New files. + * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten + to use the new files. + +2008-01-17 Bruno Haible + + * tests/test-gethostname.c (main): Fix printf statement. + +2008-01-17 Simon Josefsson - Public API change: include a reference to an augeas_t in all calls - To make Augeas threadsafe, we need to move away from keeping stuff in - global variables. + * modules/gethostname-tests: New file. -2008-03-04 David Lutterkort + * tests/test-gethostname.c: New file. - Add fa_example which produces an example string from a regular language +2008-01-17 Simon Josefsson - Add a test that performs Anders Moeller's ambiguity algorithm manually + * lib/gethostname.c: Include string.h unconditionally, strncpy is + used by the UNAME case. Reported by Bruno Haible + . -2008-03-04 David Lutterkort +2008-01-17 Eric Blake - Two bug fixes - (1) fa_make_char_set would never create transitions with min == max - (2) fa_intersect got things wrong when t2 had an interval that overlapped - several intervals on t1 + Convert c-strcasestr to be more efficient. + * modules/c-strcasestr (Files): Use Two-Way, not KMP. + (Depends-on): Add c-strcase, remove malloca, strnlen. + * tests/test-c-strcasestr.c (main): Enhance test. + * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm. - Also added tests to check these two problems. +2007-01-16 Paolo Bonzini -2008-03-04 David Lutterkort + * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable. + Use it in creating po/Makevars. - Fix handling of negated charsets - Negated charsets where handled entirely wrong. A character set is now - represented as a map from char -> {0, 1}. That map is rather big (one byte - per character) +2008-01-15 Simon Josefsson - Fix order in which libraries are installed - libaugeas must be installed after libfa, since it depends on it. + * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default. + Applications that requires it should initialize libgcrypt + manually. - Remove old sketch of interface; not needed anymore +2008-01-16 Simon Josefsson - Compute the complement, set difference and overlap of two languages + * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy. -2008-03-04 David Lutterkort +2008-01-15 Paul Eggert - Fix a bug in how '.' is being handled - The '.' was treated the same as [\n] instead of [^\n] by mistake. + Fix problem with getdate on mingw32 reported by Simon Josefsson + in . + * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined + tzname", when deciding whether to declare tzname. + * lib/strftime.c (tzname): Likewise. - Also fixes a small bug in fa_contains. +2008-01-15 Bruno Haible -2008-03-04 David Lutterkort + Work around a MacOS X 10.5 bug in frexpl(). + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers. + * doc/functions/frexpl.texi: Document the bug. + Reported by Elias Pipping . - Add deciding unambiguously iterable based on ua concatenable +2008-01-14 Eric Blake -2008-03-03 David Lutterkort + Touch up previous patch. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo. + * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug. - Automatically free all automata allocated during a test + Convert strcasestr module to use Two-Way algorithm. + * modules/strcasestr-simple: New module, based on the old + strcasestr, but with Two-Way rather than KMP. + * modules/strcasestr (Depends-on): Change to strcasestr-simple. + * lib/string.in.h (rpl_strcasestr): Declare. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear + performance. + * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc. + * modules/string (Makefile.am): Support strcasestr. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise. + * modules/strcasestr-tests (Depends-on): Check for alarm. + * tests/test-strcasestr.c: Augment test. + * lib/str-two-way.h: Clean up stray macro. + * NEWS: Document new module. + * MODULES.html.sh (string handling): Likewise. + * doc/functions/strcasestr.texi: New file. + * doc/gnulib.texi (Function Substitutes): New node. Move memmem + here, since it is not a POSIX function. + +2008-01-14 Colin Watson + Bruno Haible + + * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal + works fine; if not, set REPLACE_STRSIGNAL. + (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + REPLACE_STRSIGNAL. + * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL. + * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL. + * tests/test-strsignal.c (main): Check out-of-range signal numbers. + +2008-01-14 Bruno Haible + + * modules/strsignal (Include): Change to . + +2008-01-14 Colin Watson + + * modules/argp (Notice): Add a notice recommending to change + XGETTEXT_OPTIONS. + (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists. + +2008-01-13 Colin Watson + + * modules/strsignal-tests: New file. + * tests/test-strsignal.c: New file. + + * lib/strsignal.c: New file, from glibc with modifications. + * lib/siglist.h: New file, from glibc with modifications. + * lib/string.in.h (strsignal): New declaration. + * m4/strsignal.m4: New file. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL. + * modules/strsignal: New file. + * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and + HAVE_DECL_STRSIGNAL. + +2008-01-13 Bruno Haible + + * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the + locale encoding is not ASCII. Needed for OpenBSD 4.0. + * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise. + * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise. + +2008-01-13 Bruno Haible + + * lib/argp-fmtstream.h (__attribute__): Don't redefine if + __STRICT_ANSI__ is set: it's not needed by any version of gcc. + * lib/argp.h (__attribute__): Likewise. + * lib/c-stack.c (__attribute__): Likewise. + * lib/error.h (__attribute__): Likewise. + * lib/fts.c (__attribute__): Likewise. + * lib/openat.h (__attribute__): Likewise. + * lib/stdio.in.h (__attribute__): Likewise. + * lib/string.in.h (__attribute__): Likewise. + * lib/utimens.c (__attribute__): Likewise. + * lib/vasnprintf.h (__attribute__): Likewise. + * lib/xalloc.h (__attribute__): Likewise. + * lib/xprintf.h (__attribute__): Likewise. + * lib/xstrtol.h (__attribute__): Likewise. + * lib/xvasprintf.h (__attribute__): Likewise. + +2008-01-12 Bruno Haible + + * doc/gnulib.texi (Glibc Header File Substitutes): New chapter. + * doc/glibc-headers/a.out.texi: New file. + * doc/glibc-headers/aliases.texi: New file. + * doc/glibc-headers/alloca.texi: New file. + * doc/glibc-headers/ar.texi: New file. + * doc/glibc-headers/argp.texi: New file. + * doc/glibc-headers/argz.texi: New file. + * doc/glibc-headers/byteswap.texi: New file. + * doc/glibc-headers/crypt.texi: New file. + * doc/glibc-headers/endian.texi: New file. + * doc/glibc-headers/envz.texi: New file. + * doc/glibc-headers/err.texi: New file. + * doc/glibc-headers/error.texi: New file. + * doc/glibc-headers/execinfo.texi: New file. + * doc/glibc-headers/fpu_control.texi: New file. + * doc/glibc-headers/fstab.texi: New file. + * doc/glibc-headers/fts.texi: New file. + * doc/glibc-headers/getopt.texi: New file. + * doc/glibc-headers/ieee754.texi: New file. + * doc/glibc-headers/ifaddrs.texi: New file. + * doc/glibc-headers/libintl.texi: New file. + * doc/glibc-headers/mcheck.texi: New file. + * doc/glibc-headers/mntent.texi: New file. + * doc/glibc-headers/obstack.texi: New file. + * doc/glibc-headers/paths.texi: New file. + * doc/glibc-headers/printf.texi: New file. + * doc/glibc-headers/pty.texi: New file. + * doc/glibc-headers/resolv.texi: New file. + * doc/glibc-headers/shadow.texi: New file. + * doc/glibc-headers/sysexits.texi: New file. + * doc/glibc-headers/ttyent.texi: New file. + +2008-01-12 Jim Meyering + + announce-gen: emit Gnulib's git-based version string. + * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S. + New option --gnulib-version=V, where V is expected to be + the output of running git describe in the gnulib directory. + (get_tool_versions): Request feedback on xdelta. I suspect it's + not useful, and plan to stop publishing an xdelta file with each + coreutils release. + + * build-aux/announce-gen: Also check for lzma-compressed files. + +2008-01-11 Bruno Haible + + * tests/test-memmem.c (main): Increase maximum allowed time. + * tests/test-strstr.c (main): Likewise. + +2008-01-11 Bruno Haible + + * doc/functions/memmem.texi: Add more precisions about platforms. + * doc/functions/strstr.texi: Likewise. + +2008-01-10 Eric Blake + + * m4/strstr.m4: Delete cruft from copy-n-paste. + Reported by Bruno Haible. + +2008-01-10 Bruno Haible + + Make c-strstr rely on strstr. + * lib/c-strstr.c: Don't include str-kmp.h. + (c_strstr): Define in terms of strstr. + * modules/c-strstr (Files): Remove lib/str-kmp.h. + (Depends-on): Remove stdbool, malloca, strnlen. Add strstr. + +2008-01-10 Bruno Haible + + * doc/gnulib.texi (String Functions in C Locale): New section. + * doc/c-ctype.texi: New file. + * doc/c-strcase.texi: New file. + * doc/c-strcaseeq.texi: New file. + * doc/c-strcasestr.texi: New file. + * doc/c-strstr.texi: New file. + * doc/c-strtod.texi: New file. + * doc/c-strtold.texi: New file. + +2008-01-10 Eric Blake + + * lib/relocatable.h: Fix a comment. + +2008-01-10 Eric Blake + + Share two-way algorithm. + * lib/str-two-way.h: New file, merged from... + * lib/memmem.c: ...here... + * lib/strstr.c: ...and here. + * modules/memmem (Files): Use it. + * modules/strstr (Files): Likewise. + + Avoid quadratic strstr implementations. + * lib/strstr.c: New file. + * m4/strstr.m4: Likewise. + * modules/strstr: Likewise. + * modules/strstr-tests: Likewise. + * tests/test-strstr.c: Likewise. + * lib/string.in.h (rpl_strstr): Declare. + (memmem) [GNULIB_POSIXCHECK]: Document speed issue. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr. + * modules/string (Makefile.am): Likewise. + * MODULES.html.sh (string handling): Mention new module. + * doc/functions/strstr.texi (strstr): Document the bug. + +2008-01-10 Bruno Haible + + * lib/relocatable.h (relocate): State whether result is freshly + allocated or not. + * lib/relocatable.c (relocate): Return a freshly allocated string + instead of a pointer to a privately held string. + Reported by Sylvain Beucler . + +2008-01-10 Colin Watson + + * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive: + s/S_ISNLK/S_ISLNK/. + +2008-01-09 Bruno Haible + + * doc/functions/memmem.texi: Use the same structure as snprintf.texi + and other files. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no" + if it's only a guess. + * modules/memmem: Simplify by depending on memmem-simple. + +2008-01-09 Bruno Haible + + Work around OpenBSD 4.0 tdelete() bug. + * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value. + * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as + macros and don't redefine the enum values. + * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH. + * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH. + * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug. + +2008-01-09 Bruno Haible - Cleanup the returned FA in fa_intersect + * tests/test-wcwidth.c: Include and localcharset.h. + (main): Don't perform the tests if setlocale did not install a UTF-8 + locale. Needed on OpenBSD 4.0. + * modules/wcwidth-tests (Depends-on): Add localcharset. - Add a target to run fatest through valgrind +2008-01-09 Paul Eggert - Add fa_intersect: intersection of regular languages + gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally. + See . + * NEWS: announce this. + * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H. - Comment the uses of FA_MAP better and rename some internal helper functions +2008-01-09 Simon Josefsson + and Eric Blake - Clean up management of state lists - Centralise allocating new states for a fa in add_state; that makes sure - that all states appear on the list of states in fa->initial. + Add memmem-simple module. + * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro. + (gl_FUNC_MEMMEM): Separate performance from presence checks. + * modules/memmem-simple: New file. + * modules/memmem (Description): Tweak. + * MODULES.html.sh (string handling): Mention new module. + * doc/functions/memmem.texi (memmem): Distinguish which flaws are + addressed by memmem-simple. + * NEWS: Document the difference. - Do not rely on gcc >= 4.0 for restricting symbol exports - Use a linker script instead. The visibility pragma is only available in gcc - >= 4.0, and thus imposes a pretty high burden to build Augeas. +2008-01-09 Eric Blake -2008-02-29 David Lutterkort + Give gcc some memmem optimization hints. + * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk) + (strcasestr): Declare as pure. + * modules/memmem (Maintainer): Claim my implementation. - Reign in the number of symbols exported from libaugeas - Use visibility=hidden to keep most local symbols to ourselves. Still needs - some work for augparse/augtool +2008-01-09 Ralf Wildenhues - Performance improvements - (1) Don't minimize the automaton quite so often. Now, only fa_compile minimizes - by default. - (2) Instead of full-on minimization, clean up the automaton before - returning to the user by removing dead transitions/states. + Support AIX 6.1 and higher. + * build-aux/config.libpath: Likewise. + * build-aux/config.rpath: Likewise. - Remove gratuitous list traversals - Replace list_append with list_cons (adds at the head of a list) where order - of the list does not matter. +2008-01-08 Jim Meyering + Bruno Haible - Add tests for language subsets and equality + * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q" + on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX. + Reported by Peter Fales in + . -2008-02-29 David Lutterkort +2008-01-08 Bruno Haible + + * modules/unictype/category-of (Depends-on): Add + unictype/category-none. + * modules/unictype/category-and-tests (Depends-on): Add + unictype/category-{L,N,Lu,Nd}. + * modules/unictype/category-and-not-tests (Depends-on): Likewise. + * modules/unictype/category-or-tests (Depends-on): Add + unictype/category-{L,N}. + * modules/unictype/category-name-tests (Depends-on): Add + unictype/category-{Z,Nl}. + Reported by Simon Josefsson. - The beginnings of a finite automata library - The code is heavily based on the Java package dk.brics.automaton by Anders - Moeller (http://www.brics.dk/automaton/) +2008-01-08 Bruno Haible - Eventually, this should becomea standalone library, seeing how there does - not seem to be any open-source, maintained finite automata library. + * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling + convention better. + * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise. + * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise. + Reported by Peter Miller . -2008-02-29 David Lutterkort +2008-01-08 Eric Blake - Some unit testing help - This is an adapted version of CuTest - (http://sourceforge.net/projects/cutest/) written by Asim Jalis + Rewrite memmem to guarantee linear complexity without malloc. + * lib/memmem.c (memmem): Use Two-Way rather than + Knuth-Morris-Pratt, to allow O(1) space usage. + (critical_factorization, two_way_short_needle) + (two_way_long_needle): New functions. + (knuth_morris_pratt): Delete. + * modules/memmem (Depends-on): No longer need malloca or stdbool. + Add stdint. + * tests/test-memmem.c (main): Add tests for periodic needle and + sublinear performance. + * doc/functions/memmem.texi (memmem): Document other deficiencies + in cygwin and older glibc. - Minimal docs for aug_save and aug_print +2008-01-08 Bruno Haible -2008-02-26 David Lutterkort + * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT + augmentation. - Ignore more stuff +2008-01-08 Mike Frysinger - Fix segfault in aug_ls - When skipping nodes with NULL label, don't segfault if the whole tail of - the list has NULL labels + Add a configure time option: --disable-acl. + * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to + AC_ARG_ENABLE(acl). -2008-02-25 David Lutterkort +2008-01-06 Simon Josefsson - Added tag release-0.0.4 for changeset d8e750d82f97 + * tests/test-localename.c: Don't include obsolete "setenv.h". - Version 0.0.4 + * modules/localename-tests (Depends-on): Need unsetenv. - Some NEWS +2008-01-08 Ralf Wildenhues - Package as RPM + * DEPENDENCIES: Require Texinfo version 4.6 or newer. - Turn off warnings-as-errors when building spec-lex.l - We need -Wno-error, otherwise the CFLAGS passed during mock builds turn - checking for unused parameters back on; flex doesn't provide an easy way to - generate code that passes those checks (that's the reason for building the - liblexer.la convenience lib) +2008-01-06 Colin Watson - Only define print_dict when it is used + * users.txt: Add man-db. - Added tag release-0.0.3 for changeset 56cb08f222a3 +2008-01-07 Bruno Haible - Version 0.0.3 + * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the + previous section name. - Test for readline in a way that works on RHEL5 +2008-01-07 Bruno Haible - Some build/install tweaks - (1) Rename spec in $(datadir)/augeas/spec to lenses - (2) Add pkgconfig info for libaugeas - (3) Install augeas.h as a header + * lib/progname.c (set_program_name): Don't strip off a leading + "lt-" prefix outside a .libs directory. + Suggested by Paul Eggert. - Rename AUGEAS_SPECLIB to AUGEAS_LENS_LIB +2008-01-01 Sylvain Beucler + Bruno Haible - Added tag release-0.0.2 for changeset f981ccccb0ab + Improve memory cleanup in 'relocatable' module. + * lib/relocatable.h (compute_curr_prefix): Change return type to + 'char *'. + * lib/relocatable.c (compute_curr_prefix): Change return type to + 'char *'. Free curr_installdir after use. + (relocate): Free curr_prefix_better after use. + * lib/progreloc.c (prepare_relocate): Free curr_prefix after use. - Include the try script in the distribution +2008-01-01 Bruno Haible - Bump version to 0.0.2 + * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test + failure on older glibc systems. + Reported by Peter Fales . - Fix things up so that 'make distcheck' works - (1) make test runs work when when top_builddir != top_srcdir - (2) Include spec/ files in distribution - (3) disable test-grammars.sh since the test grammars are busted right now +2008-01-05 Eric Blake - Fix warnings about uninitialized variables + Avoid quadratic system memmem. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem. + Reported by Ralf Wildenhues. - Add config.h to libaugeas.la + Fix memmem test for mingw. + * modules/memmem-tests (configure.ac): Check for alarm. + * tests/test-memmem.c (main): Avoid alarm on platforms that lack + it. + * doc/functions/memmem.texi: New file. + * doc/gnulib.texi (Function Substitutes): Add memmem. + Reported by Bruno Haible. - Stricter types for some combinators. List needed reg lang operations +2008-01-04 Bruno Haible -2008-02-21 David Lutterkort + * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): + Require gl_HEADER_STRINGS_H_DEFAULTS, not + gl_HEADER_STRING_H_DEFAULTS. - Some changes to the yum description - (1) Use a yum.conf that is actually shipping - (2) Make COMMENT match blank lines - (3) Fix tests to work with updated yum.conf +2008-01-04 Eric Blake - Only create /tmp/augcmds.txt if it doesn't exist - Nothing deep; just trying to keep Mercurial from marking the file as - modified as I change the commands that try runs + Shorten duration of memmem test. + * tests/test-memmem.c (main): Use alarm to declare failure if test + is taking too long. + Reported by Ralf Wildenhues. - Make aug_ls return all the children for a given path - aug_ls did not handle entries that were split across several nodes - properly. Now, we find all the nodes for the given path and list their - children. +2007-12-21 Simon Josefsson - Fix splitting of AcceptEnv - The list of env vars for AcceptEnv was not being split into individual - pieces + * modules/relocatable-prog-wrapper (Depends-on): Add intprops and + string, needed by strerror. -2008-02-20 David Lutterkort +2008-01-03 Colin Watson + Bruno Haible - A (pretty kludgy) description for cmfm.conf + * doc/gnulib-tool.texi (Localization): New section. - Make printing of skel/dict optional +2008-01-02 Bruno Haible - Print test results a tad prettier + * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *' + variables to 'unsigned char *' type. + Reported by Paul Eggert. -2008-02-20 David Lutterkort +2008-01-02 Jim Meyering - Use GNU regex instead of PCRE - Use the GNU regex functions from glibc instead of PCRE, as glibc uses a DFA - implementation that does not suffer the limitations of PCRE's backtracking - implementation. + * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year. + +2007-12-31 Jim Meyering - The syntax for regular expressions is now RE_SYNTAX_POSIX_MINIMAL_EXTENDED, - essentially extended POSIX regular expressions, except that '.' does not - match newlines. + Avoid use of private FTS type name. + * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent". -2008-02-20 David Lutterkort +2007-12-30 Karl Berry - Clean up regexps for POSIX - Various small fixes to regexps to make them work properly as POSIX regexps. + * doc/gnulib.texi (Library vs. Reusable Code): remove period, to + work around defect in Texinfo and/or the standalone Info browser. - Added tag remove-any-first-follow for changeset 0d22160e9494 +2007-12-30 Bruno Haible -2008-02-20 David Lutterkort + Unify 5 copies of the KMP code. + * lib/str-kmp.h: New file. + * lib/c-strcasestr.c: Include str-kmp.h. + (knuth_morris_pratt): Remove function. + (c_strcasestr): Update. + * lib/c-strstr.c: Include str-kmp.h. + (knuth_morris_pratt): Remove function. + (c_strcasestr): Update. + * lib/mbscasestr.c: Include str-kmp.h. + (knuth_morris_pratt_unibyte): Remove function. + * lib/mbsstr.c: Include str-kmp.h. + (knuth_morris_pratt_unibyte): Remove function. + * lib/strcasestr.c: Include str-kmp.h. + (knuth_morris_pratt): Remove function. + (strcasestr): Update. + * modules/c-strcasestr (Files): Add lib/str-kmp.h. + * modules/c-strstr (Files): Likewise. + * modules/mbscasestr (Files): Likewise. + * modules/mbsstr (Files): Likewise. + * modules/strcasestr (Files): Likewise. + Suggested by Paul Eggert. + +2007-12-30 Bruno Haible + + * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not + defined. + +2007-12-30 Bruno Haible + + * lib/xmalloca.h: Include xalloc.h. + (xnmalloca): New macro. + +2007-12-30 Bruno Haible + + * lib/malloca.h (nmalloca): New macro. + * lib/c-strcasestr.c (knuth_morris_pratt): Use it. + * lib/c-strstr.c (knuth_morris_pratt): Likewise. + * lib/mbscasestr.c (knuth_morris_pratt_unibyte, + knuth_morris_pratt_multibyte): Likewise. + * lib/mbsstr.c (knuth_morris_pratt_unibyte, + knuth_morris_pratt_multibyte): Likewise. + * lib/memmem.c (knuth_morris_pratt): Likewise. + * lib/strcasestr.c (knuth_morris_pratt): Likewise. + +2007-12-25 Bruno Haible + + Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+. + * lib/glob.c: Don't include openat.h. + (link_exists2_p): Add back the code that deals with the + !GLOB_ALTDIRFUNC case. + (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and + let it do the filename concatenation. + * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat. + * modules/glob (Depends-on): Remove openat. + +2007-12-31 Bruno Haible + + * modules/dirfd (License): Change to LGPLv2+. + Approved by Jim Meyering. + +2007-12-29 Paul Eggert + + * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow + when multiplying M by sizeof (size_t). + +2007-12-10 Martin Lambers + + Override getpagesize on mingw. + * lib/getpagesize.c: New file. + * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw. + * modules/getpagesize (Files): Add lib/getpagesize.c. + * lib/unistd.in.h (getpagesize): Declare if we are using a replacement. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + REPLACE_GETPAGESIZE. + * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE. + +2007-12-25 Bruno Haible + + * modules/localcharset (Notice): New field. + (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT. + Suggested by Ben Pfaff . + +2007-12-25 Paul Eggert + Bruno Haible + + Avoid using the syntax symbol() in formatted documentation. + * MODULES.html.sh (func_module): When replacing symbol() with a + hyperlink, remove the parentheses. Show an error if some remain. + Recognize and render the '...' syntax. + * doc/alloca-opt.texi: Remove parentheses from symbol reference. + Rework. Add paragraph about GCC's inlining. + * doc/alloca.texi: Likewise. + * doc/error.texi: Remove parentheses from symbol reference. + * doc/gnulib-intro.texi: Likewise. + * doc/gnulib.texi (alloca, alloca-opt): New nodes. + * modules/fnmatch (Description): Reword to say "the ... function". + * modules/full-read (Description): Likewise. + * modules/full-write (Description): Likewise. + * modules/safe-read (Description): Likewise. + * modules/safe-write (Description): Likewise. + * modules/strchrnul (Description): Likewise. + * modules/trim (Description): Likewise. + * modules/error (Description): Remove parentheses from symbol + references. + * modules/verror (Description): Likewise. + Reported by Karl Berry. + +2007-12-25 Bruno Haible + + Fixup after 2007-10-16 commit. + * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax. + +2007-12-24 Bruno Haible + + Make --enable-relocatable work with DESTDIR. + * build-aux/install-reloc: Accept another argument 'destdir'. Use it + to compute installdir from destprog. + * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, + also set the RELOC_DESTDIR variable. + Reported by Левашев Иван . + +2007-12-24 Bruno Haible + + Fix link error due to xalloc_die(). + * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead + of xreadlink. + * lib/relocwrapper.c: Update comments. + * build-aux/install-reloc: Remove xreadlink.c from file list. + * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and + xreadlink.c. + Reported by Левашев Иван . + +2007-12-24 Bruno Haible + + Split setenv module into setenv and unsetenv. Get rid of setenv.h. + * lib/setenv.h: Remove file. + * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from + lib/setenv.h. + * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c. + (Depends-on): Add stdlib. + (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke + gl_FUNC_UNSETENV. + (Include): Replace setenv.h with . + * modules/unsetenv: New file. + * lib/setenv.c: Include first, after alloca.h. + * lib/unsetenv.c: Include first. + * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require + gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0. + (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set + HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable. + * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV, + HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV, + HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV. + * doc/functions/unsetenv.texi: Update. + * modules/xsetenv (Depends-on): Add unsetenv. + * modules/getdate (Depends-on): Likewise. + * lib/xsetenv.h: Include instead of setenv.h. + * lib/xsetenv.c: Don't include setenv.h. + * lib/getdate.y: Likewise. + * lib/relocwrapper.c: Likewise. + * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h. + (Depends-on): Add stdlib. + * NEWS: Mention the changes. + Reported by Левашев Иван . + +2007-12-23 Bruno Haible + + * lib/memmem.c (memmem): Use lowercase variable names. Tab + indentation. + +2007-12-23 Bruno Haible + + * lib/c-strcasestr.c: Add more comments. + * lib/c-strstr.c: Likewise. + * lib/mbscasestr.c: Likewise. + * lib/mbsstr.c: Likewise. + * lib/strcasestr.c: Likewise. + * lib/memmem.c: Likewise. + +2007-12-23 Bruno Haible + + * tests/test-memmem.c: Include first. + +2007-12-22 Bruno Haible + + * gnulib-tool (func_create_testdir): Change $auxdir while generating + the contents of $testsbase. + Reported by Ralf Wildenhues. + +2007-12-22 Bruno Haible + + * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with + two variables local_ldadd_before, local_ldadd_last. + +2007-12-20 Eric Blake + + Work around circular library issue when cross-compiling. + * lib/progname.c (set_program_name): Use strncmp, not memcmp, so + that progname.o does not need to pull in rpl_memcmp. + +2007-12-19 Eric Blake + + Fix memmem to avoid O(n^2) worst-case complexity. + * lib/memmem.c (knuth_morris_pratt): New function. + (memmem): Use it if first few naive iterations fail. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug. + * modules/memcmp (License): Set to LGPLv2+, not LGPL. + * modules/memchr (License): Likewise. + * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and + malloca. + * tests/test-memmem.c: Rewrite, borrowing ideas from + test-mbsstr1.c; the old version wouldn't even compile! + * modules/memmem-tests: New file. + * lib/string.in.h (rpl_memmem): Add declaration. + * modules/string (Makefile.am): Substitute REPLACE_MEMMEM. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for + REPLACE_MEMMEM. + +2007-12-18 Paul Eggert + + Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS. + * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define + before any system include files, and undef after them all. This + should fix a problem on VMS reported by John E. Malmberg in + . + +2007-12-17 Eric Blake + + Revert addition of verify, for BSD/OS. + * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it + can't handle large files, for the sake of obsolete platforms. + * modules/fseeko (Depends-on): Remove verify. + * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation. + * doc/functions/ftello.texi (ftello): Likewise. + * doc/functions/fgetpos.texi (fgetpos): Likewise. + Reported by Larry Jones. + +2007-12-17 Petr Salinger + + getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT + * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD. + +2007-12-17 Jim Meyering + + Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc, + which has no openat syscall, yet does define AT_FDCWD. + * lib/getcwd.c: Undef AT_FDCWD if there is no openat function. + * modules/getcwd (Depends-on): Add openat. + Reported by Petr Salinger. + +2007-12-17 Bruno Haible + + * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to + avoid a segmentation fault of the configure test on x86_64 systems. - Remove any matches ... and ..? from the language. Remove first/follow sets - They currently require lookahead assertions from the underlying regexp - engine. +2007-12-15 Jim Meyering - Since any matches were the only reason to compute first/follow sets, remove - those, too. + * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary. -2008-02-20 David Lutterkort +2007-12-13 Eric Blake - Remove the use of the any operators '...' and '..?' - These operators inherently require lookahead assertions, but we need to - switch to a regexp engine that does not support them. + Another fseek test. + * tests/test-fseek.c (main): Also test ungetc handling. + * tests/test-fseeko.c (main): Likewise. + * modules/fseeko (Depends-on): Add verify. + * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too + large. + Reported by Larry Jones. - Don't segfault when parsing fails + Fix fseeko on mingw. + * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful + seek. -2008-02-19 David Lutterkort + Beef up fseek tests. + * tests/test-fseek.c (main): Also test eof handling. + * tests/test-fseeko.c (main): Likewise. + Reported by Larry Jones. - Drop CF-oriented check for ambiguity through looking at first sets +2007-12-13 Larry Jones (tiny change) - Allow escaping of a slash in tegular expressions + Fix fseeko on BSD-based platforms. + * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on + successful seek. -2008-02-18 David Lutterkort +2007-12-12 Eric Blake + + Allow circular dependency of separate libtests.a + * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS + when use_libtests. - Base parsing completely off regexp matching. - Parsing now uses regexp matching, and not the CFG-style parsing based on - first sets previously used. This actually makes it easier to write specs, - since parsing decisions are made based on the complete string, not just the - first 'token'. +2007-12-11 Eric Blake - The downside is that rules can not be recursive anymore, as that would - make the matched language non-regular. + Fix bug with -0.0L in previous patch. + * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits. + * tests/test-isnan.c (main): Also test on zeroes. + * tests/test-isnanf.c (main): Likewise. + * tests/test-isnanl.h (main): Likewise. - The main motivator for this change is that it makes it possible to do - stricter checking of the input spec using type checking similar to - boomerang's string lenses based on operations on regular languages. + Detect pseudo-denormals on x86 even when cross-compiling. + * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION + && USE_LONG_DOUBLE && x86]: Add one more check to filter out + invalid bit patterns that happen to satisfy ==. - Unfortunately, we have to keep first/follow computations to construct the - fairly tricky regexps that are used for ANY patterns. + Avoid link failures with separate libtests.a. + * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd + last, to satisfy circular dependencies. -2008-02-18 David Lutterkort +2007-12-11 Eric Blake + and Bruno Haible - Remove unused token T_FIELD + Fix OpenBSD 4.0 handling of long double. + * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken. + * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD. + * doc/headers/float.texi (float.h): Document OpenBSD bug. - Rename match.xaction to match.action - The field was named initially to avoid a clash with another 'action' field, - but that field is gone now. +2007-12-11 Jim Meyering - Add Match blocks + * users.txt: Add libvirt. - Remove leading whitespace inside Match directives + Support versions of autoconf prior to 2.59c. + * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w + if it is not already defined. -2008-02-18 David Lutterkort +2007-12-09 Bruno Haible - Fix nested splits - For a lens like a . (b . c)*, tree_split used to return a split that looked - like [a; b; c; b; c] That is wrong: when we split on the outer '.', we need - to produce a split with exactly two entries: [a; b] (where b stands as the - first entry in the tree that '*' will act on. + Let 'gnulib-tool --import' collect sources needed for the tests in + tests/ rather than in lib/. + * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests + argument. If true, add rules to generate libtests.a, and put libtests.a + into $(LDADD). Consider source files in subdirectories and set + uses_subdirs. + (func_emit_initmacro_start, func_emit_initmacro_end, + func_emit_initmacro_done): Pass all arguments explicitly. + (func_import): Determine two module lists main_modules, + testsrelated_modules. Determine use_libtests. Determine two variables + sed_transform_main_lib_file, sed_transform_testsrelated_lib_file + instead of just sed_transform_lib_file. Determine two variables + main_files and testsrelated_files. Compute 'files' as the union of + both. Adjust sed_rewrite_old_files, sed_rewrite_new_files, + func_add_or_update. In the generated gnulib-comp.m4, collect the + object files for tests/ in different variables than those for lib/. + Substitute LIBTESTS_LIBDEPS. + (func_create_testdir): Combine the uses_subdirs results from + func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am. + +2007-12-09 Bruno Haible - split_tree_car cleans up recursively computed splits in this manner; those - subsplits are mostly computed for their sideeffect, particularly for the - fact that they change state->tree. + * gnulib-tool (func_emit_tests_Makefile_am): Expand references to + the build-aux directory. -2008-02-18 David Lutterkort +2007-12-09 Bruno Haible - Properly print split nodes + * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code + introduced on 2006-09-09. + +2007-12-07 Jim Meyering + + Let these macros work also with autoconf-2.59. + * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59. 2.60 + is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE. + * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise. + +2007-12-06 Jim Meyering + + Avoid a configure-time syntax error in gl_FUNC_ACL. + * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial + function in each branch, before testing the cache variable. + +2007-12-04 Eric Blake + + Make scripts executable. + * build-aux/config.guess: Add execute permissions. + * build-aux/config.sub: Likewise. + * build-aux/gendocs.sh: Likewise. + + Fix frexp on mingw. + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when + cross-compiling. + * doc/functions/frexp.texi (frexp): Document the bug. + + Make cygwin fseeko check more reliable. + * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin + version numbers, rather than unrelated feature check. + * doc/functions/fseeko.texi (fseeko): Tweak failure report. + * doc/functions/ftello.texi (ftello): Likewise. + Reported by Bruno Haible. + + * m4/strerror.m4: Bump version number. + +2007-12-03 Bruno Haible + + * doc/functions/mprotect.texi: Mention the mingw problem. + +2007-12-03 Eric Blake + + * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure + REPLACE_STRERROR is initialized before this macro. + +2007-12-03 Paul Eggert + + Add support for Solaris 10 ACLs. Also, ACLs are Gnulib, not Autoconf. + * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL. + * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL. On Solaris, + put -lsec in even for programs other than 'ls'. This fixes a problem + for gettext reported by Bruno Haible in + . + * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]: + Add support for Solaris 10. This isn't efficient, but should get the + job done for now. + +2007-12-03 James Youngman + + * doc/regexprops-generic.texi: change "an close-group" to "a + close-group" and "illegal" to "not allowed". + +2007-11-23 Ralf Wildenhues + + * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of + pr_byname.h. Needed for the rare case when the maintainer has done + "make maintainer-clean" in the source directory and then attempts a + build outside the source directory. + * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of + scripts_byname.h. + +2007-12-02 Martin Lambers + Bruno Haible + + * lib/getpagesize.h: Remove file. + * lib/unistd.in.h: Include declaration of getpagesize here. + * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE. + Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H, + HAVE_SYS_PARAM_H. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE, + HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H. + * modules/getpagesize (Files): Remove lib/getpagesize.h. + (Depends-on): Add unistd. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Include): Use instead of getpagesize.h. + * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE, + HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H. + * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove + gl_GETPAGESIZE invocation, already handled by module dependency. + * lib/pagealign_alloc.c: Don't include getpagesize.h. - Lenses for sshd_config - This is interesting because of the treatment of AcceptEnv and similar - constructs +2007-12-02 Bruno Haible -2008-02-18 David Lutterkort + * modules/strings-tests: New file. + * tests/test-strings.c: New file. - For split nodes, append entries at the last occurence - It is possible that one logical node is split across several physical - nodes to accomodate settings that are spread across several lines like - 'AcceptEnv' for sshd_config. Such lines lead to multiple nodes - /system/config/sshd/AcceptEnv (all siblings of each other) + Move declarations of str{,n}casecmp from to . + * lib/strings.in.h: New file. + * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations. + * m4/strings_h.m4: New file. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization + of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP. + * modules/strings: New file. + * modules/string (Makefile.am): Update. + * modules/strcase (Include): Mention , not . + Reported by Karl Berry. - When a call to aug_set creates a new entry underneath such a split node, - make sure that that the new node is put under the last such node. This - helps maintain the illusion for users that the split node is really just - one node. +2007-12-01 Eric Blake -2008-02-15 David Lutterkort + * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to + accommodate fix in cygwin 1.5.25. + +2007-12-01 Jim Meyering - Report some information underneath /augeas - The root directory and information about how files were loaded into the - tree are kept in the /augeas hierarchy now + Fix a bug that inhibited much of the utf8-optimization in regcomp.c. + * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/, + that would inhibit utf8-optimization of a regexp containing line- + or buffer-anchors, e.g., `^', `$'. + +2007-11-30 Bruno Haible - Fix very bad use of realloc + * lib/lock.h (gl_recursive_lock_init) [PTHREAD && + PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call + glthread_recursive_lock_init. + * lib/lock.c (glthread_recursive_lock_init) + [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function. + Reported by Yoann Vandoorselaere . - Adjust expected diff - Do not allow comments to disappear +2007-11-28 Paul Eggert - Fix test - The old diff was bogus (it expected a comment to be removed that has to - stay there) + New function qset_acl, like set_acl but with syscall semantics. + * lib/acl.h (qset_acl): New decl. + * lib/acl.c (qset_acl): New function. + (set_acl): Use new function. Use more-consistent diagnostics. - Cleanly handle comments +2007-11-28 Jim Meyering + + * modules/physmem (License): Change from GPL to LGPLv2+. + +2007-11-26 Bruno Haible + + * lib/vasnprintf.c (decode_long_double): Don't abort if the + 'long double' type has excess precision. + Reported by Jim Meyering in + . + +2007-11-25 Ralf Wildenhues + + * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi: + Sync from . + * modules/agpl-3.0, doc/agpl-3.0.texi: New module, + with license text from same location. + * doc/maintain.texi, doc/standards.texi: Sync from + . + +2007-11-22 Ondřej Vašík + and Jim Meyering + + Adjust getdate' grammar to accept a slightly more regular language. + E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days". + Before, the former was rejected. + * lib/getdate.y (digits_to_date_time): New function, factored + out of ... + (number): ...here. Just call digits_to_date_time. + (hybrid): New non-terminal to handle an sequence consistently. + +2007-11-18 Jim Meyering + + Pull my changes from coreutils: + bootstrap: fix typo to enable use of $gnulib_tool_option_extras. + * build-aux/bootstrap (gnulib_tool_options): Add a space before the + use of $gnulib_tool_option_extras, so that it's separated from the + preceding argument. + + Fix bootstrap failure to handle files like lib/uniwidth/cjk.h. + * build-aux/bootstrap (cp_mark_as_generated): Create any required + parent destination directories before copying a file into place. + +2007-11-18 Sergey Poznyakoff + + bootstrap: work also with 4-argument variant of AC_INIT + * build-aux/bootstrap (gnulib_extra_files): Adjust sed command. + +2007-11-16 Paul Eggert + + Port test-getaddrinfo to Solaris. + Problem reported by Bruno Haible in + . + * tests/test-getaddrinfo.c (simple): Add a comment asking for an + explanation of setting 'hints'. + Don't reject an implementation merely because it returns EAI_SERVICE. + (EAI_SERVICE): Define to 0 if not defined. + +2007-11-15 Paul Eggert + + The license of gnu-make and posix-shell is now "GPLed build tool". + * modules/gnu-make (License): Likewise. + * modules/posix-shell (License): Likewise. + + New module posix-shell, for determining a POSIX shell + or perhaps something that is close enough to a POSIX shell. + * m4/posix-shell.m4: New file. + * modules/posix-shell: New file. + + * MODULES.html.sh: Mention new module. + + New module gnu-make, for determining whether we're using GNU Make. + * m4/gnu-make.m4: New file. + * modules/gnu-make: New file. + * MODULES.html.sh: Mention new module. + +2007-11-14 Jim Meyering + + Define a sometimes-link-required function using ARGMATCH_DIE_DECL. + * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined, + use this macro to create a function _definition_. + Remove useless "#undef ARGMATCH_DIE". + +2007-11-14 Bruno Haible + + * lib/config.charset: Update for OpenBSD 4.1. + Reported and helped by Ben Pfaff . + +2007-11-12 Paul Eggert + + Document 64-bit #if problems in stdint.texi. + * doc/headers/stdint.texi (stdint.h): Mention problems with + 64-bit-#if, and how to work around them. + + Don't insist on 'long long int' support in the preprocessor. It + breaks too many things. For example, PRIdMAX still uses a 'long + long int' format with the latest Sun compiler, even though + HAVE_LONG_LONG_INT isn't defined due to that compiler's + preprocessor problem. This causes the latest coreutils to dump + core on Solaris 10 sparc with the Sun C compiler. + Instead, fix the 2007-10-16 problem in a different way, by evaluating + the troublesome expressions at configure-time, not at #if-time. + * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the + preprocessor. + * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into + compile-time C checks, done at 'configure'-time. + (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro. + * modules/inttypes (Makefile): Substitute the new symbols that + gl_INTTYPES_H now generates. + * lib/inttypes.in.h: Don't use constants wider than 'long' in #if. + +2007-11-12 Bruno Haible + + Tests for Unicode character classification functions. + + * modules/unictype/bidicategory-byname-tests: New file. + * modules/unictype/bidicategory-name-tests: New file. + * modules/unictype/bidicategory-of-tests: New file. + * modules/unictype/bidicategory-test-tests: New file. + * modules/unictype/block-list-tests: New file. + * modules/unictype/block-of-tests: New file. + * modules/unictype/block-test-tests: New file. + * modules/unictype/category-C-tests: New file. + * modules/unictype/category-Cc-tests: New file. + * modules/unictype/category-Cf-tests: New file. + * modules/unictype/category-Cn-tests: New file. + * modules/unictype/category-Co-tests: New file. + * modules/unictype/category-Cs-tests: New file. + * modules/unictype/category-L-tests: New file. + * modules/unictype/category-Ll-tests: New file. + * modules/unictype/category-Lm-tests: New file. + * modules/unictype/category-Lo-tests: New file. + * modules/unictype/category-Lt-tests: New file. + * modules/unictype/category-Lu-tests: New file. + * modules/unictype/category-M-tests: New file. + * modules/unictype/category-Mc-tests: New file. + * modules/unictype/category-Me-tests: New file. + * modules/unictype/category-Mn-tests: New file. + * modules/unictype/category-N-tests: New file. + * modules/unictype/category-Nd-tests: New file. + * modules/unictype/category-Nl-tests: New file. + * modules/unictype/category-No-tests: New file. + * modules/unictype/category-P-tests: New file. + * modules/unictype/category-Pc-tests: New file. + * modules/unictype/category-Pd-tests: New file. + * modules/unictype/category-Pe-tests: New file. + * modules/unictype/category-Pf-tests: New file. + * modules/unictype/category-Pi-tests: New file. + * modules/unictype/category-Po-tests: New file. + * modules/unictype/category-Ps-tests: New file. + * modules/unictype/category-S-tests: New file. + * modules/unictype/category-Sc-tests: New file. + * modules/unictype/category-Sk-tests: New file. + * modules/unictype/category-Sm-tests: New file. + * modules/unictype/category-So-tests: New file. + * modules/unictype/category-Z-tests: New file. + * modules/unictype/category-Zl-tests: New file. + * modules/unictype/category-Zp-tests: New file. + * modules/unictype/category-Zs-tests: New file. + * modules/unictype/category-and-not-tests: New file. + * modules/unictype/category-and-tests: New file. + * modules/unictype/category-byname-tests: New file. + * modules/unictype/category-name-tests: New file. + * modules/unictype/category-none-tests: New file. + * modules/unictype/category-of-tests: New file. + * modules/unictype/category-or-tests: New file. + * modules/unictype/category-test-withtable-tests: New file. + * modules/unictype/combining-class-tests: New file. + * modules/unictype/ctype-alnum-tests: New file. + * modules/unictype/ctype-alpha-tests: New file. + * modules/unictype/ctype-blank-tests: New file. + * modules/unictype/ctype-cntrl-tests: New file. + * modules/unictype/ctype-digit-tests: New file. + * modules/unictype/ctype-graph-tests: New file. + * modules/unictype/ctype-lower-tests: New file. + * modules/unictype/ctype-print-tests: New file. + * modules/unictype/ctype-punct-tests: New file. + * modules/unictype/ctype-space-tests: New file. + * modules/unictype/ctype-upper-tests: New file. + * modules/unictype/ctype-xdigit-tests: New file. + * modules/unictype/decimal-digit-tests: New file. + * modules/unictype/digit-tests: New file. + * modules/unictype/mirror-tests: New file. + * modules/unictype/numeric-tests: New file. + * modules/unictype/property-alphabetic-tests: New file. + * modules/unictype/property-ascii-hex-digit-tests: New file. + * modules/unictype/property-bidi-arabic-digit-tests: New file. + * modules/unictype/property-bidi-arabic-right-to-left-tests: New file. + * modules/unictype/property-bidi-block-separator-tests: New file. + * modules/unictype/property-bidi-boundary-neutral-tests: New file. + * modules/unictype/property-bidi-common-separator-tests: New file. + * modules/unictype/property-bidi-control-tests: New file. + * modules/unictype/property-bidi-embedding-or-override-tests: New file. + * modules/unictype/property-bidi-eur-num-separator-tests: New file. + * modules/unictype/property-bidi-eur-num-terminator-tests: New file. + * modules/unictype/property-bidi-european-digit-tests: New file. + * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file. + * modules/unictype/property-bidi-left-to-right-tests: New file. + * modules/unictype/property-bidi-non-spacing-mark-tests: New file. + * modules/unictype/property-bidi-other-neutral-tests: New file. + * modules/unictype/property-bidi-pdf-tests: New file. + * modules/unictype/property-bidi-segment-separator-tests: New file. + * modules/unictype/property-bidi-whitespace-tests: New file. + * modules/unictype/property-byname-tests: New file. + * modules/unictype/property-combining-tests: New file. + * modules/unictype/property-composite-tests: New file. + * modules/unictype/property-currency-symbol-tests: New file. + * modules/unictype/property-dash-tests: New file. + * modules/unictype/property-decimal-digit-tests: New file. + * modules/unictype/property-default-ignorable-code-point-tests: New file. + * modules/unictype/property-deprecated-tests: New file. + * modules/unictype/property-diacritic-tests: New file. + * modules/unictype/property-extender-tests: New file. + * modules/unictype/property-format-control-tests: New file. + * modules/unictype/property-grapheme-base-tests: New file. + * modules/unictype/property-grapheme-extend-tests: New file. + * modules/unictype/property-grapheme-link-tests: New file. + * modules/unictype/property-hex-digit-tests: New file. + * modules/unictype/property-hyphen-tests: New file. + * modules/unictype/property-id-continue-tests: New file. + * modules/unictype/property-id-start-tests: New file. + * modules/unictype/property-ideographic-tests: New file. + * modules/unictype/property-ids-binary-operator-tests: New file. + * modules/unictype/property-ids-trinary-operator-tests: New file. + * modules/unictype/property-ignorable-control-tests: New file. + * modules/unictype/property-iso-control-tests: New file. + * modules/unictype/property-join-control-tests: New file. + * modules/unictype/property-left-of-pair-tests: New file. + * modules/unictype/property-line-separator-tests: New file. + * modules/unictype/property-logical-order-exception-tests: New file. + * modules/unictype/property-lowercase-tests: New file. + * modules/unictype/property-math-tests: New file. + * modules/unictype/property-non-break-tests: New file. + * modules/unictype/property-not-a-character-tests: New file. + * modules/unictype/property-numeric-tests: New file. + * modules/unictype/property-other-alphabetic-tests: New file. + * modules/unictype/property-other-default-ignorable-code-point-tests: New file. + * modules/unictype/property-other-grapheme-extend-tests: New file. + * modules/unictype/property-other-id-continue-tests: New file. + * modules/unictype/property-other-id-start-tests: New file. + * modules/unictype/property-other-lowercase-tests: New file. + * modules/unictype/property-other-math-tests: New file. + * modules/unictype/property-other-uppercase-tests: New file. + * modules/unictype/property-paired-punctuation-tests: New file. + * modules/unictype/property-paragraph-separator-tests: New file. + * modules/unictype/property-pattern-syntax-tests: New file. + * modules/unictype/property-pattern-white-space-tests: New file. + * modules/unictype/property-private-use-tests: New file. + * modules/unictype/property-punctuation-tests: New file. + * modules/unictype/property-quotation-mark-tests: New file. + * modules/unictype/property-radical-tests: New file. + * modules/unictype/property-sentence-terminal-tests: New file. + * modules/unictype/property-soft-dotted-tests: New file. + * modules/unictype/property-space-tests: New file. + * modules/unictype/property-terminal-punctuation-tests: New file. + * modules/unictype/property-test-tests: New file. + * modules/unictype/property-titlecase-tests: New file. + * modules/unictype/property-unassigned-code-value-tests: New file. + * modules/unictype/property-unified-ideograph-tests: New file. + * modules/unictype/property-uppercase-tests: New file. + * modules/unictype/property-variation-selector-tests: New file. + * modules/unictype/property-white-space-tests: New file. + * modules/unictype/property-xid-continue-tests: New file. + * modules/unictype/property-xid-start-tests: New file. + * modules/unictype/property-zero-width-tests: New file. + * modules/unictype/scripts-tests: New file. + * modules/unictype/syntax-c-ident-tests: New file. + * modules/unictype/syntax-c-whitespace-tests: New file. + * modules/unictype/syntax-java-ident-tests: New file. + * modules/unictype/syntax-java-whitespace-tests: New file. + * tests/unictype/test-bidi_byname.c: New file. + * tests/unictype/test-bidi_name.c: New file. + * tests/unictype/test-bidi_of.c: New file. + * tests/unictype/test-bidi_test.c: New file. + * tests/unictype/test-block_list.c: New file. + * tests/unictype/test-block_of.c: New file. + * tests/unictype/test-block_test.c: New file. + * tests/unictype/test-categ_and.c: New file. + * tests/unictype/test-categ_and_not.c: New file. + * tests/unictype/test-categ_byname.c: New file. + * tests/unictype/test-categ_name.c: New file. + * tests/unictype/test-categ_none.c: New file. + * tests/unictype/test-categ_of.c: New file. + * tests/unictype/test-categ_or.c: New file. + * tests/unictype/test-categ_test_withtable.c: New file. + * tests/unictype/test-combining.c: New file. + * tests/unictype/test-decdigit.c: New file. + * tests/unictype/test-digit.c: New file. + * tests/unictype/test-mirror.c: New file. + * tests/unictype/test-numeric.c: New file. + * tests/unictype/test-pr_byname.c: New file. + * tests/unictype/test-pr_test.c: New file. + * tests/unictype/test-predicate-part1.h: New file. + * tests/unictype/test-predicate-part2.h: New file. + * tests/unictype/test-scripts.c: New file. + * tests/unictype/test-sy_c_ident.c: New file. + * tests/unictype/test-sy_java_ident.c: New file. + + * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c + for Unicode 5.0.0. + * tests/unictype/test-categ_Cc.c: Likewise. + * tests/unictype/test-categ_Cf.c: Likewise. + * tests/unictype/test-categ_Cn.c: Likewise. + * tests/unictype/test-categ_Co.c: Likewise. + * tests/unictype/test-categ_Cs.c: Likewise. + * tests/unictype/test-categ_L.c: Likewise. + * tests/unictype/test-categ_Ll.c: Likewise. + * tests/unictype/test-categ_Lm.c: Likewise. + * tests/unictype/test-categ_Lo.c: Likewise. + * tests/unictype/test-categ_Lt.c: Likewise. + * tests/unictype/test-categ_Lu.c: Likewise. + * tests/unictype/test-categ_M.c: Likewise. + * tests/unictype/test-categ_Mc.c: Likewise. + * tests/unictype/test-categ_Me.c: Likewise. + * tests/unictype/test-categ_Mn.c: Likewise. + * tests/unictype/test-categ_N.c: Likewise. + * tests/unictype/test-categ_Nd.c: Likewise. + * tests/unictype/test-categ_Nl.c: Likewise. + * tests/unictype/test-categ_No.c: Likewise. + * tests/unictype/test-categ_P.c: Likewise. + * tests/unictype/test-categ_Pc.c: Likewise. + * tests/unictype/test-categ_Pd.c: Likewise. + * tests/unictype/test-categ_Pe.c: Likewise. + * tests/unictype/test-categ_Pf.c: Likewise. + * tests/unictype/test-categ_Pi.c: Likewise. + * tests/unictype/test-categ_Po.c: Likewise. + * tests/unictype/test-categ_Ps.c: Likewise. + * tests/unictype/test-categ_S.c: Likewise. + * tests/unictype/test-categ_Sc.c: Likewise. + * tests/unictype/test-categ_Sk.c: Likewise. + * tests/unictype/test-categ_Sm.c: Likewise. + * tests/unictype/test-categ_So.c: Likewise. + * tests/unictype/test-categ_Z.c: Likewise. + * tests/unictype/test-categ_Zl.c: Likewise. + * tests/unictype/test-categ_Zp.c: Likewise. + * tests/unictype/test-categ_Zs.c: Likewise. + * tests/unictype/test-ctype_alnum.c: Likewise. + * tests/unictype/test-ctype_alpha.c: Likewise. + * tests/unictype/test-ctype_blank.c: Likewise. + * tests/unictype/test-ctype_cntrl.c: Likewise. + * tests/unictype/test-ctype_digit.c: Likewise. + * tests/unictype/test-ctype_graph.c: Likewise. + * tests/unictype/test-ctype_lower.c: Likewise. + * tests/unictype/test-ctype_print.c: Likewise. + * tests/unictype/test-ctype_punct.c: Likewise. + * tests/unictype/test-ctype_space.c: Likewise. + * tests/unictype/test-ctype_upper.c: Likewise. + * tests/unictype/test-ctype_xdigit.c: Likewise. + * tests/unictype/test-decdigit.h: Likewise. + * tests/unictype/test-digit.h: Likewise. + * tests/unictype/test-numeric.h: Likewise. + * tests/unictype/test-pr_alphabetic.c: Likewise. + * tests/unictype/test-pr_ascii_hex_digit.c: Likewise. + * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise. + * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise. + * tests/unictype/test-pr_bidi_block_separator.c: Likewise. + * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise. + * tests/unictype/test-pr_bidi_common_separator.c: Likewise. + * tests/unictype/test-pr_bidi_control.c: Likewise. + * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise. + * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise. + * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise. + * tests/unictype/test-pr_bidi_european_digit.c: Likewise. + * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise. + * tests/unictype/test-pr_bidi_left_to_right.c: Likewise. + * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise. + * tests/unictype/test-pr_bidi_other_neutral.c: Likewise. + * tests/unictype/test-pr_bidi_pdf.c: Likewise. + * tests/unictype/test-pr_bidi_segment_separator.c: Likewise. + * tests/unictype/test-pr_bidi_whitespace.c: Likewise. + * tests/unictype/test-pr_combining.c: Likewise. + * tests/unictype/test-pr_composite.c: Likewise. + * tests/unictype/test-pr_currency_symbol.c: Likewise. + * tests/unictype/test-pr_dash.c: Likewise. + * tests/unictype/test-pr_decimal_digit.c: Likewise. + * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise. + * tests/unictype/test-pr_deprecated.c: Likewise. + * tests/unictype/test-pr_diacritic.c: Likewise. + * tests/unictype/test-pr_extender.c: Likewise. + * tests/unictype/test-pr_format_control.c: Likewise. + * tests/unictype/test-pr_grapheme_base.c: Likewise. + * tests/unictype/test-pr_grapheme_extend.c: Likewise. + * tests/unictype/test-pr_grapheme_link.c: Likewise. + * tests/unictype/test-pr_hex_digit.c: Likewise. + * tests/unictype/test-pr_hyphen.c: Likewise. + * tests/unictype/test-pr_id_continue.c: Likewise. + * tests/unictype/test-pr_id_start.c: Likewise. + * tests/unictype/test-pr_ideographic.c: Likewise. + * tests/unictype/test-pr_ids_binary_operator.c: Likewise. + * tests/unictype/test-pr_ids_trinary_operator.c: Likewise. + * tests/unictype/test-pr_ignorable_control.c: Likewise. + * tests/unictype/test-pr_iso_control.c: Likewise. + * tests/unictype/test-pr_join_control.c: Likewise. + * tests/unictype/test-pr_left_of_pair.c: Likewise. + * tests/unictype/test-pr_line_separator.c: Likewise. + * tests/unictype/test-pr_logical_order_exception.c: Likewise. + * tests/unictype/test-pr_lowercase.c: Likewise. + * tests/unictype/test-pr_math.c: Likewise. + * tests/unictype/test-pr_non_break.c: Likewise. + * tests/unictype/test-pr_not_a_character.c: Likewise. + * tests/unictype/test-pr_numeric.c: Likewise. + * tests/unictype/test-pr_other_alphabetic.c: Likewise. + * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise. + * tests/unictype/test-pr_other_grapheme_extend.c: Likewise. + * tests/unictype/test-pr_other_id_continue.c: Likewise. + * tests/unictype/test-pr_other_id_start.c: Likewise. + * tests/unictype/test-pr_other_lowercase.c: Likewise. + * tests/unictype/test-pr_other_math.c: Likewise. + * tests/unictype/test-pr_other_uppercase.c: Likewise. + * tests/unictype/test-pr_paired_punctuation.c: Likewise. + * tests/unictype/test-pr_paragraph_separator.c: Likewise. + * tests/unictype/test-pr_pattern_syntax.c: Likewise. + * tests/unictype/test-pr_pattern_white_space.c: Likewise. + * tests/unictype/test-pr_private_use.c: Likewise. + * tests/unictype/test-pr_punctuation.c: Likewise. + * tests/unictype/test-pr_quotation_mark.c: Likewise. + * tests/unictype/test-pr_radical.c: Likewise. + * tests/unictype/test-pr_sentence_terminal.c: Likewise. + * tests/unictype/test-pr_soft_dotted.c: Likewise. + * tests/unictype/test-pr_space.c: Likewise. + * tests/unictype/test-pr_terminal_punctuation.c: Likewise. + * tests/unictype/test-pr_titlecase.c: Likewise. + * tests/unictype/test-pr_unassigned_code_value.c: Likewise. + * tests/unictype/test-pr_unified_ideograph.c: Likewise. + * tests/unictype/test-pr_uppercase.c: Likewise. + * tests/unictype/test-pr_variation_selector.c: Likewise. + * tests/unictype/test-pr_white_space.c: Likewise. + * tests/unictype/test-pr_xid_continue.c: Likewise. + * tests/unictype/test-pr_xid_start.c: Likewise. + * tests/unictype/test-pr_zero_width.c: Likewise. + * tests/unictype/test-sy_c_whitespace.c: Likewise. + * tests/unictype/test-sy_java_whitespace.c: Likewise. + +2007-11-12 Bruno Haible + + Unicode character classification functions. + * lib/unictype.h: New file. + * modules/unictype/base: New file. + * modules/unictype/category-L: New file. + * modules/unictype/category-Lu: New file. + * modules/unictype/category-Ll: New file. + * modules/unictype/category-Lt: New file. + * modules/unictype/category-Lm: New file. + * modules/unictype/category-Lo: New file. + * modules/unictype/category-M: New file. + * modules/unictype/category-Mn: New file. + * modules/unictype/category-Mc: New file. + * modules/unictype/category-Me: New file. + * modules/unictype/category-N: New file. + * modules/unictype/category-Nd: New file. + * modules/unictype/category-Nl: New file. + * modules/unictype/category-No: New file. + * modules/unictype/category-P: New file. + * modules/unictype/category-Pc: New file. + * modules/unictype/category-Pd: New file. + * modules/unictype/category-Ps: New file. + * modules/unictype/category-Pe: New file. + * modules/unictype/category-Pi: New file. + * modules/unictype/category-Pf: New file. + * modules/unictype/category-Po: New file. + * modules/unictype/category-S: New file. + * modules/unictype/category-Sm: New file. + * modules/unictype/category-Sc: New file. + * modules/unictype/category-Sk: New file. + * modules/unictype/category-So: New file. + * modules/unictype/category-Z: New file. + * modules/unictype/category-Zs: New file. + * modules/unictype/category-Zl: New file. + * modules/unictype/category-Zp: New file. + * modules/unictype/category-C: New file. + * modules/unictype/category-Cc: New file. + * modules/unictype/category-Cf: New file. + * modules/unictype/category-Cs: New file. + * modules/unictype/category-Co: New file. + * modules/unictype/category-Cn: New file. + * modules/unictype/category-or: New file. + * modules/unictype/category-of: New file. + * modules/unictype/category-test: New file. + * modules/unictype/category-test-withtable: New file. + * modules/unictype/category-byname: New file. + * modules/unictype/category-none: New file. + * modules/unictype/category-and: New file. + * modules/unictype/category-and-not: New file. + * modules/unictype/category-name: New file. + * modules/unictype/combining-class: New file. + * modules/unictype/category-all: New file. + * modules/unictype/bidicategory-all: New file. + * modules/unictype/bidicategory-byname: New file. + * modules/unictype/bidicategory-name: New file. + * modules/unictype/bidicategory-of: New file. + * modules/unictype/bidicategory-test: New file. + * modules/unictype/decimal-digit: New file. + * modules/unictype/digit: New file. + * modules/unictype/numeric: New file. + * modules/unictype/mirror: New file. + * modules/unictype/property-white-space: New file. + * modules/unictype/property-alphabetic: New file. + * modules/unictype/property-other-alphabetic: New file. + * modules/unictype/property-not-a-character: New file. + * modules/unictype/property-default-ignorable-code-point: New file. + * modules/unictype/property-other-default-ignorable-code-point: New + file. + * modules/unictype/property-deprecated: New file. + * modules/unictype/property-logical-order-exception: New file. + * modules/unictype/property-variation-selector: New file. + * modules/unictype/property-private-use: New file. + * modules/unictype/property-unassigned-code-value: New file. + * modules/unictype/property-uppercase: New file. + * modules/unictype/property-other-uppercase: New file. + * modules/unictype/property-lowercase: New file. + * modules/unictype/property-other-lowercase: New file. + * modules/unictype/property-titlecase: New file. + * modules/unictype/property-soft-dotted: New file. + * modules/unictype/property-id-start: New file. + * modules/unictype/property-other-id-start: New file. + * modules/unictype/property-id-continue: New file. + * modules/unictype/property-other-id-continue: New file. + * modules/unictype/property-xid-start: New file. + * modules/unictype/property-xid-continue: New file. + * modules/unictype/property-pattern-white-space: New file. + * modules/unictype/property-pattern-syntax: New file. + * modules/unictype/property-join-control: New file. + * modules/unictype/property-grapheme-base: New file. + * modules/unictype/property-grapheme-extend: New file. + * modules/unictype/property-other-grapheme-extend: New file. + * modules/unictype/property-grapheme-link: New file. + * modules/unictype/property-bidi-control: New file. + * modules/unictype/property-bidi-left-to-right: New file. + * modules/unictype/property-bidi-hebrew-right-to-left: New file. + * modules/unictype/property-bidi-arabic-right-to-left: New file. + * modules/unictype/property-bidi-european-digit: New file. + * modules/unictype/property-bidi-eur-num-separator: New file. + * modules/unictype/property-bidi-eur-num-terminator: New file. + * modules/unictype/property-bidi-arabic-digit: New file. + * modules/unictype/property-bidi-common-separator: New file. + * modules/unictype/property-bidi-block-separator: New file. + * modules/unictype/property-bidi-segment-separator: New file. + * modules/unictype/property-bidi-whitespace: New file. + * modules/unictype/property-bidi-non-spacing-mark: New file. + * modules/unictype/property-bidi-boundary-neutral: New file. + * modules/unictype/property-bidi-pdf: New file. + * modules/unictype/property-bidi-embedding-or-override: New file. + * modules/unictype/property-bidi-other-neutral: New file. + * modules/unictype/property-hex-digit: New file. + * modules/unictype/property-ascii-hex-digit: New file. + * modules/unictype/property-ideographic: New file. + * modules/unictype/property-unified-ideograph: New file. + * modules/unictype/property-radical: New file. + * modules/unictype/property-ids-binary-operator: New file. + * modules/unictype/property-ids-trinary-operator: New file. + * modules/unictype/property-zero-width: New file. + * modules/unictype/property-space: New file. + * modules/unictype/property-non-break: New file. + * modules/unictype/property-iso-control: New file. + * modules/unictype/property-format-control: New file. + * modules/unictype/property-dash: New file. + * modules/unictype/property-hyphen: New file. + * modules/unictype/property-punctuation: New file. + * modules/unictype/property-line-separator: New file. + * modules/unictype/property-paragraph-separator: New file. + * modules/unictype/property-quotation-mark: New file. + * modules/unictype/property-sentence-terminal: New file. + * modules/unictype/property-terminal-punctuation: New file. + * modules/unictype/property-currency-symbol: New file. + * modules/unictype/property-math: New file. + * modules/unictype/property-other-math: New file. + * modules/unictype/property-paired-punctuation: New file. + * modules/unictype/property-left-of-pair: New file. + * modules/unictype/property-combining: New file. + * modules/unictype/property-composite: New file. + * modules/unictype/property-decimal-digit: New file. + * modules/unictype/property-numeric: New file. + * modules/unictype/property-diacritic: New file. + * modules/unictype/property-extender: New file. + * modules/unictype/property-ignorable-control: New file. + * modules/unictype/property-test: New file. + * modules/unictype/property-byname: New file. + * modules/unictype/property-all: New file. + * modules/unictype/scripts: New file. + * modules/unictype/scripts-all: New file. + * modules/unictype/block-of: New file. + * modules/unictype/block-test: New file. + * modules/unictype/block-list: New file. + * modules/unictype/block-all: New file. + * modules/unictype/syntax-c-whitespace: New file. + * modules/unictype/syntax-java-whitespace: New file. + * modules/unictype/syntax-c-ident: New file. + * modules/unictype/syntax-java-ident: New file. + * modules/unictype/ctype-alnum: New file. + * modules/unictype/ctype-alpha: New file. + * modules/unictype/ctype-cntrl: New file. + * modules/unictype/ctype-digit: New file. + * modules/unictype/ctype-graph: New file. + * modules/unictype/ctype-lower: New file. + * modules/unictype/ctype-print: New file. + * modules/unictype/ctype-punct: New file. + * modules/unictype/ctype-space: New file. + * modules/unictype/ctype-upper: New file. + * modules/unictype/ctype-xdigit: New file. + * modules/unictype/ctype-blank: New file. + * lib/unictype/bidi_byname.c: New file. + * lib/unictype/bidi_name.c: New file. + * lib/unictype/bidi_of.c: New file. + * lib/unictype/bidi_test.c: New file. + * lib/unictype/bitmap.h: New file. + * lib/unictype/block_test.c: New file. + * lib/unictype/blocks.c: New file. + * lib/unictype/categ_C.c: New file. + * lib/unictype/categ_Cc.c: New file. + * lib/unictype/categ_Cf.c: New file. + * lib/unictype/categ_Cn.c: New file. + * lib/unictype/categ_Co.c: New file. + * lib/unictype/categ_Cs.c: New file. + * lib/unictype/categ_L.c: New file. + * lib/unictype/categ_Ll.c: New file. + * lib/unictype/categ_Lm.c: New file. + * lib/unictype/categ_Lo.c: New file. + * lib/unictype/categ_Lt.c: New file. + * lib/unictype/categ_Lu.c: New file. + * lib/unictype/categ_M.c: New file. + * lib/unictype/categ_Mc.c: New file. + * lib/unictype/categ_Me.c: New file. + * lib/unictype/categ_Mn.c: New file. + * lib/unictype/categ_N.c: New file. + * lib/unictype/categ_Nd.c: New file. + * lib/unictype/categ_Nl.c: New file. + * lib/unictype/categ_No.c: New file. + * lib/unictype/categ_P.c: New file. + * lib/unictype/categ_Pc.c: New file. + * lib/unictype/categ_Pd.c: New file. + * lib/unictype/categ_Pe.c: New file. + * lib/unictype/categ_Pf.c: New file. + * lib/unictype/categ_Pi.c: New file. + * lib/unictype/categ_Po.c: New file. + * lib/unictype/categ_Ps.c: New file. + * lib/unictype/categ_S.c: New file. + * lib/unictype/categ_Sc.c: New file. + * lib/unictype/categ_Sk.c: New file. + * lib/unictype/categ_Sm.c: New file. + * lib/unictype/categ_So.c: New file. + * lib/unictype/categ_Z.c: New file. + * lib/unictype/categ_Zl.c: New file. + * lib/unictype/categ_Zp.c: New file. + * lib/unictype/categ_Zs.c: New file. + * lib/unictype/categ_and.c: New file. + * lib/unictype/categ_and_not.c: New file. + * lib/unictype/categ_byname.c: New file. + * lib/unictype/categ_name.c: New file. + * lib/unictype/categ_none.c: New file. + * lib/unictype/categ_of.c: New file. + * lib/unictype/categ_or.c: New file. + * lib/unictype/categ_test.c: New file. + * lib/unictype/combining.c: New file. + * lib/unictype/ctype_alnum.c: New file. + * lib/unictype/ctype_alpha.c: New file. + * lib/unictype/ctype_blank.c: New file. + * lib/unictype/ctype_cntrl.c: New file. + * lib/unictype/ctype_digit.c: New file. + * lib/unictype/ctype_graph.c: New file. + * lib/unictype/ctype_lower.c: New file. + * lib/unictype/ctype_print.c: New file. + * lib/unictype/ctype_punct.c: New file. + * lib/unictype/ctype_space.c: New file. + * lib/unictype/ctype_upper.c: New file. + * lib/unictype/ctype_xdigit.c: New file. + * lib/unictype/decdigit.c: New file. + * lib/unictype/digit.c: New file. + * lib/unictype/identsyntaxmap.h: New file. + * lib/unictype/mirror.c: New file. + * lib/unictype/numeric.c: New file. + * lib/unictype/pr_alphabetic.c: New file. + * lib/unictype/pr_ascii_hex_digit.c: New file. + * lib/unictype/pr_bidi_arabic_digit.c: New file. + * lib/unictype/pr_bidi_arabic_right_to_left.c: New file. + * lib/unictype/pr_bidi_block_separator.c: New file. + * lib/unictype/pr_bidi_boundary_neutral.c: New file. + * lib/unictype/pr_bidi_common_separator.c: New file. + * lib/unictype/pr_bidi_control.c: New file. + * lib/unictype/pr_bidi_embedding_or_override.c: New file. + * lib/unictype/pr_bidi_eur_num_separator.c: New file. + * lib/unictype/pr_bidi_eur_num_terminator.c: New file. + * lib/unictype/pr_bidi_european_digit.c: New file. + * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file. + * lib/unictype/pr_bidi_left_to_right.c: New file. + * lib/unictype/pr_bidi_non_spacing_mark.c: New file. + * lib/unictype/pr_bidi_other_neutral.c: New file. + * lib/unictype/pr_bidi_pdf.c: New file. + * lib/unictype/pr_bidi_segment_separator.c: New file. + * lib/unictype/pr_bidi_whitespace.c: New file. + * lib/unictype/pr_byname.c: New file. + * lib/unictype/pr_byname.gperf: New file. + * lib/unictype/pr_combining.c: New file. + * lib/unictype/pr_composite.c: New file. + * lib/unictype/pr_currency_symbol.c: New file. + * lib/unictype/pr_dash.c: New file. + * lib/unictype/pr_decimal_digit.c: New file. + * lib/unictype/pr_default_ignorable_code_point.c: New file. + * lib/unictype/pr_deprecated.c: New file. + * lib/unictype/pr_diacritic.c: New file. + * lib/unictype/pr_extender.c: New file. + * lib/unictype/pr_format_control.c: New file. + * lib/unictype/pr_grapheme_base.c: New file. + * lib/unictype/pr_grapheme_extend.c: New file. + * lib/unictype/pr_grapheme_link.c: New file. + * lib/unictype/pr_hex_digit.c: New file. + * lib/unictype/pr_hyphen.c: New file. + * lib/unictype/pr_id_continue.c: New file. + * lib/unictype/pr_id_start.c: New file. + * lib/unictype/pr_ideographic.c: New file. + * lib/unictype/pr_ids_binary_operator.c: New file. + * lib/unictype/pr_ids_trinary_operator.c: New file. + * lib/unictype/pr_ignorable_control.c: New file. + * lib/unictype/pr_iso_control.c: New file. + * lib/unictype/pr_join_control.c: New file. + * lib/unictype/pr_left_of_pair.c: New file. + * lib/unictype/pr_line_separator.c: New file. + * lib/unictype/pr_logical_order_exception.c: New file. + * lib/unictype/pr_lowercase.c: New file. + * lib/unictype/pr_math.c: New file. + * lib/unictype/pr_non_break.c: New file. + * lib/unictype/pr_not_a_character.c: New file. + * lib/unictype/pr_numeric.c: New file. + * lib/unictype/pr_other_alphabetic.c: New file. + * lib/unictype/pr_other_default_ignorable_code_point.c: New file. + * lib/unictype/pr_other_grapheme_extend.c: New file. + * lib/unictype/pr_other_id_continue.c: New file. + * lib/unictype/pr_other_id_start.c: New file. + * lib/unictype/pr_other_lowercase.c: New file. + * lib/unictype/pr_other_math.c: New file. + * lib/unictype/pr_other_uppercase.c: New file. + * lib/unictype/pr_paired_punctuation.c: New file. + * lib/unictype/pr_paragraph_separator.c: New file. + * lib/unictype/pr_pattern_syntax.c: New file. + * lib/unictype/pr_pattern_white_space.c: New file. + * lib/unictype/pr_private_use.c: New file. + * lib/unictype/pr_punctuation.c: New file. + * lib/unictype/pr_quotation_mark.c: New file. + * lib/unictype/pr_radical.c: New file. + * lib/unictype/pr_sentence_terminal.c: New file. + * lib/unictype/pr_soft_dotted.c: New file. + * lib/unictype/pr_space.c: New file. + * lib/unictype/pr_terminal_punctuation.c: New file. + * lib/unictype/pr_test.c: New file. + * lib/unictype/pr_titlecase.c: New file. + * lib/unictype/pr_unassigned_code_value.c: New file. + * lib/unictype/pr_unified_ideograph.c: New file. + * lib/unictype/pr_uppercase.c: New file. + * lib/unictype/pr_variation_selector.c: New file. + * lib/unictype/pr_white_space.c: New file. + * lib/unictype/pr_xid_continue.c: New file. + * lib/unictype/pr_xid_start.c: New file. + * lib/unictype/pr_zero_width.c: New file. + * lib/unictype/scripts.c: New file. + * lib/unictype/sy_c_ident.c: New file. + * lib/unictype/sy_c_whitespace.c: New file. + * lib/unictype/sy_java_ident.c: New file. + * lib/unictype/sy_java_whitespace.c: New file. + + * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for + Unicode 5.0.0. + * lib/unictype/blocks.h: Likewise. + * lib/unictype/categ_C.h: Likewise. + * lib/unictype/categ_Cc.h: Likewise. + * lib/unictype/categ_Cf.h: Likewise. + * lib/unictype/categ_Cn.h: Likewise. + * lib/unictype/categ_Co.h: Likewise. + * lib/unictype/categ_Cs.h: Likewise. + * lib/unictype/categ_L.h: Likewise. + * lib/unictype/categ_Ll.h: Likewise. + * lib/unictype/categ_Lm.h: Likewise. + * lib/unictype/categ_Lo.h: Likewise. + * lib/unictype/categ_Lt.h: Likewise. + * lib/unictype/categ_Lu.h: Likewise. + * lib/unictype/categ_M.h: Likewise. + * lib/unictype/categ_Mc.h: Likewise. + * lib/unictype/categ_Me.h: Likewise. + * lib/unictype/categ_Mn.h: Likewise. + * lib/unictype/categ_N.h: Likewise. + * lib/unictype/categ_Nd.h: Likewise. + * lib/unictype/categ_Nl.h: Likewise. + * lib/unictype/categ_No.h: Likewise. + * lib/unictype/categ_P.h: Likewise. + * lib/unictype/categ_Pc.h: Likewise. + * lib/unictype/categ_Pd.h: Likewise. + * lib/unictype/categ_Pe.h: Likewise. + * lib/unictype/categ_Pf.h: Likewise. + * lib/unictype/categ_Pi.h: Likewise. + * lib/unictype/categ_Po.h: Likewise. + * lib/unictype/categ_Ps.h: Likewise. + * lib/unictype/categ_S.h: Likewise. + * lib/unictype/categ_Sc.h: Likewise. + * lib/unictype/categ_Sk.h: Likewise. + * lib/unictype/categ_Sm.h: Likewise. + * lib/unictype/categ_So.h: Likewise. + * lib/unictype/categ_Z.h: Likewise. + * lib/unictype/categ_Zl.h: Likewise. + * lib/unictype/categ_Zp.h: Likewise. + * lib/unictype/categ_Zs.h: Likewise. + * lib/unictype/categ_of.h: Likewise. + * lib/unictype/combining.h: Likewise. + * lib/unictype/ctype_alnum.h: Likewise. + * lib/unictype/ctype_alpha.h: Likewise. + * lib/unictype/ctype_blank.h: Likewise. + * lib/unictype/ctype_cntrl.h: Likewise. + * lib/unictype/ctype_digit.h: Likewise. + * lib/unictype/ctype_graph.h: Likewise. + * lib/unictype/ctype_lower.h: Likewise. + * lib/unictype/ctype_print.h: Likewise. + * lib/unictype/ctype_punct.h: Likewise. + * lib/unictype/ctype_space.h: Likewise. + * lib/unictype/ctype_upper.h: Likewise. + * lib/unictype/ctype_xdigit.h: Likewise. + * lib/unictype/decdigit.h: Likewise. + * lib/unictype/digit.h: Likewise. + * lib/unictype/mirror.h: Likewise. + * lib/unictype/numeric.h: Likewise. + * lib/unictype/pr_alphabetic.h: Likewise. + * lib/unictype/pr_ascii_hex_digit.h: Likewise. + * lib/unictype/pr_bidi_arabic_digit.h: Likewise. + * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise. + * lib/unictype/pr_bidi_block_separator.h: Likewise. + * lib/unictype/pr_bidi_boundary_neutral.h: Likewise. + * lib/unictype/pr_bidi_common_separator.h: Likewise. + * lib/unictype/pr_bidi_control.h: Likewise. + * lib/unictype/pr_bidi_embedding_or_override.h: Likewise. + * lib/unictype/pr_bidi_eur_num_separator.h: Likewise. + * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise. + * lib/unictype/pr_bidi_european_digit.h: Likewise. + * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise. + * lib/unictype/pr_bidi_left_to_right.h: Likewise. + * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise. + * lib/unictype/pr_bidi_other_neutral.h: Likewise. + * lib/unictype/pr_bidi_pdf.h: Likewise. + * lib/unictype/pr_bidi_segment_separator.h: Likewise. + * lib/unictype/pr_bidi_whitespace.h: Likewise. + * lib/unictype/pr_combining.h: Likewise. + * lib/unictype/pr_composite.h: Likewise. + * lib/unictype/pr_currency_symbol.h: Likewise. + * lib/unictype/pr_dash.h: Likewise. + * lib/unictype/pr_decimal_digit.h: Likewise. + * lib/unictype/pr_default_ignorable_code_point.h: Likewise. + * lib/unictype/pr_deprecated.h: Likewise. + * lib/unictype/pr_diacritic.h: Likewise. + * lib/unictype/pr_extender.h: Likewise. + * lib/unictype/pr_format_control.h: Likewise. + * lib/unictype/pr_grapheme_base.h: Likewise. + * lib/unictype/pr_grapheme_extend.h: Likewise. + * lib/unictype/pr_grapheme_link.h: Likewise. + * lib/unictype/pr_hex_digit.h: Likewise. + * lib/unictype/pr_hyphen.h: Likewise. + * lib/unictype/pr_id_continue.h: Likewise. + * lib/unictype/pr_id_start.h: Likewise. + * lib/unictype/pr_ideographic.h: Likewise. + * lib/unictype/pr_ids_binary_operator.h: Likewise. + * lib/unictype/pr_ids_trinary_operator.h: Likewise. + * lib/unictype/pr_ignorable_control.h: Likewise. + * lib/unictype/pr_iso_control.h: Likewise. + * lib/unictype/pr_join_control.h: Likewise. + * lib/unictype/pr_left_of_pair.h: Likewise. + * lib/unictype/pr_line_separator.h: Likewise. + * lib/unictype/pr_logical_order_exception.h: Likewise. + * lib/unictype/pr_lowercase.h: Likewise. + * lib/unictype/pr_math.h: Likewise. + * lib/unictype/pr_non_break.h: Likewise. + * lib/unictype/pr_not_a_character.h: Likewise. + * lib/unictype/pr_numeric.h: Likewise. + * lib/unictype/pr_other_alphabetic.h: Likewise. + * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise. + * lib/unictype/pr_other_grapheme_extend.h: Likewise. + * lib/unictype/pr_other_id_continue.h: Likewise. + * lib/unictype/pr_other_id_start.h: Likewise. + * lib/unictype/pr_other_lowercase.h: Likewise. + * lib/unictype/pr_other_math.h: Likewise. + * lib/unictype/pr_other_uppercase.h: Likewise. + * lib/unictype/pr_paired_punctuation.h: Likewise. + * lib/unictype/pr_paragraph_separator.h: Likewise. + * lib/unictype/pr_pattern_syntax.h: Likewise. + * lib/unictype/pr_pattern_white_space.h: Likewise. + * lib/unictype/pr_private_use.h: Likewise. + * lib/unictype/pr_punctuation.h: Likewise. + * lib/unictype/pr_quotation_mark.h: Likewise. + * lib/unictype/pr_radical.h: Likewise. + * lib/unictype/pr_sentence_terminal.h: Likewise. + * lib/unictype/pr_soft_dotted.h: Likewise. + * lib/unictype/pr_space.h: Likewise. + * lib/unictype/pr_terminal_punctuation.h: Likewise. + * lib/unictype/pr_titlecase.h: Likewise. + * lib/unictype/pr_unassigned_code_value.h: Likewise. + * lib/unictype/pr_unified_ideograph.h: Likewise. + * lib/unictype/pr_uppercase.h: Likewise. + * lib/unictype/pr_variation_selector.h: Likewise. + * lib/unictype/pr_white_space.h: Likewise. + * lib/unictype/pr_xid_continue.h: Likewise. + * lib/unictype/pr_xid_start.h: Likewise. + * lib/unictype/pr_zero_width.h: Likewise. + * lib/unictype/scripts.h: Likewise. + * lib/unictype/scripts_byname.gperf: Likewise. + * lib/unictype/sy_c_ident.h: Likewise. + * lib/unictype/sy_c_whitespace.h: Likewise. + * lib/unictype/sy_java_ident.h: Likewise. + * lib/unictype/sy_java_whitespace.h: Likewise. + + * lib/unictype/Makefile: New file. + * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in + glibc. + * lib/unictype/3level.h: New file, copied from glibc. + * lib/unictype/3levelbit.h: New file. + +2007-11-11 Bruno Haible + + * modules/gperf: New file. + * modules/iconv_open (Depends-on): Add it. + (Makefile.am): Remove the GPERF definition. + +2007-11-11 Bruno Haible + + * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug. + * doc/functions/round.texi: Mention the NetBSD 3.0 bug. + +2007-11-11 Bruno Haible + + * tests/test-argmatch.c (ARGMATCH_DIE): Undefine. + (usage): Remove function. + +2007-11-11 Bruno Haible + + * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and + gl_FUNC_CEILF_LIBS. + * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and + gl_FUNC_CEIL_LIBS. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and + gl_FUNC_CEILL_LIBS. + * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4. + * modules/round (Files): Add m4/floor.m4, m4/ceil.m4. + * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4. + +2007-11-11 Bruno Haible + + * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and + roundf were declared but do not exist on functions. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and + roundl were declared but do not exist on functions. + * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and + HAVE_FLOORL_AND_CEILL, respectively. + Needed for Sun C on Solaris 10. + +2007-11-11 Bruno Haible + + * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of + HAVE_DECL_ROUNDF. Remove redundant AC_SUBST. + * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of + HAVE_DECL_ROUND. Remove redundant AC_SUBST. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of + HAVE_DECL_ROUNDL. Remove redundant AC_SUBST. + * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of + HAVE_DECL_ROUNDF. + (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND. + (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead + of HAVE_DECL_ROUND*. + * modules/math (Makefile.am): Update. + +2007-11-10 Bruno Haible + + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for + ptrdiff_t as m4/intl.m4. + +2007-11-10 Jim Meyering + + Avoid link failure for the argmatch test. + * tests/test-argmatch.c (usage): Define function to avoid a link + failure: argmatch_die requires a usage function. + +2007-11-09 Bruno Haible + + * doc/functions/snprintf.texi: Mention BeOS deficiency. + * doc/functions/vsnprintf.texi: Likewise. + * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf + with a size argument < 2. + +2007-11-09 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf + buffer. Fixes an inefficiency introduced on 2007-11-03. + +2007-11-09 Bruno Haible + + * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return + none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c. + +2007-11-08 Jim Meyering + + Change cache variable name prefix "jm_" to "gl_" everywhere. + * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4: + * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4: + * m4/uptime.m4: s/gl_/jm_/ + +2007-11-07 Bruno Haible + + Update to GNU gettext 0.17. + * m4/intl.m4: Update to GNU gettext 0.17. + * m4/po.m4: Likewise. + * modules/gettext (Files): Remove m4/ulonglong.m4. + (configure.ac): Require gettext infrastructure from version 0.17. + +2007-11-06 Bruno Haible + + * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the + symbolic values are not defined in a public header. + * lib/freadable.c (freadable) [QNX]: Likewise. + * lib/freadahead.c (freadahead) [QNX]: Likewise. + * lib/freading.c (freading) [QNX]: Likewise. + * lib/fseterr.c (fseterr) [QNX]: Likewise. + * lib/fwritable.c (fwritable) [QNX]: Likewise. + * lib/fwriting.c (fwriting) [QNX]: Likewise. + * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement. + Reported by Alain Magloire. + + * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX. + +2007-11-05 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A + code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set. + Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE. + Reported by Eric Blake. + +2007-10-27 Ralf Wildenhues + Bruno Haible + + * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always. + * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always. + * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro. + (malloc): Undefine also before including . + (rpl_realloc): Turn malloc(0) into malloc(1) if necessary. + Needed on OSF/1 4.0. + +2007-11-05 Jim Meyering + + git-version-gen: sync from coreutils. + * build-aux/git-version-gen: Add comments. + Change the first '-' to '.' in the snapshot version string, + e.g., 6.9-377-08144 -> 6.9.377-08144 + Remove first parameter. + Don't declare a version "-dirty" merely because a time + stamp has changed. + +2007-11-04 Bruno Haible + + * lib/lock.h: Protect all macro definitions containing an 'if' + statement through a "do { ... } while (0)". + * lib/tls.h: Likewise. + +2007-11-04 Bruno Haible + + * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end. + +2007-11-04 Bruno Haible + + * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH. + * modules/fprintf-posix (Depends-on): Add nocrash. + * modules/snprintf-posix (Depends-on): Likewise. + * modules/sprintf-posix (Depends-on): Likewise. + * modules/vasnprintf-posix (Depends-on): Likewise. + * modules/vasprintf-posix (Depends-on): Likewise. + * modules/vfprintf-posix (Depends-on): Likewise. + * modules/vsnprintf-posix (Depends-on): Likewise. + * modules/vsprintf-posix (Depends-on): Likewise. + * modules/unistdio/u8-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise. + +2007-11-04 Bruno Haible + + * modules/nocrash: New file. + * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from + GNU libsigsegv, with permission of GNU libsigsegv's copyright holders. + +2007-11-04 Bruno Haible + + * tests/test-vasnprintf-posix.c (test_function): Add some tests of + precision handling. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + + Fix *printf behaviour for large precisions on mingw and BeOS. + * m4/printf.m4 (gl_PRINTF_PRECISION): New macro. + * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro. + (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it. + * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke + gl_PRINTF_PRECISION and test its result. Invoke + gl_PREREQ_VASNPRINTF_PRECISION. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise. + * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise. + * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. + * doc/functions/fprintf.texi: Update. + * doc/functions/printf.texi: Update. + * doc/functions/snprintf.texi: Update. + * doc/functions/sprintf.texi: Update. + * doc/functions/vfprintf.texi: Update. + * doc/functions/vprintf.texi: Update. + * doc/functions/vsnprintf.texi: Update. + * doc/functions/vsprintf.texi: Update. + +2007-11-04 Bruno Haible + + * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop. + +2007-11-04 Bruno Haible + + * modules/relocatable-prog (Files): Add m4/lib-ld.m4. + Reported by Sylvain Beucler . + +2007-11-03 Bruno Haible + + * tests/test-fprintf-posix2.sh: New file. + * tests/test-fprintf-posix2.c: New file. + * modules/fprintf-posix-tests (Files): Add them. + (TESTS): Add test-fprintf-posix2.sh. + (configure.ac): Check for getrlimit and setrlimit. + (check_PROGRAMS): Add test-fprintf-posix2. + + * tests/test-printf-posix2.sh: New file. + * tests/test-printf-posix2.c: New file. + * modules/printf-posix-tests (Files): Add them. + (TESTS): Add test-printf-posix2.sh. + (configure.ac): Check for getrlimit and setrlimit. + (check_PROGRAMS): Add test-printf-posix2. + + Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD. + * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro. + * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE. + (decode_double): New function, copied from decode_long_double. + (scale10_round_decimal_decoded): New function, extracted from + scale10_round_decimal_long_double. + (scale10_round_decimal_long_double): Use it. + (scale10_round_decimal_double): New function. + (floorlog10): New function. + (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro. + (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it. + * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke + gl_PRINTF_ENOMEM and test its result. Invoke + gl_PREREQ_VASNPRINTF_ENOMEM. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise. + * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise. + * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. + * modules/fprintf-posix (Depends-on): Add frexp-nolibm. + * modules/snprintf-posix (Depends-on): Likewise. + * modules/sprintf-posix (Depends-on): Likewise. + * modules/vasnprintf-posix (Depends-on): Likewise. + * modules/vasprintf-posix (Depends-on): Likewise. + * modules/vfprintf-posix (Depends-on): Likewise. + * modules/vsnprintf-posix (Depends-on): Likewise. + * modules/vsprintf-posix (Depends-on): Likewise. + * doc/functions/fprintf.texi: Update. + * doc/functions/printf.texi: Update. + * doc/functions/snprintf.texi: Update. + * doc/functions/sprintf.texi: Update. + * doc/functions/vfprintf.texi: Update. + * doc/functions/vprintf.texi: Update. + * doc/functions/vsnprintf.texi: Update. + * doc/functions/vsprintf.texi: Update. + +2007-11-03 Bruno Haible + + * modules/frexp-nolibm-tests: New file. + + * modules/frexp-nolibm: New file. + * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro. + +2007-11-03 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return + value is C99 compliant. + Needed for OSF/1 5.1. + +2007-11-03 Bruno Haible + + Fix out-of-memory handling of vasnprintf. + * lib/printf-parse.c: Include . + (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM. + * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno + is already set. + +2007-11-02 Eric Blake + + Fix tests on cygwin. + * modules/xprintf-posix-tests (Makefile.am): Link against -lintl. + +2007-11-01 Bruno Haible + + * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere" + warning. + * doc/functions/putenv.texi: Clarify that the 'putenv' module is not + needed for POSIX compatibility. + +2007-11-01 Paul Eggert + + * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking + for compatibility with GNU. + +2007-11-01 Bruno Haible + + * lib/putenv.c: Include . Remove rpl_putenv declaration. + (putenv): Renamed from rpl_putenv. Change argument type from + 'const char *' to 'char *'. + * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead + of defining putenv in config.h, just set REPLACE_PUTENV. + * modules/putenv (Depends-on): Add stdlib. + (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. + (Include): Use . + * lib/stdlib.in.h (putenv): New declaration. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and + REPLACE_PUTENV. + * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and + REPLACE_PUTENV. + Needed for MacOS X 10.5.0. + Reported by Peter O'Gorman . + +2007-11-01 Jim Meyering + + Treat an empty date string exactly like "0". + * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed, + if the remaining date string (to be parsed) is empty, use "0". + Reported by Mischa Molhoek and discussed in this thread: + . + +2007-10-31 Bruno Haible + + * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use + AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG. + * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use + AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG. + * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro. + * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro. + +2007-10-31 Bruno Haible + + * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted + from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT. + (AC_TYPE_LONG_LONG_INT): Use it. + (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use + it as well. + * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved + to m4/longlong.m4. + * modules/stdint (Files): Remove m4/ulonglong.m4. + * modules/strtoull (Files): Use m4/longlong.m4 instead of + m4/ulonglong.m4. + * modules/strtoumax (Files): Likewise. + +2007-10-30 Bruno Haible + + * modules/xvasprintf-posix: New file. + Suggested by Eric Blake. + +2007-10-30 Bruno Haible + + * modules/xprintf-posix-tests: New file. + * tests/test-xprintf-posix.sh: New file. + * tests/test-xprintf-posix.c: New file. + * tests/test-xfprintf-posix.c: New file. + + * modules/xprintf-posix: New file. + +2007-10-30 Ralf Wildenhues + + * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files. + * modules/freadable-tests (MOSTLYCLEANFILES): Likewise. + * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise. + +2007-10-29 Bruno Haible + + * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to + contain the special marker '_cv_'. + * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise. + * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise. + * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise. + * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise. + * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise. + Reported by Ralf Wildenhues. + +2007-10-29 Bruno Haible + + * gnulib-tool (func_import): When --lgpl is not specified, set + sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to + GPLv3. + Reported by Simon Josefsson. + +2007-10-28 Bruno Haible + + * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE. + * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of + HAVE_DECL_ISFINITE. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update. + * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of + HAVE_DECL_ISFINITE. + +2007-10-28 Bruno Haible + + * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed + integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc. + +2007-10-28 Bruno Haible + + Fix link errors with Sun C 5.0 on Solaris 10. + * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the + function is declared but not present in the compiler's libm. + * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise. + * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise. + * m4/ceill.m4 (gl_FUNC_CEILL: Likewise. + * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF. + Test REPLACE_CEILL instead of HAVE_DECL_CEILL. + Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF. + Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update. + * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of + HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL, + REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of + HAVE_DECL_FLOORL. + +2007-10-28 Bruno Haible + + * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from + gl_FUNC_FLOORL. Cache the result. + (gl_FUNC_FLOORL): Use it. + * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from + gl_FUNC_CEILL. Cache the result. + (gl_FUNC_CEILL): Use it. + + * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from + gl_FUNC_FLOOR. Cache the result. + (gl_FUNC_FLOOR): Use it. + * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from + gl_FUNC_CEIL. Cache the result. + (gl_FUNC_CEIL): Use it. + + * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from + gl_FUNC_FLOORF. Cache the result. + (gl_FUNC_FLOORF): Use it. + * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from + gl_FUNC_CEILF. Cache the result. + (gl_FUNC_CEILF): Use it. + +2007-10-28 Bruno Haible + + * gnulib-tool: Allow specifying the LGPL version number through + --lgpl=2 or --lgpl=3. + (func_usage): Document --lgpl with argument. + Handle --lgpl=... arguments. + (func_import): Recognize also gl_LGPL calls with an argument. When + --lgpl=2 is used and the module's license is just LGPL, report an + error. Set sed_transform_lib_file according to the lgpl variable. In + the generated files, use --lgpl or gl_LGPL invocations with argument, + if necessary. + * doc/gnulib-intro.texi (Copyright): Explain how to get modules under + an LGPv2+ license. + * doc/gnulib-tool.texi (Modified imports): Update explanation of + gl_LGPL macro. + +2007-10-28 Ralf Wildenhues + Bruno Haible + + * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE. + (u16_uctomb_aux): Likewise. + * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if + !HAVE_INLINE. + * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise + +2007-10-28 Bruno Haible + + * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS. + Invoke AM_GETTEXT_OPTION if it exists. + * modules/vasprintf: Likewise. + * modules/verror: Likewise. + * modules/xprintf: Likewise. + * modules/xvasprintf: Likewise. + +2007-10-27 Ben Pfaff + + * lib/math.in.h: Define isfinite macro and prototypes for + gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing + implementations. + * m4/math_h.m4: New substitutions for isfinite module. + * lib/isfinite.c: New file. + * m4/isfinite.m4: New file. + * modules/math: Replace isfinite-related @VARS@ in math.in.h. + * modules/isfinite: New file. + * modules/isfinite-tests: New file. + * tests/tests-isfinite.c: New file. + * doc/functions/isfinite.texi: Mention isfinite module. + * MODULES.html.sh: Mention new module. + +2007-10-27 Ben Pfaff + + Ralf Wildenhues reported that Tru64 4.0D declares the round + functions but does not have definitions. + * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function + cannot be found in any library, set the output variable to + "missing" instead of "". + * m4/round.m4: Also use our substitute if we cannot find round in + any library, even if it is declared. + * m4/roundf.m4: Likewise for roundf. + * m4/roundl.m4: Likewise for roundl. + * lib/math.in.h: Undefine roundf, round, roundl before defining + their replacements, to allow for hypothetical systems where these + may be defined as macros but not available in libraries. + +2007-10-27 Bruno Haible + + * doc/gnulib.texi: Invoke @firstparagraphindent. + * doc/gnulib-tool.texi (Simple update): Mention possible incompatible + changes in gnulib. + (Source changes): New section. + +2007-10-26 Bruno Haible + + * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition, + borrowed from autoconf. + +2007-10-26 Bruno Haible + + * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if + strerror returned the empty string. Needed on HP-UX 11.00. + +2007-10-24 Micah Cowan + + Remove vestiges of cvs-gnulib-checkout process. Now we use git. + * build-aux/bootstrap: Remove support for now-unnecessary option, + --cvs-user, and envvars CVS_USER, CVS_RSH. + +2007-10-24 Jim Meyering + + Avoid diagnostics from sha1sum when there is no cached checksum. + * build-aux/bootstrap (update_po_files): Skip the sha1sum check + if the po.s1 file hasn't been created yet. + + * build-aux/bootstrap: Sync from coreutils: + 2007-10-24 Jim Meyering + Get gnulib from the git repository, not from an obsolete cvs one. + * build-aux/bootstrap: Suggestion from Micah Cowan. + 2007-10-04 Jim Meyering + * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change. + (update_po_files): Work also when there are no .po files in po/. + +2007-10-24 Paul Eggert + + * README: Append ".git" to git and cg examples. + Problem reported by Benoit Sigoure. + +2007-10-23 Micah Cowan + + * users.txt: Add wget. + +2007-10-23 Ralf Wildenhues + + Fix linking of some unistdio tests on FreeBSD. + * modules/unistdio/u16-vsnprintf-tests + (test_u16_vsprintf1_LDADD): Add @LIBINTL@. + * modules/unistdio/u16-vsprintf-tests + (test_u16_vsnprintf1_LDADD): Likewise. + * modules/unistdio/u32-vsnprintf-tests + (test_u32_vsnprintf1_LDADD): Likewise. + * modules/unistdio/u32-vsprintf-tests + (test_u32_vsprintf1_LDADD): Likewise. + * modules/unistdio/u8-vsnprintf-tests + (test_u8_vsnprintf1_LDADD): Likewise. + * modules/unistdio/u8-vsprintf-tests + (test_u8_vsprintf1_LDADD): Likewise. + * modules/unistdio/ulc-vsnprintf-tests + (test_ulc_vsnprintf1_LDADD): Likewise. + * modules/unistdio/ulc-vsprintf-tests + (test_ulc_vsprintf1_LDADD): Likewise. - Default COLON to ':' plus tab. Simple tests for aliases + Fix linking of some uniconv tests on FreeBSD. + * modules/uniconv/u16-conv-from-enc-tests + (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@. + * modules/uniconv/u16-conv-to-enc-tests + (test_u16_conv_to_enc_LDADD): Likewise. + * modules/uniconv/u16-strconv-from-enc-tests + (test_u16_strconv_from_enc_LDADD): Likewise. + * modules/uniconv/u16-strconv-to-enc-tests + (test_u16_strconv_to_enc_LDADD): Likewise. + * modules/uniconv/u32-conv-from-enc-tests + (test_u32_conv_from_enc_LDADD): Likewise. + * modules/uniconv/u32-conv-to-enc-tests + (test_u32_conv_to_enc_LDADD): Likewise. + * modules/uniconv/u32-strconv-from-enc-tests + (test_u32_strconv_from_enc_LDADD): Likewise. + * modules/uniconv/u32-strconv-to-enc-tests + (test_u32_strconv_to_enc_LDADD): Likewise. + * modules/uniconv/u8-conv-from-enc-tests + (test_u8_conv_from_enc_LDADD): Likewise. + * modules/uniconv/u8-conv-to-enc-tests + (test_u8_conv_to_enc_LDADD): Likewise. + * modules/uniconv/u8-strconv-from-enc-tests + (test_u8_strconv_from_enc_LDADD): Likewise. + * modules/uniconv/u8-strconv-to-enc-tests + (test_u8_strconv_to_enc_LDADD): Likewise. - Informal survey of files in /etc +2007-10-22 Bruno Haible - Ignore intermediate Latex files + * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same + size. - Store comments in subtrees so they are restored properly +2007-10-22 Eric Blake - Turn into a test on a legal tree and make it pass + Tweak x*printf documentation. + * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust + variable name and comments. + Suggested by Bruno Haible. - Fix split of QUANT_MAYBE. Add create_quant_maybe +2007-10-22 Bruno Haible - Make aliases work + * lib/acl.c (copy_acl): Fix file name in comment. - Free the results of split_tree +2007-10-22 Paul Eggert - Properly split an empty * as an empty list + Fix Tru64 problem with stdbool.h. + * lib/stdbool.in.h (false, true): + [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]: + Don't declare as an enum in this situation; it runs afoul of Tru64. + Problem reported by Steven M. Schweda in + . - Try to make putting QUANT_MAYBE work - This is still kinda suspect +2007-10-22 Eric Blake - parse_subtree must always generates a tree - We have to have a subtree, no matter what, even if it is completely - empty. If the subtree doesn't contain any key and store instructions, we - still need to have a tree [ NULL -> NULL ] + Also wrap vf?printf. + * lib/xprintf.h (xvprintf, xvfprintf): New declarations. + * lib/xprintf.c (xprintf, xfprintf): Work for C89. + (xvprintf, xvfprintf): New functions. - Modified yum spec that seems to work +2007-10-22 Ralf Wildenhues - Script to ease testing of augtool + * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add + @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3. - Enable parsing of pam + * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define. + * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise. - Remove bogus reset of 'record' counter +2007-10-22 Paul Eggert - Fix print problem - Print did not generate paths right; it would print children of a node with - a path that did not contain the label of that node. + * lib/acl.c (copy_acl): Adjust to IRIX 6.5. Problem reported + by Bruno Haible. - Add clear command +2007-10-22 Ralf Wildenhues - Properly handle a NULL value in aug_set. Make aug_insert deal with NULL labels. + * lib/getloadavg.c + [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]: + Undef `sys' after including sys/table.h, for Tru64 4.0D. -2008-02-14 David Lutterkort + * tests/test-i-ring.c: Work for C89. - Fixed, nicely working tests +2007-10-22 Bruno Haible -2008-02-14 David Lutterkort + * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not + -1u, in preprocessor expression, so that we don't test for the bug + in HP-UX 11.00 cpp. Testing for this bug caused problems; see + . - Readline completion - Complete command names and tree paths. +2007-10-22 Eric Blake - Also cleans up the path entered by the user so that it doesn't have - trailing spaces or '/'. Cleaning should probably be done by the public - API. + * tests/test-yesno.sh: Silence stderr during test. -2008-02-14 David Lutterkort +2007-10-22 Simon Josefsson - Major rework - Code still unbelievably buggy and segfaults in lots of places, but it is - fairly clean and works for choice examples. + * modules/crypto/gc-camellia: New file. - The reworked code is based fairly closely of boomerang and - lenses. doc/lenses.tex describes some of the background. + * m4/gc-camellia.m4: New file. -2008-02-13 David Lutterkort + * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia. - Cleaner syntax - The spec language now contains instructions on how to build the tree inline - with the grammar. + * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256. - This change is majorly broken. +2007-10-22 Simon Josefsson -2008-02-12 David Lutterkort + * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends + --help to stdout. Reported by sms@antinode.org (Steven + M. Schweda). - Better description of lenses +2007-10-22 Simon Josefsson - Different representation of the tree - The tree is now represented as a tree data structure, where each node in - the tree stores only a path component (label). + * users.txt: Fix link to libksba. -2008-02-08 David Lutterkort +2007-10-21 Ben Pfaff - Beginnings of a formal writeup + * modules/roundf-tests: Add dependency on floorf, ceilf to allow + round.c roundf implementation that depends on floorf and ceilf to + be tested unconditionally. -2008-01-30 David Lutterkort +2007-10-21 Ben Pfaff - Remove field references as a match - It used to be possible to have a rule like - rule: RE '=' $1 - with the meaning that $1 would match the same thing as RE. That hasn't been - used yet; unclear if it ever will. + * m4/check-libm-func.m4: Removed. + * m4/check-math-lib.m4: New file. + * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB. + * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF + definition and lack of AC_LIBOBJ([roundf]). + * m4/roundl.m4: Ditto, and similarly for roundl. + * modules/round: Reference new m4 file. + * modules/roundf: Ditto. + * modules/roundl: Ditto. + * tests/test-round2.c (main): Use ROUND instead of round. + Bug report from Bruno Haible. - When deleting, only mark AST changed when leaf was deleted - This is really a kludge to work around the fact that we might construct - incomplete AST's. +2007-10-21 Bruno Haible - Slightly mroe helpful error message during parsing + * lib/printf-parse.c: Don't assume exists in IN_LIBASPRINTF + context. - Don't segfault when the parse matches nothing +2007-10-21 Bruno Haible -2008-01-29 David Lutterkort + * tests/test-wcwidth.c (main): Allow negative result for some control + characters. - Another yum test + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B. + Needed on OSF/1 5.1. - Remove more unneeded cruft +2007-10-21 Bruno Haible - Remove unneeded safe_free, TRUE and FALSE + * tests/test-floorf1.c: Include isnanf.h. + (main): Use isnanf() instead of isnan(). + * tests/test-ceilf1.c: Include isnanf.h. + (main): Use isnanf() instead of isnan(). + * tests/test-truncf1.c: Include isnanf.h. + (main): Use isnanf() instead of isnan(). + * tests/test-roundf1.c: Include isnanf.h. + (main): Use isnanf() instead of isnan(). - Remove unneeded ROOT_DIR and update augtool help +2007-10-21 Eric Blake - Remove dead code and misleading comment + * users.txt: Update URL for m4. - Remove files not needed any longer +2007-10-21 Bruno Haible - Update NEWS + * users.txt: Add clisp. Update URLs to Simon Josefsson's projects. - Run all the augtest tests by default and from make check +2007-10-21 Bruno Haible - Test key/value parsing with yum - The test file also nicely illustrates some shortcomings of the way comments - are associated with tree entries. There's not enough flexibility to let the - user cleanly indicate what a comment goes with (e.g., an entire section, - the next key/value pair etc.) + * gnulib-tool (func_create_megatestdir): Determine the cvsdate from + Git's management files if the CVS files are not present. -2008-01-29 David Lutterkort +2007-10-20 Bruno Haible - Initialize fields used as path components - When a field is used in a path component, initialize its value from the - path. Since it is not possible to change an existing path, this operation - is only needed when new parts of the AST are created. + * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for + gcc-3.4.x. - The code assumes that the leaf for the path component is in the subtree - where the leaf's value is used. That is not necessarily true; at least, - it's not being checked from the grammar. +2007-10-20 Ben Pfaff -2008-01-29 David Lutterkort + * lib/math.in.h: Declare round, roundf, roundl if we are providing + implementations. + * m4/math_h.m4: New substitutions for round, roundf, roundl modules. + * lib/round.c: New file. + * lib/roundf.c: New file. + * lib/roundl.c: New file. + * m4/round.m4: New file. + * m4/roundf.m4: New file. + * m4/roundl.m4: New file. + * m4/check-libm-func-m4: New file. + * modules/math: Replace round, roundf, roundl related @VARS@ in + math.in.h. + * modules/round: New file. + * modules/round-tests: New file. + * modules/roundf: New file. + * modules/roundf-tests: New file. + * modules/roundl: New file. + * modules/roundl-tests: New file. + * tests/test-round1.c: New file. + * tests/test-round2.c: New file. + * tests/test-roundf1.c: New file. + * tests/test-roundf2.c: New file. + * tests/test-roundl.c: New file. + * doc/functions/round.texi: Mention round module. + * doc/functions/roundf.texi: Mention roundf module. + * doc/functions/roundl.texi: Mention roundl module. + * MODULES.html.sh: Mention new modules. + Thanks to Bruno Haible for suggestions. - Test that reordering of subtrees works +2007-10-20 Jim Meyering - Set the root of the tree from include + * lib/xprintf.c: Include unconditionally. -2008-01-29 David Lutterkort + Change xprintf's license to GPL. + * modules/xprintf (License): s/LGPL/GPL/, since this module + depends on modules (exit and exitfail) which are GPL. + Suggestion from Bruno Haible. - Respect ordering of nodes in the config tree. - Previously, reordering of branches in the config tree did not lead to a - corresponding reordering of elements in the file. Branches in the AST are - now reordered in such a way that their ordering reflects the ordering in - the config tree. + xprintf fixes. + * lib/xprintf.c (xprintf, xfprintf): Use va_end. + Use a clearer diagnostic. + Patch from Bruno Haible. - Iterator nodes with a $seq action need to be treated special: they do not - change the path for the current (iterator) node, only for the child nodes. - That is terribly ugly. +2007-10-20 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available + length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T). + Reported by Ralf Wildenhues . -2008-01-29 David Lutterkort +2007-10-20 Bruno Haible - Fix bug in creating sequence subtrees + * tests/test-floorf2.c (correct_result_p): Don't rely on excess + precision in the comparison result > x - 1 or similar. + * tests/test-ceilf2.c (correct_result_p): Likewise. + * tests/test-truncf2.c (correct_result_p): Likewise. + * tests/test-trunc2.c (correct_result_p): Likewise. + Reported by Ralf Wildenhues . -2008-01-29 David Lutterkort +2007-10-20 Bruno Haible - Distribute enters so we have one per match - Simultaneous traversal of the AST and the config tree is much simpler if - any match will only go at most one level deeper. That guarantees that - entering a child in the config tree corresponds to entering an AST node - (possibly followed by entering some more AST nodes labelled with the same - path) + * modules/ceil: New file. + * m4/ceil.m4: New file. + * doc/functions/ceil.texi: Mention the 'ceil' module. - To this end, split actions with multiple enters into fake SEQUENCE matches - (followed by the match that held the initial action). The fake SEQUENCE - matches all have exactly one child in their matches field, and one of the - enter instructions from the action for them. +2007-10-20 Bruno Haible - Actions are also lifted up in the grammar as far as possible; in - particular, this pulls constants (but not $seq) out of iterators. This - ensures that the children of an AST node differ in exactly one path - component. + * modules/floor: New file. + * m4/floor.m4: New file. + * doc/functions/floor.texi: Mention the 'floor' module. + +2007-10-20 Bruno Haible + + * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use + of %a. + * modules/floorf-tests (Depends-on): Likewise. + * modules/truncf-tests (Depends-on): Likewise. + * modules/trunc-tests (Depends-on): Likewise. + Reported by Ben Pfaff. -2008-01-29 David Lutterkort +2007-10-19 Jim Meyering - Push stores to the matches they store in the tree - In an assignment, the value being stored can only be a field - reference. Push the corresponding action for the store to that field. This - simplifies both getting and putting the tree. + * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err". + Don't bother testing specific errno values. Just test ferror. - As a byproduct, a number of questionable constructs are spotted and - rejected: - (1) Assignments that move the value out of the current tree - (2) Storing the same value in more than one place in the tree (which - would make it possible to change one copy, but not both) - (3) Useless enter instructions; they don't cause harm but probably - indicate some other problem in the grammar. They are only spotted - if they get in the way of a store, but should probably be checked for - the whole grammar + New module: xprintf + * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files. + +2007-10-19 Bruno Haible + + * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO) + syntax. + * modules/javaexec (Makefile.am): Likewise. + * modules/relocatable-prog (Makefile.am): Likewise. + Suggested by Jim Meyering. -2008-01-29 David Lutterkort +2007-10-18 Bruno Haible - Produce dot files for the grammar + * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems. + Reported by Jim Meyering. -2008-01-29 David Lutterkort +2007-10-18 Eric Blake - Various changes to the tests to make them (almost) work - (1) Adjust to the fact that the root dir is now a variable - (2) Mark tests as failing if augtool exits with an error exit status - (3) Use numbers matching [0-9]+ where the grammar uses $seq, otherwise - augtool will (rightly) report an impossible path + * modules/filenamecat-tests (Makefile.am): Link against -lintl. - Some of the tests are still failing. +2007-10-18 Bruno Haible -2008-01-29 David Lutterkort + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put + the format string into writable memory. Needed in Fortify conditions. - aug_ls: Fix bad parent comparison - Before /foo/1000 was listed as a child of /foo/1 +2007-10-18 Colin Watson (tiny change) + Bruno Haible - Docs + * lib/trim.c: Include config.h unconditionally. Include trim.h always. + Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX. + * modules/trim (Depends-on): Add mbchar. + (configure.ac): Add gl_FUNC_MBRTOWC. + (Makefile.am): Augment lib_SOURCES. -2008-01-24 David Lutterkort +2007-10-17 Paul Eggert - Rough thoughts about emit + Modify glob.c to use fstatat and dirfd, to simplify it. + Suggested by Eric Blake. + * lib/glob.c (__fxstatat64) [!_LIBC]: New macro. + Don't include ; not used. + (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case. + (link_exists_p): Simplify implementation, since we can now assume + dirfd and fstatat. + * modules/glob (Depends-on): Add dirfd, openat. Remove stdbool. -2008-01-21 David Lutterkort +2007-10-17 Ralf Wildenhues - For quantified groups, count the quantifier as the group - Previously, for a match like '(A)*' A was counted as a group, which meant - that if an action was attached to the group, all the children of the '*' - node in the AST had the same path. By counting the '*' as the group, not - 'A', the children will have different name if different subtrees are - produced in the group. + * gnulib-tool (func_get_dependencies): Fix sed script to + match only tests. - This ensures that in the AST, the children of '*' and '+' have different - names and simplifies the 'put' direction of the transformation - considerably. +2007-10-17 Bruno Haible -2008-01-21 David Lutterkort + * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't + allow locale names without encoding suffix. + * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise. + * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise. - Some config settings - most of them need to be exposed through configure.ac +2007-10-16 Bruno Haible -2008-01-18 David Lutterkort + * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix. + * lib/getgroups.c (getgroups): Likewise. + * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise. - Global filename does not exist. Use basename +2007-10-16 Bruno Haible - Only increment $seq when it has been used - With this change, $seq goes structly sequential in the generated tree - nodes. Before, things like comments that don't lead to changes in the tree - increased the counter, too. + * modules/absolute-header (License): Change from LGPL to LGPLv2+. + * modules/malloc-posix (License): Likewise. + * modules/realloc-posix (License): Likewise. + * modules/calloc-posix (License): Likewise. + * modules/intprops (License): Change from GPL to LGPL, with + Paul Eggert's approval. - Spec files needed by the tests +2007-10-16 Paul Eggert - Don't segfault in ast_dot on NULL ast + Merge glibc changes into lib/glob.c. -2008-01-18 David Lutterkort + * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated + 2007-10-15 04:59:03 UTC. Here are the changes: - Only save files with actual changes - Split emitting into two parts: updating the AST from the config tree and - actually writing the AST to file. do_insertion and do_deletion now report - if they made any changes to the tree so that the provider can decide - whether to save the file or not. + 2007-10-14 Ulrich Drepper - As a byproduct, parts of the AST that are no longer needed are actually - freed. + * lib/glob.c: Reimplement link_exists_p to use fstatat64. -2008-01-18 David Lutterkort + * lib/glob.c: Add some branch prediction throughout. - Handle null values/tokens when storing + 2007-10-07 Ulrich Drepper - Detect association of values with impossible paths + [BZ #5103] + * lib/glob.c (glob): Recognize patterns starting \/. -2008-01-17 David Lutterkort + 2007-02-14 Jakub Jelinek - Make augtest set AUGEAS_ROOT and AUGEAS_SPECLIB before running augtool. - augtest now copies test files into a separate subdirectory and points - augtool to that as its root. It also points augtool to ../spec for the spec - files. + [BZ #3996] + * lib/glob.c (attribute_hidden): Define if not defined. + (glob): Unescape dirname, filename or username when needed and not + GLOB_NOESCAPE. Handle \/ correctly. Handle GLOB_MARK if filename + is NULL. Handle unescaped [ in pattern without closing ]. + Don't pass GLOB_CHECK down to recursive glob for directories. + (__glob_pattern_type): New function. + (__glob_pattern_p): Implement using __glob_pattern_type. + (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta + characters and backslashes if not GLOB_NOESCAPE or unterminated [. + Remove unreachable code. + + 2006-09-30 Ulrich Drepper + + * lib/glob.c (glob_in_dir): Add some comments and asserts to + explain why there are no leaks. + + 2006-09-25 Jakub Jelinek + + [BZ #3253] + * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a + time, rather allocate increasingly bigger arrays of pointers, if + possible with alloca, if too large with malloc. + +2007-10-16 Paul Eggert + + Check for 64-bit int errors in HP-UX 10.20 preprocessor. + Problem reported by H.Merijn Brand in + . + * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too. + * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise. + +2007-10-15 Bruno Haible + + * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define + with explicit rpl_ prefix. + * lib/fopen.c (fopen): Likewise. + * lib/freopen.c (freopen): Likewise. + * lib/iconv.c (iconv): Likewise. + * lib/iconv_close.c (iconv_close): Likewise. + +2007-10-15 Ralf Wildenhues + + * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name. + +2007-10-15 Bruno Haible + + * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use + instead of since we only need NULL. + Reported by Ben Pfaff . + +2007-10-15 Bruno Haible + + * doc/gnulib-tool.texi (Initial import): Swap order of -I directives. + Replace paragraph talking about LIBOBJS. + Reported by Colin Watson . + +2007-10-15 Bruno Haible + + * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include + before using NULL. + +2007-10-15 Simon Josefsson + + * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers. + Reported by Albert Chin . + +2007-10-14 Bruno Haible + + * modules/iconv_open-utf-tests: New file. + * tests/test-iconv-utf.c: New file. + + Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE. + * modules/iconv_open-utf: New file. + * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros. + (iconv, iconv_close): New declarations. + * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to + be defined. + (iconv_open): Add special handling of conversion between UTF-8 and + UTF-{16,32}{BE,LE}. + * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11. + * lib/iconv_close.c: New file. + * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from + gl_FUNC_ICONV_OPEN. + (gl_FUNC_ICONV_OPEN): Use it. + (gl_FUNC_ICONV_OPEN_UTF): New macro. + * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV + and REPLACE_ICONV_UTF. + * modules/iconv_open (Depends-on): Add c-strcase. + (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF, + ICONV_CONST. + * doc/functions/iconv_open.texi: Mention the iconv_open-utf module. + +2007-10-13 Albert Chin + Bruno Haible + + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo + through a link check that includes . Needed for OSF/1 5.1. + +2007-10-13 Bruno Haible + + * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is + defined, use the ISO C99 inline semantics. + * lib/argp.h (ARGP_EI): Likewise. + +2007-10-13 Bruno Haible + + Handle 'inline' change in gcc 4.3.0. + * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts, + argp_fmtstream_write, argp_fmtstream_set_lmargin, + argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin, + argp_fmtstream_point): Disable 'extern' declaration if the function + definition is going to be provided inline. + (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline + semantics, not the ISO C99 inline semantics. + * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable + 'extern' declaration if the function definition is going to be provided + inline. + (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use + the GNU C inline semantics, not the ISO C99 inline semantics. With + GCC 4.2, avoid a warning. + +2007-10-13 Bruno Haible + + * lib/freading.h (freading): Enable the use of __freading for + glibc >= 2.7. + * lib/freading.c (freading): Likewise. + +2007-10-12 Paul Eggert + + * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic + "warning: C99 inline functions are not supported; using GNU89". + +2007-10-12 Bruno Haible + + * lib/ceil.c (FUNC): Avoid rounding errors for values near a power + of 2. + * tests/test-ceilf2.c: New file. + * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test. + + * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c. + * modules/ceilf-tests: Update. + +2007-10-12 Bruno Haible + + * lib/floor.c (FUNC): Avoid rounding errors for values near a power + of 2. + * tests/test-floorf2.c: New file. + * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test. + + * tests/test-floorf1.c: Renamed from tests/test-floorf.c. + * modules/floorf-tests: Update. + +2007-10-12 Bruno Haible + + * tests/test-trunc2.c: New file. + * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test. + + * tests/test-trunc1.c: Renamed from tests/test-trunc.c. + * modules/trunc-tests: Update. + +2007-10-12 Bruno Haible + + * lib/trunc.c (FUNC): Avoid rounding errors for values near a power + of 2. + * tests/test-truncf2.c: New file. + * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test. + + * tests/test-truncf1.c: Renamed from tests/test-truncf.c. + * modules/truncf-tests: Update. + +2007-10-11 Eric Blake + + Don't claim strerror is broken on Interix. + * doc/functions/strerror.texi (strerror): Known broken systems are + now Solaris 8, and not Interix. + * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out + Interix on cross-compile. + Reported by Martin Koeppe in + http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html. + +2007-10-11 Bruno Haible + + * modules/i-ring-tests: New file. + * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT + instead of assert. + +2007-10-11 Bruno Haible + + * modules/filenamecat-tests: New file. + * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c. + * lib/filenamecat.c: Remove test code. + +2007-10-11 Paul Eggert + + Simplify and modernize strerror substitute, partly to fix Solaris 8 bug. + + * lib/strerror.c: Include always, to test interface, + and to remove the need for the dummy. + Include intprops.h to compute width instead of doing it ourselves + and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8. + (strerror): Define it to return NULL if there's no system strerror. + (rpl_strerror): Use INT_STRLEN_BOUND to compute bound. + Omit !HAVE_STRERROR code. We don't need to worry about supporting + ancient pre-strerror Unix systems well any more. Saying "unknown + system error" is enough. + * lib/string.in.h (strerror): Simplify the ifdef to reflect the + simpler strerror.c implementation. + * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR): + Simplify the tests to reflect the simpler strerror implementation. + * modules/strerror (Depends-on): Add intprops. + +2007-10-09 Eric Blake + + Silence test-fpending. + * modules/fpending-tests (Files): Add wrapper script. + * tests/test-fpending.sh: New file. + +2007-10-09 Bruno Haible + + * MODULES.html.sh (func_module): Don't create a hyperlink for + function names like 'printf_frexp'. + (Misc): Add crc, memxor. + (Characteristics of floating types): New section. + (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm, + isnanf-nolibm, signbit, trunc, truncf, truncl. + (Enhancements for ISO C 99 functions): New subsection Input/output. + (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix, + fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open, + locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep. + (Compatibility checks for POSIX:2001 functions): Add clock-time. + (Enhancements for POSIX:2001 functions): Add chdir-long. + (File system functions): Add areadlink, chdir-safer, read-file. + Remove cycle-check. + (File system as inode set): New section. + (Date and time): Add gethrxtime. + (Multithreading): Add openmp. + (Internationalization functions): Add localename. + (Unicode string functions): Add unistr/u*-mbsnlen. + (Support for maintaining and releasing projects): Add git-version-gen. + (Lone files): Remove directories. + +2007-10-08 Ben Pfaff + + * lib/xmalloca.h: Fix typo in comment. + +2007-10-08 Paul Eggert + + * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior + when avoiding problems with integer overflow. Use a portable test + instead. + +2007-10-08 Simon Josefsson + + * modules/dummy (License): Change to LGPLv2+. + * modules/float (License): Likewise + * modules/realloc (License): Likewise + * modules/stdlib (License): Likewise + +2007-10-07 Bruno Haible + + * trunc.c (TWO_MANT_DIG): Change type to DOUBLE. + * floor.c (TWO_MANT_DIG): Likewise. + * ceil.c (TWO_MANT_DIG): Likewise. + Reported by Ben Pfaff. + +2007-10-07 Bruno Haible + + Avoid gcc warnings "declaration of 'exp' shadows a global declaration". + * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'. + * lib/frexp.c (FUNC): Likewise. + * lib/printf-frexp.h (printf_frexp): Likewise. + * lib/printf-frexpl.h (printf_frexpl): Likewise. + * lib/printf-frexp.c (FUNC): Likewise. + Suggested by Jim Meyering. + +2007-10-07 Jim Meyering + + Make xnanosleep's integer overflow test more robust. + * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile", + so that gcc-4.3.0 doesn't optimize away this test for overflow. + +2007-10-07 Bruno Haible + + * NEWS: Mention the license change. + + * doc/gnulib-intro.texi (Copyright): Update the meaning of the license + abbreviations in the modules files. + + Change copyright notice from GPLv2+ to GPLv3+. + * README: Change copyright notice. + * MODULES.html.sh: Likewise. + * build-aux/bootstrap.conf: Likewise. + * build-aux/config.libpath: Likewise. + * build-aux/csharpcomp.sh.in: Likewise. + * build-aux/csharpexec.sh.in: Likewise. + * build-aux/install-reloc: Likewise. + * build-aux/javacomp.sh.in: Likewise. + * build-aux/javaexec.sh.in: Likewise. + * build-aux/ldd.sh.in: Likewise. + * build-aux/reloc-ldflags: Likewise. + * build-aux/relocatable.sh.in: Likewise. + * build-aux/x-to-1.in: Likewise. + * check-module: Likewise. + * config/srclistvars.sh: Likewise. + * gnulib-tool: Likewise. + * lib/acl-internal.h: Likewise. + * lib/acl.c: Likewise. + * lib/acl.h: Likewise. + * lib/acl_entries.c: Likewise. + * lib/areadlink-with-size.c: Likewise. + * lib/areadlink.c: Likewise. + * lib/areadlink.h: Likewise. + * lib/argmatch.c: Likewise. + * lib/argmatch.h: Likewise. + * lib/argp-ba.c: Likewise. + * lib/argp-eexst.c: Likewise. + * lib/argp-fmtstream.c: Likewise. + * lib/argp-fmtstream.h: Likewise. + * lib/argp-fs-xinl.c: Likewise. + * lib/argp-help.c: Likewise. + * lib/argp-namefrob.h: Likewise. + * lib/argp-parse.c: Likewise. + * lib/argp-pin.c: Likewise. + * lib/argp-pv.c: Likewise. + * lib/argp-pvh.c: Likewise. + * lib/argp-xinl.c: Likewise. + * lib/argp.h: Likewise. + * lib/at-func.c: Likewise. + * lib/atanl.c: Likewise. + * lib/backupfile.c: Likewise. + * lib/backupfile.h: Likewise. + * lib/basename.c: Likewise. + * lib/binary-io.h: Likewise. + * lib/byteswap.in.h: Likewise. + * lib/c-stack.c: Likewise. + * lib/c-stack.h: Likewise. + * lib/c-strcasestr.c: Likewise. + * lib/c-strcasestr.h: Likewise. + * lib/c-strstr.c: Likewise. + * lib/c-strstr.h: Likewise. + * lib/c-strtod.c: Likewise. + * lib/calloc.c: Likewise. + * lib/canon-host.c: Likewise. + * lib/canon-host.h: Likewise. + * lib/canonicalize-lgpl.c: Likewise. + * lib/canonicalize.c: Likewise. + * lib/canonicalize.h: Likewise. + * lib/ceil.c: Likewise. + * lib/ceilf.c: Likewise. + * lib/ceill.c: Likewise. + * lib/chdir-long.c: Likewise. + * lib/chdir-long.h: Likewise. + * lib/chdir-safer.c: Likewise. + * lib/chdir-safer.h: Likewise. + * lib/chown.c: Likewise. + * lib/classpath.c: Likewise. + * lib/classpath.h: Likewise. + * lib/clean-temp.c: Likewise. + * lib/clean-temp.h: Likewise. + * lib/cloexec.c: Likewise. + * lib/close-stream.c: Likewise. + * lib/closein.c: Likewise. + * lib/closein.h: Likewise. + * lib/closeout.c: Likewise. + * lib/closeout.h: Likewise. + * lib/concat-filename.c: Likewise. + * lib/copy-file.c: Likewise. + * lib/copy-file.h: Likewise. + * lib/count-one-bits.h: Likewise. + * lib/crc.c: Likewise. + * lib/crc.h: Likewise. + * lib/creat-safer.c: Likewise. + * lib/csharpcomp.c: Likewise. + * lib/csharpcomp.h: Likewise. + * lib/csharpexec.c: Likewise. + * lib/csharpexec.h: Likewise. + * lib/cycle-check.c: Likewise. + * lib/cycle-check.h: Likewise. + * lib/diacrit.c: Likewise. + * lib/diacrit.h: Likewise. + * lib/diffseq.h: Likewise. + * lib/dirchownmod.c: Likewise. + * lib/dirent.in.h: Likewise. + * lib/dirfd.c: Likewise. + * lib/dirfd.h: Likewise. + * lib/dirname.c: Likewise. + * lib/dirname.h: Likewise. + * lib/dummy.c: Likewise. + * lib/dup-safer.c: Likewise. + * lib/dup2.c: Likewise. + * lib/eealloc.h: Likewise. + * lib/error.c: Likewise. + * lib/error.h: Likewise. + * lib/euidaccess.c: Likewise. + * lib/exclude.c: Likewise. + * lib/exclude.h: Likewise. + * lib/execute.c: Likewise. + * lib/execute.h: Likewise. + * lib/exitfail.c: Likewise. + * lib/exitfail.h: Likewise. + * lib/expl.c: Likewise. + * lib/fatal-signal.c: Likewise. + * lib/fatal-signal.h: Likewise. + * lib/fbufmode.c: Likewise. + * lib/fbufmode.h: Likewise. + * lib/fchdir.c: Likewise. + * lib/fchmodat.c: Likewise. + * lib/fchownat.c: Likewise. + * lib/fcntl--.h: Likewise. + * lib/fcntl-safer.h: Likewise. + * lib/fcntl.in.h: Likewise. + * lib/fd-safer.c: Likewise. + * lib/fflush.c: Likewise. + * lib/file-has-acl.c: Likewise. + * lib/file-set.c: Likewise. + * lib/file-type.c: Likewise. + * lib/file-type.h: Likewise. + * lib/fileblocks.c: Likewise. + * lib/filemode.c: Likewise. + * lib/filemode.h: Likewise. + * lib/filename.h: Likewise. + * lib/filenamecat.c: Likewise. + * lib/filenamecat.h: Likewise. + * lib/findprog.c: Likewise. + * lib/findprog.h: Likewise. + * lib/float.in.h: Likewise. + * lib/floor.c: Likewise. + * lib/floorf.c: Likewise. + * lib/floorl.c: Likewise. + * lib/fopen-safer.c: Likewise. + * lib/fopen.c: Likewise. + * lib/fpending.c: Likewise. + * lib/fpending.h: Likewise. + * lib/fprintf.c: Likewise. + * lib/fprintftime.h: Likewise. + * lib/fpucw.h: Likewise. + * lib/fpurge.c: Likewise. + * lib/fpurge.h: Likewise. + * lib/freadable.c: Likewise. + * lib/freadable.h: Likewise. + * lib/freadahead.c: Likewise. + * lib/freadahead.h: Likewise. + * lib/freading.c: Likewise. + * lib/freading.h: Likewise. + * lib/free.c: Likewise. + * lib/freopen.c: Likewise. + * lib/frexp.c: Likewise. + * lib/frexpl.c: Likewise. + * lib/fseek.c: Likewise. + * lib/fseterr.c: Likewise. + * lib/fseterr.h: Likewise. + * lib/fstatat.c: Likewise. + * lib/fstrcmp.c: Likewise. + * lib/fstrcmp.h: Likewise. + * lib/fsusage.c: Likewise. + * lib/fsusage.h: Likewise. + * lib/ftell.c: Likewise. + * lib/ftello.c: Likewise. + * lib/fts-cycle.c: Likewise. + * lib/fts.c: Likewise. + * lib/fts_.h: Likewise. + * lib/full-read.c: Likewise. + * lib/full-read.h: Likewise. + * lib/full-write.c: Likewise. + * lib/full-write.h: Likewise. + * lib/fwritable.c: Likewise. + * lib/fwritable.h: Likewise. + * lib/fwriteerror.c: Likewise. + * lib/fwriteerror.h: Likewise. + * lib/fwriting.c: Likewise. + * lib/fwriting.h: Likewise. + * lib/gcd.c: Likewise. + * lib/gcd.h: Likewise. + * lib/getcwd.c: Likewise. + * lib/getdate.h: Likewise. + * lib/getdate.y: Likewise. + * lib/getdomainname.c: Likewise. + * lib/getdomainname.h: Likewise. + * lib/getgroups.c: Likewise. + * lib/gethostname.c: Likewise. + * lib/gethrxtime.c: Likewise. + * lib/gethrxtime.h: Likewise. + * lib/getloadavg.c: Likewise. + * lib/getndelim2.c: Likewise. + * lib/getndelim2.h: Likewise. + * lib/getnline.c: Likewise. + * lib/getnline.h: Likewise. + * lib/getopt.c: Likewise. + * lib/getopt.in.h: Likewise. + * lib/getopt1.c: Likewise. + * lib/getopt_int.h: Likewise. + * lib/getpagesize.h: Likewise. + * lib/getsubopt.c: Likewise. + * lib/gettime.c: Likewise. + * lib/getugroups.c: Likewise. + * lib/getugroups.h: Likewise. + * lib/getusershell.c: Likewise. + * lib/gl_anyavltree_list1.h: Likewise. + * lib/gl_anyavltree_list2.h: Likewise. + * lib/gl_anyhash_list1.h: Likewise. + * lib/gl_anyhash_list2.h: Likewise. + * lib/gl_anylinked_list1.h: Likewise. + * lib/gl_anylinked_list2.h: Likewise. + * lib/gl_anyrbtree_list1.h: Likewise. + * lib/gl_anyrbtree_list2.h: Likewise. + * lib/gl_anytree_list1.h: Likewise. + * lib/gl_anytree_list2.h: Likewise. + * lib/gl_anytree_oset.h: Likewise. + * lib/gl_anytreehash_list1.h: Likewise. + * lib/gl_anytreehash_list2.h: Likewise. + * lib/gl_array_list.c: Likewise. + * lib/gl_array_list.h: Likewise. + * lib/gl_array_oset.c: Likewise. + * lib/gl_array_oset.h: Likewise. + * lib/gl_avltree_list.c: Likewise. + * lib/gl_avltree_list.h: Likewise. + * lib/gl_avltree_oset.c: Likewise. + * lib/gl_avltree_oset.h: Likewise. + * lib/gl_avltreehash_list.c: Likewise. + * lib/gl_avltreehash_list.h: Likewise. + * lib/gl_carray_list.c: Likewise. + * lib/gl_carray_list.h: Likewise. + * lib/gl_linked_list.c: Likewise. + * lib/gl_linked_list.h: Likewise. + * lib/gl_linkedhash_list.c: Likewise. + * lib/gl_linkedhash_list.h: Likewise. + * lib/gl_list.c: Likewise. + * lib/gl_list.h: Likewise. + * lib/gl_oset.c: Likewise. + * lib/gl_oset.h: Likewise. + * lib/gl_rbtree_list.c: Likewise. + * lib/gl_rbtree_list.h: Likewise. + * lib/gl_rbtree_oset.c: Likewise. + * lib/gl_rbtree_oset.h: Likewise. + * lib/gl_rbtreehash_list.c: Likewise. + * lib/gl_rbtreehash_list.h: Likewise. + * lib/gl_sublist.c: Likewise. + * lib/gl_sublist.h: Likewise. + * lib/group-member.c: Likewise. + * lib/group-member.h: Likewise. + * lib/hard-locale.c: Likewise. + * lib/hard-locale.h: Likewise. + * lib/hash-pjw.c: Likewise. + * lib/hash-pjw.h: Likewise. + * lib/hash-triple.c: Likewise. + * lib/hash.c: Likewise. + * lib/hash.h: Likewise. + * lib/human.c: Likewise. + * lib/human.h: Likewise. + * lib/i-ring.c: Likewise. + * lib/i-ring.h: Likewise. + * lib/idcache.c: Likewise. + * lib/imaxabs.c: Likewise. + * lib/imaxdiv.c: Likewise. + * lib/inet_pton.c: Likewise. + * lib/inet_pton.h: Likewise. + * lib/intprops.h: Likewise. + * lib/inttostr.c: Likewise. + * lib/inttostr.h: Likewise. + * lib/inttypes.in.h: Likewise. + * lib/isapipe.c: Likewise. + * lib/isdir.c: Likewise. + * lib/isnan.c: Likewise. + * lib/isnan.h: Likewise. + * lib/isnanf.c: Likewise. + * lib/isnanf.h: Likewise. + * lib/isnanl-nolibm.h: Likewise. + * lib/isnanl.c: Likewise. + * lib/isnanl.h: Likewise. + * lib/javacomp.c: Likewise. + * lib/javacomp.h: Likewise. + * lib/javaexec.c: Likewise. + * lib/javaexec.h: Likewise. + * lib/javaversion.c: Likewise. + * lib/javaversion.h: Likewise. + * lib/javaversion.java: Likewise. + * lib/lbrkprop.h: Likewise. + * lib/lchmod.h: Likewise. + * lib/lchown.c: Likewise. + * lib/ldexpl.c: Likewise. + * lib/linebreak.c: Likewise. + * lib/linebreak.h: Likewise. + * lib/linebuffer.c: Likewise. + * lib/linebuffer.h: Likewise. + * lib/locale.in.h: Likewise. + * lib/logl.c: Likewise. + * lib/long-options.c: Likewise. + * lib/long-options.h: Likewise. + * lib/lstat.c: Likewise. + * lib/lstat.h: Likewise. + * lib/math.in.h: Likewise. + * lib/mbchar.c: Likewise. + * lib/mbchar.h: Likewise. + * lib/mbfile.h: Likewise. + * lib/mbiter.h: Likewise. + * lib/mbscasecmp.c: Likewise. + * lib/mbscasestr.c: Likewise. + * lib/mbschr.c: Likewise. + * lib/mbscspn.c: Likewise. + * lib/mbslen.c: Likewise. + * lib/mbsncasecmp.c: Likewise. + * lib/mbsnlen.c: Likewise. + * lib/mbspbrk.c: Likewise. + * lib/mbspcasecmp.c: Likewise. + * lib/mbsrchr.c: Likewise. + * lib/mbssep.c: Likewise. + * lib/mbsspn.c: Likewise. + * lib/mbsstr.c: Likewise. + * lib/mbstok_r.c: Likewise. + * lib/mbswidth.c: Likewise. + * lib/mbswidth.h: Likewise. + * lib/mbuiter.h: Likewise. + * lib/memcasecmp.c: Likewise. + * lib/memcasecmp.h: Likewise. + * lib/memchr.c: Likewise. + * lib/memcmp.c: Likewise. + * lib/memcoll.c: Likewise. + * lib/memcoll.h: Likewise. + * lib/memcpy.c: Likewise. + * lib/memrchr.c: Likewise. + * lib/mkancesdirs.c: Likewise. + * lib/mkdir-p.c: Likewise. + * lib/mkdir-p.h: Likewise. + * lib/mkdir.c: Likewise. + * lib/mkdirat.c: Likewise. + * lib/mkdtemp.c: Likewise. + * lib/mkstemp-safer.c: Likewise. + * lib/mkstemp.c: Likewise. + * lib/modechange.c: Likewise. + * lib/modechange.h: Likewise. + * lib/mountlist.c: Likewise. + * lib/mountlist.h: Likewise. + * lib/mpsort.c: Likewise. + * lib/nanosleep.c: Likewise. + * lib/obstack.c: Likewise. + * lib/obstack.h: Likewise. + * lib/open-safer.c: Likewise. + * lib/open.c: Likewise. + * lib/openat-die.c: Likewise. + * lib/openat-priv.h: Likewise. + * lib/openat-proc.c: Likewise. + * lib/openat.c: Likewise. + * lib/openat.h: Likewise. + * lib/pagealign_alloc.c: Likewise. + * lib/pagealign_alloc.h: Likewise. + * lib/physmem.c: Likewise. + * lib/physmem.h: Likewise. + * lib/pipe-safer.c: Likewise. + * lib/pipe.c: Likewise. + * lib/pipe.h: Likewise. + * lib/posixtm.c: Likewise. + * lib/posixtm.h: Likewise. + * lib/posixver.c: Likewise. + * lib/printf-frexp.c: Likewise. + * lib/printf-frexp.h: Likewise. + * lib/printf-frexpl.c: Likewise. + * lib/printf-frexpl.h: Likewise. + * lib/printf.c: Likewise. + * lib/progname.c: Likewise. + * lib/progname.h: Likewise. + * lib/progreloc.c: Likewise. + * lib/putenv.c: Likewise. + * lib/quote.c: Likewise. + * lib/quote.h: Likewise. + * lib/quotearg.c: Likewise. + * lib/quotearg.h: Likewise. + * lib/raise.c: Likewise. + * lib/readline.c: Likewise. + * lib/readline.h: Likewise. + * lib/readlink.c: Likewise. + * lib/readtokens.c: Likewise. + * lib/readtokens.h: Likewise. + * lib/readtokens0.c: Likewise. + * lib/readtokens0.h: Likewise. + * lib/readutmp.c: Likewise. + * lib/readutmp.h: Likewise. + * lib/realloc.c: Likewise. + * lib/relocwrapper.c: Likewise. + * lib/rename-dest-slash.c: Likewise. + * lib/rename.c: Likewise. + * lib/rmdir.c: Likewise. + * lib/rpmatch.c: Likewise. + * lib/safe-read.c: Likewise. + * lib/safe-read.h: Likewise. + * lib/safe-write.c: Likewise. + * lib/safe-write.h: Likewise. + * lib/same-inode.h: Likewise. + * lib/same.c: Likewise. + * lib/same.h: Likewise. + * lib/save-cwd.c: Likewise. + * lib/save-cwd.h: Likewise. + * lib/savedir.c: Likewise. + * lib/savedir.h: Likewise. + * lib/savewd.c: Likewise. + * lib/savewd.h: Likewise. + * lib/search.in.h: Likewise. + * lib/setenv.c: Likewise. + * lib/setenv.h: Likewise. + * lib/settime.c: Likewise. + * lib/sh-quote.c: Likewise. + * lib/sh-quote.h: Likewise. + * lib/sig2str.c: Likewise. + * lib/sig2str.h: Likewise. + * lib/signal.in.h: Likewise. + * lib/signbitd.c: Likewise. + * lib/signbitf.c: Likewise. + * lib/signbitl.c: Likewise. + * lib/sigprocmask.c: Likewise. + * lib/sincosl.c: Likewise. + * lib/sleep.c: Likewise. + * lib/sprintf.c: Likewise. + * lib/sqrtl.c: Likewise. + * lib/stat-time.h: Likewise. + * lib/stdio--.h: Likewise. + * lib/stdio-safer.h: Likewise. + * lib/stdlib--.h: Likewise. + * lib/stdlib-safer.h: Likewise. + * lib/stdlib.in.h: Likewise. + * lib/stpcpy.c: Likewise. + * lib/stpncpy.c: Likewise. + * lib/strchrnul.c: Likewise. + * lib/strcspn.c: Likewise. + * lib/strerror.c: Likewise. + * lib/strftime.c: Likewise. + * lib/strftime.h: Likewise. + * lib/striconveh.c: Likewise. + * lib/striconveh.h: Likewise. + * lib/striconveha.c: Likewise. + * lib/striconveha.h: Likewise. + * lib/stripslash.c: Likewise. + * lib/strnlen1.c: Likewise. + * lib/strnlen1.h: Likewise. + * lib/strtod.c: Likewise. + * lib/strtoimax.c: Likewise. + * lib/strtok_r.c: Likewise. + * lib/strtol.c: Likewise. + * lib/strtoll.c: Likewise. + * lib/strtoul.c: Likewise. + * lib/strtoull.c: Likewise. + * lib/sysexits.in.h: Likewise. + * lib/tempname.c: Likewise. + * lib/tempname.h: Likewise. + * lib/timespec.h: Likewise. + * lib/tls.c: Likewise. + * lib/tls.h: Likewise. + * lib/tmpdir.c: Likewise. + * lib/tmpdir.h: Likewise. + * lib/tmpfile-safer.c: Likewise. + * lib/tmpfile.c: Likewise. + * lib/trigl.c: Likewise. + * lib/trigl.h: Likewise. + * lib/trim.c: Likewise. + * lib/trim.h: Likewise. + * lib/trunc.c: Likewise. + * lib/truncf.c: Likewise. + * lib/truncl.c: Likewise. + * lib/tsearch.c: Likewise. + * lib/unicodeio.c: Likewise. + * lib/unicodeio.h: Likewise. + * lib/unistd--.h: Likewise. + * lib/unistd-safer.h: Likewise. + * lib/unistdio/ulc-fprintf.c: Likewise. + * lib/unistdio/ulc-vfprintf.c: Likewise. + * lib/unlinkdir.c: Likewise. + * lib/unlinkdir.h: Likewise. + * lib/unlocked-io.h: Likewise. + * lib/unsetenv.c: Likewise. + * lib/userspec.c: Likewise. + * lib/utime.c: Likewise. + * lib/utimecmp.c: Likewise. + * lib/utimecmp.h: Likewise. + * lib/utimens.c: Likewise. + * lib/verify.h: Likewise. + * lib/verror.c: Likewise. + * lib/verror.h: Likewise. + * lib/version-etc-fsf.c: Likewise. + * lib/version-etc.c: Likewise. + * lib/version-etc.h: Likewise. + * lib/vfprintf.c: Likewise. + * lib/vprintf.c: Likewise. + * lib/vsprintf.c: Likewise. + * lib/w32spawn.h: Likewise. + * lib/wait-process.c: Likewise. + * lib/wait-process.h: Likewise. + * lib/wcwidth.c: Likewise. + * lib/write-any-file.c: Likewise. + * lib/xalloc-die.c: Likewise. + * lib/xalloc.h: Likewise. + * lib/xasprintf.c: Likewise. + * lib/xgetcwd.c: Likewise. + * lib/xgetcwd.h: Likewise. + * lib/xgetdomainname.c: Likewise. + * lib/xgetdomainname.h: Likewise. + * lib/xgethostname.c: Likewise. + * lib/xmalloc.c: Likewise. + * lib/xmalloca.c: Likewise. + * lib/xmalloca.h: Likewise. + * lib/xmemcoll.c: Likewise. + * lib/xnanosleep.c: Likewise. + * lib/xreadlink.c: Likewise. + * lib/xreadlink.h: Likewise. + * lib/xsetenv.c: Likewise. + * lib/xsetenv.h: Likewise. + * lib/xstriconv.c: Likewise. + * lib/xstriconv.h: Likewise. + * lib/xstrndup.c: Likewise. + * lib/xstrndup.h: Likewise. + * lib/xstrtod.c: Likewise. + * lib/xstrtod.h: Likewise. + * lib/xstrtol-error.c: Likewise. + * lib/xstrtol.c: Likewise. + * lib/xstrtol.h: Likewise. + * lib/xtime.h: Likewise. + * lib/xvasprintf.c: Likewise. + * lib/xvasprintf.h: Likewise. + * lib/yesno.c: Likewise. + * lib/yesno.h: Likewise. + * posix-modules: Likewise. + * tests/test-alloca-opt.c: Likewise. + * tests/test-arcfour.c: Likewise. + * tests/test-arctwo.c: Likewise. + * tests/test-argmatch.c: Likewise. + * tests/test-argp-2.sh: Likewise. + * tests/test-argp.c: Likewise. + * tests/test-arpa_inet.c: Likewise. + * tests/test-array_list.c: Likewise. + * tests/test-array_oset.c: Likewise. + * tests/test-atexit.c: Likewise. + * tests/test-avltree_list.c: Likewise. + * tests/test-avltree_oset.c: Likewise. + * tests/test-avltreehash_list.c: Likewise. + * tests/test-base64.c: Likewise. + * tests/test-binary-io.c: Likewise. + * tests/test-byteswap.c: Likewise. + * tests/test-c-ctype.c: Likewise. + * tests/test-c-strcasecmp.c: Likewise. + * tests/test-c-strcasestr.c: Likewise. + * tests/test-c-strncasecmp.c: Likewise. + * tests/test-c-strstr.c: Likewise. + * tests/test-canonicalize-lgpl.c: Likewise. + * tests/test-canonicalize.c: Likewise. + * tests/test-carray_list.c: Likewise. + * tests/test-ceilf.c: Likewise. + * tests/test-ceill.c: Likewise. + * tests/test-count-one-bits.c: Likewise. + * tests/test-crc.c: Likewise. + * tests/test-dirname.c: Likewise. + * tests/test-fbufmode.c: Likewise. + * tests/test-fcntl.c: Likewise. + * tests/test-fflush.c: Likewise. + * tests/test-floorf.c: Likewise. + * tests/test-floorl.c: Likewise. + * tests/test-fopen.c: Likewise. + * tests/test-fprintf-posix.c: Likewise. + * tests/test-fprintf-posix.h: Likewise. + * tests/test-fpurge.c: Likewise. + * tests/test-freadable.c: Likewise. + * tests/test-freadahead.c: Likewise. + * tests/test-freading.c: Likewise. + * tests/test-freopen.c: Likewise. + * tests/test-frexp.c: Likewise. + * tests/test-frexpl.c: Likewise. + * tests/test-fseek.c: Likewise. + * tests/test-fseeko.c: Likewise. + * tests/test-fseterr.c: Likewise. + * tests/test-fstrcmp.c: Likewise. + * tests/test-ftell.c: Likewise. + * tests/test-ftello.c: Likewise. + * tests/test-fwritable.c: Likewise. + * tests/test-fwriting.c: Likewise. + * tests/test-getaddrinfo.c: Likewise. + * tests/test-getpass.c: Likewise. + * tests/test-gettimeofday.c: Likewise. + * tests/test-hmac-md5.c: Likewise. + * tests/test-hmac-sha1.c: Likewise. + * tests/test-iconv.c: Likewise. + * tests/test-iconvme.c: Likewise. + * tests/test-inttypes.c: Likewise. + * tests/test-isnan.c: Likewise. + * tests/test-isnanf.c: Likewise. + * tests/test-isnanl-nolibm.c: Likewise. + * tests/test-isnanl.c: Likewise. + * tests/test-isnanl.h: Likewise. + * tests/test-ldexpl.c: Likewise. + * tests/test-linked_list.c: Likewise. + * tests/test-linkedhash_list.c: Likewise. + * tests/test-locale.c: Likewise. + * tests/test-localename.c: Likewise. + * tests/test-lock.c: Likewise. + * tests/test-lseek.c: Likewise. + * tests/test-malloca.c: Likewise. + * tests/test-math.c: Likewise. + * tests/test-mbscasecmp.c: Likewise. + * tests/test-mbscasestr1.c: Likewise. + * tests/test-mbscasestr2.c: Likewise. + * tests/test-mbscasestr3.c: Likewise. + * tests/test-mbscasestr4.c: Likewise. + * tests/test-mbschr.c: Likewise. + * tests/test-mbscspn.c: Likewise. + * tests/test-mbsncasecmp.c: Likewise. + * tests/test-mbspbrk.c: Likewise. + * tests/test-mbspcasecmp.c: Likewise. + * tests/test-mbsrchr.c: Likewise. + * tests/test-mbsspn.c: Likewise. + * tests/test-mbsstr1.c: Likewise. + * tests/test-mbsstr2.c: Likewise. + * tests/test-mbsstr3.c: Likewise. + * tests/test-md5.c: Likewise. + * tests/test-memmem.c: Likewise. + * tests/test-netinet_in.c: Likewise. + * tests/test-open.c: Likewise. + * tests/test-printf-frexp.c: Likewise. + * tests/test-printf-frexpl.c: Likewise. + * tests/test-printf-posix.c: Likewise. + * tests/test-printf-posix.h: Likewise. + * tests/test-rbtree_list.c: Likewise. + * tests/test-rbtree_oset.c: Likewise. + * tests/test-rbtreehash_list.c: Likewise. + * tests/test-read-file.c: Likewise. + * tests/test-rijndael.c: Likewise. + * tests/test-search.c: Likewise. + * tests/test-signbit.c: Likewise. + * tests/test-sleep.c: Likewise. + * tests/test-snprintf-posix.c: Likewise. + * tests/test-snprintf-posix.h: Likewise. + * tests/test-snprintf.c: Likewise. + * tests/test-sprintf-posix.c: Likewise. + * tests/test-sprintf-posix.h: Likewise. + * tests/test-stat-time.c: Likewise. + * tests/test-stdbool.c: Likewise. + * tests/test-stdint.c: Likewise. + * tests/test-stdio.c: Likewise. + * tests/test-stdlib.c: Likewise. + * tests/test-stpncpy.c: Likewise. + * tests/test-strcasestr.c: Likewise. + * tests/test-striconv.c: Likewise. + * tests/test-striconveh.c: Likewise. + * tests/test-striconveha.c: Likewise. + * tests/test-string.c: Likewise. + * tests/test-sys_select.c: Likewise. + * tests/test-sys_socket.c: Likewise. + * tests/test-sys_stat.c: Likewise. + * tests/test-sys_time.c: Likewise. + * tests/test-sysexits.c: Likewise. + * tests/test-time.c: Likewise. + * tests/test-tls.c: Likewise. + * tests/test-trunc.c: Likewise. + * tests/test-truncf.c: Likewise. + * tests/test-truncl.c: Likewise. + * tests/test-unistd.c: Likewise. + * tests/test-vasnprintf-posix.c: Likewise. + * tests/test-vasnprintf-posix2.c: Likewise. + * tests/test-vasnprintf.c: Likewise. + * tests/test-vasprintf-posix.c: Likewise. + * tests/test-vasprintf.c: Likewise. + * tests/test-verify.c: Likewise. + * tests/test-vfprintf-posix.c: Likewise. + * tests/test-vprintf-posix.c: Likewise. + * tests/test-vsnprintf-posix.c: Likewise. + * tests/test-vsnprintf.c: Likewise. + * tests/test-vsprintf-posix.c: Likewise. + * tests/test-wchar.c: Likewise. + * tests/test-wctype.c: Likewise. + * tests/test-wcwidth.c: Likewise. + * tests/test-xstrtol.c: Likewise. + * tests/test-xvasprintf.c: Likewise. + * tests/uniconv/test-u16-conv-from-enc.c: Likewise. + * tests/uniconv/test-u16-conv-to-enc.c: Likewise. + * tests/uniconv/test-u16-strconv-from-enc.c: Likewise. + * tests/uniconv/test-u16-strconv-to-enc.c: Likewise. + * tests/uniconv/test-u32-conv-from-enc.c: Likewise. + * tests/uniconv/test-u32-conv-to-enc.c: Likewise. + * tests/uniconv/test-u32-strconv-from-enc.c: Likewise. + * tests/uniconv/test-u32-strconv-to-enc.c: Likewise. + * tests/uniconv/test-u8-conv-from-enc.c: Likewise. + * tests/uniconv/test-u8-conv-to-enc.c: Likewise. + * tests/uniconv/test-u8-strconv-from-enc.c: Likewise. + * tests/uniconv/test-u8-strconv-to-enc.c: Likewise. + * tests/uniname/test-uninames.c: Likewise. + * tests/unistdio/test-u16-asnprintf1.c: Likewise. + * tests/unistdio/test-u16-asnprintf1.h: Likewise. + * tests/unistdio/test-u16-printf1.h: Likewise. + * tests/unistdio/test-u16-vasnprintf1.c: Likewise. + * tests/unistdio/test-u16-vasnprintf2.c: Likewise. + * tests/unistdio/test-u16-vasnprintf3.c: Likewise. + * tests/unistdio/test-u16-vasprintf1.c: Likewise. + * tests/unistdio/test-u16-vsnprintf1.c: Likewise. + * tests/unistdio/test-u16-vsprintf1.c: Likewise. + * tests/unistdio/test-u32-asnprintf1.c: Likewise. + * tests/unistdio/test-u32-asnprintf1.h: Likewise. + * tests/unistdio/test-u32-printf1.h: Likewise. + * tests/unistdio/test-u32-vasnprintf1.c: Likewise. + * tests/unistdio/test-u32-vasnprintf2.c: Likewise. + * tests/unistdio/test-u32-vasnprintf3.c: Likewise. + * tests/unistdio/test-u32-vasprintf1.c: Likewise. + * tests/unistdio/test-u32-vsnprintf1.c: Likewise. + * tests/unistdio/test-u32-vsprintf1.c: Likewise. + * tests/unistdio/test-u8-asnprintf1.c: Likewise. + * tests/unistdio/test-u8-asnprintf1.h: Likewise. + * tests/unistdio/test-u8-printf1.h: Likewise. + * tests/unistdio/test-u8-vasnprintf1.c: Likewise. + * tests/unistdio/test-u8-vasnprintf2.c: Likewise. + * tests/unistdio/test-u8-vasnprintf3.c: Likewise. + * tests/unistdio/test-u8-vasprintf1.c: Likewise. + * tests/unistdio/test-u8-vsnprintf1.c: Likewise. + * tests/unistdio/test-u8-vsprintf1.c: Likewise. + * tests/unistdio/test-ulc-asnprintf1.c: Likewise. + * tests/unistdio/test-ulc-asnprintf1.h: Likewise. + * tests/unistdio/test-ulc-printf1.h: Likewise. + * tests/unistdio/test-ulc-vasnprintf1.c: Likewise. + * tests/unistdio/test-ulc-vasnprintf2.c: Likewise. + * tests/unistdio/test-ulc-vasnprintf3.c: Likewise. + * tests/unistdio/test-ulc-vasprintf1.c: Likewise. + * tests/unistdio/test-ulc-vsnprintf1.c: Likewise. + * tests/unistdio/test-ulc-vsprintf1.c: Likewise. + * tests/uniwidth/test-u16-strwidth.c: Likewise. + * tests/uniwidth/test-u16-width.c: Likewise. + * tests/uniwidth/test-u32-strwidth.c: Likewise. + * tests/uniwidth/test-u32-width.c: Likewise. + * tests/uniwidth/test-u8-strwidth.c: Likewise. + * tests/uniwidth/test-u8-width.c: Likewise. + * tests/uniwidth/test-uc_width.c: Likewise. + * config/srclist-update: Likewise. + (fixlicense): Update to GPLv3+. + + Change copyright notice from LGPLv2.1+ to LGPLv3+. + * tests/test-tsearch.c: Change copyright notice. + + Change copyright notice from LGPLv2.0+ to LGPLv3+. + * lib/c-strcaseeq.h: Change copyright notice. + * lib/streq.h: Likewise. + * lib/uniconv.h: Likewise. + * lib/uniconv/u-conv-from-enc.h: Likewise. + * lib/uniconv/u-conv-to-enc.h: Likewise. + * lib/uniconv/u-strconv-from-enc.h: Likewise. + * lib/uniconv/u-strconv-to-enc.h: Likewise. + * lib/uniconv/u16-conv-from-enc.c: Likewise. + * lib/uniconv/u16-conv-to-enc.c: Likewise. + * lib/uniconv/u16-strconv-from-enc.c: Likewise. + * lib/uniconv/u16-strconv-from-locale.c: Likewise. + * lib/uniconv/u16-strconv-to-enc.c: Likewise. + * lib/uniconv/u16-strconv-to-locale.c: Likewise. + * lib/uniconv/u32-conv-from-enc.c: Likewise. + * lib/uniconv/u32-conv-to-enc.c: Likewise. + * lib/uniconv/u32-strconv-from-enc.c: Likewise. + * lib/uniconv/u32-strconv-from-locale.c: Likewise. + * lib/uniconv/u32-strconv-to-enc.c: Likewise. + * lib/uniconv/u32-strconv-to-locale.c: Likewise. + * lib/uniconv/u8-conv-from-enc.c: Likewise. + * lib/uniconv/u8-conv-to-enc.c: Likewise. + * lib/uniconv/u8-strconv-from-enc.c: Likewise. + * lib/uniconv/u8-strconv-from-locale.c: Likewise. + * lib/uniconv/u8-strconv-to-enc.c: Likewise. + * lib/uniconv/u8-strconv-to-locale.c: Likewise. + * lib/uniname.h: Likewise. + * lib/uniname/uniname.c: Likewise. + * lib/unistdio.h: Likewise. + * lib/unistdio/u-asnprintf.h: Likewise. + * lib/unistdio/u-asprintf.h: Likewise. + * lib/unistdio/u-printf-args.c: Likewise. + * lib/unistdio/u-printf-args.h: Likewise. + * lib/unistdio/u-printf-parse.h: Likewise. + * lib/unistdio/u-snprintf.h: Likewise. + * lib/unistdio/u-sprintf.h: Likewise. + * lib/unistdio/u-vasprintf.h: Likewise. + * lib/unistdio/u-vsnprintf.h: Likewise. + * lib/unistdio/u-vsprintf.h: Likewise. + * lib/unistdio/u16-asnprintf.c: Likewise. + * lib/unistdio/u16-asprintf.c: Likewise. + * lib/unistdio/u16-printf-parse.c: Likewise. + * lib/unistdio/u16-snprintf.c: Likewise. + * lib/unistdio/u16-sprintf.c: Likewise. + * lib/unistdio/u16-u16-asnprintf.c: Likewise. + * lib/unistdio/u16-u16-asprintf.c: Likewise. + * lib/unistdio/u16-u16-snprintf.c: Likewise. + * lib/unistdio/u16-u16-sprintf.c: Likewise. + * lib/unistdio/u16-u16-vasnprintf.c: Likewise. + * lib/unistdio/u16-u16-vasprintf.c: Likewise. + * lib/unistdio/u16-u16-vsnprintf.c: Likewise. + * lib/unistdio/u16-u16-vsprintf.c: Likewise. + * lib/unistdio/u16-vasnprintf.c: Likewise. + * lib/unistdio/u16-vasprintf.c: Likewise. + * lib/unistdio/u16-vsnprintf.c: Likewise. + * lib/unistdio/u16-vsprintf.c: Likewise. + * lib/unistdio/u32-asnprintf.c: Likewise. + * lib/unistdio/u32-asprintf.c: Likewise. + * lib/unistdio/u32-printf-parse.c: Likewise. + * lib/unistdio/u32-snprintf.c: Likewise. + * lib/unistdio/u32-sprintf.c: Likewise. + * lib/unistdio/u32-u32-asnprintf.c: Likewise. + * lib/unistdio/u32-u32-asprintf.c: Likewise. + * lib/unistdio/u32-u32-snprintf.c: Likewise. + * lib/unistdio/u32-u32-sprintf.c: Likewise. + * lib/unistdio/u32-u32-vasnprintf.c: Likewise. + * lib/unistdio/u32-u32-vasprintf.c: Likewise. + * lib/unistdio/u32-u32-vsnprintf.c: Likewise. + * lib/unistdio/u32-u32-vsprintf.c: Likewise. + * lib/unistdio/u32-vasnprintf.c: Likewise. + * lib/unistdio/u32-vasprintf.c: Likewise. + * lib/unistdio/u32-vsnprintf.c: Likewise. + * lib/unistdio/u32-vsprintf.c: Likewise. + * lib/unistdio/u8-asnprintf.c: Likewise. + * lib/unistdio/u8-asprintf.c: Likewise. + * lib/unistdio/u8-printf-parse.c: Likewise. + * lib/unistdio/u8-snprintf.c: Likewise. + * lib/unistdio/u8-sprintf.c: Likewise. + * lib/unistdio/u8-u8-asnprintf.c: Likewise. + * lib/unistdio/u8-u8-asprintf.c: Likewise. + * lib/unistdio/u8-u8-snprintf.c: Likewise. + * lib/unistdio/u8-u8-sprintf.c: Likewise. + * lib/unistdio/u8-u8-vasnprintf.c: Likewise. + * lib/unistdio/u8-u8-vasprintf.c: Likewise. + * lib/unistdio/u8-u8-vsnprintf.c: Likewise. + * lib/unistdio/u8-u8-vsprintf.c: Likewise. + * lib/unistdio/u8-vasnprintf.c: Likewise. + * lib/unistdio/u8-vasprintf.c: Likewise. + * lib/unistdio/u8-vsnprintf.c: Likewise. + * lib/unistdio/u8-vsprintf.c: Likewise. + * lib/unistdio/ulc-asnprintf.c: Likewise. + * lib/unistdio/ulc-asprintf.c: Likewise. + * lib/unistdio/ulc-printf-parse.c: Likewise. + * lib/unistdio/ulc-snprintf.c: Likewise. + * lib/unistdio/ulc-sprintf.c: Likewise. + * lib/unistdio/ulc-vasnprintf.c: Likewise. + * lib/unistdio/ulc-vasprintf.c: Likewise. + * lib/unistdio/ulc-vsnprintf.c: Likewise. + * lib/unistdio/ulc-vsprintf.c: Likewise. + * lib/unistr.h: Likewise. + * lib/unistr/u-cpy-alloc.h: Likewise. + * lib/unistr/u-cpy.h: Likewise. + * lib/unistr/u-endswith.h: Likewise. + * lib/unistr/u-move.h: Likewise. + * lib/unistr/u-set.h: Likewise. + * lib/unistr/u-startswith.h: Likewise. + * lib/unistr/u-stpcpy.h: Likewise. + * lib/unistr/u-stpncpy.h: Likewise. + * lib/unistr/u-strcat.h: Likewise. + * lib/unistr/u-strcpy.h: Likewise. + * lib/unistr/u-strcspn.h: Likewise. + * lib/unistr/u-strdup.h: Likewise. + * lib/unistr/u-strlen.h: Likewise. + * lib/unistr/u-strncat.h: Likewise. + * lib/unistr/u-strncpy.h: Likewise. + * lib/unistr/u-strnlen.h: Likewise. + * lib/unistr/u-strpbrk.h: Likewise. + * lib/unistr/u-strspn.h: Likewise. + * lib/unistr/u-strstr.h: Likewise. + * lib/unistr/u-strtok.h: Likewise. + * lib/unistr/u16-check.c: Likewise. + * lib/unistr/u16-chr.c: Likewise. + * lib/unistr/u16-cmp.c: Likewise. + * lib/unistr/u16-cpy-alloc.c: Likewise. + * lib/unistr/u16-cpy.c: Likewise. + * lib/unistr/u16-endswith.c: Likewise. + * lib/unistr/u16-mblen.c: Likewise. + * lib/unistr/u16-mbsnlen.c: Likewise. + * lib/unistr/u16-mbtouc-aux.c: Likewise. + * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise. + * lib/unistr/u16-mbtouc-unsafe.c: Likewise. + * lib/unistr/u16-mbtouc.c: Likewise. + * lib/unistr/u16-mbtoucr.c: Likewise. + * lib/unistr/u16-move.c: Likewise. + * lib/unistr/u16-next.c: Likewise. + * lib/unistr/u16-prev.c: Likewise. + * lib/unistr/u16-set.c: Likewise. + * lib/unistr/u16-startswith.c: Likewise. + * lib/unistr/u16-stpcpy.c: Likewise. + * lib/unistr/u16-stpncpy.c: Likewise. + * lib/unistr/u16-strcat.c: Likewise. + * lib/unistr/u16-strchr.c: Likewise. + * lib/unistr/u16-strcmp.c: Likewise. + * lib/unistr/u16-strcpy.c: Likewise. + * lib/unistr/u16-strcspn.c: Likewise. + * lib/unistr/u16-strdup.c: Likewise. + * lib/unistr/u16-strlen.c: Likewise. + * lib/unistr/u16-strmblen.c: Likewise. + * lib/unistr/u16-strmbtouc.c: Likewise. + * lib/unistr/u16-strncat.c: Likewise. + * lib/unistr/u16-strncmp.c: Likewise. + * lib/unistr/u16-strncpy.c: Likewise. + * lib/unistr/u16-strnlen.c: Likewise. + * lib/unistr/u16-strpbrk.c: Likewise. + * lib/unistr/u16-strrchr.c: Likewise. + * lib/unistr/u16-strspn.c: Likewise. + * lib/unistr/u16-strstr.c: Likewise. + * lib/unistr/u16-strtok.c: Likewise. + * lib/unistr/u16-to-u32.c: Likewise. + * lib/unistr/u16-to-u8.c: Likewise. + * lib/unistr/u16-uctomb-aux.c: Likewise. + * lib/unistr/u16-uctomb.c: Likewise. + * lib/unistr/u32-check.c: Likewise. + * lib/unistr/u32-chr.c: Likewise. + * lib/unistr/u32-cmp.c: Likewise. + * lib/unistr/u32-cpy-alloc.c: Likewise. + * lib/unistr/u32-cpy.c: Likewise. + * lib/unistr/u32-endswith.c: Likewise. + * lib/unistr/u32-mblen.c: Likewise. + * lib/unistr/u32-mbsnlen.c: Likewise. + * lib/unistr/u32-mbtouc-unsafe.c: Likewise. + * lib/unistr/u32-mbtouc.c: Likewise. + * lib/unistr/u32-mbtoucr.c: Likewise. + * lib/unistr/u32-move.c: Likewise. + * lib/unistr/u32-next.c: Likewise. + * lib/unistr/u32-prev.c: Likewise. + * lib/unistr/u32-set.c: Likewise. + * lib/unistr/u32-startswith.c: Likewise. + * lib/unistr/u32-stpcpy.c: Likewise. + * lib/unistr/u32-stpncpy.c: Likewise. + * lib/unistr/u32-strcat.c: Likewise. + * lib/unistr/u32-strchr.c: Likewise. + * lib/unistr/u32-strcmp.c: Likewise. + * lib/unistr/u32-strcpy.c: Likewise. + * lib/unistr/u32-strcspn.c: Likewise. + * lib/unistr/u32-strdup.c: Likewise. + * lib/unistr/u32-strlen.c: Likewise. + * lib/unistr/u32-strmblen.c: Likewise. + * lib/unistr/u32-strmbtouc.c: Likewise. + * lib/unistr/u32-strncat.c: Likewise. + * lib/unistr/u32-strncmp.c: Likewise. + * lib/unistr/u32-strncpy.c: Likewise. + * lib/unistr/u32-strnlen.c: Likewise. + * lib/unistr/u32-strpbrk.c: Likewise. + * lib/unistr/u32-strrchr.c: Likewise. + * lib/unistr/u32-strspn.c: Likewise. + * lib/unistr/u32-strstr.c: Likewise. + * lib/unistr/u32-strtok.c: Likewise. + * lib/unistr/u32-to-u16.c: Likewise. + * lib/unistr/u32-to-u8.c: Likewise. + * lib/unistr/u32-uctomb.c: Likewise. + * lib/unistr/u8-check.c: Likewise. + * lib/unistr/u8-chr.c: Likewise. + * lib/unistr/u8-cmp.c: Likewise. + * lib/unistr/u8-cpy-alloc.c: Likewise. + * lib/unistr/u8-cpy.c: Likewise. + * lib/unistr/u8-endswith.c: Likewise. + * lib/unistr/u8-mblen.c: Likewise. + * lib/unistr/u8-mbsnlen.c: Likewise. + * lib/unistr/u8-mbtouc-aux.c: Likewise. + * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise. + * lib/unistr/u8-mbtouc-unsafe.c: Likewise. + * lib/unistr/u8-mbtouc.c: Likewise. + * lib/unistr/u8-mbtoucr.c: Likewise. + * lib/unistr/u8-move.c: Likewise. + * lib/unistr/u8-next.c: Likewise. + * lib/unistr/u8-prev.c: Likewise. + * lib/unistr/u8-set.c: Likewise. + * lib/unistr/u8-startswith.c: Likewise. + * lib/unistr/u8-stpcpy.c: Likewise. + * lib/unistr/u8-stpncpy.c: Likewise. + * lib/unistr/u8-strcat.c: Likewise. + * lib/unistr/u8-strchr.c: Likewise. + * lib/unistr/u8-strcmp.c: Likewise. + * lib/unistr/u8-strcpy.c: Likewise. + * lib/unistr/u8-strcspn.c: Likewise. + * lib/unistr/u8-strdup.c: Likewise. + * lib/unistr/u8-strlen.c: Likewise. + * lib/unistr/u8-strmblen.c: Likewise. + * lib/unistr/u8-strmbtouc.c: Likewise. + * lib/unistr/u8-strncat.c: Likewise. + * lib/unistr/u8-strncmp.c: Likewise. + * lib/unistr/u8-strncpy.c: Likewise. + * lib/unistr/u8-strnlen.c: Likewise. + * lib/unistr/u8-strpbrk.c: Likewise. + * lib/unistr/u8-strrchr.c: Likewise. + * lib/unistr/u8-strspn.c: Likewise. + * lib/unistr/u8-strstr.c: Likewise. + * lib/unistr/u8-strtok.c: Likewise. + * lib/unistr/u8-to-u16.c: Likewise. + * lib/unistr/u8-to-u32.c: Likewise. + * lib/unistr/u8-uctomb-aux.c: Likewise. + * lib/unistr/u8-uctomb.c: Likewise. + * lib/unitypes.h: Likewise. + * lib/uniwidth.h: Likewise. + * lib/uniwidth/cjk.h: Likewise. + * lib/uniwidth/u16-strwidth.c: Likewise. + * lib/uniwidth/u16-width.c: Likewise. + * lib/uniwidth/u32-strwidth.c: Likewise. + * lib/uniwidth/u32-width.c: Likewise. + * lib/uniwidth/u8-strwidth.c: Likewise. + * lib/uniwidth/u8-width.c: Likewise. + * lib/uniwidth/width.c: Likewise. + +2007-10-07 Bruno Haible + + * lib/inttypes.in.h: Change copyright notice from LGPL to GPL. + The file is still under LGPL (see modules/inttypes). + +2007-10-06 Bruno Haible + + * modules/trunc (Dependencies): Add 'extensions'. + * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS. + Reported by Ben Pfaff . + +2007-10-06 Bruno Haible + + * modules/freopen-tests: New file. + * tests/test-freopen.c: New file. + + * modules/fopen-tests: New file. + * tests/test-fopen.c: New file. + + * modules/fopen: New file. + * lib/fopen.c: New file. + * m4/fopen.m4: New file. + * modules/freopen: New file. + * lib/freopen.c: New file. + * m4/freopen.m4: New file. + * lib/stdio.in.h (fopen, freopen): New declarations. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN, + GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN. + * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN, + GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN. + * doc/functions/fopen.texi: Mention the 'fopen' module. + * doc/functions/freopen.texi: Mention the 'freopen' module. + +2007-10-06 Bruno Haible + + * modules/open-tests: New file. + * tests/test-open.c: New file. + + * modules/open: New file. + * lib/open.c: New file. + * m4/open.m4: New file. + * lib/fchdir.c (open): If the gnulib module 'open' is used, do what + lib/open.c does. + * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module. + * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New + macros. + (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS. + * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and + REPLACE_OPEN. + * doc/functions/open.texi: Mention the 'open' module. + +2007-10-04 Bruno Haible + + * modules/ceill-tests: New file. + * tests/test-ceill.c: New file. + + * modules/ceill: New file. + * lib/ceill.c: Replace entire file. + * m4/ceill.m4: New file. + * lib/math.in.h (ceill): Replace declaration. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL. + * modules/math (Makefile.am): Substitute also GNULIB_CEILL. + * doc/functions/ceill.texi: Mention the 'ceill' module. + * modules/mathl (Files): Remove lib/ceill.c. + (Depends-on): Add ceill. + +2007-10-04 Bruno Haible + + * modules/ceilf-tests: New file. + * tests/test-ceilf.c: New file. + + * modules/ceilf: New file. + * lib/ceil.c: New file. + * lib/ceilf.c: New file. + * m4/ceilf.m4: New file. + * lib/math.in.h (ceilf): New declaration. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and + HAVE_DECL_CEILF. + * modules/math (Makefile.am): Substitute also GNULIB_CEILF and + HAVE_DECL_CEILF. + * doc/functions/ceilf.texi: Mention the 'ceilf' module. + +2007-10-04 Bruno Haible + + * modules/floorl-tests: New file. + * tests/test-floorl.c: New file. + + * modules/floorl: New file. + * lib/floorl.c: Replace entire file. + * m4/floorl.m4: New file. + * lib/math.in.h (floorl): Replace declaration. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL. + * modules/math (Makefile.am): Substitute also GNULIB_FLOORL. + * doc/functions/floorl.texi: Mention the 'floorl' module. + * modules/mathl (Files): Remove lib/floorl.c. + (Depends-on): Add floorl. + +2007-10-04 Bruno Haible + + * modules/floorf-tests: New file. + * tests/test-floorf.c: New file. + + * modules/floorf: New file. + * lib/floor.c: New file. + * lib/floorf.c: New file. + * m4/floorf.m4: New file. + * lib/math.in.h (floorf): New declaration. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and + HAVE_DECL_FLOORF. + * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and + HAVE_DECL_FLOORF. + * doc/functions/floorf.texi: Mention the 'floorf' module. + +2007-10-04 Benoit Sigoure + Bruno Haible + + Advertise for the Git server instead of the CVS server. + * doc/gnulib-intro.texi (Steady Development): Mention the Git + repository instead of the CVS one. + * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk + about all VCS systems generically. + * doc/gnulib.texi (Introduction): Capitalize `Git'. + +2007-10-04 Bruno Haible + + * doc/gnulib.texi (Function Substitutes): Explain what an absent module + means. + Reported by Benoît Sigoure . + +2007-10-04 Bruno Haible + + * modules/truncl-tests: New file. + * tests/test-truncl.c: New file. + + * modules/truncl: New file. + * lib/truncl.c: New file. + * m4/truncl.m4: New file. + * lib/math.in.h (truncl): New declaration. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and + HAVE_DECL_TRUNCL. + * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and + HAVE_DECL_TRUNCL. + * doc/functions/truncl.texi: Mention the 'truncl' module. + +2007-10-04 Bruno Haible + + * modules/truncf-tests: New file. + * tests/test-truncf.c: New file. + + * modules/truncf: New file. + * lib/trunc.c: Make paramerizable through USE_* macros. + * lib/truncf.c: New file. + * m4/truncf.m4: New file. + * lib/math.in.h (truncf): New declaration. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and + HAVE_DECL_TRUNCF. + * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and + HAVE_DECL_TRUNCF. + * doc/functions/truncf.texi: Mention the 'truncf' module. + +2007-10-03 Bruno Haible + + * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST + augmentation also for tests modules. + * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation. + * modules/atexit-tests (Makefile.am): Likewise. + * modules/binary-io-tests (Makefile.am): Likewise. + * modules/c-strcase-tests (Makefile.am): Likewise. + * modules/canonicalize-lgpl-tests (Makefile.am): Likewise. + * modules/canonicalize-tests (Makefile.am): Likewise. + * modules/closein-tests (Makefile.am): Likewise. + * modules/fprintf-posix-tests (Makefile.am): Likewise. + * modules/freadahead-tests (Makefile.am): Likewise. + * modules/fseek-tests (Makefile.am): Likewise. + * modules/fseeko-tests (Makefile.am): Likewise. + * modules/ftell-tests (Makefile.am): Likewise. + * modules/ftello-tests (Makefile.am): Likewise. + * modules/isnanl-nolibm-tests (Makefile.am): Likewise. + * modules/isnanl-tests (Makefile.am): Likewise. + * modules/lseek-tests (Makefile.am): Likewise. + * modules/mbscasecmp-tests (Makefile.am): Likewise. + * modules/mbscasestr-tests (Makefile.am): Likewise. + * modules/mbschr-tests (Makefile.am): Likewise. + * modules/mbscspn-tests (Makefile.am): Likewise. + * modules/mbsncasecmp-tests (Makefile.am): Likewise. + * modules/mbspbrk-tests (Makefile.am): Likewise. + * modules/mbspcasecmp-tests (Makefile.am): Likewise. + * modules/mbsrchr-tests (Makefile.am): Likewise. + * modules/mbsspn-tests (Makefile.am): Likewise. + * modules/mbsstr-tests (Makefile.am): Likewise. + * modules/printf-posix-tests (Makefile.am): Likewise. + * modules/snprintf-posix-tests (Makefile.am): Likewise. + * modules/sprintf-posix-tests (Makefile.am): Likewise. + * modules/tsearch-tests (Makefile.am): Likewise. + * modules/uniname/uniname-tests (Makefile.am): Likewise. + * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise. + * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise. + * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise. + * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise. + * modules/vasnprintf-posix-tests (Makefile.am): Likewise. + * modules/vfprintf-posix-tests (Makefile.am): Likewise. + * modules/vprintf-posix-tests (Makefile.am): Likewise. + * modules/vsnprintf-posix-tests (Makefile.am): Likewise. + * modules/vsprintf-posix-tests (Makefile.am): Likewise. + * modules/xstrtoimax-tests (Makefile.am): Likewise. + * modules/xstrtol-tests (Makefile.am): Likewise. + * modules/xstrtoumax-tests (Makefile.am): Likewise. + * modules/yesno-tests (Makefile.am): Likewise. + +2007-10-03 Bruno Haible + + * modules/trunc-tests: New file. + * tests/test-trunc.c: New file. + + * modules/trunc: New file. + * lib/trunc.c: New file. + * m4/trunc.m4: New file. + * lib/math.in.h (trunc): New declaration. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and + HAVE_DECL_TRUNC. + * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and + HAVE_DECL_TRUNC. + * doc/functions/trunc.texi: Mention the 'trunc' module. + +2007-10-03 Bruno Haible + + * tests/test-fpending.c: New file, mostly copied + from coreutils/lib/t-fpending.c. + * modules/fpending-tests: New file. + +2007-10-03 Bruno Haible + + Port the stdio extensions to QNX (untested). + * lib/fseterr.c (fseterr): Add support for QNX. + * lib/fbufmode.c (fbufmode): Likewise. + * lib/freadable.c (freadable): Likewise. + * lib/fwritable.c (fwritable): Likewise. + * lib/freading.c (freading): Likewise. + * lib/fwriting.c (fwriting): Likewise. + * lib/freadahead.c (freadahed): Likewise. + * lib/fpurge.c (fpurge): Likewise. + * lib/fseeko.c (rpl_fseeko): Likewise. + +2007-10-03 Bruno Haible + Jim Meyering + Eric Blake + + * doc/relocatable.texi: Use @command instead of @program. + +2007-10-02 Jim Meyering + + Perform one more "_.h" -> ".in.h" substitution. + * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in + instead of unistd_.h here, too. + +2007-10-01 Bruno Haible + + * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c. + Needed for the alloca-opt module. + +2007-09-30 Bruno Haible + + * lib/alloca.in.h: Renamed from lib/alloca_.h. + * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of + alloca_.h. + * lib/argz.in.h: Renamed from lib/argz_.h. + * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h. + * lib/byteswap.in.h: Renamed from lib/byteswap_.h. + * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of + byteswap_.h. + * lib/dirent.in.h: Renamed from lib/dirent_.h. + * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of + dirent_.h. + * lib/fcntl.in.h: Renamed from lib/fcntl_.h. + * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of + fcntl_.h. + * lib/float.in.h: Renamed from lib/float_.h. + * modules/float (Files, Makefile.am): Use float.in.h instead of + float_.h. + * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h. + * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of + fnmatch_.h. + * lib/getopt.in.h: Renamed from lib/getopt_.h. + * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of + getopt_.h. + * lib/glob.in.h: Renamed from lib/glob_.h. + * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h. + * lib/iconv.in.h: Renamed from lib/iconv_.h. + * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of + iconv_.h. + * lib/inttypes.in.h: Renamed from lib/inttypes_.h. + * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of + inttypes_.h. + * lib/locale.in.h: Renamed from lib/locale_.h. + * modules/locale (Files, Makefile.am): Use locale.in.h instead of + locale_.h. + * lib/math.in.h: Renamed from lib/math_.h. + * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h. + * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h. + * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead + of netinet_in_.h. Add dependency. + * lib/poll.in.h: Renamed from lib/poll_.h. + * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h. + * lib/search.in.h: Renamed from lib/search_.h. + * modules/search (Files, Makefile.am): Use search.in.h instead of + search_.h. + * lib/signal.in.h: Renamed from lib/signal_.h. + * modules/signal (Files, Makefile.am): Use signal.in.h instead of + _signal.h. + * lib/stdbool.in.h: Renamed from lib/stdbool_.h. + * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of + stdbool_.h. + * lib/stdint.in.h: Renamed from lib/stdint_.h. + * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of + stdint_.h. + * lib/stdio.in.h: Renamed from lib/stdio_.h. + * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of + stdio_.h. + * lib/stdlib.in.h: Renamed from lib/stdlib_.h. + * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of + stdlib_.h. + * lib/string.in.h: Renamed from lib/string_.h. + * modules/string (Files, Makefile.am): Use string.in.h instead of + string_.h. + * doc/gnulib-tool.texi (Initial import): Update. + * lib/sys_select.in.h: Renamed from lib/sys_select_.h. + * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead + of sys_select_.h. Add dependency. + * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h. + * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead + of sys_socket_.h. + * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h. + * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of + sys_stat_.h. + * lib/sys_time.in.h: Renamed from lib/sys_time_.h. + * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of + sys_time_.h. + * lib/sysexits.in.h: Renamed from lib/sysexits_.h. + * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of + sysexits_.h. + * lib/time.in.h: Renamed from lib/time_.h. + * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h. + * lib/unistd.in.h: Renamed from lib/unistd_.h. + * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of + unistd_.h. + * lib/wchar.in.h: Renamed from lib/wchar_.h. + * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of + wchar_.h. + * lib/wctype.in.h: Renamed from lib/wctype_.h. + * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of + wctype_.h. + * build-aux/bootstrap (slurp): Update. + * lib/.cppi-disable: Update. + +2007-09-30 Bruno Haible + + * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition. + Needed on BeOS. + +2007-09-30 Bruno Haible + + * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS. + +2007-09-29 Bruno Haible + + * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak. + +2007-09-29 Bruno Haible + + * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink. + * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc. + * build-aux/install-reloc: Compile also areadlink.c. + * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc]. + +2007-09-29 Bruno Haible + + * gnulib-tool (func_emit_initmacro_done): Indentation. + +2007-09-29 Bruno Haible + + * README: Add CVS checkout update instructions. + Info from Bob Proulx . + +2007-09-28 Eric Blake + + Provide move-if-change. + * build-aux/move-if-change: New file, based on best practice + rather than any canonical upstream location. + +2007-09-28 Jim Meyering + + Fix canonicalize loop-detection corner case. + Do not attempt to stat the symlink values stored via seen_triple. + Without this, coreutils' tests/misc/readlink-fp-loop test would fail + on linux-2.6.18, (but not 2.6.22). + * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not + triple_compare. The former compares dev,ino,filename, while the latter + would actually stat dirname(filename) when dev and ino were equal. + * lib/hash-triple.c: Install . + (STREQ): Define. + (triple_compare_ino_str): New function. + * lib/hash-triple.h (triple_compare_ino_str): Declare it. + +2007-09-28 Eric Blake + + Enforce that AC_REPLACE_FUNCS files exist. + * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES + override check for typos. + + Fix test-closein on Solaris 10. + * tests/test-closein.c (main): Don't assume stdin can be inherited + closed on all systems. + * tests/test-closein.sh: Likewise. + Reported by Piotr Tarnowski. + +2007-09-28 Jim Meyering + + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment. + +2007-09-27 Jim Meyering + + canonicalize: Avoid a false-positive cycle failure. + * modules/canonicalize (Depends-on): Add file-set and hash-triple. + Sort. Remove cycle-check. + * lib/canonicalize.c: Include file-set.h and hash-triple.h, + not cycle-check.h. + (seen_triple): New function. + (canonicalize_filename_mode): Use it instead of cycle-check. + * tests/test-canonicalize.c: Add a test for this bug. + * tests/test-canonicalize.sh: Set up and run the test. + + New module, file-set, from coreutils. + * modules/file-set: Define it. + * lib/file-set.c, lib/file-set.h: Implement. + + New module, hash-triple, from coreutils. + * modules/hash-triple: Define it. + * lib/hash-triple.c, lib/hash-triple.h: Implement. + +2007-09-25 Eric Blake + + Fix strerror on Interix. + * lib/string_.h (strerror): Declare replacement. + * doc/functions/strerror.texi (strerror): Document the Interix + shortcoming. + * modules/string (Makefile.am): Support new hooks. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks. + * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to + gl_FUNC_STRERROR_SEPARATE. + (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug. + * lib/strerror.c (rpl_strerror): Provide replacement. + * modules/strerror (Depends-on): Add string. + (configure.ac): Detect use of module. + * tests/test-strerror.c: New file. + * modules/strerror-tests: New test module. + * modules/argp (Depends-on): Add strerror. + * modules/error (Depends-on): Likewise. + Reported by Martin Koeppe. + +2007-09-24 Bruno Haible + + * README: Update git instructions. + +2007-09-24 Eric Blake + + Revert fpending breakage from 2007-09-08. + * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of + __fpending.c. + +2007-09-24 Jim Meyering + + filenamecat.c: Add a test. + * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test + showing how the function works when DIR is the empty string. + +2007-09-21 Simon Josefsson + + * tests/test-canonicalize.sh: Turn on executable bit. + +2007-09-19 Eric Blake + + * README: Update CVS instructions. + +2007-09-18 Bruno Haible + + * modules/areadlink: New file. + * lib/areadlink.h (areadlink): New declaration. + * lib/areadlink.c: New file, based on lib/xreadlink.c. + +2007-09-17 Jim Meyering + + * lib/savewd.c (ESTALE) [!defined]: Define. + Reported to be required on Interix by Martin Koeppe. + +2007-09-17 Bruno Haible + + * gnulib-tool (func_version): Use $version. + +2007-09-16 Bruno Haible + + * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE, + gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000. + Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2. + Reported by Greg Schafer . + +2007-09-15 Bruno Haible + + * gnulib-tool (sed): Try a little harder to make bash understand the + alias. + Reported by Bruce Korb . + +2007-09-13 Eric Blake + + * ChangeLog: Remove conflict markers. + +2007-09-13 Simon Josefsson + + * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value. + Reported by Bruno Haible . + +2007-09-12 Bruno Haible + + * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition. + (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS + is not defined. + +2007-09-12 Eric Blake + + Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS. + * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS + Autoconf definition. + * modules/euidaccess (Depends-on): Add extensions, for + AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59. + * modules/fnmatch (Depends-on): Likewise. + * modules/getaddrinfo (Depends-on): Likewise. + * modules/getdelim (Depends-on): Likewise. + * modules/getline (Depends-on): Likewise. + * modules/getsubopt (Depends-on): Likewise. + * modules/gettext (Depends-on): Likewise. + * modules/group-member (Depends-on): Likewise. + * modules/mbchar (Depends-on): Likewise. + * modules/memmem (Depends-on): Likewise. + * modules/mempcpy (Depends-on): Likewise. + * modules/memrchr (Depends-on): Likewise. + * modules/pagealign_alloc (Depends-on): Likewise. + * modules/readutmp (Depends-on): Likewise. + * modules/stpcpy (Depends-on): Likewise. + * modules/stpncpy (Depends-on): Likewise. + * modules/strchrnul (Depends-on): Likewise. + * modules/strndup (Depends-on): Likewise. + * modules/strsep (Depends-on): Likewise. + * modules/strverscmp (Depends-on): Likewise. + * modules/vasprintf (Depends-on): Likewise. + * modules/wcwidth (Depends-on): Likewise. + * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be + obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead. + * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise. + * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise. + * m4/getline.m4 (gl_FUNC_GETLINE): Likewise. + * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise. + * m4/glob.m4 (gl_PREREQ_GLOB): Likewise. + * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise. + * m4/mbchar.m4 (gl_MBCHAR): Likewise. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise. + * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise. + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise. + * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise. + * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise. + * m4/readutmp.m4 (gl_READUTMP): Likewise. + * m4/regex.m4 (gl_PREREQ_REGEX): Likewise. + * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise. + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise. + * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise. + * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise. + * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise. + * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise. + * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise. + * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise. + * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback, + so that lock.m4 can be used in gettext without extensions module. + +2007-09-11 Bruno Haible + + * m4/isc-posix.m4: Remove file. + Suggested by Eric Blake. + +2007-09-11 Eric Blake + + * ChangeLog: Restore lines accidentally truncated 2007-04-06. + +2007-09-10 Bruno Haible + + * posix-modules: Fix typo in error message. + Reported by Matt . + +2007-09-09 Bruno Haible + + * doc/functions/getdelim.texi: Update list of platforms lacking the + function. + * doc/functions/getline.texi: Likewise. + +2007-09-09 Jim Meyering + + * lib/hash.c (hash_initialize): Detect calloc failure. + Reported by Bruno Haible. + +2007-09-09 Bruno Haible + + * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when + malloc or realloc fails. + +2007-09-09 Bruno Haible + + * modules/getcwd (Depends-on): Add malloc-posix. + * modules/glob (Depends-on): Likewise. + * modules/putenv (Depends-on): Likewise. + * modules/strdup (Depends-on): Likewise. + * modules/getdelim (Depends-on): Add realloc-posix. + * modules/read-file (Depends-on): Likewise. + +2007-09-09 Bruno Haible + + * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro. + (gl_FUNC_MALLOC_POSIX): Require it. + * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise. + * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise. + * modules/realloc (Files): Add m4/malloc.m4. + * modules/calloc (Files): Likewise. + +2007-09-09 Bruno Haible + + * modules/malloc-posix: New file. + * modules/malloc (Depends-on): Add malloc-posix. + * lib/malloc.c: Include errno.h. + (rpl_malloc): Merge the requirements of a glibc-compatible malloc + and a POSIX-compatible malloc into a single function. Set ENOMEM + when returning NULL. + * m4/malloc.m4: New file. + * doc/functions/malloc.texi: Mention the malloc-posix module. + * lib/stdlib_.h (malloc): New declaration. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize + GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX. + * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX + and HAVE_MALLOC_POSIX. + +2007-09-09 Bruno Haible + + * modules/realloc-posix: New file. + * modules/realloc (Depends-on): Add realloc-posix. + * lib/realloc.c: Include errno.h. + (rpl_realloc): Merge the requirements of a glibc-compatible realloc + and a POSIX-compatible realloc into a single function. Set ENOMEM + when returning NULL. + * m4/realloc.m4: New file. + * doc/functions/realloc.texi: Mention the realloc-posix module. + * lib/stdlib_.h (realloc): New declaration. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize + GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX. + * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX + and HAVE_REALLOC_POSIX. + +2007-09-09 Bruno Haible + + * modules/calloc-posix: New file. + * modules/calloc (Depends-on): Add calloc-posix. + * lib/calloc.c: Include errno.h. + (rpl_calloc): Merge the requirements of a glibc-compatible calloc + and a POSIX-compatible calloc into a single function. Set ENOMEM + when returning NULL. + * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro. + * doc/functions/calloc.texi: Mention the calloc-posix module. + * lib/stdlib_.h (calloc): New declaration. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize + GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX. + * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX + and HAVE_CALLOC_POSIX. + +2007-09-09 Bruno Haible + + Allow for modules to show an arbitrary notice. + * modules/TEMPLATE-EXTENDED: Add 'Notice' field. + * gnulib-tool: New option --extract-notice. + (func_usage): Document it. + (sed_extract_prog): Update. + (func_get_notice): New function. + (func_modules_notice): New function. + (func_import, func_create_testdir): Invoke it. + Suggested by Jim Meyering. + +2007-09-09 Bruno Haible + + * gnulib-tool: New options --verbose, --quiet. + (func_usage): Document them. + (verbose): New variable. + (func_execute_command): New function. + (func_import): Don't show the module list and the file list if + $verbose < 0. + (func_create_testdir): Likewise. Use func_execute_command. + (func_create_megatestdir): Use func_execute_command. + +2007-09-08 Bruno Haible + + * gnulib-tool (func_import): Prefer rsync over wget when available, + for fetching the PO files. + +2007-09-08 Bruno Haible + + * posix-modules: New file. Portions copied from gnulib-tool. + * doc/gnulib.texi (POSIX Substitutes Library): New chapter. + +2007-09-08 Jim Meyering + + Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h + * lib/fpending.h: Rename from __fpending.h. + * lib/fpending.c: Rename from __fpending.c. + Include "fpending.h", not "__fpending.h". + * lib/__fpending.h, lib/__fpending.c: Remove files. + * modules/fpending (Files): Reflect new file names. + * lib/close-stream.c: Include "fpending.h", not "__fpending.h". + +2007-09-08 Bruno Haible + + * m4/inttypes-h.m4: Remove stub file. + +2007-09-07 Simon Josefsson + + * doc/headers/stdint.texi: Discuss #include_next issue. + +2007-09-06 Paul Eggert + + * build-aux/bootstrap: Remove obsolete comment about wget --help. + +2007-09-06 Yoann Vandoorselaere + + * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling + in variable name. + +2007-09-03 Jim Meyering + + New module: git-version-gen. + * modules/git-version-gen: New file. + + Import changes from coreutils for bootstrap script. + + * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable. + + bootstrap: uses rsync to download the .po files + * build-aux/bootstrap (po_download_command_format): New global. + (download_po_files): Use rsync. + (update_po_files): Don't remove .po files after download, + so future rsync runs can take advantage of the copies. + + * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly. + + Solve the unnecessary-.po-file-regeneration problem once and for all. + * build-aux/bootstrap (download_po_files): New function, renamed from + get_translations. Now, downloads, but doesn't update LINGUAS. + (update_po_files): New function. + + bootstrap: Ignore more. + * build-aux/bootstrap (symlink_to_dir): Add a directory name like + uniwidth to e.g., lib/.gitignore. + (slurp): Handle the sys_stat_.h -> sys mapping, too. + + * build-aux/bootstrap: New setting: vc_ignore. + (insert_sorted_if_absent): Create $file if absent. + Adapt to new, possibly empty, list: $vc_ignore. + + bootstrap: generate more ignorable names + * build-aux/bootstrap (slurp): When generating ignorable names, + also map .sin to .sed, .gperf to .c, and .y to .c. + +2007-09-03 Jim Meyering + + * build-aux/git-version-gen: New file, from coreutils. For details, see + http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506 + +2007-09-02 Bruno Haible + + Fix mis-recognition of 'mcs' on QNX 6. + * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version" + output contains the string "Mono". + * lib/csharpcomp.c (compile_csharp_using_mono): Likewise. + Reported by at . + +2007-09-01 Bruno Haible + + Fix collision between uniwidth/* and linebreak modules. + * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width, + u32_width): Remove declarations. + * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h. + (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4, + streq3, streq2, streq1, streq0): Remove functions. + (STREQ): Remove macro. + (is_cjk_encoding): Remove function. + (nonspacing_table_data, nonspacing_table_ind): Remove constants. + (uc_width, u8_width, u16_width, u32_width): Remove functions. + * modules/linebreak (Depends-on): Add streq, uniwidth/width. + * NEWS: Document the change. + +2007-09-01 Bruno Haible + + * lib/streq.h: Add double-inclusion guard. + +2007-09-01 Karl Berry + + * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size. + +2007-08-28 Jim Meyering + + Rename mreadlink_with_size to areadlink_with_size. + * NEWS: Document the change. + * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to... + * lib/areadlink-with-size.c (areadlink_with_size): ...this. + * lib/mreadlink.h: Rename this to... + * lib/areadlink.h: ...this. + * modules/mreadlink-with-size: Rename this to... + * modules/areadlink-with-size: ...this. + * lib/canonicalize.c: Reflect the renaming. + * modules/canonicalize: Likewise. + +2007-08-26 Bruno Haible + + * gnulib-tool (func_import): When deciding which files to remove, + consider also dangling symbolic links. + Reported by Eric Blake. + +2007-08-26 Bruno Haible + + * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L". + +2007-08-23 Simon Josefsson + + * lib/readline.c: Don't include getline.h, the prototype is now + found in stdio.h. + +2007-08-23 Jim Meyering + + Getdelim touchup. + * lib/getdelim.c (getdelim): Don't bother to save/restore errno + around the funlockfile call, since funlockfile never sets errno. + Don't set errno upon failed realloc. + +2007-08-22 Eric Blake + + Getline touchups. + * lib/getdelim.c (getdelim): Revert regression that required *n to + be 0 when *lineptr is NULL. Preserve errno across funlockfile. + * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of + getdelim, rather than whether implementation is missing. + * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline. + * lib/stdio_.h (getline): Also declare if replacement is + required. + * doc/functions/getdelim.texi: New file. + * doc/functions/getline.texi: Likewise. + * doc/gnulib.texi (Function Substitutes): Add new files. + Reported by Bruno Haible. + +2007-08-22 Ludovic Courtès + + * users.txt: Add Guile. + +2007-08-22 Eric Blake + + * tests/test-getdelim.c (main): Use remove, not unlink. + * tests/test-getline.c (main): Likewise. + + Move getline and getdelim into stdio.h, per POSIX 200x. + * modules/getline (Files): Remove getline.h. + (Depends-on): Add stdio. + (configure.ac): Add module indicator. + * modules/getdelim (Files): Remove getdelim.h. + (Depends-on): Add stdio. + (configure.ac): Add module indicator. + * modules/stdio (Makefile.am): Work with new indicators. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults. + * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs. + * m4/getline.m4 (gl_FUNC_GETLINE): Likewise. + * lib/getdelim.h: Delete. + * lib/getline.h: Delete. + * lib/stdio_.h (getdelim, getline): Declare. + * modules/getdelim-tests: New module. + * modules/getline-tests: Likewise. + * tests/test-getdelim.c: New file. + * tests/test-getline.c: Likewise. + * NEWS: Document the change. + * lib/getline.c: Update choice of header. + * lib/csharpcomp.c: Likewise. + * lib/getpass.c: Likewise. + * lib/javacomp.c: Likewise. + * lib/javaversion.c: Likewise. + * lib/yesno.c: Likewise. + * lib/getdelim.c: Likewise. + (getdelim): Set errno on failure, and avoid memory leak. + +2007-08-19 Bruno Haible + + * modules/closein (Depends-on): Add freadahead. + * lib/closein.c: Include freadahead.h. + (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin) + is zero. + +2007-08-19 Bruno Haible + + * modules/freadahead-tests: New file. + * tests/test-freadahead.sh: New file. + * tests/test-freadahead.c: New file. + + * modules/freadahead: New file. + * lib/freadahead.h: New file. + * lib/freadahead.c: New file. + * MODULES.html.sh (File stream based Input/Output): Add freadahead, + fbufmode, fpurge, freadable, fwritable. + +2007-08-19 Eric Blake + + Test yesno in combination with closein. + * lib/yesno.c (yesno): Document use of stdin. + * modules/yesno-tests (Files): New module. + * tests/test-yesno.c (main): New file. + * tests/test-yesno.sh: Likewise. + +2007-08-19 Bruno Haible + + * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64. + * lib/fseeko.c (rpl_fseeko): Likewise. + * lib/fseterr.c (fseterr): Likewise. + +2007-08-19 Bruno Haible + + * tests/test-lseek.c (main): Disable a test for BeOS. + * doc/functions/lseek.texi: Document the BeOS bug. + +2007-08-19 Bruno Haible + Eric Blake + + * lib/lseek.c: Include . + (rpl_lseek): Add workaround code also for Unix platforms. + Needed for BeOS. + * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS. + * doc/functions/lseek.texi: Document BeOS definiency. + +2007-08-18 Bruno Haible + + * modules/fstrcmp-tests: New file. + * tests/test-fstrcmp.c: New file. + +2007-08-18 Bruno Haible + + * modules/fstrcmp: New file, from GNU gettext with modifications. + * lib/fstrcmp.h: New file, from GNU gettext. + * lib/fstrcmp.c: New file, from GNU gettext. + * MODULES.html.sh (String handling): Add fstrcmp. + +2007-08-18 Bruno Haible + + * lib/diffseq.h (struct context): Change type of 'heuristic' field to + 'bool'. + (diag, compareseq): Remove const from the ctxt argument. + (USE_HEURISTIC): Undefine at the end. + +2007-08-18 Jim Meyering + + New file: lib/idcache.h + * NEWS: Mention the addition. + * modules/idcache (Files): Add lib/idcache.h + * lib/idcache.c: Include "idcache.h". + Don't include . + Add a FIXME comment. + Move file-scoped "static" declarations to the top. + * lib/idcache.h: New file. Include here, instead. + +2007-08-17 Bruno Haible + and Paul Eggert + + * MODULES.html.sh: Add diffseq. + * modules/diffseq: New file. + * lib/diffseq.h: New file, from GNU gettext with a few minor changes, + extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c. + +2007-08-15 Paul Eggert + + Import changes from coreutils for bootstrap script. + + 2007-07-21 Paul Eggert + + * build-aux/bootstrap (slurp): Work even in environments where + "ls" defaults to "ls -A". Put in a FIXME, though, since the + current code does not slurp files whose names start with ".", and + this looks like it might be a troublesome area. + + 2007-07-11 Jim Meyering + + If there's a GPL vN copyright comment, require that N == 3. + + 2007-07-08 Jim Meyering + + Run the coreutils-specific code only if tests/Makefile.am.in exists. + * build-aux/bootstrap (mam_template): Move definition out of loop. + + Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*. + + * build-aux/bootstrap (symlink_to_dir): Rename function from + symlink_to_gnulib. Add a directory parameter. Update all + callers. + (cp_mark_as_generated): Also check for -- and link to -- files in + gl/. + + 2007-07-08 Jim Meyering + + Adapt to deeper hierarchy in gnulib. + * build-aux/bootstrap (symlink_to_dir): If the destination + directory doesn't exist, create it. This is required at least for + "lib/uniwidth/cjk.h". + + 2007-05-15 Jim Meyering + + * build-aux/bootstrap: Now that generated Makefile.am files + are no longer under version control, they must be created at + bootstrap time. + +2007-08-14 Ben Pfaff + + * lib/count-one-bits.h: Add comments. From Bruno Haible. + +2007-08-14 Paul Eggert + + * lib/count-one-bits.h: Don't include ; no longer needed + given the changes below. + (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'. Work + even on hosts that have padding bits beyond the supported 64. + +2007-08-10 Paul Eggert + + * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal. + * lib/xstrtol.h: Don't include exitfail.h; that's now internal to + xstrtol.c. Include getopt.h, since xstrtol_fatal's signature + depends on it. + (xstrtol_error): Remove. + (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error + but with a different signature. + (ATTRIBUTE_NORETURN, __attribute__): New macros. + * lib/xstrtol-error.c: Include exitfail.h. + (xstrtol_fatal): New function, with a different signature from the + old xstrtol_error, so that the caller need not worry about passing + in an exit status, or about storage management of the option argument. + (xstrtol_error): Now a static function. Redo signature to + implement xstrtol_fatal. Output the correct number of hyphens in + front of the option so that the caller need not worry about + storage management. + (N_): New macro. + (_): Remove; not used now. + * modules/xstrtol: Depend on getopt. + * tests/test-xstrtol.c (main): Use new xstrtol_error function instead + of old STRTOL_FATAL_ERROR macro. + * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior + of test program. + * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise. + * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise. + +2007-08-08 Eric Blake + + * lib/xstrtol-error.c: Add missing include. + + Move xstrtol messages into gnulib domain, when --pobase is used. + * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro... + * lib/xstrtol-error.c (xstrtol_error): ...into new file. + * modules/xstrtol (Files): Distribute new file. + * m4/xstrtol.m4 (gl_XSTRTOL): Build new file. + * lib/xstrtol.c (TESTING_XSTRTO): Move tests... + * tests/test-xstrtol.c: ...into new file. + * tests/test-xstrtoul.c: Also test xstrtoul. + * tests/test-xstrtoimax.c: Also test xstrtoimax. + * tests/test-xstrtoumax.c: Also test xstrtoumax. + * tests/test-xstrtol.sh: Drive the tests. + * tests/test-xstrtoimax.sh: Likewise. + * tests/test-xstrtoumax.sh: Likewise. + * modules/xstrtol-tests: New module. + * modules/xstrtoimax-tests: Likewise. + * modules/xstrtoumax-tests: Likewise. + +2007-08-08 Jim Meyering + + New function: mfile_name_concat. + * lib/filenamecat.c (mfile_name_concat): New function, just like + file_name_concat, but return NULL upon failure rather than exiting + with a diagnostic. + * lib/filenamecat.h: Declare it. + +2007-08-07 Bruno Haible + + * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS + instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition + warning from gcc. + Reported by Eric Blake. + +2007-08-07 Simon Josefsson + + * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+". + * modules/crypto/arcfour (License): Likewise. + * modules/crypto/des-tests (License): Likewise. + * modules/crypto/gc-arctwo-tests (License): Likewise. + * modules/crypto/gc-des-tests (License): Likewise. + * modules/crypto/gc-hmac-md5-tests (License): Likewise. + * modules/crypto/gc-hmac-sha1-tests (License): Likewise. + * modules/crypto/gc-md2-tests (License): Likewise. + * modules/crypto/gc-md4-tests (License): Likewise. + * modules/crypto/gc-md5-tests (License): Likewise. + * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise. + * modules/crypto/gc-rijndael-tests (License): Likewise. + * modules/crypto/gc-sha1-tests (License): Likewise. + * modules/crypto/gc-tests (License): Likewise. + * modules/crypto/hmac-md5 (License): Likewise. + * modules/crypto/hmac-sha1 (License): Likewise. + * modules/crypto/md2-tests (License): Likewise. + * modules/crypto/md4-tests (License): Likewise. + * modules/crypto/md5 (License): Likewise. + * modules/crypto/rijndael (License): Likewise. + * modules/crypto/sha1 (License): Likewise. + * modules/memxor (License): Likewise. + +2007-08-06 Paul Eggert + and Bruno Haible + + * NEWS: Describe interface changes to human, xstrtol. + * lib/human.h: Include . + (human_options): Return enum strtol_error, not int. Remove + bool arg; take int * instead. + * lib/human.c: Don't include "gettext.h". + (_): Remove; no longer used. + Don't include , since human.h does it. + (human_options): Adjust to abovementioned interface changes. + Do not report error to stderr; that's now the caller's + responsibility. + * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to + interface change. + * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than + Str, Argument_type_string. All uses changed. Put " argument" + in diagnostics to make them clearer. Change wording of suffix + message for clarity. + (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str, + Argument_type_string. + (STRTOL_FATAL_WARN): Remove; no longer used. + * modules/human (Depends-on): Remove gettext-h. + +2007-08-06 Simon Josefsson + + * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+. + +2007-07-31 Bruno Haible + + * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX + are defined by (as opposed to , as on Dragonfly). + Reported by Joerg Sonnenberger . + +2007-07-31 Bruno Haible + + * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag. + Suggested by Joerg Sonnenberger . + +2007-07-30 Bruno Haible + + * modules/base64 (License): Use the synonymous term "LGPLv2+". + * modules/c-ctype (License): Likewise. + * modules/c-strcase (License): Likewise. + * modules/check-version (License): Likewise. + * modules/iconv (License): Likewise. + * modules/iconv_open (License): Likewise. + * modules/read-file (License): Likewise. + * modules/striconv (License): Likewise. + * modules/strverscmp (License): Likewise. + * modules/vasprintf (License): Likewise. + * modules/crypto/des (License): Likewise. + * modules/crypto/gc (License): Likewise. + * modules/crypto/gc-arcfour (License): Likewise. + * modules/crypto/gc-arctwo (License): Likewise. + * modules/crypto/gc-des (License): Likewise. + * modules/crypto/gc-hmac-md5 (License): Likewise. + * modules/crypto/gc-hmac-sha1 (License): Likewise. + * modules/crypto/gc-md2 (License): Likewise. + * modules/crypto/gc-md4 (License): Likewise. + * modules/crypto/gc-md5 (License): Likewise. + * modules/crypto/gc-pbkdf2-sha1 (License): Likewise. + * modules/crypto/gc-random (License): Likewise. + * modules/crypto/gc-rijndael (License): Likewise. + * modules/crypto/gc-sha1 (License): Likewise. + * modules/crypto/md2 (License): Likewise. + * modules/crypto/md4 (License): Likewise. + +2007-07-30 Jim Meyering + + * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory, + set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows + it has valid stat data. This bug would cause du not to count the + sizes of inaccessible directories. + Patch by Bryan Mason , via Jose Maria Plans + in . + +2007-07-25 Peter O'Gorman + Bruno Haible + + * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next + really works. Needed because AIX 4.3 "xlc -E" doesn't understand + #include_next, gives a diagnostic about it, but reports no error in + the exit code. + Reported by Gary V. Vaughan . + +2007-07-24 Ben Pfaff + + Improve name: "count-one-bits" is better than "popcount". + * MODULES.html.sh: Update name. + * lib/popcount.h: Renamed lib/count-one-bits.h. + (popcount): Renamed count_one_bits. + (popcountl): Renamed count_one_bits_l. + (popcountll): Renamed count_one_bits_ll. + * m4/popcount.m4: Renamed m4/count-one-bits.m4. + * modules/popcount: Renamed module/count-one-bits. + * modules/popcount-tests: Renamed module/count-one-bits-tests. + * tests/test-popcount.c: Renamed tests/test-count-one-bits.c. + +2007-07-23 Ben Pfaff + + * lib/popcount.h (popcount32): Reduce size of constants, to allow + better code generation, and add U to large constants to avoid + warnings, in non-GCC case. + Suggested by Bruno Haible. + +2007-07-23 Ben Pfaff + + * lib/popcount.h: Use verify_true instead of if...abort. + * modules/popcount: Depend on verify module. + Suggested by Jim Meyering. + +2007-07-23 Bruno Haible + + * gnulib-tool (func_import): Create a .cvsignore file also when the + directory is not yet in CVS but the toplevel directory is. When + creating a .cvsignore file, add ".deps" and ".dirstamp" to it. + Reported by Karl Berry. + +2007-07-22 Ben Pfaff + + * lib/popcount.h: Use faster, branchless algorithm for non-GCC + case. + Suggested by Eric Blake. + +2007-07-22 Ben Pfaff + + New module: popcount. + * MODULES.html.sh: Add popcount. + * modules/popcount: New file. + * modules/popcount-tests: New file. + * tests/test-popcount.c: New file. + * lib/popcount.h: New file. + * m4/popcount.m4: New file. + +2007-07-22 Paul Eggert + + * build-aux/announce-gen: Update to GPLv3. + + * build-aux/config.guess: Update from config. + +2007-07-21 Bruno Haible + + * lib/error.c (_) [ENABLE_NLS]: Define to gettext. + * lib/verror.c (_) [ENABLE_NLS]: Likewise. + +2007-07-20 Jim Meyering + + * check-module: Diagnose a self-dependency. + +2007-07-19 Bruno Haible + + * gnulib-tool (func_import): Don't abort if pobase or po_domain is + empty. + Reported by Eric Blake. + +2007-07-18 Bruno Haible + + * gnulib-tool: New options --po-base, --po-domain. + (func_usage): Document them. + (pobase, po_domain): New variables. + (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining + DEFAULT_TEXT_DOMAIN. + (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions. + (func_import): Consider pobase and po_domain. Create a po/ directory. + (func_create_testdir): Set pobase and po_domain to empty. + * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1. + * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1. + +2007-07-18 Bruno Haible + + * gnulib-tool (func_get_automake_snippet): Synthesize also an + EXTRA_DIST augmentation for files in build-aux/. + +2007-07-16 Bruno Haible + + * modules/lseek (License): Use the synonymous term "LGPLv2+". + * modules/getdelim (License): Likewise. + +2007-07-16 Yoann Vandoorselaere + + * modules/arpa_inet (License): Use the synonymous term LGPLv2+. + * modules/d-type (License): Likewise. + * modules/extensions (License): Likewise. + * modules/fnmatch (License): Likewise. + * modules/fseeko (License): Likewise. + * modules/getaddrinfo (License): Likewise. + * modules/getline (License): Likewise. + * modules/getlogin_r (License): Likewise. + * modules/getpass (License): Likewise. + * modules/gettimeofday (License): Likewise. + * modules/glob (License): Likewise. + * modules/inet_ntop (License): Likewise. + * modules/malloc (License): Likewise. + * modules/malloca (License): Likewise. + * modules/memmem (License): Likewise. + * modules/mempcpy (License): Likewise. + * modules/memset (License): Likewise. + * modules/minmax (License): Likewise. + * modules/mktime (License): Likewise. + * modules/netinet_in (License): Likewise. + * modules/pathmax (License): Likewise. + * modules/poll (License): Likewise. + * modules/regex (License): Likewise. + * modules/snprintf (License): Likewise. + * modules/stdbool (License): Likewise. + * modules/stdint (License): Likewise. + * modules/stdio (License): Likewise. + * modules/strcase (License): Likewise. + * modules/strcasestr (License): Likewise. + * modules/strdup (License): Likewise. + * modules/string (License): Likewise. + * modules/strndup (License): Likewise. + * modules/strnlen (License): Likewise. + * modules/strpbrk (License): Likewise. + * modules/strptime (License): Likewise. + * modules/strsep (License): Likewise. + * modules/sys_select (License): Likewise. + * modules/sys_socket (License): Likewise. + * modules/sys_stat (License): Likewise. + * modules/sys_time (License): Likewise. + * modules/time (License): Likewise. + * modules/time_r (License): Likewise. + * modules/timegm (License): Likewise. + * modules/unistd (License): Likewise. + * modules/vsnprintf (License): Likewise. + * modules/wctype (License): Likewise. + +2007-07-16 Ralf Wildenhues + + * modules/argz (License): LGPLv2+. + +2007-07-15 Karl Berry + + * doc/gnulib.texi: revise node structure per new fdl.texi. + +2007-07-14 Bruno Haible + + * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to + the output file. + * lib/uniname/uninames.h: Regenerated. + +2007-07-14 Karl Berry + + * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently + omitting sectioning and index commands. + +2007-07-13 Bruno Haible + + New gnulib-tool option --more-symlinks. + * gnulib-tool (func_usage): Document --more-symlinks. + (do_copyrights): New variable. + Recognize option --more-symlinks. + (func_import): Don't add a copyright notice transform to + sed_transform_lib_file if do_copyrights is empty. + +2007-07-13 Bruno Haible + + * lib/vasnprintf.c (decimal_point_char): Define also if + (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) + && !NEED_PRINTF_DIRECTIVE_A. + Reported by Clemens Koller via + Gary V. Vaughan . + +2007-07-13 Paul Eggert + + * lib/inttypes_.h: Undo previous change, since it was fixed + in a different way in the 2007-07-02 fix to m4/inttypes.m4. + +2007-07-13 Bruno Haible + + * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was + misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H. + +2007-07-13 Jim Meyering + + df: Don't fail for Tru64's "file-on-file mount". + * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs, + so we fall through and use statfs instead. Details here: + + Reported by Albert Chin. + +2007-07-13 Bruno Haible + + * modules/alloca-opt (License): Use the synonymous term "LGPLv2+". + * modules/configmake (License): Likewise. + * modules/gettext (License): Likewise. + * modules/gettext-h (License): Likewise. + * modules/include_next (License): Likewise. + * modules/link-warning (License): Likewise. + * modules/localcharset (License): Likewise. + * modules/localename (License): Likewise. + * modules/lock (License): Likewise. + * modules/relocatable-lib-lgpl (License): Likewise. + * modules/size_max (License): Likewise. + * modules/vasnprintf (License): Likewise. + * modules/wchar (License): Likewise. + * modules/xsize (License): Likewise. + +2007-07-13 Bruno Haible + + * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL. + (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+". + +2007-07-12 Bruno Haible + + * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations + in the modules files. + +2007-07-11 Karl Berry + + * MODULES.html.sh (func_module): use + sed -e '\|^'"${includefile}"'$|d' + instead of /.../d, to avoid errors on $includefile's containing /. + +2007-07-10 Sergey Poznyakoff + + * gnulib-tool (func_import): Avoid duplication of --avoid + statements + (func_dest_tmpfilename,func_create_testdir): Translate `-' in file + names to `_' in variable names. + +2007-07-10 Eric Blake + + * lib/version-etc.c (version_etc_va): Default to GPLv3+. + * NEWS: Document this change. + +2007-07-08 Bruno Haible + + Update to Unicode 5.0. + * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD, + U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603, + U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3, + U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F, + U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922, + U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03, + U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA, + U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826, + U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A, + U+10A3F, U+1D242..U+1D244. + (nonspacing_table_ind): Update. + (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to + U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F. + +2007-07-08 Bruno Haible + + Update to Unicode 5.0. + * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the + code transform. Extend the name index field of unicode_name_to_code and + unicode_code_to_name from 16 to 24 bits. + * lib/uniname/uniname.c (unicode_character_name, + unicode_name_character): Add the range 0x12xxx to the code transform. + * lib/uniname/uninames.h: Regenerated. + * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0. + +2007-07-07 Bruno Haible + + * modules/wcwidth-tests: New file. + * tests/test-wcwidth.c: New file. + + Work around MacOS X wcwidth() bug. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug. + * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h. + (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the + original wcwidth in non-UTF-8 locales. + * modules/wcwidth (Depends-on): Add localcharset, streq, + uniwidth/width. + * doc/functions/wcwidth.texi: Update. + +2007-07-07 Bruno Haible + + * lib/wchar_.h: Include the GL_LINK_WARNING macro. + (wcwidth): New declaration. + * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New + macros. + (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty + here. Prepare for creating unconditionally. + * modules/wchar (Depends-on): Add link-warning. + (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH, + REPLACE_WCWIDTH, and GL_LINK_WARNING. + * lib/wcwidth.h: Remove file. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set + HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H. + * modules/wcwidth (Files): Remove lib/wcwidth.h. + (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR. + (Include): Replace wcwidth.h with . + * lib/wcwidth.c: Include instead of wcwidth.h. + * lib/mbchar.h: Don't include wcwidth.h. + * lib/mbswidth.c: Likewise. + * NEWS: Mention the change. + +2007-07-07 Bruno Haible + + * lib/wcwidth.c: New file, extracted from lib/wcwidth.h. + * lib/wcwidth.h: Don't include wctype.h. Replace inline function + definition with an external declaration. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not + defined as a function. Remove AC_C_INLINE requirement. + * modules/wcwidth (Files): Add lib/wcwidth.c. + (Makefile.am): Remove redundant statement. + +2007-07-07 Bruno Haible + + * MODULES.html.sh (Unicode string functions): Add the new modules. + + * tests/uniwidth/test-u32-strwidth.c: New file. + * modules/uniwidth/u32-strwidth-tests: New file. + + * lib/uniwidth/u32-strwidth.c: New file. + * modules/uniwidth/u32-strwidth: New file. + + * tests/uniwidth/test-u16-strwidth.c: New file. + * modules/uniwidth/u16-strwidth-tests: New file. + + * lib/uniwidth/u16-strwidth.c: New file. + * modules/uniwidth/u16-strwidth: New file. + + * tests/uniwidth/test-u8-strwidth.c: New file. + * modules/uniwidth/u8-strwidth-tests: New file. + + * lib/uniwidth/u8-strwidth.c: New file. + * modules/uniwidth/u8-strwidth: New file. + + * tests/uniwidth/test-u32-width.c: New file. + * modules/uniwidth/u32-width-tests: New file. + + * lib/uniwidth/u32-width.c: New file. + * modules/uniwidth/u32-width: New file. + + * tests/uniwidth/test-u16-width.c: New file. + * modules/uniwidth/u16-width-tests: New file. + + * lib/uniwidth/u16-width.c: New file. + * modules/uniwidth/u16-width: New file. + + * tests/uniwidth/test-u8-width.c: New file. + * modules/uniwidth/u8-width-tests: New file. + + * lib/uniwidth/u8-width.c: New file. + * modules/uniwidth/u8-width: New file. + + * tests/uniwidth/test-uc_width.c: New file. + * modules/uniwidth/width-tests: New file. + + * lib/uniwidth/width.c: New file, from GNU libiconv. + * lib/uniwidth/cjk.h: New file, from GNU libiconv. + * modules/uniwidth/width: New file. + + * lib/uniwidth.h: New file, from GNU libiconv. + * modules/uniwidth/base: New file. + +2007-07-07 Bruno Haible + + * lib/uniname.h: New file, from GNU gettext. + * lib/uniname/gen-uninames.lisp: New file, from GNU gettext. + * lib/uniname/uninames.h: New file, from GNU gettext. + * lib/uniname/uniname.c: New file, from GNU gettext. + * tests/uniname/test-uninames.sh: New file. + * tests/uniname/test-uninames.c: New file, from GNU gettext. + * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext. + * modules/uniname/base: New file. + * modules/uniname/uniname: New file. + * modules/uniname/uniname-tests: New file. + * MODULES.html.sh (Unicode string functions): Add the new modules. + +2007-07-06 Bruno Haible + + * doc/Makefile (TEXI2HTML): Specify a --reference-limit. + +2007-07-06 Bruno Haible + + * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than + a split double-inclusion guard. Needed for cygwin, where + includes which includes which + include . + Reported by Eric Blake. + +2007-07-06 Eric Blake + + Fix testing canonicalize on cygwin. + * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD): + Revert patch from 2007-06-19. + * tests/test-canonicalize-lgpl.c (main): Instead, skip test when + canonicalize module is also in use. + * tests/test-canonicalize.c: New file. + * tests/test-canonicalize.sh: Likewise. + * modules/canonicalize-tests: Likewise. + +2007-07-06 Jim Meyering + + * lib/getugroups.c (getugroups): Detect getgrent failure. + Adjust comment to reflect reality: this function may return -1. + +2007-07-05 Sergey Poznyakoff + + * build-aux/bootstrap (TP_URL,get_translations): Update to use + the new TP address. + (usage): Fix typo + (gnulib_mk): New variable. + +2007-07-05 Jim Meyering + + Don't let endgrent clobber errno, no matter how improbable. + * lib/getugroups.c (getugroups): Save and restore errno around + endgrent call. + + Close the group DB even when failing with 2^31 or more members. + * lib/getugroups.c (getugroups): Don't return without calling endgrent. + +2007-07-04 Jim Meyering + + * lib/getugroups.h: New file. + * lib/getugroups.c: Include "getugroups.h". + Remove uses of "register" keyword. + Move local variable, "cp", down into scope where used. + Give "username" parameter the "const" attribute. + * modules/getugroups (Files): Add lib/getugroups.h + +2007-07-04 Karl Berry + + * MODULES.html.sh (func_all_modules): Complete rename of + gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0. + +2007-07-02 Bruno Haible + + * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++ + mode, when inttypes.h comes from gnulib. + Reported by Joel E. Denny . + +2007-07-02 Simon Josefsson + + * NEWS: Mention lgpl module name change. + + * modules/lgpl-2.1: Renamed from lgpl. + + * NEWS: Mention gpl module name change. + + * modules/gpl-3.0: New file, based on gpl-2.0. + + * modules/gpl-2.0: Renamed from gpl. + + * modules/gpl: Fix filename, doc/gpl.texi is now found at + doc/gpl-2.0.texi. + +2007-07-02 Paul Eggert + + * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]: + #define __STDC_LIMIT_MACROS temporarily while including + , so that __STDC_LIMIT_MACROS is defined. + Problem reported by Joel E. Denny in + . + +2007-07-01 Bruno Haible + + * lib/unistdio.h: New file. + * lib/unistdio/u-asnprintf.h: New file. + * lib/unistdio/u-asprintf.h: New file. + * lib/unistdio/u-printf-args.c: New file. + * lib/unistdio/u-printf-args.h: New file. + * lib/unistdio/u-printf-parse.h: New file. + * lib/unistdio/u-snprintf.h: New file. + * lib/unistdio/u-sprintf.h: New file. + * lib/unistdio/u-vasprintf.h: New file. + * lib/unistdio/u-vsnprintf.h: New file. + * lib/unistdio/u-vsprintf.h: New file. + * lib/unistdio/ulc-asnprintf.c: New file. + * lib/unistdio/ulc-asprintf.c: New file. + * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c. + * lib/unistdio/ulc-printf-parse.c: New file. + * lib/unistdio/ulc-snprintf.c: New file. + * lib/unistdio/ulc-sprintf.c: New file. + * lib/unistdio/ulc-vasnprintf.c: New file. + * lib/unistdio/ulc-vasprintf.c: New file. + * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c. + * lib/unistdio/ulc-vsnprintf.c: New file. + * lib/unistdio/ulc-vsprintf.c: New file. + * lib/unistdio/u8-asnprintf.c: New file. + * lib/unistdio/u8-asprintf.c: New file. + * lib/unistdio/u8-printf-parse.c: New file. + * lib/unistdio/u8-snprintf.c: New file. + * lib/unistdio/u8-sprintf.c: New file. + * lib/unistdio/u8-vasnprintf.c: New file. + * lib/unistdio/u8-vasprintf.c: New file. + * lib/unistdio/u8-vsnprintf.c: New file. + * lib/unistdio/u8-vsprintf.c: New file. + * lib/unistdio/u8-u8-asnprintf.c: New file. + * lib/unistdio/u8-u8-asprintf.c: New file. + * lib/unistdio/u8-u8-snprintf.c: New file. + * lib/unistdio/u8-u8-sprintf.c: New file. + * lib/unistdio/u8-u8-vasnprintf.c: New file. + * lib/unistdio/u8-u8-vasprintf.c: New file. + * lib/unistdio/u8-u8-vsnprintf.c: New file. + * lib/unistdio/u8-u8-vsprintf.c: New file. + * lib/unistdio/u16-asnprintf.c: New file. + * lib/unistdio/u16-asprintf.c: New file. + * lib/unistdio/u16-printf-parse.c: New file. + * lib/unistdio/u16-snprintf.c: New file. + * lib/unistdio/u16-sprintf.c: New file. + * lib/unistdio/u16-vasnprintf.c: New file. + * lib/unistdio/u16-vasprintf.c: New file. + * lib/unistdio/u16-vsnprintf.c: New file. + * lib/unistdio/u16-vsprintf.c: New file. + * lib/unistdio/u16-u16-asnprintf.c: New file. + * lib/unistdio/u16-u16-asprintf.c: New file. + * lib/unistdio/u16-u16-snprintf.c: New file. + * lib/unistdio/u16-u16-sprintf.c: New file. + * lib/unistdio/u16-u16-vasnprintf.c: New file. + * lib/unistdio/u16-u16-vasprintf.c: New file. + * lib/unistdio/u16-u16-vsnprintf.c: New file. + * lib/unistdio/u16-u16-vsprintf.c: New file. + * lib/unistdio/u32-asnprintf.c: New file. + * lib/unistdio/u32-asprintf.c: New file. + * lib/unistdio/u32-printf-parse.c: New file. + * lib/unistdio/u32-snprintf.c: New file. + * lib/unistdio/u32-sprintf.c: New file. + * lib/unistdio/u32-vasnprintf.c: New file. + * lib/unistdio/u32-vasprintf.c: New file. + * lib/unistdio/u32-vsnprintf.c: New file. + * lib/unistdio/u32-vsprintf.c: New file. + * lib/unistdio/u32-u32-asnprintf.c: New file. + * lib/unistdio/u32-u32-asprintf.c: New file. + * lib/unistdio/u32-u32-snprintf.c: New file. + * lib/unistdio/u32-u32-sprintf.c: New file. + * lib/unistdio/u32-u32-vasnprintf.c: New file. + * lib/unistdio/u32-u32-vasprintf.c: New file. + * lib/unistdio/u32-u32-vsnprintf.c: New file. + * lib/unistdio/u32-u32-vsprintf.c: New file. + * tests/unistdio/test-ulc-asnprintf1.c: New file. + * tests/unistdio/test-ulc-asnprintf1.h: New file. + * tests/unistdio/test-ulc-printf1.h: New file. + * tests/unistdio/test-ulc-vasnprintf1.c: New file. + * tests/unistdio/test-ulc-vasnprintf2.c: New file. + * tests/unistdio/test-ulc-vasnprintf2.sh: New file. + * tests/unistdio/test-ulc-vasnprintf3.c: New file. + * tests/unistdio/test-ulc-vasnprintf3.sh: New file. + * tests/unistdio/test-ulc-vasprintf1.c: New file. + * tests/unistdio/test-ulc-vsnprintf1.c: New file. + * tests/unistdio/test-ulc-vsprintf1.c: New file. + * tests/unistdio/test-u8-asnprintf1.c: New file. + * tests/unistdio/test-u8-asnprintf1.h: New file. + * tests/unistdio/test-u8-printf1.h: New file. + * tests/unistdio/test-u8-vasnprintf1.c: New file. + * tests/unistdio/test-u8-vasnprintf2.c: New file. + * tests/unistdio/test-u8-vasnprintf2.sh: New file. + * tests/unistdio/test-u8-vasnprintf3.c: New file. + * tests/unistdio/test-u8-vasnprintf3.sh: New file. + * tests/unistdio/test-u8-vasprintf1.c: New file. + * tests/unistdio/test-u8-vsnprintf1.c: New file. + * tests/unistdio/test-u8-vsprintf1.c: New file. + * tests/unistdio/test-u16-asnprintf1.c: New file. + * tests/unistdio/test-u16-asnprintf1.h: New file. + * tests/unistdio/test-u16-printf1.h: New file. + * tests/unistdio/test-u16-vasnprintf1.c: New file. + * tests/unistdio/test-u16-vasnprintf2.c: New file. + * tests/unistdio/test-u16-vasnprintf2.sh: New file. + * tests/unistdio/test-u16-vasnprintf3.c: New file. + * tests/unistdio/test-u16-vasnprintf3.sh: New file. + * tests/unistdio/test-u16-vasprintf1.c: New file. + * tests/unistdio/test-u16-vsnprintf1.c: New file. + * tests/unistdio/test-u16-vsprintf1.c: New file. + * tests/unistdio/test-u32-asnprintf1.c: New file. + * tests/unistdio/test-u32-asnprintf1.h: New file. + * tests/unistdio/test-u32-printf1.h: New file. + * tests/unistdio/test-u32-vasnprintf1.c: New file. + * tests/unistdio/test-u32-vasnprintf2.c: New file. + * tests/unistdio/test-u32-vasnprintf2.sh: New file. + * tests/unistdio/test-u32-vasnprintf3.c: New file. + * tests/unistdio/test-u32-vasnprintf3.sh: New file. + * tests/unistdio/test-u32-vasprintf1.c: New file. + * tests/unistdio/test-u32-vsnprintf1.c: New file. + * tests/unistdio/test-u32-vsprintf1.c: New file. + * modules/unistdio/base: New file. + * modules/unistdio/u-printf-args: New file. + * modules/unistdio/ulc-asnprintf: New file. + * modules/unistdio/ulc-asprintf: New file. + * modules/unistdio/ulc-fprintf: New file. + * modules/unistdio/ulc-printf-parse: New file. + * modules/unistdio/ulc-snprintf: New file. + * modules/unistdio/ulc-sprintf: New file. + * modules/unistdio/ulc-vasnprintf: New file. + * modules/unistdio/ulc-vasprintf: New file. + * modules/unistdio/ulc-vfprintf: New file. + * modules/unistdio/ulc-vsnprintf: New file. + * modules/unistdio/ulc-vsprintf: New file. + * modules/unistdio/u8-asnprintf: New file. + * modules/unistdio/u8-asprintf: New file. + * modules/unistdio/u8-printf-parse: New file. + * modules/unistdio/u8-snprintf: New file. + * modules/unistdio/u8-sprintf: New file. + * modules/unistdio/u8-vasnprintf: New file. + * modules/unistdio/u8-vasprintf: New file. + * modules/unistdio/u8-vsnprintf: New file. + * modules/unistdio/u8-vsprintf: New file. + * modules/unistdio/u8-u8-asnprintf: New file. + * modules/unistdio/u8-u8-asprintf: New file. + * modules/unistdio/u8-u8-snprintf: New file. + * modules/unistdio/u8-u8-sprintf: New file. + * modules/unistdio/u8-u8-vasnprintf: New file. + * modules/unistdio/u8-u8-vasprintf: New file. + * modules/unistdio/u8-u8-vsnprintf: New file. + * modules/unistdio/u8-u8-vsprintf: New file. + * modules/unistdio/u16-asnprintf: New file. + * modules/unistdio/u16-asprintf: New file. + * modules/unistdio/u16-printf-parse: New file. + * modules/unistdio/u16-snprintf: New file. + * modules/unistdio/u16-sprintf: New file. + * modules/unistdio/u16-vasnprintf: New file. + * modules/unistdio/u16-vasprintf: New file. + * modules/unistdio/u16-vsnprintf: New file. + * modules/unistdio/u16-vsprintf: New file. + * modules/unistdio/u16-u16-asnprintf: New file. + * modules/unistdio/u16-u16-asprintf: New file. + * modules/unistdio/u16-u16-snprintf: New file. + * modules/unistdio/u16-u16-sprintf: New file. + * modules/unistdio/u16-u16-vasnprintf: New file. + * modules/unistdio/u16-u16-vasprintf: New file. + * modules/unistdio/u16-u16-vsnprintf: New file. + * modules/unistdio/u16-u16-vsprintf: New file. + * modules/unistdio/u32-asnprintf: New file. + * modules/unistdio/u32-asprintf: New file. + * modules/unistdio/u32-printf-parse: New file. + * modules/unistdio/u32-snprintf: New file. + * modules/unistdio/u32-sprintf: New file. + * modules/unistdio/u32-vasnprintf: New file. + * modules/unistdio/u32-vasprintf: New file. + * modules/unistdio/u32-vsnprintf: New file. + * modules/unistdio/u32-vsprintf: New file. + * modules/unistdio/u32-u32-asnprintf: New file. + * modules/unistdio/u32-u32-asprintf: New file. + * modules/unistdio/u32-u32-snprintf: New file. + * modules/unistdio/u32-u32-sprintf: New file. + * modules/unistdio/u32-u32-vasnprintf: New file. + * modules/unistdio/u32-u32-vasprintf: New file. + * modules/unistdio/u32-u32-vsnprintf: New file. + * modules/unistdio/u32-u32-vsprintf: New file. + * modules/unistdio/ulc-asnprintf-tests: New file. + * modules/unistdio/ulc-vasnprintf-tests: New file. + * modules/unistdio/ulc-vasprintf-tests: New file. + * modules/unistdio/ulc-vsnprintf-tests: New file. + * modules/unistdio/ulc-vsprintf-tests: New file. + * modules/unistdio/u8-asnprintf-tests: New file. + * modules/unistdio/u8-vasnprintf-tests: New file. + * modules/unistdio/u8-vasprintf-tests: New file. + * modules/unistdio/u8-vsnprintf-tests: New file. + * modules/unistdio/u8-vsprintf-tests: New file. + * modules/unistdio/u16-asnprintf-tests: New file. + * modules/unistdio/u16-vasnprintf-tests: New file. + * modules/unistdio/u16-vasprintf-tests: New file. + * modules/unistdio/u16-vsnprintf-tests: New file. + * modules/unistdio/u16-vsprintf-tests: New file. + * modules/unistdio/u32-asnprintf-tests: New file. + * modules/unistdio/u32-vasnprintf-tests: New file. + * modules/unistdio/u32-vasprintf-tests: New file. + * modules/unistdio/u32-vsnprintf-tests: New file. + * modules/unistdio/u32-vsprintf-tests: New file. + * MODULES.html.sh (Unicode string functions): Add the new modules. + +2007-07-01 Bruno Haible + + * lib/sprintf.c (sprintf): Limit the available length estimation, + to avoid address wraparound. + * lib/vsprintf.c (vsprintf): Likewise. + * modules/sprintf-posix (Dependencies): Add stdint. + * modules/vsprintf-posix (Dependencies): Likewise. + +2007-07-01 Bruno Haible + + * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle + Windows PATH as well. Conservative double-quoting. Comments. + +2007-07-01 Bruno Haible + Eric Blake + Ralf Wildenhues + + * gnulib-tool (self_abspathname): Fix algorithm to cope with + empty components in $PATH, denoting '.'. + +2007-07-01 Ralf Wildenhues + + * gnulib-tool: Fix indentation. + (func_create_megatestdir): Likewise. + Report by Bruno Haible. + +2007-06-30 Ralf Wildenhues + + Sync from Automake. + * build-aux/gnupload: Fix shell portability issues with for loops. + Report by Karl Berry. + +2007-06-29 Simon Josefsson + + * build-aux/maint.mk (POURL): Use translationproject.org. + +2007-06-27 Simon Josefsson + Bruno Haible + + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET + before using HAVE_WS2TCPIP_H. Check for gai_strerror through an + explicit link test, rather than AC_REPLACE_FUNCS - for mingw. + (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using + HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H. + +2007-06-27 Bruno Haible + + * build-aux/config.rpath: Upgrade to libtool-1.5.24. + * build-aux/config.libpath: Upgrade to libtool-1.5.24. + +2007-06-26 Karl Berry + + * MODULES.html.sh: remove xreadlink-with-size. + +2007-06-23 Paul Eggert + + * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a + method that I hope also handles the double-include problem noted + by Bruno Haible in + . + +2007-06-23 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Don't let the 'mostlyclean' target fail if the last subdirectory could + not be removed. + Reported by Karl Berry. + +2007-06-23 Bruno Haible + + * gnulib-tool (echo): Add a speedier workaround for ksh. + * tests/test-echo.sh: Likewise. + +2007-06-23 Bruno Haible + + * gnulib-tool (echo): Add workarounds also for bash versions < 2.04. + * tests/test-echo.sh: Likewise. + +2007-06-23 Ralf Wildenhues + + * gnulib-tool (IFS): Initialize early, so we don't set it to + empty later. + (self_abspathname): Rewrite algorithm to set it, reindent. + (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am) + (func_create_megatestdir): Merge some sed scripts. + +2007-06-23 Paul Eggert + + * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos + exposed by Sun Studio 11 cc on Solaris 8. + +2007-06-22 Bruno Haible + + * gnulib-tool (echo): Ensure the echo primitive does not interpret + backslashes. + * tests/test-echo.sh: New file. + +2007-06-22 Ralf Wildenhues + + * gnulib-tool (func_add_or_update, func_create_testdir): Do not + simplify `sed_replace_build_aux' scripts, they are portable but + echoing them with `echo' is not. + Report and analysis by Fernando Ferreira . + +2007-06-21 Karl Berry + + * config/srclist.txt: guess we can't handle the licenses via + srclist at the moment. + +2007-06-21 Paul Eggert + + * MODULES.html.sh: Add include_next. + * modules/include_next: New file. + +2007-06-20 Paul Eggert + + * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST + INCLUDE_NEXT. + (gl_CHECK_NEXT_HEADERS): New macro. + * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of + the obsolescent gl_ABSOLUTE_HEADER. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise. + * m4/float_h.m4 (gl_FLOAT_H): Likewise. + * m4/iconv_h.m4 (gl_ICONV_H): Likewise. + * m4/inttypes.m4 (gl_INTTYPES_H): Likewise. + * m4/locale_h.m4 (gl_LOCALE_H): Likewise. + * m4/math_h.m4 (gl_MATH_H): Likewise. + * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise. + * m4/search_h.m4 (gl_SEARCH_H): Likewise. + * m4/signal_h.m4 (gl_SIGNAL_H): Likewise. + * m4/stdint.m4 (gl_STDINT_H): Likewise. + * m4/stdio_h.m4 (gl_STDIO_H): Likewise. + * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise. + * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise. + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise. + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise. + * m4/sysexits.m4 (gl_SYSEXITS): Likewise. + * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. + * m4/wchar.m4 (gl_WCHAR_H): Likewise. + * m4/wctype.m4 (gl_WCTYPE_H): Likewise. + * m4/inttypes.m4 (gl_INTTYPES_H): Define + _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean + builds, since ABSOLUTE_INTTYPES_H is no longer being defined. + * m4/stdint.m4 (gl_STDINT_H): Likewise, for + _GL_JUST_INCLUDE_SYSTEM_STDINT_H. + * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@ + rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@. + * lib/float_.h: Likewise. + * lib/inttypes_.h: Likewise. + * lib/math_.h: Likewise. + * lib/search_.h: Likewise. + * lib/signal_.h: Likewise. + * lib/stdint_.h: Likewise. + * lib/stdio_.h: Likewise. + * lib/stdlib_.h: Likewise. + * lib/string_.h: Likewise. + * lib/sys_stat_.h: Likewise. + * lib/sys_time_.h: Likewise. + * lib/time_.h: Likewise. + * lib/unistd_.h: Likewise. + * lib/wchar_.h: Likewise. + * lib/wctype_.h: Likewise. + * lib/dirent_.h: Likewise. + * lib/iconv_.h: Likewise. + * lib/locale_.h: Likewise. + * lib/netinet_in_.h: Likewise. + * lib/sys_select_.h: Likewise. + * lib/sys_socket_.h: Likewise. + * lib/sysexits_.h: Likewise. + * modules/fcntl (Depends-on): Depend on include_next, not + absolute_header. + (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not + HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H. + * modules/fchdir: Likewise. + * modules/float: Likewise. + * modules/iconv_open: Likewise. + * modules/inttypes: Likewise. + * modules/locale: Likewise. + * modules/math: Likewise. + * modules/netinet_in: Likewise. + * modules/search: Likewise. + * modules/signal: Likewise. + * modules/stdint: Likewise. + * modules/stdio: Likewise. + * modules/stdlib: Likewise. + * modules/string: Likewise. + * modules/sys_select: Likewise. + * modules/sys_socket: Likewise. + * modules/sys_stat: Likewise. + * modules/sys_time: Likewise. + * modules/sysexits: Likewise. + * modules/time: Likewise. + * modules/unistd: Likewise. + * modules/wchar: Likewise. + * modules/wctype: Likewise. + * modules/sys_stat: Change maintainer to "all". + * modules/unistd: Likewise. + +2007-06-20 Karl Berry + + * config/srclist.txt: track www changes in license files. + +2007-06-20 Sergey Poznyakoff + + * build-aux/bootstrap: Remove stray dot. + Make sure build_aux settings are honored when linking + gnulib_extra_files. + +2007-06-19 Eric Blake + + * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD): + Allow compilation on cygwin. + +2007-06-19 Jim Meyering + + xreadlink-with-size: Remove module. No longer used. + Ex-callers now use xreadlink or mreadlink-with-size. + * modules/xreadlink-with-size: Remove module. + * lib/xreadlink-with-size.c: Remove file. + * lib/xreadlink.h (xreadlink_with_size): Remove prototype. + (xreadlink): Remove inaccurate comment. The one in xreadlink.c, + just before the function definition *is* accurate. + + Eliminate one way canonicalize_filename_mode could exit. + * lib/canonicalize.c (canonicalize_filename_mode): + Use mreadlink_with_size, not xreadlink_with_size. + +2007-06-18 Paul Eggert + + Detect porting problems to FreeBSD/arm, which has time_t wider than + long int. Original problem reported for GNU diff by Xin Li in + . + * modules/getdate (Depends-on): Add intprops, verify. + * lib/getdate.y: Include intprops.h, verify.h. Verify that time_t + is an integer type no wider than long int. + +2007-06-18 Jim Meyering + + New module: mreadlink-with-size. + * MODULES.html.sh: Add mreadlink-with-size. + * modules/mreadlink-with-size: New module + * modules/canonicalize (Depends-on): Depend on mreadlink-with-size, + not xreadlink-with-size. + * lib/mreadlink-with-size.c, lib/mreadlink.h: New files. + +2007-06-16 Bruno Haible + + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug. + * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug. + Reported by Gary V. Vaughan . + +2007-06-15 Paul Eggert + + Revamp lchown so that it lives in unistd.h where it belongs. + * lib/lchown.h: Remove. + * lib/dirchownmod.c: Don't include lib/lchown.h. + * lib/fchownat.c: Likewise. + * lib/openat.c: Likewise. + * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown + does not follow symlinks. + (EOPNOTSUPP): Define if not defined. + * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN + is defined to 0. + (lchown): New decl. + * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS. + Do not check for lchown decl. + Set REPLACE_LCHOWN. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN, + REPLACE_LCHOWN. + * modules/chown: Make it clear it follows symlinks. + * modules/lchown: Make it clear it doesn't follow symlinks. + (Files): Remove lib/lchown.h + (Depends-on): Add unistd. + (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]). + (Include): Include , not "lchown.h". + * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and + REPLACE_LCHOWN. + +2007-06-15 Jim Meyering + + Change license (GPL to LGPL) of fsusage and dependents. + * modules/fsusage (License): Change to LGPL. + * modules/full-read (License): Likewise. + * modules/full-write (License): Likewise. + * modules/safe-read (License): Likewise. + * modules/safe-write (License): Likewise. + +2007-06-14 Ben Pfaff + + Missing part of allocsa -> malloca transition. + * modules/relocatable-prog-wrapper: gl_ALLOCSA should be + gl_MALLOCA. + +2007-06-12 Bruno Haible + + * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling + to ia64, x86_64, i386. + Reported by Eric Blake. + +2007-06-12 Bruno Haible + + * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when + cross-compiling to x86_64. + +2007-06-12 Paul Eggert + + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability + glitch reported by Ralf Wildenhues in + . + + * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by + Vin Shelton. + +2007-06-11 Bruno Haible + + * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL + replacement string. + Reported by Eric Blake. + +2007-06-10 Bruno Haible + + Prepare vasnprintf code for use with Unicode strings. + * lib/printf-args.h (PRINTF_FETCHARGS): New macro. + (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING, + TYPE_U32_STRING. + (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string, + a_u32_string variants. + (PRINTF_FETCHARGS): Renamed from printf_fetchargs. + * lib/printf-args.c: Don't include config.h and the specification + header if PRINTF_FETCHARGS is already defined. + (PRINTF_FETCHARGS): Renamed from printf_fetchargs. + (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING, + TYPE_U16_STRING, TYPE_U32_STRING. + * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives, + u16_directive, u16_directives, u32_directive, u32_directives): New + types. + (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse): + New declarations. + * lib/printf-parse.c: Don't include config.h and the specification + header if PRINTF_PARSE is already defined. Eliminate the set of + parameters for WIDE_CHAR_VERSION; the user of this file must provide + them now. Include c-ctype.h. + (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U' + directive and CHAR_T_ONLY_ASCII. + * lib/vasnprintf.c: Don't include config.h and the specification header + if VASNPRINTF is already defined. + (DCHAR_IS_TCHAR, DCHAR_CPY): New macros. + (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use + DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same + type. Handle the case that TCHAR_T and FCHAR_T are not of the same + size. Handle the case that DCHAR_T and TCHAR_T are not the same type, + add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding + code accordingly. + (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable + pad_ourselves also in this case, with the 'c' and 's' directives, and + with a different notion of "width". + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros. + +2007-06-10 Bruno Haible + + * modules/unistr/u32-mbsnlen: New file. + * lib/unistr/u32-mbsnlen.c: New file. + + * modules/unistr/u16-mbsnlen: New file. + * lib/unistr/u16-mbsnlen.c: New file. + + * modules/unistr/u8-mbsnlen: New file. + * lib/unistr/u8-mbsnlen.c: New file. + + * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New + declarations. + +2007-06-10 Bruno Haible + + * lib/string_.h (mbsnlen): New declaration. + * lib/mbsnlen.c: New file. + * m4/mbsnlen.m4: New file. + * modules/mbsnlen: New file. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN. + * modules/string (string.h): Substitute GNULIB_MBSNLEN. + * MODULES.html.sh (Internationalization functions): Add mbsnlen. + +2007-06-10 Bruno Haible + + * lib/mbslen.c: Include , needed for MB_CUR_MAX. + +2007-06-10 Bruno Haible + + * lib/mbiter.h: Include , needed for ptrdiff_t. + * lib/mbuiter.h: Likewise. + +2007-06-10 Bruno Haible + + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf + declaration. + +2007-06-10 Karl Berry + + * config/srclist.txt: remove gettext entries, Bruno prefers + to update individually. + +2007-06-10 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable + 'maxlen'. Ensure only length + width bytes are allocated, not + length + 1 + width. + +2007-06-09 Bruno Haible + + * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros. + (CHAR_T): Remove macro. + (VASNPRINTF): Update. + +2007-06-09 Bruno Haible + + * MODULES.html.sh (Unicode string functions): Add the new modules. + + * modules/uniconv/u32-conv-to-enc: New file. + * lib/uniconv/u32-conv-to-enc.c: New file. + * modules/uniconv/u32-conv-to-enc-tests: New file. + * tests/uniconv/test-u32-conv-to-enc.c: New file. + + * modules/uniconv/u16-conv-to-enc: New file. + * lib/uniconv/u16-conv-to-enc.c: New file. + * lib/uniconv/u-conv-to-enc.h: New file. + * modules/uniconv/u16-conv-to-enc-tests: New file. + * tests/uniconv/test-u16-conv-to-enc.c: New file. + + * modules/uniconv/u8-conv-to-enc: New file. + * lib/uniconv/u8-conv-to-enc.c: New file. + * modules/uniconv/u8-conv-to-enc-tests: New file. + * tests/uniconv/test-u8-conv-to-enc.c: New file. + + * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding, + u32_conv_to_encoding): New declarations. + +2007-06-09 Bruno Haible + + * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code. + +2007-06-09 Bruno Haible + + Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'. + * modules/malloca: Renamed from modules/allocsa, updated. + * lib/malloca.h: Renamed from lib/allocsa.h, updated. + * lib/malloca.c: Renamed from lib/allocsa.c, updated. + * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated. + * m4/malloca.m4: Renamed from m4/allocsa.m4, updated. + * modules/malloca-tests: Renamed from modules/allocsa-tests, updated. + * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated. + * modules/xmalloca: Renamed from modules/xallocsa, updated. + * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated. + * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated. + * modules/c-strcasestr (Depends-on): Update. + * lib/c-strcasestr.c: Update. + * modules/c-strstr (Depends-on): Update. + * lib/c-strstr.c: Update. + * modules/canonicalize-lgpl (Depends-on): Update. + * lib/canonicalize-lgpl.c: Update. + * modules/clean-temp (Depends-on): Update. + * lib/clean-temp.c: Update. + * modules/csharpcomp (Depends-on): Update. + * lib/csharpcomp.c: Update. + * modules/csharpexec (Depends-on): Update. + * lib/csharpexec.c: Update. + * modules/javacomp (Depends-on): Update. + * lib/javacomp.c: Update. + * modules/javaexec (Depends-on): Update. + * lib/javaexec.c: Update. + * modules/mbscasestr (Depends-on): Update. + * lib/mbscasestr.c: Update. + * modules/mbsstr (Depends-on): Update. + * lib/mbsstr.c: Update. + * modules/setenv (Depends-on): Update. + * lib/setenv.c: Update. + * modules/strcasestr (Depends-on): Update. + * lib/strcasestr.c: Update. + * modules/striconveha (Depends-on): Update. + * lib/striconveha.c: Update. + * modules/relocatable-prog-wrapper (Files): Update. + * lib/relocwrapper.c: Update. + * build-aux/install-reloc: Update. + * MODULES.html.sh (Memory management functions ): Update. + +2007-06-08 Bruno Haible + + Port to uClibc. + * lib/fbufmode.c (fbufmode): Add special code for uClibc. + * lib/fpurge.c (fpurge): Likewise. + * lib/freading.c (freading): Likewise. + * lib/fseeko.c (rpl_fseeko): Likewise. + * lib/fseterr.c (fseterr): Likewise. + * lib/fwriting.c (fwriting): Likewise. + * tests/test-fflush.c (main): Avoid a failure on uClibc. + +2007-06-08 Bruno Haible + + * m4/intlmacosx.m4: New file, extracted from gettext.m4. + * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4. + * modules/gettext (Files): Add m4/intlmacosx.m4. + +2007-06-07 Bruno Haible + + * modules/localename-tests: New file. + * tests/test-localename.c: New file. + + New module 'localename'. + * lib/localename.h: New file. + * lib/localename.c: New file, from GNU gettext. + * m4/localename.m4: New file. + * modules/localename: New file. + +2007-06-07 Bruno Haible + + Work around the lack of on some builds of uClibc. + * doc/headers/wchar.texi: Update. + * lib/wchar_.h: Include only if it exists. + * m4/wchar.m4 (gl_WCHAR_H): Check for . Set HAVE_WCHAR_H. + * m4/stdint.m4 (gl_STDINT_H): Check for . + (gl_STDINT_TYPE_PROPERTIES): Don't try to include if it + doesn't exist. + * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H. + * modules/mbfile (Depends-on): Add wchar. + * modules/mbiter (Depends-on): Likewise. + * modules/mbuiter (Depends-on): Likewise. + Reported by Simon Josefsson. + +2007-06-06 Paul Eggert + + Work around problem reported by Steven M. Schweda in + : + Tru64 5.1B with the Compaq compiler environment installed declares + an 'isblank' function but does not define it in the C library. + * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too. + * lib/regex_internal.h (isblank): Likewise. + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence. + * m4/regex.m4 (gl_PREREQ_REGEX): Likewise. + +2007-06-05 Bruno Haible + + Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64, + ia64. + * modules/printf-safe: New file. + * modules/fprintf-posix (Depends-on): Add printf-safe. + * modules/printf-posix (Depends-on): Likewise. + * modules/snprintf-posix (Depends-on): Likewise. + * modules/sprintf-posix (Depends-on): Likewise. + * modules/vasnprintf-posix (Depends-on): Likewise. + * modules/vasprintf-posix (Depends-on): Likewise. + * modules/vfprintf-posix (Depends-on): Likewise. + * modules/vprintf-posix (Depends-on): Likewise. + * modules/vsnprintf-posix (Depends-on): Likewise. + * modules/vsprintf-posix (Depends-on): Likewise. + * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require + AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test + non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess + "no" on i386, x86_64, ia64. + * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro. + (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers + on i386, x86_64, ia64. + * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro. + (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers + on i386, x86_64, ia64. + * tests/test-vasnprintf-posix.c: Include float.h. + (LDBL80_WORDS): New macro. + (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers + on i386, x86_64, ia64. + * tests/test-vasprintf-posix.c: Include float.h. + (LDBL80_WORDS): New macro. + (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers + on i386, x86_64, ia64. + * tests/test-snprintf-posix.c: Include float.h. + * tests/test-sprintf-posix.c: Likewise. + * tests/test-vsnprintf-posix.c: Likewise. + * tests/test-vsprintf-posix.c: Likewise. + +2007-06-05 Bruno Haible + + Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64. + * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test + non-IEEE numbers on i386, x86_64, ia64. + (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN. + * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64. + * tests/test-isnanl.h: Include float.h. + (main): Check also non-IEEE numbers on i386, x86_64, ia64. + +2007-06-05 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf + also the %a / %A. Handle the %a / %A code before this extra handling. + +2007-06-05 Bruno Haible + + * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE || + NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h. + +2007-06-05 Bruno Haible + + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix + typo in variable name. + +2007-06-05 Eric Blake + + * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling. + Reported by Simon Josefsson. + +2007-06-04 Bruno Haible + + Avoid test failures on some PowerPC platforms. + * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): + Define differently for PowerPC. + * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise. + Reported by Gary V. Vaughan . + +2007-06-02 Bruno Haible + + Fix test-stdint failure on FreeBSD/ia64. + * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN, + PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, + WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility. + * doc/headers/stdint.texi: Update. + +2007-06-01 Bruno Haible + + * tests/test-binary-io.c (main): Pass a third argument to open(). + Reported by Gary V. Vaughan . + +2007-06-01 Bruno Haible + + * doc/functions/frexpl.texi: Update for mingw. + +2007-06-01 Bruno Haible + + * tests/test-lseek.c (main): Disable test of errno for invalid third + argument. + * doc/functions/lseek.texi: Update. + Reported by Gary V. Vaughan . + +2007-05-28 Bruno Haible + + * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES. + +2007-05-31 Eric Blake + + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when + cross compiling. + +2007-05-30 Eric Blake + and Bruno Haible + + Work around mingw test failures exposed by m4-1.4.9b. + * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug. + * tests/test-unistd.c: Disable uid_t and git_t tests for the + moment. + +2007-05-30 Bruno Haible + + * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before + assuming that they are closed. Needed on HP-UX 11. + +2007-05-29 Bruno Haible + + Fix a problem with #include_next. + * lib/dirent_.h: Split the double-inclusion guard. + * lib/fcntl_.h: Likewise. + * lib/float_.h: Likewise. + * lib/iconv_.h: Likewise. + * lib/inttypes_.h: Likewise. + * lib/locale_.h: Likewise. + * lib/math_.h: Likewise. + * lib/netinet_in_.h: Likewise. + * lib/search_.h: Likewise. + * lib/signal_.h: Likewise. + * lib/stdint_.h: Likewise. + * lib/stdio_.h: Likewise. + * lib/stdlib_.h: Likewise. + * lib/string_.h: Likewise. + * lib/sys_select_.h: Likewise. + * lib/sys_socket_.h: Likewise. + * lib/sys_stat_.h: Likewise. + * lib/sys_time_.h: Likewise. + * lib/sysexits_.h: Likewise. + * lib/time_.h: Likewise. + * lib/unistd_.h: Likewise. + * lib/wchar_.h: Likewise. + * lib/wctype_.h: Likewise. + +2007-05-29 Bruno Haible + + * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t + for the moment. + +2007-05-29 Bruno Haible + + * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN + invocation. + Reported by Eric Blake. + +2007-05-29 Bruno Haible + + * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross- + compiling case. + +2007-05-29 Eric Blake + Bruno Haible + + * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on + cross compiles. + +2007-05-28 Eric Blake + + * modules/closein-tests (test_closein_LDADD): Support test on + cygwin with libtool. + +2007-05-28 Bruno Haible + + * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H. + * tests/uniconv/test-u16-strconv-from-enc.c: Likewise. + * tests/uniconv/test-u16-strconv-to-enc.c: Likewise. + * tests/uniconv/test-u32-conv-from-enc.c: Likewise. + * tests/uniconv/test-u32-strconv-from-enc.c: Likewise. + * tests/uniconv/test-u32-strconv-to-enc.c: Likewise. + * tests/uniconv/test-u8-conv-from-enc.c: Likewise. + * tests/uniconv/test-u8-strconv-from-enc.c: Likewise. + * tests/uniconv/test-u8-strconv-to-enc.c: Likewise. + +2007-05-28 Eric Blake + + Unconditionally include in unit tests. + * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H. + * tests/test-allocsa.c, tests/test-arcfour.c, + tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c, + tests/test-array_list.c, tests/test-array_oset.c, + tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c, + test-avltreehash_list.c, test-base64.c, test-binary-io.c, + test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c, + test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c, + test-carray_list.c, test-crc.c, test-des.c, test-dirname.c, + test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c, + test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c, + test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c, + test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c, + test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c, + test-iconv.c, test-linked_list.c, test-linkedhash_list.c, + test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c, + test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c, + test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c, + test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c, + test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c, + test-md5.c, test-memmem.c, test-printf-posix.c, + test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c, + test-read-file.c, test-rijndael.c, test-snprintf-posix.c, + test-snprintf.c, test-sprintf-posix.c, test-stdint.c, + test-strcasestr.c, test-striconv.c, test-striconveh.c, + test-striconveha.c, test-tls.c, test-vasnprintf-posix.c, + test-vasnprintf-posix2.c, test-vasnprintf.c, + test-vasprintf-posix.c, test-vasprintf.c, test-verify.c, + test-vfprintf-posix.c, test-vprintf-posix.c, + test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c, + test-xvasprintf.c: Likewise. + +2007-05-28 Bruno Haible + + * gnulib-tool (func_import): Remember the --with-tests command-line + option through the macro gl_WITH_TESTS in the gnulib-cache.m4. + Reported by Eric Blake. + +2007-05-28 Bruno Haible + + * modules/ftell-tests: New file. + * tests/test-ftell.c: New file, based on tests/test-ftello.c. + * tests/test-ftell.sh: New file, based on tests/test-ftello.sh. + + * lib/ftell.c: New file. + * modules/ftell: New file. + * m4/ftell.m4: New file. + * doc/functions/ftell.texi: Update. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL, + REPLACE_FTELL. + * lib/stdio_.h (rpl_ftell): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL, + REPLACE_FTELL. + +2007-05-28 Eric Blake + + * lib/allocsa.h (safe_alloca): Avoid compiler warning. + +2007-05-28 Bruno Haible + + * modules/fseek-tests: New file. + * tests/test-fseek.c: New file, based on tests/test-fseeko.c. + * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh. + + * lib/fseek.c: New file. + * modules/fseek: New file. + * m4/fseek.m4: New file. + * doc/functions/fseek.texi: Update. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK, + REPLACE_FSEEK. + * lib/stdio_.h (rpl_fseek): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK, + REPLACE_FSEEK. + +2007-05-28 Bruno Haible + + * lib/stdio_.h (fflush): More comments. + +2007-05-28 Bruno Haible + + * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real + runtime test. + +2007-05-28 Eric Blake + + Improve lseek module. + * lib/lseek.c (rpl_lseek): Detect EBADF on mingw. + * lib/unistd_.h (lseek): Scale back link warning message. + * tests/test-lseek.c: Beef up test. + * tests/test-lseek.sh: Exercise more facets of lseek. + Reported by Bruno Haible. + +2007-05-28 Bruno Haible + + * tests/test-unistd.c: Test all the types that is expected + to define. + +2007-05-27 Bruno Haible + + * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch. + +2007-05-27 Bruno Haible + + * modules/openmp: New file. + * m4/openmp.m4: New file, taken from autoconf's CVS with changes by + Noah Misch. + +2007-05-26 Bruno Haible + + * modules/chdir-long (Depends-on): Add fchdir. + * modules/chdir-safer (Depends-on): Likewise. + * modules/fts (Depends-on): Likewise. + * modules/fts-lgpl (Depends-on): Likewise. + * modules/openat (Depends-on): Likewise. + * modules/savewd (Depends-on): Likewise. + +2007-05-24 Eric Blake + + Fix lseek on mingw. + * modules/lseek: New module. + * m4/lseek.m4: New file. + * lib/lseek.c: New file. + * modules/lseek-tests: New file. + * tests/test-lseek.c: New file. + * tests/test-lseek.sh: New file. + * MODULES.html.sh: Document lseek module. + * modules/fflush (Depends-on): Add lseek, fseeko. + * modules/fseeko (Depends-on): Likewise. + * modules/ftello (Depends-on): Likewise. + * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is + broken. + * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is + broken. + * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module. + * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files. + * lib/ftello.c (rpl_ftello): Likewise. + * tests/test-fseeko.c (main): Test this. + * tests/test-fseeko.sh: Likewise. + * tests/test-ftello.c (main): Likewise. + * tests/test-ftello.sh: Likewise. + * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now + implies replacing fseek. + * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO, + HAVE_FTELLO. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info. + * modules/unistd (Makefile.am): Likewise. + * lib/unistd_.h (lseek): Declare a replacement. + * doc/functions/lseek.texi (lseek): Document this fix. + * doc/functions/fseek.texi (fseek): Likewise. + * doc/functions/ftell.texi (ftell): Likewise. + +2007-05-24 Bruno Haible + + * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes + in the printed representation of a NaN. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + Reported by Eric Blake. + +2007-05-23 Eric Blake + + Fix fseeko/ftello on cygwin 1.5.24. + * doc/functions/fseeko.texi (fseeko): Document the fix. + * doc/functions/ftello.texi (ftello): Document the fix. + * doc/functions/stdin.texi (stdin): Document the cygwin bug. + * doc/functions/stdout.text (stdout): New file. + * doc/functions/stderr.text (stderr): New file. + * doc/gnulib.texi (Function Substitutes): Use new files. + * tests/test-fseeko.c (main): Check for broken fseeko on cygwin + prior to 1.7.0. + * tests/test-ftello.c (main): Likewise for ftello. + * tests/test-fseeko.sh: New file. + * tests/test-ftello.sh: New file. + * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run + with seekable stdin. + * modules/ftello-tests (Makefile.am): Likewise for test-ftello. + * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug. + (gl_REPLACE_FSEEKO): New macro. + * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise. + * modules/fseeko (Files): Distribute fseeko.c. + * modules/ftello (Files): Distribute ftello.c. + * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit + mode. + * lib/ftello.c (rpl_ftello): New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of + fseeko, ftello. + (gl_STDIN_LARGE_OFFSET): New macro. + * modules/stdio (Makefile.am): Perform the replacement. + * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed. + +2007-05-23 Bruno Haible + + * lib/stdio_.h (fseeko, ftello): Provide a link warning only if + GNULIB_POSIXCHECK is defined. + +2007-05-21 Bruno Haible + + * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE): + Check also the output for NaN arguments. When cross-compiling, guess + no on IRIX. + * lib/vasnprintf.c: Update comments. + * tests/test-vasnprintf-posix.c (strisnan): New function. + (test_function): Use it. + * tests/test-vasprintf-posix.c (strisnan): New function. + (test_function): Use it. + * tests/test-snprintf-posix.h (strisnan): New function. + (test_function): Use it. + * tests/test-sprintf-posix.h (strisnan): New function. + (test_function): Use it. + Reported by Eric Blake. + +2007-05-20 Bruno Haible + + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite + numbers that fails on BeOS. + * doc/functions/frexpl.texi: Update. + +2007-05-20 Jim Meyering + + * NEWS: Mention the incompatible change (s/futimens/gl_futimens/) + forced upon us by glibc-2.6. + +2007-05-20 Bruno Haible + + Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1. + * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses. + (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro. + * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of + NEED_PRINTF_INFINITE. + (is_infinitel): New function. + (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from + gl_PREREQ_VASNPRINTF_INFINITE. + (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro. + * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke + gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke + gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and + gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of + gl_PREREQ_VASNPRINTF_INFINITE. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise. + * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise. + * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. + * doc/functions/fprintf.texi: Update. + * doc/functions/printf.texi: Update. + * doc/functions/snprintf.texi: Update. + * doc/functions/sprintf.texi: Update. + * doc/functions/vfprintf.texi: Update. + * doc/functions/vprintf.texi: Update. + * doc/functions/vsnprintf.texi: Update. + * doc/functions/vsprintf.texi: Update. + +2007-05-20 Bruno Haible + + * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl + was not found in libc. + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise. + +2007-05-20 Bruno Haible + + * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be + printed as "-nan" instead of "nan". + * tests/test-vasprintf-posix.c (test_function): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + Needed for HP-UX 11. + +2007-05-20 Jim Meyering + + Fix buggy test for the fchownat-deref bug. + * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling + symlink required for the run-test. Without it, this test would + always declare that fchownat doesn't work, and client code would + unnecessarily use the replacement function with fixed libc. + (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized. + Reported by Greg Schafer. + +2007-05-19 Bruno Haible + + * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro. + (gl_FUNC_ISNANF_NO_LIBM): Invoke it. + * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler. + Needed for IRIX 6.5 and Solaris 2.5.1. + +2007-05-19 Bruno Haible + + * tests/test-vasnprintf-posix.c (have_minus_zero): New function. + (test_function): Skip tests involving -0.0 on platforms where + -0.0 = 0.0. + * tests/test-vasprintf-posix.c (have_minus_zero): New function. + (test_function): Skip tests involving -0.0 on platforms where + -0.0 = 0.0. + * tests/test-snprintf-posix.h (have_minus_zero): New function. + (test_function): Skip tests involving -0.0 on platforms where + -0.0 = 0.0. + * tests/test-sprintf-posix.h (have_minus_zero): New function. + (test_function): Skip tests involving -0.0 on platforms where + -0.0 = 0.0. + * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related + tests. + * tests/test-printf-posix.h (test_function): Likewise. + * tests/test-printf-posix.output: Remove all -0.0 related results. + Needed for IRIX 6.5. + +2007-05-19 Bruno Haible + + * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be + printed as "nan0x7fffffff" instead of "nan". + * tests/test-vasprintf-posix.c (test_function): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-fprintf-posix.h (NaN): Remove macro. + (test_function): Remove all NaN related tests. + * tests/test-printf-posix.h (NaN): Remove macro. + (test_function): Remove all NaN related tests. + * tests/test-printf-posix.output: Remove all NaN related results. + Needed for IRIX 6.5. + +2007-05-19 Bruno Haible + + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code. + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise. + +2007-05-19 Bruno Haible + + * lib/float_.h: New file. + * m4/float_h.m4: New file. + * modules/float: New file. + * modules/isnanl (Dependencies): Add float. + * modules/isnanl-nolibm (Dependencies): Likewise. + * modules/mathl (Dependencies): Likewise. + * modules/printf-frexpl (Dependencies): Likewise. + * modules/signbit (Dependencies): Likewise. + * modules/vasnprintf (Dependencies): Likewise. + * doc/headers/float.texi: Update. + +2007-05-19 Jim Meyering + + * lib/utimens.c (gl_futimens): Rename from futimens, + now that glibc-2.6 declares futimens. + * lib/utimens.h: Likewise. + +2007-05-19 Bruno Haible + + Avoid test failures on mingw. + * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output. + * tests/test-printf-posix.sh: Likewise. + * tests/test-vfprintf-posix.sh: Likewise. + * tests/test-vprintf-posix.sh: Likewise. + +2007-05-19 Bruno Haible + + Fix *printf result for NaN, Inf, -0.0 on mingw. + * m4/printf.m4 (gl_PRINTF_INFINITE): New macro. + * lib/vasnprintf.c: Include math.h and isnan.h. + (is_infinite_or_zero): New function. + (VASNPRINTF): Fix also the handling of infinite or zero 'double' + values in the %f, %F, %e, %E, %g, %G directives. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro. + * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke + gl_PRINTF_INFINITE and test its result. Invoke + gl_PREREQ_VASNPRINTF_INFINITE. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise. + * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise. + * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. + * doc/functions/fprintf.texi: Update. + * doc/functions/printf.texi: Update. + * doc/functions/snprintf.texi: Update. + * doc/functions/sprintf.texi: Update. + * doc/functions/vfprintf.texi: Update. + * doc/functions/vprintf.texi: Update. + * doc/functions/vsnprintf.texi: Update. + * doc/functions/vsprintf.texi: Update. + +2007-05-19 Bruno Haible + + * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument. + (scale10_round_decimal_long_double): Inline scale10_round_long_double. + Instead of multiplying with 10^k, set extra_zeroes to k. + (scale10_round_long_double): Remove function. + +2007-05-18 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug + introduced on 2007-05-06. + +2007-05-18 Bruno Haible + + * tests/test-vasnprintf-posix.c (test_function): Also test the %e and + %g directives. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + +2007-05-18 Bruno Haible + + * tests/test-vasnprintf-posix.c (SIZEOF): New macro. + (strmatch): New function. + (test_function): Test the %f directive on numbers of various exponents. + * tests/test-vasprintf-posix.c (SIZEOF): New macro. + (strmatch): New function. + (test_function): Test the %f directive on numbers of various exponents. + * tests/test-snprintf-posix.h (strmatch): New function. + (test_function): Test the %f directive on numbers of various exponents. + * tests/test-sprintf-posix.h (strmatch): New function. + (test_function): Test the %f directive on numbers of various exponents. + * tests/test-snprintf-posix.c (SIZEOF): New macro. + * tests/test-sprintf-posix.c (SIZEOF): New macro. + * tests/test-vsnprintf-posix.c (SIZEOF): New macro. + * tests/test-vsprintf-posix.c (SIZEOF): New macro. + +2007-05-18 Bruno Haible + + Add support for 'long double' number output. + * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro. + * lib/vasnprintf.c: Include math.h and float+.h. + (mp_limb_t): New type. + (GMP_LIMB_BITS): New macro. + (mp_twolimb_t): New type. + (GMP_TWOLIMB_BITS): New macro. + (mpn_t): New type. + (multiply, divide, convert_to_decimal, decode_long_double, + scale10_round_long_double, scale10_round_decimal_long_double, + floorlog10l): New functions. + (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support + for the %f, %F, %e, %E, %g, %G directives. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro. + * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke + gl_PRINTF_LONG_DOUBLE and test its result. Invoke + gl_PREREQ_VASNPRINTF_LONG_DOUBLE. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise. + * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise. + * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. + * modules/fprintf-posix (Depends-on): Add frexpl-nolibm. + * modules/snprintf-posix (Depends-on): Likewise. + * modules/sprintf-posix (Depends-on): Likewise. + * modules/vasnprintf-posix (Depends-on): Likewise. + * modules/vasprintf-posix (Depends-on): Likewise. + * modules/vfprintf-posix (Depends-on): Likewise. + * modules/vsnprintf-posix (Depends-on): Likewise. + * modules/vsprintf-posix (Depends-on): Likewise. + * modules/vasnprintf (Files): Add lib/float+.h. + * doc/functions/fprintf.texi: Update. + * doc/functions/printf.texi: Update. + * doc/functions/snprintf.texi: Update. + * doc/functions/sprintf.texi: Update. + * doc/functions/vfprintf.texi: Update. + * doc/functions/vprintf.texi: Update. + * doc/functions/vsnprintf.texi: Update. + * doc/functions/vsprintf.texi: Update. + +2007-05-18 Bruno Haible + + * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS. + +2007-05-18 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld + for printing 64-bit integers. Needed for mingw. + +2007-05-18 Bruno Haible + + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke + gl_FUNC_FREXPL_WORKS. + * modules/printf-frexpl (Files): Add m4/frexpl.m4. + +2007-05-18 Bruno Haible + + * modules/frexpl-nolibm-tests: New file. + + * modules/frexpl-nolibm: New file. + * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro. + +2007-05-17 Paul Eggert + + * lib/dirent_.h: Prefer #include_next to #include + @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@. This works better with + GCC 4.2, which otherwise issues a lot of warnings. + * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h: + * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h: + Likewise. + * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@. + * modules/iconv_open (iconv.h): Likewise. + * modules/locale (locale.h): Likewise. + * modules/netinet_in (netinet/in.h): Likewise. + * modules/sys_select (sys_select.h): Likewise. + * modules/sys_socket (sys/socket.h): Likewise. + * modules/sys_stat (sys/stat.h): Likewise. + * modules/sysexits (sysexits.h): Likewise. + * modules/unistd (unistd.h): Likewise. + +2007-05-17 Ralf Wildenhues + + * modules/closein-tests (Makefile.am): Distribute + `test-closein.sh'. + +2007-05-17 Bruno Haible + + * tests/test-printf-posix.output: Renamed from + tests/test-fprintf-posix.out. + * modules/fprintf-posix-tests: Update. + * modules/printf-posix-tests: Update. + * modules/vfprintf-posix-tests: Update. + * modules/vprintf-posix-tests: Update. + * tests/test-fprintf-posix.sh: Update. + * tests/test-printf-posix.sh: Update. + * tests/test-vfprintf-posix.sh: Update. + * tests/test-vprintf-posix.sh: Update. + Reported by Ralf Wildenhues. + +2007-05-16 Paul Eggert + + * lib/fcntl_.h: Prefer #include_next to #include + @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@. This works better with + GCC 4.2, which otherwise issues a lot of warnings. + * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h: + * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h: + * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise. + * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as + it should no longer be needed. + * lib/string_.h: Likewise. + * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define. + * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@. + * modules/inttypes (inttypes.h): Likewise. + * modules/math (math.h): Likewise. + * modules/search (search.h): Likewise. + * modules/signal (signal.h): Likewise. + * modules/stdint (stdint.h): Likewise. + * modules/stdio (stdio.h): Likewise. + * modules/stdlib (stdlib.h): Likewise. + * modules/string (string.h): Likewise. + * modules/sys_time (sys/time.h): Likewise. + * modules/time (time.h): Likewise. + * modules/wchar (wchar.h): Likewise. + * modules/wctype (wtype.h): Likewise. + +2007-05-16 Thien-Thi Nguyen (tiny change) + + * doc/gnulib-tool.texi (CVS Issues): Fix typo. + +2007-05-13 Bruno Haible + + * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT. + * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise. + * strsep.m4 (gl_FUNC_STRSEP): Likewise. + * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise. + (gl_PREREQ_STRTOK_R): Don't require it here. + +2007-05-13 Bruno Haible + + * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed + when used in C++ mode. + +2007-05-12 Bruno Haible + + * lib/linebuffer.h: Tweak doc. + * lib/linebuffer.c: Likewise. + +2007-05-12 James Youngman + + * lib/linebuffer.c (readlinebuffer_delim): New function, + like readlinebuffer, but use a caller-specified delimiter. + (readlinebuffer): Just call readlinebuffer_delim with '\n' + as the delimiter. + * lib/linebuffer.h (readlinebuffer_delim): Declare it. + +2007-05-12 Sergey Poznyakoff + + * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die. + * modules/openat (Files): Remove openat-die.c. + (Depends-on): Add openat-die. + * modules/openat-die: New module. + +2007-05-06 Bruno Haible + + * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99): + Update with info about Cygwin. + * doc/functions/fprintf.texi: Update. + * doc/functions/printf.texi: Update. + * doc/functions/snprintf.texi: Update. + * doc/functions/sprintf.texi: Update. + * doc/functions/vfprintf.texi: Update. + * doc/functions/vprintf.texi: Update. + * doc/functions/vsnprintf.texi: Update. + * doc/functions/vsprintf.texi: Update. + Reported by Eric Blake. + +2007-05-06 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the + padding ourselves for the floating-point directives. + * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke + gl_PRINTF_FLAG_ZERO and test its result. Invoke + gl_PREREQ_VASNPRINTF_FLAG_ZERO. + * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise. + * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise. + * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. + * tests/test-snprintf-posix.h (test_function): Also check the width + and some flags in the %f directive. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-vasnprintf-posix.c (test_function): Likewise. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * doc/functions/fprintf.texi: Update. + * doc/functions/printf.texi: Update. + * doc/functions/snprintf.texi: Update. + * doc/functions/sprintf.texi: Update. + * doc/functions/vfprintf.texi: Update. + * doc/functions/vprintf.texi: Update. + * doc/functions/vsnprintf.texi: Update. + * doc/functions/vsprintf.texi: Update. + +2007-05-06 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't + pass the ' flag character to sprintf or snprintf. + * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke + gl_PRINTF_FLAG_GROUPING and test its result. Invoke + gl_PREREQ_VASNPRINTF_FLAG_GROUPING. + * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise. + * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise. + * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. + * tests/test-snprintf-posix.h (test_function): Also check the grouping + flag. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-vasnprintf-posix.c (test_function): Likewise. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * doc/functions/fprintf.texi: Update. + * doc/functions/printf.texi: Update. + * doc/functions/snprintf.texi: Update. + * doc/functions/sprintf.texi: Update. + * doc/functions/vfprintf.texi: Update. + * doc/functions/vprintf.texi: Update. + * doc/functions/vsnprintf.texi: Update. + * doc/functions/vsprintf.texi: Update. + +2007-05-01 Bruno Haible + + * tests/test-argp-2.sh (func_compare): Drop .exe suffix. + +2007-05-03 Paul Eggert + + * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better + comment for D_INO_IN_DIRENT. Problem reported by James Youngman. + +2007-05-02 Paul Eggert + + * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether + readdir returns garbage in d_ino. Problem reported by Kaz Sasayama in + . + +2007-05-02 Sergey Poznyakoff + + * lib/argp-help.c (struct hol_entry): New member `ord'. + (HOL_ENTRY_PTRCMP): Use ord for comparison + (hol_sort): Initialize ord. + +2007-05-01 Bruno Haible + + * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi. + Reported by Eric Blake. + * doc/gnulib.texi (Function Substitutes): Update. + +2007-05-01 Bruno Haible + + * doc/functions.texi: Remove file, now redundant through + doc/functions/*.texi. + +2007-05-01 Bruno Haible + + * modules/argp (Depends-on): Add sleep. + +2007-05-01 Bruno Haible + + * modules/sleep-tests: New file. + * tests/test-sleep.c: New file. + + * modules/sleep: New file. + * lib/sleep.c: New file. + * m4/sleep.m4: New file. + * lib/unistd_.h (sleep): New declaration. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP, + HAVE_SLEEP. + * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP. + * doc/functions/sleep.texi: Document the sleep module. + +2007-05-01 Bruno Haible + + * lib/sigprocmask.h: Remove file. + * lib/signal_.h: Incorporate the previous contents of sigprocmask.h. + * lib/sigprocmask.c: Include instead of sigprocmask.h. + * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK, + HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T. + * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require + gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable. + (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set + HAVE_SIGSET_T as a shell variable. + * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK, + HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h. + * modules/sigprocmask (Files): Remove lib/sigprocmask.h. + (Depends-on): Add signal. Remove verify. + (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR. + (Include): Mention instead of sigprocmask.h. + * NEWS: Mention the change. + * lib/fatal-signal.c: Don't include sigprocmask.h. + +2007-05-01 Bruno Haible + + * modules/signal: New file. + * lib/signal_.h: New file. + * m4/signal_h.m4: New file. + +2007-05-01 Bruno Haible + + * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time. + * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL. + * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of + HAVE_WCTYPE_CTMP_BUG into wctype.h. + +2007-05-01 Bruno Haible + + * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at + configure time. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT, + HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST. + * modules/sys_stat (Makefile.am): Substitute their values into + sys/stat.h. + +2007-05-01 Bruno Haible + + * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time. + * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST. + * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h. + +2007-05-01 Bruno Haible + + * doc/header/assert.texi: Undo last change: don't mention the gnulib + 'assert' module here. + +2007-05-01 Bruno Haible + + * doc/functions/*.texi: New files. + * doc/functions/google-ranking.txt: New file. + * doc/gnulib.texi (Function Substitutes): New chapter. + (ctime, inet_ntoa): Remove sections. + * doc/ctime.texi: Remove file. + * doc/inet_ntoa.texi: Remove file. + * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update + dependencies. + (%.info): New rule, specifying a --reference-limit. + +2007-05-01 Bruno Haible + + * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'. + +2007-05-01 Bruno Haible + + * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides + the portability of 'mkdir' to mingw systems. + +2007-05-01 Bruno Haible + + * doc/headers/google-ranking.txt: New file. + +2007-04-30 Eric Blake + + Prefer fseeko to fseek. + * modules/getpass (Depends-on): Add fseeko. + * lib/getpass.c (getpass): Use fseeko, not fseek. + +2007-04-30 Sergey Poznyakoff + + * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm + assumes the sorting is stable, while most qsort implementations + are not. Use argument addresses to ensure they never compare as + equal. + + * tests/test-argp-2.sh (usage-indent test): Fix output + (func_compare): Restore diff options + * tests/test-argp.c: Restore #include "progname.h" + +2007-04-29 Bruno Haible + + * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke + gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. + * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c. + (configure.ac): Define CHECK_SNPRINTF_POSIX. + (TESTS, check_PROGRAMS): Add test-snprintf. + * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c. + (configure.ac): Define CHECK_VSNPRINTF_POSIX. + (TESTS, check_PROGRAMS): Add test-vsnprintf. + * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable + assertions that fail on HP-UX, OSF/1, or IRIX. + * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise. + +2007-04-29 Bruno Haible + + * MODULES.html.sh (posix_functions): Remove 'contents'. + +2007-04-29 Karl Berry + + * config/srclist.txt (gendocs_template_min): new entry. + +2007-04-29 Bruno Haible + + Work around fpurge bug on BSD systems. + * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally. + * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ. + * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define + fpurge to rpl_fpurge if the system already has this function. + * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and + the case where the system already has this function. Correct invariants + on BSD systems. + * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on + BSD systems. + +2007-04-29 Sergey Poznyakoff + + * lib/argp-help.c (hol_cluster_cmp): Reverse comparison. Change + proposed by Sven Verdoolaege. + + * tests/test-argp.c: Fix option ordering. Test deeply clustered + options. + * tests/test-argp-2.sh (func_compare): Use diff instead of cmp. + (usage and help tests): Update + +2007-04-29 Bruno Haible + + * tests/test-fflush.c (main): Use a file of size 17, not 10. + Print more information in case of failure. Disable a test on BeOS. + +2007-04-29 Bruno Haible + + * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number. + This helps debugging on systems on which no gdb is available. + +2007-04-29 Bruno Haible + + * lib/freading.h: Improve comments. + * lib/fwriting.h: Likewise. + * tests/test-freading.c (main): Don't check freading immediately after + repositioning. Needed for glibc. + +2007-04-29 Bruno Haible + + * lib/freading.c (freading): Trivial simplification. + +2007-04-28 Bruno Haible + + * tests/test-fwriting.c (main): Also test the interaction between + fflush and fwriting. + * modules/fwriting-tests (Depends-on): Add fflush. + + * tests/test-freading.c (main): Also test the interaction between + fflush and freading. + * modules/freading-tests (Depends-on): Add fflush. + +2007-04-28 Bruno Haible + + * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use + fseeko and ftello. + Suggested by Eric Blake. + +2007-04-28 Jim Meyering + + Avoid false-negative in gl_STDINT_H's C99 conformance test. + * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms + to C99, include all of gl_STDINT_INCLUDES, not just . + +2007-04-27 Eric Blake + + * doc/headers/assert.texi (assert.h): Document assert module use. + +2007-04-27 Bruno Haible + + * doc/headers/*.texi: New files. + * doc/gnulib.texi (Header File Substitutes): New chapter. + * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify + dependencies. + (standards.info ,standards.html, standards.dvi): Update dependencies. + (mostlyclean, clean): New targets. + +2007-04-27 Bruno Haible + + * lib/sysexits_.h: Renamed from lib/sysexit_.h. + * modules/sysexits (Files, Makefile.am): Update. + + * lib/sys_socket_.h: Renamed from lib/socket_.h. + * modules/sys_socket (Files, Makefile.am): Update. + + * lib/sys_stat_.h: Renamed from lib/stat_.h. + * modules/sys_stat (Files, Makefile.am): Update. + +2007-04-27 Eric Blake + + * lib/freading.h: Improve comments. + * lib/fwriting.h: Likewise. + * lib/fflush.c: Likewise. + + Fix closein for mingw. + * modules/closein-tests: Add tests for closein. + * tests/test-closein.c: New file. + * tests/test-closein.sh: Likewise. + * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit. + * lib/closein.c (close_stdin): Don't fflush non-seekable streams. + +2007-04-27 Bruno Haible + + * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler + version is < 6. + * lib/math_.h [__DECC]: Likewise. + * lib/stdio_.h [__DECC]: Likewise. + * lib/stdlib_.h [__DECC]: Likewise. + * lib/string_.h [__DECC]: Likewise. + * lib/time_.h [__DECC]: Likewise. + * lib/wchar_.h [__DECC]: Likewise. + * lib/wctype_.h [__DECC]: Likewise. + +2007-04-27 Bruno Haible + + * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw. + +2007-04-27 Bruno Haible + + * lib/fflush.c: Add comments. + * modules/fpurge-tests (Depends-on): Add fflush. + * modules/freadable-tests (Depends-on): Likewise. + * modules/fwritable-tests (Depends-on): Likewise. + +2007-04-27 Charles Wilson + + * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of + SYSTEM_ARGZ_IS_BROKEN. Also, minor stylistic improvements. + Report by Bruno Haible . + +2007-04-26 Eric Blake + + Fix fflush on mingw. + * modules/fflush (Depends-on): Add freading. + * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered + but unread data. + +2007-04-26 Eric Blake + and Bruno Haible + + Implement freading and fwriting. + * lib/freading.c: New file. + * lib/freading.h: Likewise. + * m4/freading.m4: Likewise. + * modules/freading: Likewise. + * modules/freading-tests: Likewise. + * tests/test-freading.c: Likewise. + * lib/fwriting.c: New file. + * lib/fwriting.h: Likewise. + * m4/fwriting.m4: Likewise. + * modules/fwriting: Likewise. + * modules/fwriting-tests: Likewise. + * tests/test-fwriting.c: Likewise. + * MODULES.html.sh (File stream based Input/Output): Mention them. + +2007-04-26 Bruno Haible + + * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as + 'long' when we assume it. + Suggested by Eric Blake. + +2007-04-26 Bruno Haible + + Ensure fseeko, ftello are declared on glibc systems. + * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO. + * modules/fseeko (configure.ac-early): Likewise. + * modules/ftello (configure.ac-early): Likewise. + * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on + AC_FUNC_FSEEKO for this. + * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO. + (gl_CHECK_FSEEKO): Remove macro. + +2007-04-26 Bruno Haible + + * tests/test-fflush.c (main): Also check the ftell result after + fflush and fseek/fseeko. + * lib/fflush.c (rpl_fflush): For BSD implementations, update the + file descriptor position cache in the stream. + * lib/fseeko.c (rpl_fseeko): Likewise. + +2007-04-26 Bruno Haible + + * modules/fflush-tests (Depends-on): Add fseeko. + +2007-04-25 Charles Wilson + Ralf Wildenhues + + * lib/argz_.h: ensure error_t definition is obtained in same + mechanism system argz.h would have. + * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's + argz facilities are known bad. Err on the side of caution if + cross-compiling. + +2007-04-25 Eric Blake + + * lib/fpurge.c (includes): Use stdlib.h for free. + * tests/test-fflush.c (main): Also test fflush-fseeko. + +2007-04-25 Bruno Haible + + Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X. + * lib/fseeko.c: New file. + * lib/stdio_.h: Include when off_t is needed. + (fseeko, fseek): Define to replacements if REPLACE_FFLUSH. + * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from + gl_FUNC_FSEEKO. + (gl_FUNC_FSEEKO): Invoke it. + * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke + gl_CHECK_FSEEKO. Define HAVE_FSEEKO. + * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4. + +2007-04-25 Bruno Haible + + * modules/fflush (Depends-on): Add ftello. + +2007-04-25 Bruno Haible + + * modules/ftello-tests: New file. + * tests/test-ftello.c: New file. + + * modules/ftello: New file. + * m4/ftello.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO, + HAVE_FTELLO. + * lib/stdio_.h (ftello): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO, + HAVE_FTELLO. + +2007-04-25 Bruno Haible + + * modules/fseeko-tests: New file. + * tests/test-fseeko.c: New file. + + * modules/fseeko: New file. + * m4/fseeko.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO, + HAVE_FSEEKO. + * lib/stdio_.h (fseeko): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO, + HAVE_FSEEKO. + +2007-04-25 Bruno Haible + + * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK. + +2007-04-25 Bruno Haible + + * lib/unistd_.h: Include if needed to get the SEEK_* macros. + * tests/test-stdio.c: Check that the various SEEK_* macros are defined. + * tests/test-unistd.c: Likewise. + * tests/test-fcntl.c: Likewise. + +2007-04-23 Eric Blake + + * lib/fflush.c: Fix missing include. + Reported by Bruno Haible. + +2007-04-23 Bruno Haible + + * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer. + Reported by Eric Blake. + +2007-04-23 Bruno Haible + + * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64. + +2007-04-23 Bruno Haible + + * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR. + +2007-04-23 Bruno Haible + + * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf. + Needed on HP-UX 11. + +2007-04-16 Eric Blake + + Make fflush rely on fpurge. + * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than + open coding all variants. + * modules/fflush (Depends-on): Add fpurge and unistd. + * modules/fflush-tests (Depends-on): Unistd is no longer extra. + * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify. + + Fix --with-tests compilation on cygwin. + * modules/argmatch-tests (Makefile.am): List gnulib library first + in LDADD. + * modules/argp-tests (Makefile.am): Likewise. + * modules/array-list-tests (Makefile.am): Likewise. + * modules/array-oset-tests (Makefile.am): Likewise. + * modules/avltree-list-tests (Makefile.am): Likewise. + * modules/avltree-oset-tests (Makefile.am): Likewise. + * modules/avltreehash-list-tests (Makefile.am): Likewise. + * modules/carray-list-tests (Makefile.am): Likewise. + * modules/dirname-tests (Makefile.am): Likewise. + * modules/frexp-tests (Makefile.am): Likewise. + * modules/isnanl-tests (Makefile.am): Likewise. + * modules/linked-list-tests (Makefile.am): Likewise. + * modules/linkedhash-list-tests (Makefile.am): Likewise. + * modules/lock-tests (Makefile.am): Likewise. + * modules/rbtree-list-tests (Makefile.am): Likewise. + * modules/rbtree-oset-tests (Makefile.am): Likewise. + * modules/rbtreehash-list-tests (Makefile.am): Likewise. + * modules/tls-tests (Makefile.am): Likewise. + * modules/tsearch-tests (Makefile.am): Likewise. + * modules/xvasprintf-tests (Makefile.am): Likewise. + + Fix fpurge for cygwin. + * lib/fpurge.c (fpurge): Fix order of operation flub, and return a + value. + * modules/fpurge-tests (Depends-on): Clean up trash. + +2007-04-16 Simon Josefsson + + * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings. + + * m4/autobuild.m4: Re-indent. + +2007-04-13 Bruno Haible + + * modules/fpurge-tests: New file. + * tests/test-fpurge.c: New file. + + * modules/fpurge: New file. + * lib/fpurge.h: New file. + * lib/fpurge.c: New file. + * m4/fpurge.m4: New file. + +2007-04-13 Bruno Haible + + * modules/fbufmode-tests: New file. + * tests/test-fbufmode.c: New file. + + * modules/fbufmode: New file. + * lib/fbufmode.h: New file. + * lib/fbufmode.c: New file. + * m4/fbufmode.m4: New file. + +2007-04-13 Bruno Haible + + * modules/fwritable-tests: New file. + * tests/test-fwritable.c: New file. + + * modules/fwritable: New file. + * lib/fwritable.h: New file. + * lib/fwritable.c: New file. + * m4/fwritable.m4: New file. + +2007-04-13 Bruno Haible + + * modules/freadable-tests: New file. + * tests/test-freadable.c: New file. + + * modules/freadable: New file. + * lib/freadable.h: New file. + * lib/freadable.c: New file. + * m4/freadable.m4: New file. + +2007-04-13 Bruno Haible + + * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment + MOSTLYCLEANFILES. + +2007-04-13 Paul Eggert + + * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by + gzip bootstrap.conf to avoid dragging in i18n machinery. + (gnulib_tool_option): Use it. + +2007-04-13 Bruno Haible + + * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and + %F directives. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-fprintf-posix.h (test_function): Likewise. + * tests/test-printf-posix.h (test_function): Likewise. + * tests/test-fprintf-posix.out: Likewise. + +2007-04-13 Bruno Haible + + * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4. + * modules/tls-tests (configure.ac): Likewise. + Reported by Arto C. Nirkko . + +2007-04-13 Bruno Haible + + * lib/tls.c (glthread_tls_get): Fix return type. + Patch by Arto C. Nirkko . + +2007-04-12 Eric Blake + + * modules/gettime (Depends-on): Remove gettime. + Reported by Dmitry V. Levin. + +2007-04-12 Bruno Haible + + * modules/fflush (Include): Mention . + * modules/strtoimax (Include): Mention . + * modules/strtoumax (Include): Likewise. + +2007-04-12 Eric Blake + + * .cvsignore: New file. + * .gitignore: Likewise. + +2007-04-12 Bruno Haible + + * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD, + not before, since $(LDADD) often contains libgnu.a. + * modules/striconv-tests (test_striconv_LDADD): Likewise. + * modules/striconveh-tests (test_striconveh_LDADD): Likewise. + * modules/striconveha-tests (test_striconveha_LDADD): Likewise. + Needed on Cygwin. + +2007-04-12 Eric Blake + + Work around glibc's failure to flush stdin on fclose. + * lib/closein.c (close_stdin): Flush stdin before closing. + + Work around glibc's failure to reset seekable stdin on exit. + * modules/closein: New module. + * lib/closein.c: New file. + * lib/closein.h: Likewise. + * m4/closein.m4: Likewise. + * MODULES.html.sh (File stream based Input/Output): Document it. + +2007-04-12 Simon Josefsson + + * gnulib-tool: Rename generated 'autobuild' script to + 'do-autobuild' in --create-megatestdir output. + + * doc/gnulib.texi (Build robot for gnulib): Fix. + +2007-04-12 Simon Josefsson + + * modules/sysexits (Depends-on): Add absolute-header. + +2007-04-12 Eric Blake + + No need to preserve errno on success. + * lib/fflush.c (rpl_fflush): Simplify errno tracking. + Reported by Bruno Haible. + +2007-04-12 Simon Josefsson + + * MODULES.html.sh (Support for maintaining and releasing + projects): Add autobuild. Suggested by Eric Blake . + +2007-04-12 Simon Josefsson + + * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy. + +2007-04-12 Simon Josefsson + + * modules/autobuild: New module. + + * m4/autobuild.m4: New file. + +2007-04-11 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the + %f directive, if NEED_PRINTF_DIRECTIVE_F is defined. + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro. + * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke + gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke + gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke + gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke + gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. + * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke + gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke + gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke + gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke + gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke + gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke + gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. + * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke + gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke + gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke + gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke + gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke + gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke + gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. + Reported by Eric Blake. + +2007-04-11 Bruno Haible + + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed. + +2007-04-10 Bruno Haible + + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result + for NaN and Infinity. Needed on FreeBSD 6.1. + * tests/test-vasnprintf-posix.c (test_function): Undo last change + regarding results for "%010a" of Infinity and NaN. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-fprintf-posix.h (test_function): Likewise. + * tests/test-printf-posix.h (test_function): Likewise. + * tests/test-fprintf-posix.out: Likewise. + +2007-04-10 Bruno Haible + + * modules/locale-tests: New file. + * tests/test-locale.c: New file. + + * modules/locale: New file. + * lib/locale_.h: New file. + * m4/locale_h.m4: New file. + +2007-04-10 Paul Eggert + Bruno Haible + + * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not + be determined, test for availability of the copysignf, copysign, + copysignl functions. + * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc. + * lib/signbitd.c (gl_signbitd): Use copysign if available in libc. + * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc. + +2007-04-09 Eric Blake + + * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush. + * modules/stdio (Makefile.am): Support fflush. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise. + * modules/fflush: New file. + * lib/fflush.c: Likewise. + * m4/fflush.m4: Likewise. + * modules/fflush-tests: New test. + * tests/test-fflush.c: Likewise. + * MODULES.html.sh (Input/output ): Document new module. + +2007-04-06 Bruno Haible + + * lib/vasnprintf.c: Include . Don't include float+.h. + (VASNPRINTF): Use signbit for faster determination whether to print a + minus sign. + * modules/vasnprintf (Files): Remove lib/float+.h. + * modules/fprintf-posix (Depends-on): Add signbit. + * modules/snprintf-posix (Depends-on): Likewise. + * modules/sprintf-posix (Depends-on): Likewise. + * modules/vasnprintf-posix (Depends-on): Likewise. + * modules/vasprintf-posix (Depends-on): Likewise. + * modules/vfprintf-posix (Depends-on): Likewise. + * modules/vsnprintf-posix (Depends-on): Likewise. + * modules/vsprintf-posix (Depends-on): Likewise. + +2007-04-06 Bruno Haible + + * tests/test-frexp.c (main): Test also the sign bit of zero results. + * tests/test-frexpl.c (main): Likewise. + * tests/test-ldexpl.c (main): Likewise. + * modules/frexp-tests (Depends-on): Add signbit. + * modules/frexpl-tests (Depdends-on): Likewise. + * modules/ldexpl-tests (Depdends-on): Likewise. + +2007-04-06 Bruno Haible + + * modules/signbit-tests: New file. + * tests/test-signbit.c: New file. + + * modules/signbit: New file. + * lib/signbitf.c: New file. + * lib/signbitd.c: New file. + * lib/signbitl.c: New file. + * m4/signbit.m4: New file. + * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations. + (signbit): New macro. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and + REPLACE_SIGNBIT. + * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and + REPLACE_FREXPL into math.h. + +2007-04-06 Bruno Haible + + * modules/isnanf-nolibm-tests: New file. + * tests/test-isnanf.c: New file. + + * modules/isnanf-nolibm: New file. + * lib/isnanf.h: New file. + * lib/isnanf.c: New file. + * lib/isnan.c: Consider the USE_FLOAT macro. + * m4/isnanf.m4: New file. + +2007-04-06 Bruno Haible + + * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL. + (Link): New section. + + * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change. + +2007-04-06 Bruno Haible + + Assume the 'long double' type. + * m4/longdouble.m4: Remove file. + * config/srclist.txt: Don't mention longdouble.m4. + * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true. + * lib/float+.h: Likewise. + * lib/frexp.c: Likewise. + * lib/printf-args.h: Likewise. + * lib/printf-args.c: Likewise. + * lib/printf-frexp.c: Likewise. + * lib/printf-parse.c: Likewise. + * lib/vasnprintf.c: Likewise. + * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation. + * m4/intl.m4: Likewise. + * m4/isnanl.m4: Likewise. + * m4/printf.m4: Likewise. + * m4/printf-frexpl.m4: Likewise. + * m4/vasnprintf.m4: Likewise. + * modules/allocsa (Files): Remove m4/longdouble.m4. + * modules/gettext (Files): Likewise. + * modules/relocatable-prog-wrapper (Files): Likewise. + * modules/vasnprintf (Files): Likewise. + * modules/isnanl (Files): Likewise. + (Include): Simplify. + * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4. + (Include): Simplify. + * modules/printf-frexpl (Files): Remove m4/longdouble.m4. + (Include): Simplify. + * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4. + (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation. + * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4. + (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation. + * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4. + (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation. + * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4. + (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation. + * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4. + (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation. + * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4. + (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation. + * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true. + * tests/test-isnanl.c: Likewise. + * tests/test-snprintf-posix.h: Likewise. + * tests/test-sprintf-posix.h: Likewise. + * tests/test-vasnprintf-posix.c: Likewise. + * tests/test-vasnprintf-posix2.c: Likewise. + * tests/test-vasprintf-posix.c: Likewise. + +2007-04-06 Bruno Haible + + Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64. + * lib/math_.h [__DECC]: Include the overridden include file through + #include_next, outside the double-inclusion guard. + * lib/stdio_.h [__DECC]: Likewise. + * lib/stdlib_.h [__DECC]: Likewise. + * lib/string_.h [__DECC]: Likewise. + * lib/time_.h [__DECC]: Likewise. + * lib/wchar_.h [__DECC]: Likewise. + * lib/wctype_.h [__DECC]: Likewise. + * lib/inttypes_.h [__DECC]: Likewise. + Reported by Albert Chin in + . + +2007-04-04 Eric Blake + + * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin + 1.5.x. + +2007-04-04 Bruno Haible + + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct + rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test. + +2007-04-04 Bruno Haible + + * tests/test-vasnprintf-posix.c (test_function): Allow two possible + results for "%010a" of Infinity and NaN. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + * tests/test-fprintf-posix.h (test_function): Remove these tests. + * tests/test-printf-posix.h (test_function): Likewise. + * tests/test-fprintf-posix.out: Update. + Needed for FreeBSD 6.1. + +2007-04-04 Bruno Haible + + * DEPENDENCIES: Remove mentions of tar and gzip, since they are not + directly used by the gnulib modules nor by gnulib-tool. + +2007-04-04 Paul Eggert + + * DEPENDENCIES: Give overall description of version dependency + desirability. Use more-typical names for apps. + Add shell, coreutils, diffutils, grep, tar, gzip. + +2007-04-04 Simon Josefsson + + * MODULES.html.sh: Rename crypto modules. Remove iconvme. + +2007-04-04 Karl Berry + + * MODULES.html.sh (func_module): missing '. + +2007-04-03 Bruno Haible + + * modules/argmatch-tests (Makefile.am): New variable + test_argmatch_LDADD. + * modules/argp-tests (Makefile.am): New variable test_argp_LDADD. + * modules/array-list-tests (Makefile.am): New variable + test_array_list_LDADD. + * modules/array-oset-tests (Makefile.am): New variable + test_array_oset_LDADD. + * modules/avltree-list-tests (Makefile.am): New variable + test_avltree_list_LDADD. + * modules/avltree-oset-tests (Makefile.am): New variable + test_avltree_oset_LDADD. + * modules/avltreehash-list-tests (Makefile.am): New variable + test_avltreehash_list_LDADD. + * modules/canonicalize-lgpl-tests (Makefile.am): New variable + test_canonicalize_lgpl_LDADD. + * modules/carray-list-tests (Makefile.am): New variable + test_carray_list_LDADD. + * modules/dirname-tests (Makefile.am): New variable + test_dirname_LDADD. + * modules/linked-list-tests (Makefile.am): New variable + test_linked_list_LDADD. + * modules/linkedhash-list-tests (Makefile.am): New variable + test_linkedhash_list_LDADD. + * modules/rbtree-list-tests (Makefile.am): New variable + test_rbtree_list_LDADD. + * modules/rbtree-oset-tests (Makefile.am): New variable + test_rbtree_oset_LDADD. + * modules/rbtreehash-list-tests (Makefile.am): New variable + test_rbtreehash_list_LDADD. + * modules/xvasprintf-tests (Makefile.am): New variable + test_xvasprintf_LDADD. + Reported by Eric Blake. + +2007-04-03 Eric Blake + + * DEPENDENCIES: Weaken m4 requirements. + +2007-04-03 Bruno Haible + + * modules/frexp-tests (configure.ac): Remove AC_SUBST. + * modules/isnanl-tests (configure.ac): Likewise. + +2007-04-03 Ben Pfaff + + * modules/iconv_open: Add $(srcdir)/ to source directory + references in Makefile fragments that call gperf, to fix VPATH + builds. + +2007-04-03 Bruno Haible + + * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm. + * lib/ldexpl.c: Undo last change. + +2007-04-03 Bruno Haible + + * modules/printf-frexpl (Depends-on): Undo last change. + (Files): Add m4/ldexpl.m4. + +2007-04-03 Bruno Haible + + * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM. + * modules/isnanl (Link): New section. + + * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM. + * modules/frexp (Link): New section. + + * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM. + * modules/frexpl (Link): New section. + + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM. + * modules/ldexpl (Link): New section. + +2007-04-03 Bruno Haible + + * modules/TEMPLATE-EXTENDED: New file. + * gnulib-tool (func_all_modules, func_verify_module): Exclude it. + +2007-04-03 Bruno Haible + + * DEPENDENCIES: New file. + Suggested by Simon Josefsson. + +2007-04-03 Bruno Haible + + * doc/gnulib.texi: Escape @. + +2007-04-03 James Youngman + and Paul Eggert + + * lib/stat-time.h (get_stat_birthtime): Check for zero-valued + birthtime on all systems that have birthtime, not just those which + use st_birthtimensec rather than st_birthtim. Putting zero in + st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates + that the birth time is not available for files on an NFS mount. + +2007-04-03 Simon Josefsson + + * modules/memxor: Move back from crypto/, suggested by Bruno. + * modules/crypto/hmac-sha1: Fix memxor dependency. + + * modules/crypto/gc: Moved from ../. + +2007-04-02 Eric Blake + + * lib/ldexpl.c (includes): Avoid libm. + + * modules/printf-frexpl (Depends-on): Depend on ldexpl. + +2007-04-02 Bruno Haible + + * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from + on IRIX. + +2007-04-02 Bruno Haible + + * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on + x86 or x86_64 platforms running MacOS X. + Reported by Ryan Schmidt <@ryandesign.com>. + +2007-04-02 Bruno Haible + + * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like + i386. + +2007-04-01 Simon Josefsson + + * modules/crypto/arcfour: Moved from ../. + * modules/crypto/arcfour-tests: Moved from ../. + * modules/crypto/arctwo: Moved from ../. + * modules/crypto/arctwo-tests: Moved from ../. + * modules/crypto/des: Moved from ../. + * modules/crypto/des-tests: Moved from ../. + * modules/crypto/gc-arcfour: Moved from ../. + * modules/crypto/gc-arcfour-tests: Moved from ../. + * modules/crypto/gc-arctwo: Moved from ../. + * modules/crypto/gc-arctwo-tests: Moved from ../. + * modules/crypto/gc-des: Moved from ../. + * modules/crypto/gc-des-tests: Moved from ../. + * modules/crypto/gc-hmac-md5: Moved from ../. + * modules/crypto/gc-hmac-md5-tests: Moved from ../. + * modules/crypto/gc-hmac-sha1: Moved from ../. + * modules/crypto/gc-hmac-sha1-tests: Moved from ../. + * modules/crypto/gc-md2: Moved from ../. + * modules/crypto/gc-md2-tests: Moved from ../. + * modules/crypto/gc-md4: Moved from ../. + * modules/crypto/gc-md4-tests: Moved from ../. + * modules/crypto/gc-md5: Moved from ../. + * modules/crypto/gc-md5-tests: Moved from ../. + * modules/crypto/gc-pbkdf2-sha1: Moved from ../. + * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../. + * modules/crypto/gc-random: Moved from ../. + * modules/crypto/gc-rijndael: Moved from ../. + * modules/crypto/gc-rijndael-tests: Moved from ../. + * modules/crypto/gc-sha1: Moved from ../. + * modules/crypto/gc-sha1-tests: Moved from ../. + * modules/crypto/gc-tests: Moved from ../. + * modules/crypto/hmac-md5: Moved from ../. + * modules/crypto/hmac-md5-tests: Moved from ../. + * modules/crypto/hmac-sha1: Moved from ../. + * modules/crypto/hmac-sha1-tests: Moved from ../. + * modules/crypto/md2: Moved from ../. + * modules/crypto/md2-tests: Moved from ../. + * modules/crypto/md4: Moved from ../. + * modules/crypto/md4-tests: Moved from ../. + * modules/crypto/md5: Moved from ../. + * modules/crypto/md5-tests: Moved from ../. + * modules/crypto/memxor: Moved from ../. + * modules/crypto/rijndael: Moved from ../. + * modules/crypto/rijndael-tests: Moved from ../. + * modules/crypto/sha1: Moved from ../. + +2007-03-30 James Youngman + + * tests/test-stat-time.c (prepare_test): use chmod() rather than + rename() to change the ctime of a file (because ctime is unaffected + by rename on jfs2 on AIX 5.1). + (main): Start by doing cleanup, in case a previous run failed leaving + test files behind. + +2007-03-31 Bruno Haible + + Support old proprietary implementations of iconv. + * modules/iconv_open: New file. + * lib/iconv_.h: New file. + * m4/iconv_h.m4: New file. + * lib/iconv_open.c: New file. + * lib/iconv_open-aix.gperf: New file. + * lib/iconv_open-hpux.gperf: New file. + * lib/iconv_open-irix.gperf: New file. + * lib/iconv_open-osf.gperf: New file. + * m4/iconv_open.m4: New file. + * modules/linebreak (Depends-on): Add iconv_open. + * modules/striconv (Depends-on): Likewise. + * modules/striconveh (Depends-on): Likewise. + * modules/unicodeio (Depends-on): Likewise. + * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be + (iconv_t)(-1). + * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect + conversion if cd is (iconv_t)(-1). + (mem_iconveh, str_iconveh): Don't fail just because a direct conversion + is not possible. + +2007-03-31 Bruno Haible + + * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to + work on Solaris either. Protect also second use of "autodetect_jp". + +2007-03-31 Bruno Haible + + * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when + the function is not present. + +2007-03-31 Bruno Haible + + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when + the function is not present. + +2007-03-31 Bruno Haible + + * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against + a bug in HP-UX iconv_open(). + +2007-03-31 Bruno Haible + + * MODULES.html.sh (func_module): Don't show gnulib-common.m4. + (Mathematics ): New section, add fpieee. + (Input/output ): Add fseterr. + (Mathematics ): New section, add printf-frexp. + (Container data structures): Add sublist. + (Core language properties): Add fpucw, inline. + (Functions for greatest-width integer types ): Add + imaxabs, imaxdiv, inttypes. + (Mathematics ): Add frexp, frexpl, isnan-nolibm, isnanl, + isnanl-nolibm, ldexp. + (Mathematics ): New section, add printf-frexpl. + (Support for systems lacking POSIX:2001): Add fprintf-posix, + printf-posix, snprintf-posix, sprintf-posix, string, search, socklen, + sys_select, sys_socket, vasnprintf-posix, vasprintf-posix, + vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix. + (Unicode string functions): Add unistr/u*-mbtoucr. + (Java): Add javacomp-script, javaexec-script. + (C#): Add csharpcomp-script, csharpexec-script. + (Support for building libraries and executables): Add havelib, + relocatable-*. + (Support for maintaining and releasing projects): Renamed from + 'Support for maintaining and release projects'. Add announce-gen. + +2007-03-31 Bruno Haible + + * README: Talk primarily about git. + (git and CVS): Renamed from CVS. + * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that + gnulib is available through git. + * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well. + +2007-03-30 Bruno Haible + + * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_. + * lib/poll_.h: Likewise. + * lib/stat_.h: Likewise. + * lib/sys_time_.h: Likewise. + * lib/sysexit_.h: Likewise. + * lib/glob_.h: Prefix double-inclusion guard macro with _GL_. + * lib/stdbool_.h: Likewise. + * lib/byteswap_.h: Add double-inclusion guard. + +2007-03-30 Sergey Poznyakoff + + * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB. + +2007-03-30 Karl Berry + + * config/srclist-update: double space after USA in the license + substitution, since that's how it's usually (?) written. + +2007-03-30 Paul Eggert + + * lib/write-any-file.c (can_write_any_file): Fix else-else bug + reported by Bruno Haible. + +2007-03-29 Bruno Haible + + * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against + a bug in AIX iconv(). + +2007-03-29 Bruno Haible + + * modules/ldexpl-tests: New file. + * tests/test-ldexpl.c: New file. + +2007-03-29 Bruno Haible + + * lib/ldexpl.c: Include fpucw.h. + (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded + multiplication. + * modules/ldexpl (Depends-on): Add fpucw. + +2007-03-29 Bruno Haible + + * modules/ldexpl: New file. + * m4/ldexpl.m4: New file. + * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is + set. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL, + REPLACE_LDEXPL. + * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL, + REPLACE_LDEXPL. + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke + gl_FUNC_LDEXPL_WORKS. + * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl. + * modules/mathl (Files): Remove lib/ldexpl.c. + (Depends-on): Add ldexpl. + +2007-03-29 Bruno Haible + + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl. + +2007-03-29 Bruno Haible + + * tests/test-striconveh.c (main): Don't assume that a direct conversion + between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX + and possibly also HP-UX. + * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to + work on AIX, IRIX, HP-UX, OSF/1. + * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise. + * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise. + * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise. + * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise. + * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise. + * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise. + +2007-03-29 Bruno Haible + + * tests/test-stat-time.c: Include , not . + +2007-03-29 Paul Eggert + + * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining, + to work around a problem on OSF/1 5.1 reported by Bruno Haible. + +2007-03-29 Eric Blake + + * lib/acl-internal.h: Remove redundant include. + (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by + Cygwin when a file is locked. + +2007-03-29 Bruno Haible + + * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification + file. + * lib/asprintf.c [IN_LIBASPRINTF]: Likewise. + +2007-03-29 Paul Eggert + + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to + try to remove a parent directory if the child couldn't be removed + (except for the first rmdir, which could fail because the child + doesn't exist). Problem reported by Jeff Blaine in + . + +2007-03-28 Bruno Haible + + * lib/striconveh.c (utf8conv_carefully): New function. + (mem_cd_iconveh_internal): Invoke it. + +2007-03-28 Bruno Haible + + * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead + of u8_mbtouc in order to distinguish invalid and incomplete UTF-8 + input. + * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace + utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with + unistr/u8-uctomb. + +2007-03-28 Bruno Haible + + * modules/unistr/u8-mbtoucr: New file. + * lib/unistr/u8-mbtoucr.c: New file. + * modules/unistr/u16-mbtoucr: New file. + * lib/unistr/u16-mbtoucr.c: New file. + * modules/unistr/u16-mbtoucr: New file. + * lib/unistr/u16-mbtoucr.c: New file. + * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations. + +2007-03-27 Simon Josefsson + Bruno Haible + + * m4/vasprintf.m4: Convert AC_SUBST into shell variable for + REPLACE_VASPRINTF. Set HAVE_VASPRINTF. Add + AC_REQUIRE([gl_STDIO_H_DEFAULTS]). + + * m4/stdio_h.m4: Add stubs for vasprintf too. + + * modules/stdio: Support vasprintf in sed command. + + * modules/vasprintf: Depend on stdio for prototypes. Remove + vasprintf.h. Add stdio module indicator. + + * lib/stdio_.h: Declare asprintf and vasprintf, based on + vasprintf.h. + + * lib/vasprintf.h: File removed. + + * lib/asprintf.c: Use stdio.h instead of vasprintf.h. + * lib/vasprintf.c: Ditto. + * lib/xvasprintf.c: Ditto. + * tests/test-vasprintf-posix.c: Ditto. + * tests/test-vasprintf.c: Ditto. + +2007-03-27 Bruno Haible + + Make vasnprintf multithread-safe. + * lib/vasnprintf.c (decimal_point_char): New function. + (VASNPRINTF): Use it. + Suggested by Simon Josefsson. + +2007-03-27 Eric Blake + + Support sub-second birthtime on cygwin. + * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim. + * lib/stat-time.h (STAT_TIMESPEC): Adjust comments. + (get_stat_birthtime): Also work with st_birthtim. + +2007-03-27 Paul Eggert + + * lib/stat-time.h (USE_BIRTHTIME): Remove. + (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns): + (get_stat_birthtime_ns): Do not try to use "spare" fields. + (get_stat_birthtime_ns): Simplify compile-time tests. + (get_stat_birthtime): Change the API to look like + get_stat_mtime etc., except return a negative tv_nsec on error. + * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME): + Don't check for "spare" fields. + (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec + or for struct stat.st_birthtime, as these tests aren't used. + * tests/test-stat-time.c (test_birthtime): Adjust to new API. + +2007-03-27 Bruno Haible + + * lib/stat-time.h: Include . + +2007-03-27 James Youngman + + * lib/stat-time.h (get_stat_birthtime): New function for + retrieving st_birthtime as provided by UFS2 (hence *BSD). + * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime + and its variants. + * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME. + * modules/stat-time-test: New file. + * tests/test-stat-time.c: New test, devised by Bruno Haible. + +2007-03-26 Bruno Haible + + Better support of signalling NaNs. + * lib/atanl.c: Include isnanl.h. + (atanl): Perform test for NaN at the beginning of the function and + through a call to isnanl. + * lib/cosl.c: Include isnanl.h. + (cosl): Perform test for NaN at the beginning of the function and + through a call to isnanl. + * lib/ldexpl.c: Include isnanl.h. + (ldexpl): Perform test for NaN through a call to isnanl. + * lib/logl.c: Include isnanl.h. + (logl): Perform test for NaN at the beginning of the function and + through a call to isnanl. + * lib/sinl.c: Include isnanl.h. + (sinl): Perform test for NaN at the beginning of the function and + through a call to isnanl. + * lib/sqrtl.c: Include isnanl.h. + (sqrtl): Perform test for NaN at the beginning of the function and + through a call to isnanl. + * lib/tanl.c: Include isnanl.h. + (tanl): Perform test for NaN at the beginning of the function and + through a call to isnanl. + * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN. + * modules/mathl (Depends-on): Add isnanl. + +2007-03-26 Eric Blake + + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix + regression in logic sense of previous patch. + +2007-03-26 Bruno Haible + + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use + unportable shell command "if ! ...". + Reported by Ralf Wildenhues. + +2007-03-25 Bruno Haible + + * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original + file, and only add EX_CONFIG. + * m4/sysexits.m4 (gl_SYSEXITS): If exists, check its + absolute file name and whether it is sufficient. Substitute also + HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H. + * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and + ABSOLUTE_SYSEXITS_H into sysexits.h. + +2007-03-25 Bruno Haible + + * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when + hints is NULL. + +2007-03-25 Bruno Haible + + * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast. + * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise. + +2007-03-25 Bruno Haible + + * lib/vasnprintf.c: Include langinfo.h. + (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more + multithread-safe. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro. + * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it. + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise. + * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise. + * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. + Reported by Simon Josefsson. + +2007-03-25 Bruno Haible + + * lib/printf-parse.c [!IN_LIBINTL]: Include , for intmax_t. + (PRINTF_PARSE): Make the support for size specifier 'j' unconditional. + * modules/vasnprintf (Depends-on): Add stdint. + +2007-03-25 Bruno Haible + + * modules/fpieee: New file. + * m4/fpieee.m4: New file. + * modules/isnan-nolibm (Depends-on): Add fpieee. + * modules/isnanl-nolibm (Depends-on): Add fpieee. + * modules/isnanl (Depends-on): Add fpieee. + +2007-03-25 Bruno Haible + + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers. + +2007-03-25 Bruno Haible + + Avoid test failures on IRIX 6.5. + * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro. + (main): Use it. + * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New + macros. + (main): Use them. + +2007-03-25 Bruno Haible + + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro. + (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl + exists but doesn't work. + * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL + is set. Don't provide a prototype if REPLACE_FREXPL is not set. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL. + * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into + math.h. + +2007-03-25 Bruno Haible + + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf) + returns inf. Needed on IRIX 6.5. + +2007-03-25 Bruno Haible + + * tests/test-frexpl.c: Include isnanl-nolibm.h. + (main): Use isnanl instead of x != x idiom. + * modules/frexpl-tests (Depends-on): Add isnanl-nolibm. + + * tests/test-frexp.c: Include isnan.h. + (main): Use isnan instead of x != x idiom. + * modules/frexp-tests (Depends-on): Add isnan-nolibm. + +2007-03-25 Bruno Haible + + * tests/test-frexp.c (NaN): New function/macro. + (main): Use it instead of 0.0 / 0.0. + * tests/test-isnan.c (NaN): New function/macro. + (main): Use it instead of 0.0 / 0.0. + * tests/test-vasnprintf-posix.c (NaN): New function/macro. + (test_function): Use it instead of 0.0 / 0.0. + * tests/test-vasprintf-posix.c (NaN): New function/macro. + (test_function): Use it instead of 0.0 / 0.0. + * tests/test-snprintf-posix.h (NaN): New function/macro. + (test_function): Use it instead of 0.0 / 0.0. + * tests/test-sprintf-posix.h (NaN): New function/macro. + (test_function): Use it instead of 0.0 / 0.0. + * tests/test-fprintf-posix.h (NaN): New function/macro. + (test_function): Use it instead of 0.0 / 0.0. + * tests/test-printf-posix.h (NaN): New function/macro. + (test_function): Use it instead of 0.0 / 0.0. + + * lib/isnan.c (FUNC): Work around a DEC C compiler bug. + +2007-03-25 Bruno Haible + + * lib/glob_.h: Include . Avoids warnings on AIX 5.1. + +2007-03-25 Bruno Haible + + * lib/regexec.c (merge_state_with_log): Make static. + +2007-03-25 Bruno Haible + + * lib/trigl.c (kernel_rem_pio2): Make static. + +2007-03-25 Bruno Haible + + * lib/sincosl.c (sincosl_table): Make static. + +2007-03-25 Bruno Haible + + * lib/argp.h (__restrict): Define to empty, rather than to 'restrict', + if the compiler does not support C99. + +2007-03-25 Bruno Haible + + * modules/time (Makefile.am): Ensure all rule action lines start with a + tab. + +2007-03-24 Bruno Haible + + * modules/tsearch-tests: New file. + * tests/test-tsearch.sh: New file. + * tests/test-tsearch.c: New file, mostly copied from glibc. + + * modules/search-tests: New file. + * tests/test-search.c: New file. + + * modules/search: New file. + * lib/search_.h: New file, incorporating lib/tsearch.h. + * m4/search_h.m4: New file. + * lib/tsearch.h: Remove file. + * lib/tsearch.c: Include search.h instead of tsearch.h. + * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set + HAVE_TSEARCH. + * modules/tsearch (Files): Remove lib/tsearch.h. + (Depends-on): Add search. + (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR. + (Include): Change tsearch.h into search.h. + +2007-03-24 Bruno Haible + + * modules/fpucw: New file. + * lib/fpucw.h: New file. + * lib/frexp.c: Include fpucw.h. + (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros. + (FUNC): Use them. + * lib/printf-frexp.c: Include fpucw.h. + (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros. + (FUNC): Use them. + * lib/vasnprintf.c: Include fpucw.h. + (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the + 'long double' calculations. + * tests/test-frexpl.c: Include fpucw.h. + (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING. + * tests/test-printf-frexpl.c: Include fpucw.h. + (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING. + * modules/frexpl (Depends-on): Add fpucw. + * modules/printf-frexpl (Depends-on): Likewise. + * modules/fprintf-posix (Depends-on): Likewise. + * modules/snprintf-posix (Depends-on): Likewise. + * modules/sprintf-posix (Depends-on): Likewise. + * modules/vasnprintf-posix (Depends-on): Likewise. + * modules/vasprintf-posix (Depends-on): Likewise. + * modules/vfprintf-posix (Depends-on): Likewise. + * modules/vsnprintf-posix (Depends-on): Likewise. + * modules/vsprintf-posix (Depends-on): Likewise. + * modules/frexpl-tests (Depends-on): Likewise. + * modules/printf-frexpl-tests (Depends-on): Likewise. + +2007-03-24 Bruno Haible + + * lib/float+.h: New file. + * lib/isnan.c: Include float+.h. + (SIZE): New macro. + (FUNC): Compare only SIZE bytes of the value. + * lib/vasnprintf.c: Include float+.h. + (VASNPRINTF): When comparing against +0.0L or +0.0, compare only + SIZEOF_LDBL or SIZEOF_DBL bytes. + * modules/isnan-nolibm (Files): Add lib/float+.h. + * modules/isnanl-nolibm (Files): Add lib/float+.h. + * modules/isnanl (Files): Add lib/float+.h. + * modules/vasnprintf (Files): Add lib/float+.h. + +2007-03-24 Bruno Haible + + * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't + include isnanl-nolibm.h. + +2007-03-24 Bruno Haible + + * tests/test-read-file.c (main): Don't produce spurious output for + expected situations. Make the test fail if it encountered unexpected + results. + +2007-03-24 Bruno Haible + + * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD, + since its fr_FR.ISO8859-1 locale wouldn't pass the tests. + +2007-03-24 Bruno Haible + + * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change. + +2007-03-24 Bruno Haible + + * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe, + utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16. + + * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4. + * modules/utf8-ucs4: Turn into a symbolic link to module + unistr/u8-mbtouc. + + * modules/unistr/u8-mbtouc-unsafe: Add source files from module + utf8-ucs4-unsafe. + * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module + unistr/u8-mbtouc-unsafe. + + * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4. + * modules/utf16-ucs4: Turn into a symbolic link to module + unistr/u16-mbtouc. + + * modules/unistr/u16-mbtouc-unsafe: Add source files from module + utf16-ucs4-unsafe. + * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module + unistr/u16-mbtouc-unsafe. + + * modules/unistr/u8-uctomb: Add source files from module utf4-utf8. + * modules/ucs4-utf8: Turn into a symbolic link to module + unistr/u8-ubtomb. + + * modules/unistr/u16-uctomb: Add source files from module utf4-utf16. + * modules/ucs4-utf16: Turn into a symbolic link to module + unistr/u16-ubtomb. + +2007-03-24 Bruno Haible + + * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c. + Enable the function only if HAVE_INLINE. + * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from + lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE. + * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c. + Enable the function only if HAVE_INLINE. + * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from + lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE. + * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c. + Enable the function only if HAVE_INLINE. + * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c. + Enable the function only if HAVE_INLINE. + * modules/utf8-ucs4: Update. + * modules/utf8-ucs4-unsafe: Update. + * modules/utf16-ucs4: Update. + * modules/utf16-ucs4-unsafe: Update. + * modules/ucs4-utf8: Update. + * modules/ucs4-utf16: Update. + +2007-03-24 Bruno Haible + + * lib/utf8-ucs4.h: Remove file. + * lib/utf8-ucs4-unsafe.h: Remove file. + * lib/utf16-ucs4.h: Remove file. + * lib/utf16-ucs4-unsafe.h: Remove file. + * lib/ucs4-utf8.h: Remove file. + * lib/ucs4-utf16.h: Remove file. + * lib/unistr.h: Include their previous contents. + * m4/utf-ucs4.m4: Remove file. + * m4/ucs4-utf.m4: Remove file. + * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h. + (Depends-on): Add unistr/base. + (configure.ac): Remove gl_UTF_UCS4. + (Makefile.am): Update. + (Include): Change to unistr.h. + * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h. + (Depends-on): Add unistr/base. + (configure.ac): Remove gl_UTF_UCS4. + (Makefile.am): Update. + (Include): Change to unistr.h. + * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h. + (Depends-on): Add unistr/base. + (configure.ac): Remove gl_UTF_UCS4. + (Makefile.am): Update. + (Include): Change to unistr.h. + * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h. + (Depends-on): Add unistr/base. + (configure.ac): Remove gl_UTF_UCS4. + (Makefile.am): Update. + (Include): Change to unistr.h. + * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h. + (Depends-on): Add unistr/base. + (configure.ac): Remove gl_UCS4_UTF. + (Makefile.am): Update. + (Include): Change to unistr.h. + * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h. + (Depends-on): Add unistr/base. + (configure.ac): Remove gl_UCS4_UTF. + (Makefile.am): Update. + (Include): Change to unistr.h. + * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h. + * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of + utf8-ucs4-unsafe.h. + * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h. + * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of + utf16-ucs4-unsafe.h. + * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h. + * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h. + * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h. + * lib/unistr/u8-strchr.c: Likewise. + * lib/unistr/u8-strrchr.c: Likewise. + * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h. + * lib/unistr/u16-strchr.c: Likewise. + * lib/unistr/u16-strrchr.c: Likewise. + * lib/striconveh.c: Update. + * lib/linebreak.c: Update. + +2007-03-24 Bruno Haible + + * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the + arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'. + +2007-03-22 Bruno Haible + + * lib/strptime.c (__strptime_internal): Use ANSI C syntax. + +2007-03-23 Paul Eggert + + * MODULES.html.sh (File system functions): New module write-any-file. + * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h: + * m4/write-any-file.m4: New files. + +2007-03-23 Eric Blake + + * gnulib-tool: Rearrange space-tab sequences, since some editors + like to eat them. + +2007-03-23 Eric Blake + + * lib/version-etc.c (version_etc_va): Update license wording to + be more concise. Recommended by Richard Stallman. + +2007-03-22 Bruno Haible + + * lib/poll.c (MSG_PEEK): New fallback definition. + +2007-03-22 Bruno Haible + + * modules/sys_socket-tests (configure.ac): Check for shutdown function. + * tests/test-sys_socket.c (a): Test only if shutdown() exists. + (main): Update. + Fixes a compilation error on BeOS. + +2007-03-22 Bruno Haible + + * modules/frexpl-tests: New file. + * tests/test-frexpl.c: New file. + + * modules/frexpl: New file. + * m4/frexpl.m4: New file. + * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h. + * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL. + * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c. + (Depends-on): Add frexpl. Remove isnanl-nolibm. + * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl. + +2007-03-22 Bruno Haible + + * lib/frexpl.c: Share code with lib/frexp.c. + * modules/mathl (Files): Add lib/frexp.c. + (Depends-on): Add isnanl-nolibm. + +2007-03-22 Bruno Haible + + * modules/printf-frexp (Files): Add m4/frexp.m4. + * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC + only if the found frexp function actually works. + +2007-03-22 Bruno Haible + + * lib/frexp.c: Remove older implementation that uses divisions. + +2007-03-21 Bruno Haible + + * modules/frexp-tests: New file. + * tests/test-frexp.c: New file. + + * modules/frexp: New file. + * lib/frexp.c: New file. + * m4/frexp.m4: New file. + * lib/math_.h (frexp): New declaration. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and + REPLACE_FREXP. + * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP. + +2007-03-21 Bruno Haible + + * modules/isnanl-tests: New file. + * tests/test-isnanl.c: New file. + + * modules/isnanl: New file. + * lib/isnanl.h: New file. + * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro. + (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM, + gl_FUNC_ISNANL_WORKS. + (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS): + New macros. + +2007-03-21 Bruno Haible + + * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove + lib/isnanl.h. + (Include): Update. + * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h. + * lib/vasnprintf.c: Update. + * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c, + tests/test-isnanl.h, remove tests/test-isnanl.c. + (Makefile.am): Update. + * tests/test-isnanl-nolibm.c: New file. + * tests/test-isnanl.h: New file. + * tests/test-isnanl.c: Remove file. + +2007-03-21 Jim Meyering + + When trying to open ".", treat ESTALE like EACCES. + * lib/savewd.c (savewd_save): Resort to forking not just upon + failure with EACCES, but also when errno is ESTALE. + +2007-03-20 Bruno Haible + + * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP. + Needed on AIX 5.1. Reported by Matthew Woehlke. + +2007-03-19 Paul Eggert + + Suggestions by Bruno Haible: + * lib/acl-internal.h: Include "gettext.h" rather than rolling + our own. + (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used. + * modules/acl (Depends-on): Add gettext. + +2007-03-19 Bruno Haible + + * modules/iconvme: Remove file. + * lib/iconvme.h: Remove file. + * lib/iconvme.c: Remove file. + * m4/iconvme.m4: Remove file. + +2007-03-19 Bruno Haible + + * doc/relocatable-maint.texi: Break long shell script line. + Suggested by Thien-Thi Nguyen . + +2007-03-19 Paul Eggert + + Add limited support for Solaris 10 ZFS-style ACLs: just enough to + handle file_has_acl. + * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files. + * lib/acl.c: Move header inclusions and related macro defns into + lib/acl-internal.h. + (S_ISLNK): Remove defn, since that's now done for us. + (file_has_acl): Move to lib/file-has-acl.c. + Call acl_trivial if available. This is the crucial part of the fix. + (acl_entries): Move to lib/acl_entries.c. Now extern, since it's + shared within the library. Rewrite a bit, partly to make it compatible + with the GNU coding style. + * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]). + Remove unnecessary double-quotes. + Don't test for acl_to_text; the build will catch that. + Replace acl_entries if it doesn't exist and it is needed. + Check for -lsec and acl_trivial (as used on Solaris 10). + * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c, + lib/file-has-acl.c. + (Depends-on): Add sys_stat, for S_ISLNK. + +2007-03-19 Ben Pfaff + + * doc/gnulib.texi: Fix typos. + Suggested by Thien-Thi Nguyen . + +2007-03-19 Paul Eggert + + * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL. + If size is zero here, buf must be zero. + +2007-03-19 Simon Josefsson + + * des.c: Remove weak_keys_chksum. Reported by Bruno Haible + . + +2007-03-18 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch. + Suggested by Eric Blake. + +2007-03-18 Ben Pfaff + + * doc/relocatable.texi: Recommend using as prefix a directory + that does not exist and will never be created. Based on + discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke, + and others. + +2007-03-17 Bruno Haible + + * lib/fchownat.c: Include lchown.h. + +2007-03-17 Bruno Haible + + Fix endless loop when the given allocated size was > INT_MAX. + * lib/vasnprintf.c (EOVERFLOW): New fallback definition. + (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is + larger than INT_MAX, or when it grow to a value larger than INT_MAX. + * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf. + * lib/sprintf.c (sprintf): Likewise. + +2007-03-17 Bruno Haible + + * tests/test-argp-2.sh (func_compare): Output a context diff. + +2007-03-17 Bruno Haible + + * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the + locale's decimal-point character. + +2007-03-17 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem + before comparing it. Needed because on some platforms (e.g. x86) a + 'long double' occupies less bytes than sizeof (long double). + +2007-03-17 Bruno Haible + + * tests/test-crc.c (main): Make printf statements 64-bit clean. + * tests/test-gc-pbkdf2-sha1.c (main): Likewise. + * tests/test-getaddrinfo.c (simple): Likewise. + * tests/test-read-file.c (main): Likewise. + +2007-03-17 Bruno Haible + + * tests/test-dirname.c (main): Make printf statements 64-bit clean. + +2007-03-17 Bruno Haible + + * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove + unused variable. + +2007-03-17 Bruno Haible + + * tests/test-c-strcasecmp.c: Include c-strcase.h. + * tests/test-c-strncasecmp.c: Likewise. + +2007-03-17 Bruno Haible + + * modules/stdlib (Depends-on): Add unistd. + * lib/stdlib_.h: Include if mkstemp is desired. + Needed for MacOS X 10.3. + +2007-03-17 Bruno Haible + + * lib/unistr/u-strdup.h: Include . + +2007-03-17 Bruno Haible + + * lib/unistr/u-cpy-alloc.h: Include . + +2007-03-17 Bruno Haible + + * gnulib-tool (func_import): Update .cvsignore and .gitignore files + to reflect files copied from gnulib (with or without modifications). + Suggested by Jim Meyering. + +2007-03-17 Eric Blake + + * NEWS: Document stdlib change from 2007-02-18. + +2007-03-17 Jim Meyering + + Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted. + * build-aux/bootstrap: Put ""s around use of $build_aux, in case + someone uses a name containing shell meta-characters. + Reported by Alfred M. Szmidt. + + * build-aux/bootstrap: Don't use \> in grep regexp. For HP-UX. + +2007-03-16 Alfred M. Szmidt + + * build-aux/bootstrap (with_gettext): New variable. Run autopoint + and copy gettext configuration files only if configure.ac contains + a use of AM_GNU_GETTEXT_VERSION. + +2007-03-16 Alfred M. Szmidt + + * build-aux/bootstrap (gnulib_name): New variable. + (gnulib_tool_options): Use it. + +2007-03-13 Simon Josefsson + + * tests/test-des.c: Use new namespace. + +2007-03-15 Bruno Haible + + * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'. + Reported by James Youngman . + +2007-03-15 Bruno Haible + + * lib/glob.c (glob): Add 'restrict' so that prototype matches the + declared prototype. Needed with cc on OSF/1 5.1. + +2007-03-15 Bruno Haible + + * lib/gl_list.h (gl_listelement_dispose_fn): New type. + (gl_list_create_empty, gl_list_create): Add dispose_fn argument. + (struct gl_list_implementation): Add dispose_fn argument to the + 'create_empty', 'create' methods. + (struct gl_list_impl_base): Add field 'dispose_fn'. + * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn + argument. + * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add + dispose_fn argument. + (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call + dispose_fn on the dropped values. + * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add + dispose_fn argument. + (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the + dropped values. + * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument. + (gl_tree_remove_node): Call dispose_fn on the dropped value. + * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument. + (gl_tree_remove_node): Call dispose_fn on the dropped value. + * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn + argument. + (gl_tree_list_free): Call dispose_fn on the dropped values. + * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on + the dropped values. + * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create): + Add dispose_fn argument. + (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free): + Call dispose_fn on the dropped values. + * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill): + Add dispose_fn argument. + (gl_sublist_create): Initialize the 'dispose_fn' field. + * lib/clean-temp.c (create_temp_dir, register_fd): Update. + * tests/test-array_list.c (main): Update. + * tests/test-carray_list.c (main): Update. + * tests/test-avltree_list.c (main): Update. + * tests/test-rbtree_list.c (main): Update. + * tests/test-avltreehash_list.c (main): Update. + * tests/test-rbtreehash_list.c (main): Update. + * tests/test-linked_list.c (main): Update. + * tests/test-linkedhash_list.c (main): Update. + * tests/test-array_oset.c (main): Update. + +2007-03-15 Bruno Haible + + * lib/gl_oset.h (gl_setelement_dispose_fn): New type. + (gl_oset_create_empty): Add dispose_fn argument. + (struct gl_oset_implementation): Add dispose_fn argument to + 'create_empty' method. + (struct gl_oset_impl_base): Add dispose_fn field. + * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument. + * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument. + (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped + values. + * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument. + (gl_tree_oset_free): Call dispose_fn on the dropped values. + * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the + dropped value. + * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the + dropped value. + * tests/test-array_oset.c (main): Update. + * tests/test-avltree_oset.c (main): Update. + * tests/test-rbtree_oset.c (main): Update. + * lib/gl_anytreehash_list1.h (add_to_bucket): Update. + +2007-03-13 Bruno Haible + + * tests/test-stdbool.c (i): Update after last patch. + +2007-03-12 Bruno Haible + + * lib/quotearg.c: Include early, before the definition of + the iswprint macro. Needed on Solaris 2.5.1. + +2007-03-12 Bruno Haible + + * tests/test-printf-frexp.c (main): Declare x as volatile. + +2007-03-12 Simon Josefsson + + * doc/gnulib.texi (Build robot for gnulib): New section. + +2007-03-12 Jim Meyering + + * build-aux/bootstrap: New file. + * build-aux/bootstrap.conf: New file, from coreutils. + +2007-03-11 Bruno Haible + + * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE. + +2007-03-12 Simon Josefsson + + * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to + avoid collisions with 'des_setkey'. Reported by Bruno Haible + . Also change 'tripledes_' to '3des_'. + +2007-03-11 Bruno Haible + + * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to + compile, set LOCALE_TR_UTF8 to 'none' instead of empty. + +2007-03-11 Bruno Haible + + * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX + formula. Needed for SunPRO C 5.0. + +2007-03-11 Bruno Haible + + * modules/long-options (Depends-on): Add getopt. + +2007-03-11 Bruno Haible + + * modules/modechange (Depends-on): Add stdbool. + +2007-03-11 Bruno Haible + + * modules/i-ring (Depends-on): Add stdbool. + +2007-03-11 Bruno Haible + + * modules/gc-des (Depends-on): Add stdbool. + +2007-03-11 Bruno Haible + + * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE. + +2007-03-11 Bruno Haible + + * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT. + +2007-03-11 Bruno Haible + + * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error. + +2007-03-11 Bruno Haible + + * lib/vasnprintf.c (sprintf): Undefine. + +2007-03-11 Bruno Haible + + * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding + initializers in SunPRO C and Compaq C compilers. + +2007-03-11 Bruno Haible + + * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer + decrementing code ANSI C compliant. + +2007-03-11 Bruno Haible + + * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef. + Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0. + +2007-03-11 Bruno Haible + + * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's + substitute doesn't pass. + +2007-03-11 Bruno Haible + + * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion. + +2007-03-11 Bruno Haible + + * gnulib-tool (func_create_megatestdir): Create also an autobuild + script, for submission to autobuild.josefsson.org. + +2007-03-10 Bruno Haible + + * modules/canonicalize-lgpl-tests: New file. + * tests/test-canonicalize-lgpl.sh: New file. + * tests/test-canonicalize-lgpl.c: New file. + + * modules/c-strcase-tests: New file. + * tests/test-c-strcase.sh: New file. + * tests/test-c-strcasecmp.c: New file. + * tests/test-c-strncasecmp.c: New file. + + * modules/atexit-tests: New file. + * tests/test-atexit.sh: New file. + * tests/test-atexit.c: New file. + +2007-03-10 Bruno Haible + + * tests/test-binary-io.sh: Use temporary filenames that are not so + likely to clash with those of other tests (in a parallel make). + * tests/test-binary-io.c: Likewise. + +2007-03-10 Bruno Haible + + * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the + fallback; use #error instead. + Suggested by Simon Josefsson. + +2007-03-10 Bruno Haible + + * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like + CLEANFILES. Put spaces in each line of $cleaned_files, not only the + first and the last. + +2007-03-10 Bruno Haible + + * lib/stdint_.h (uint_least64_t): Fix typo in last patch. + +2007-03-10 Bruno Haible + + * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for + "make distcheck". + * modules/sprintf-posix-tests (EXTRA_DIST): Likewise. + * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise. + * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise. + +2007-03-10 Bruno Haible + + * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant + variable. + * modules/dirname-tests (test_dirname_SOURCES): Remove redundant + variable. + +2007-03-09 Eric Blake + and Matthew Woehlke (tiny change) + + * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit + types are not being provided by gnulib. + (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit + types are supported. + +2007-03-10 Bruno Haible + + * lib/stdio_.h (__attribute__): New macro. + (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf, + vsprintf): Specify __attribute__ __format__ for GCC. + Suggested by Eric Blake. + +2007-03-09 Bruno Haible + + * modules/printf-posix-tests: New file. + * tests/test-printf-posix.sh: New file. + * tests/test-printf-posix.c: New file. + + * modules/printf-posix: New file. + * lib/printf.c: New file. + * m4/printf-posix-rpl.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX, + REPLACE_PRINTF. + * lib/stdio_.h (printf): New declaration. + (format, __format__, ____printf____, ____scanf____, ____strftime____, + ____strfmon____): New macros. + * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX, + REPLACE_PRINTF. + +2007-03-09 Bruno Haible + + * tests/test-vasnprintf-posix2.sh: New file. + * tests/test-vasnprintf-posix2.c: New file. + * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4. + (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8. + (Makefile.am): Activate test-vasnprintf-posix2.sh. + + * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use + a locale dependent decimal point, rather than always '.'. + +2007-03-09 Eric Blake + + * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in + spite of platforms like Tandem/NSK that define it to -1. + +2007-03-08 Bruno Haible + + * modules/vprintf-posix-tests: New file. + * tests/test-vprintf-posix.sh: New file. + * tests/test-vprintf-posix.c: New file. + * tests/test-printf-posix.h: New file. + + * modules/vprintf-posix: New file. + * lib/vprintf.c: New file. + * m4/vprintf-posix.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX, + REPLACE_VPRINTF. + * lib/stdio_.h (vprintf): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX, + REPLACE_VPRINTF. + +2007-03-08 Bruno Haible + + * modules/fprintf-posix-tests: New file. + * tests/test-fprintf-posix.sh: New file. + * tests/test-fprintf-posix.c: New file. + + * modules/fprintf-posix: New file. + * lib/fprintf.c: New file. + * m4/fprintf-posix.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX, + REPLACE_FPRINTF. + * lib/stdio_.h (fprintf): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX, + REPLACE_FPRINTF. + +2007-03-08 Bruno Haible + + * modules/vfprintf-posix-tests: New file. + * tests/test-vfprintf-posix.sh: New file. + * tests/test-vfprintf-posix.c: New file. + * tests/test-fprintf-posix.h: New file. + * tests/test-fprintf-posix.out: New file. + + * modules/vfprintf-posix: New file. + * lib/vfprintf.c: New file. + * m4/vfprintf-posix.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX, + REPLACE_VFPRINTF. + * lib/stdio_.h (vfprintf): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX, + REPLACE_VFPRINTF. + +2007-03-08 Bruno Haible + + * lib/stdio_.h: Treat __need___FILE like __need_FILE. + +2007-03-08 Bruno Haible + + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements + instead of 'expr' invocations. + * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. + Suggested by Paul Eggert. + +2007-03-08 Bruno Haible + + * modules/fseterr-tests: New file. + * tests/test-fseterr.c: New file. + + * modules/fseterr: New file. + * lib/fseterr.h: New file. + * lib/fseterr.c: New file. + +2007-03-08 Bruno Haible + + * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces. + * lib/getopt_.h: Likewise. + * lib/mbswidth.h: Likewise. + * lib/setenv.h: Likewise. + * lib/vasnprintf.h: Likewise. + * lib/vasprintf.h: Likewise. + * lib/verror.h: Likewise. + * lib/xsetenv.h: Likewise. + * lib/xvasprintf.h: Likewise. + +2007-03-08 Jim Meyering + + * users.txt: Add parted. + + * ChangeLog: Restore 1500 lines mistakenly removed from the end. + +2007-03-07 Bruno Haible + + * m4/printf.m4: Make the shell script snippets copy&pastable. + +2007-03-02 Bruno Haible + + * lib/netinet_in_.h: New file. + * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h + is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H. + * modules/netinet_in (Files): Add lib/netinet_in_.h. + (Depends-on): Add absolute-header. + (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H + into netinet/in.h. + +2007-03-03 Bruno Haible + + * lib/sys_select_.h: New file. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h + is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H. + * modules/sys_select (Files): Add lib/sys_select_.h. + (Depends-on): Add absolute-header. + (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H + into sys/select.h. + +2007-03-02 Bruno Haible + + * lib/socket_.h: If sys/socket.h exists, include that and + before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time + values. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether + is self-contained. Set ABSOLUTE_SYS_SOCKET_H, + HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H. + * modules/sys_socket (Depends-on): Add absolute-header. + (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H, + HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h. + (Include): Remove requirement of inclusion of . + +2007-03-02 Bruno Haible + + * lib/byteswap_.h (bswap_32): Fix formula. + +2007-03-06 Bruno Haible + + * modules/sprintf-posix-tests: New file. + * tests/test-sprintf-posix.c: New file. + + * modules/sprintf-posix: New file. + * lib/sprintf.c: New file. + * m4/sprintf-posix.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX, + REPLACE_SPRINTF. + * lib/stdio_.h (sprintf): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX, + REPLACE_SPRINTF. + +2007-03-06 Bruno Haible + + * modules/vsprintf-posix-tests: New file. + * tests/test-vsprintf-posix.c: New file. + * tests/test-sprintf-posix.h: New file. + + * modules/vsprintf-posix: New file. + * lib/vsprintf.c: New file. + * m4/vsprintf-posix.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX, + REPLACE_VSPRINTF. + * lib/stdio_.h (vsprintf): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX, + REPLACE_VSPRINTF. + +2007-03-06 Bruno Haible + + * modules/vsnprintf (Depend-on): Remove minmax. + +2007-03-06 Bruno Haible + + * modules/snprintf-posix-tests: New file. + * tests/test-snprintf-posix.c: New file. + + * modules/snprintf-posix: New file. + * m4/snprintf-posix.m4: New file. + * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from + gl_FUNC_SNPRINTF. + (gl_FUNC_SNPRINTF): Invoke it. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF. + * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF + is set. + * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF. + +2007-03-06 Bruno Haible + + * modules/vsnprintf-posix-tests: New file. + * tests/test-vsnprintf-posix.c: New file. + * tests/test-snprintf-posix.h: New file. + + * modules/vsnprintf-posix: New file. + * m4/vsnprintf-posix.m4: New file. + * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from + gl_FUNC_VSNPRINTF. + (gl_FUNC_VSNPRINTF): Invoke it. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF. + * lib/stdio_.h (vsnprintf): Define as a replacement if + REPLACE_VSNPRINTF is set. + * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF. + +2007-03-06 Bruno Haible + + * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here. + +2007-03-06 Bruno Haible + + * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set. + (asinl): Declare also if HAVE_DECL_ASINL is set. + (atanl): Declare also if HAVE_DECL_ATANL is set. + (ceill): Declare also if HAVE_DECL_CEILL is set. + (cosl): Declare also if HAVE_DECL_COSL is set. + (expl): Declare also if HAVE_DECL_EXPL is set. + (floorl): Declare also if HAVE_DECL_FLOORL is set. + (frexpl): Declare also if HAVE_DECL_FREXPL is set. + (ldexpl): Declare also if HAVE_DECL_LDEXPL is set. + (logl): Declare also if HAVE_DECL_LOGL is set. + (sinl): Declare also if HAVE_DECL_SINL is set. + (sqrtl): Declare also if HAVE_DECL_SQRTL is set. + (tanl): Declare also if HAVE_DECL_TANL is set. + * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1. + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the + declaration of frexpl, ldexpl. + * modules/printf-frexpl (Depends-on): Add math. + * lib/printf-frexp.c (frexpl, ldexpl): Undo last change. + +2007-03-05 Bruno Haible + + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether + frexpl and ldexpl are declared. + * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations. + +2007-03-05 Bruno Haible + + * gnulib-tool (func_get_automake_snippet): Don't synthesize an + EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module. + +2007-03-05 Bruno Haible + + * lib/stdio_.h: Include . + +2007-03-05 Bruno Haible + + * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro. + +2007-03-05 Bruno Haible + + * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20, + NetBSD 4, from Ralf Wildenhues. + +2007-03-04 Bruno Haible + + * lib/vasprintf.h: Update #if logic for the case when the functions + exist but are overridden. + +2007-03-04 Bruno Haible + + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy + implementations: glibc-2.4 and MacOS X 10.3. + * tests/test-vasnprintf-posix.c (test_function): Test also the case + that exhibits the bugs in glibc-2.4 and MacOS X 10.3. + * tests/test-vasprintf-posix.c (test_function): Likewise. + +2007-03-04 Bruno Haible + + * modules/vasprintf-posix-tests: New file. + * tests/test-vasprintf-posix.c: New file. + + * modules/vasprintf-posix: New file. + * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is + defined. + * m4/vasprintf-posix.m4: New file. + * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from + gl_FUNC_VASPRINTF. + (gl_FUNC_VASPRINTF): Invoke it. + * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF + here. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here. + +2007-03-04 Bruno Haible + + * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to + REPLACE_GETTIMEOFDAY. + * modules/sys_time (Makefile.am): Likewise. + * m4/sys_time_h.m4: Likewise. + * m4/gettimeofday.m4: Likewise. + +2007-03-04 Bruno Haible + + * modules/vasnprintf-posix-tests: New file. + * tests/test-vasnprintf-posix.c: New file. + + * modules/vasnprintf-posix: New file. + * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h, + printf-frexpl.h. + (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed. + * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if + REPLACE_VASNPRINTF is defined. + * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from + gl_FUNC_VASNPRINTF. + (gl_FUNC_VASNPRINTF): Invoke it. + * m4/vasnprintf-posix.m4: New file. + * m4/printf.m4: New file. + +2007-03-04 Bruno Haible + + Compile progreloc.c only if --enable-relocatable is specified. + * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c + if --enable-relocatable was specified. + * modules/relocatable-prog (Makefile.am): Remove progreloc.c from + lib_SOURCES. + +2007-03-04 Jim Meyering + + * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro. + Use it consistently, rather than enumerating errno constants. + +2007-03-04 Bruno Haible + + * modules/xvasprintf-tests: New file. + * tests/test-xvasprintf.c: New file. + + * modules/vasprintf-tests: New file. + * tests/test-vasprintf.c: New file. + + * modules/vasnprintf-tests: New file. + * tests/test-vasnprintf.c: New file. + + * modules/vsnprintf-tests: New file. + * tests/test-vsnprintf.c: New file. + + * modules/snprintf-tests: New file. + * tests/test-snprintf.c: New file. + +2007-03-04 Bruno Haible + + Compile relocatable.c only if --enable-relocatable is specified. + * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from + gl_RELOCATABLE_LIBRARY. + (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros. + * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY. + (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of + gl_RELOCATABLE_LIBRARY. + * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY. + (Makefile.am): Remove lib_SOURCES. + * modules/relocatable-lib-lgpl (configure.ac): Invoke + gl_RELOCATABLE_LIBRARY. + (Makefile.am): Remove lib_SOURCES. + * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c + always. + * modules/relocatable-prog-wrapper (configure.ac): Invoke + gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY. + +2007-03-04 Bruno Haible + + * modules/argmatch-tests: New file. + * tests/test-argmatch.c: New file. + + * tests/test-allocsa.c (main): Halve the number of loop runs. + + * modules/alloca-opt-tests: New file. + * tests/test-alloca-opt.c: New file. + +2007-03-04 Jim Meyering + + Work around difference between Linux ACLs and Solaris 10 ZFS. + * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also + for EINVAL. + +2007-03-03 Bruno Haible + + * modules/relocatable-prog (Depends-on): Add back progreloc's + dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd. + +2007-03-03 Bruno Haible + + * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib. + * modules/relocatable-lib: New file. + +2007-03-03 Bruno Haible + + * modules/relocatable-prog: Renamed from modules/relocatable. + * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'. + +2007-03-03 Bruno Haible + + * modules/relocatable-script (Files): Add doc/relocatable.texi, + m4/relocatable-lib.m4. + (Depends-on): Remove 'relocatable'. + (configure.ac): Add gl_RELOCATABLE_NOP. + +2007-03-03 Bruno Haible + + * modules/relocatable-prog-wrapper: New file. + * modules/relocatable (Depends-on): Add it. Remove all other + dependencies except progname. + (Files): Remove build-aux/install-reloc, lib/relocwrapper.c. + + * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro. + (gl_FUNC_STRERROR): Nop. + * lib/strerror.c: Compile the file only if !HAVE_STRERROR. + + * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro. + * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV. + + * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro. + (gl_FUNC_READLINK): Update. + + * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro. + +2007-03-03 Bruno Haible + + * lib/xreadlink.c: Include unconditionally. + * modules/xreadlink (Depends-on): Add unistd. + * modules/xreadlink-with-size (Depends-on): Likewise. + +2007-03-03 Bruno Haible + + * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros, + extracted from gt_FUNC_SETENV. + (gt_FUNC_SETENV): Remove macro. + * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV, + remove gt_FUNC_SETENV. + +2007-03-03 Bruno Haible + + * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define + ENABLE_RELOCATABLE here. + * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here. + +2007-03-03 Bruno Haible + + * modules/rbtreehash-list-tests (Depends-on): Add progname. + * tests/test-rbtreehash_list.c: Include progname.h. + (main): Call set_program_name. + + * modules/rbtree-oset-tests (Depends-on): Add progname. + * tests/test-rbtree_oset.c: Include progname.h. + (main): Call set_program_name. + + * modules/rbtree-list-tests (Depends-on): Add progname. + * tests/test-rbtree_list.c: Include progname.h. + (main): Call set_program_name. + + * modules/linked-list-tests (Depends-on): Add progname. + * tests/test-linked_list.c: Include progname.h. + (main): Call set_program_name. + +2007-03-03 Bruno Haible + + * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h. + All uses of __restrict changed to _Restrict_. + * lib/glob_.h (__restrict): Remove macro. + +2007-03-02 Bruno Haible + + * modules/gettext (configure.ac): Require gettext infrastructure + from version 0.16.1. + +2007-03-02 Bruno Haible + + * modules/linkedhash-list-tests (Depends-on): Add progname. + * tests/test-linkedhash_list.c: Include progname.h. + (main): Call set_program_name. + + * modules/carray-list-tests (Depends-on): Add progname. + * tests/test-carray_list.c: Include progname.h. + (main): Call set_program_name. + + * modules/avltreehash-list-tests (Depends-on): Add progname. + * tests/test-avltreehash_list.c: Include progname.h. + (main): Call set_program_name. + + * modules/avltree-oset-tests (Depends-on): Add progname. + * tests/test-avltree_oset.c: Include progname.h. + (main): Call set_program_name. + + * modules/avltree-list-tests (Depends-on): Add progname. + * tests/test-avltree_list.c: Include progname.h. + (main): Call set_program_name. + + * modules/array-oset-tests (Depends-on): Add progname. + * tests/test-array_oset.c: Include progname.h. + (main): Call set_program_name. + + * modules/array-list-tests (Depends-on): Add progname. + * tests/test-array_list.c: Include progname.h. + (main): Call set_program_name. + + * modules/argp-tests (Depends-on): Add progname. + * tests/test-argp.c: Include argp.h first. Include progname.h. + (main): Call set_program_name. + +2007-03-02 Paul Eggert + + * doc/gnulib-tool.texi (Initial import): Reword description of + _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a + limited effect even if defined after the first system include. + +2007-03-01 Bruno Haible + + * build-aux/config.libpath: Update to libtool-1.5.22. + Reported by Albert Chin . + +2007-03-01 Bruno Haible + + * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not + foo_CFLAGS. + Reported by Ralf Wildenhues. + +2007-03-01 Bruno Haible + + * build-aux/install-reloc: Remove object files left over by some + compilers. + Reported by Ralf Wildenhues. + +2007-03-01 Bruno Haible + + * build-aux/install-reloc: Break long lines. + +2007-03-01 Bruno Haible + + * doc/relocatable.texi: Document that it may not work on OpenBSD. + Reported by Ralf Wildenhues. + +2007-03-01 Bruno Haible + + * doc/gnulib-tool.texi (Initial import): Remove paragraph about + include ordering constraints. + +2007-03-01 Paul Eggert + + Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in + . + * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS + as another example. + * lib/time_.h: Fix misspelling. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): + Require gl_HEADER_TIME_H_DEFAULTS. + * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise. + * m4/time_r.m4 (gl_TIME_R): Likewise. + * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise. + +2007-03-01 Bruno Haible + + * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC. + * m4/utimens.m4 (gl_UTIMENS): Likewise. + +2007-03-01 Jim Meyering + + * modules/xreadlink (Maintainer): Add my name. + * modules/xreadlink-with-size (Depends-on): Alphabetize. + +2007-02-26 Ben Pfaff + Bruno Haible + + * build-aux/install-reloc: Compile also c-ctype.c. + * build-aux/relocatable.sh.in: New file. + * doc/relocatable.texi: New file. + * doc/relocatable-maint.texi: New file. + * doc/gnulib.texi: Include relocatable-maint.texi. + * lib/progreloc.c: Include unistd.h unconditionally. + * lib/relocwrapper.c: Include unistd.h unconditionally. + Include c-ctype.h. + (add_dotbin): Use c_tolower. + * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4. + (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY. + (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP. + * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move + to m4/relocatable-lib.m4. + (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also + RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR. + (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't + require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set + SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV. + * modules/relocatable: New file. + * modules/relocatable-lib: New file. + * modules/relocatable-script: New file. + +2007-02-28 Bruno Haible + + Import --enable-relocatable infrastructure. + * build-aux/config.libpath: New file, from GNU gettext. + * build-aux/install-reloc: New file, from GNU gettext. + * build-aux/reloc-ldflags: New file, from GNU gettext. + * lib/relocatable.h: New file, from GNU gettext. + * lib/relocatable.c: New file, from GNU gettext. + * lib/relocwrapper.c: New file, from GNU gettext. + * m4/relocatable.m4: New file, from GNU gettext. + +2007-02-28 Bruno Haible + + * MODULES.html.sh (File system functions): Add xreadlink-with-size. + + * modules/xreadlink: New file, from GNU gettext with modifications. + * lib/xreadlink.c: New file, from GNU gettext. + * lib/xreadlink.h: Add comments. + (xreadlink): New declaration. + + * modules/xreadlink-with-size: Renamed from modules/xreadlink. + (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with + lib/xreadlink-with-size.c. + (configure.ac): Remove gl_XREADLINK invocation. + (Makefile.am): Augment lib_SOURCES. + * m4/xreadlink.m4: Remove file. + * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c. + (xreadlink_with_size): Renamed from xreadink. + * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink. + * modules/canonicalize (Depends-on): Replace xreadlink with + xreadlink-with-size. + * lib/canonicalize.c (canonicalize_filename_mode): Update. + +2007-02-25 Jim Meyering + + * build-aux/announce-gen: When complaining about excess arguments, + list them. + +2007-02-25 Paul Eggert + + * README: Document signed integer overflow situation more + accurately. + +2007-02-25 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a + 'a' or 'A' conversion. + +2007-02-25 Bruno Haible + + * modules/filename: Renamed from modules/pathname. + (Files): Replace lib/pathname.h with lib/filename.h. Replace + lib/concatpath.c with lib/concat-filename.c. + (Makefile.am): Update. + (Include): Replace pathname.h with filename.h. + * lib/filename.h: Renamed from lib/pathname.h. + (concatenated_filename): Renamed from concatenated_pathname. + * lib/concat-filename.c: Renamed from lib/concatpath.c. + (concatenated_filename): Renamed from concatenated_pathname. + * lib/findprog.c: Include filename.h instead of pathname.h. + (find_in_path): Update. + * lib/javacomp.c: Include filename.h instead of pathname.h. + (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable, + is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable, + is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable, + is_oldgcj_14_13_usable, is_javac_usable): Update. + * lib/javaexec.c: Include filename.h instead of pathname.h. + (execute_java_class): Update. + * modules/findprog: Update. + * modules/javacomp: Update. + * modules/javaexec: Update. + * MODULES.html.sh (File system functions): Add 'filename', remove + 'pathname'. + +2007-02-25 Bruno Haible + + * modules/printf-frexpl-tests: New file. + * tests/test-printf-frexpl.c: New file. + + * modules/printf-frexpl: New file. + * lib/printf-frexpl.h: New file. + * lib/printf-frexpl.c: New file. + * m4/printf-frexpl.m4: New file. + +2007-02-25 Bruno Haible + + * modules/printf-frexp-tests: New file. + * tests/test-printf-frexp.c: New file. + + * modules/printf-frexp: New file. + * lib/printf-frexp.h: New file. + * lib/printf-frexp.c: New file. + * m4/printf-frexp.m4: New file. + +2007-02-25 Bruno Haible + + Assume automake >= 1.10 for the tests. + * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix. + * modules/arctwo-tests: Likewise. + * modules/argp-tests: Likewise. + * modules/avltree-list-tests: Likewise. + * modules/avltree-oset-tests: Likewise. + * modules/avltreehash-list-tests: Likewise. + * modules/carray-list-tests: Likewise. + * modules/crc-tests: Likewise. + * modules/des-tests: Likewise. + * modules/gc-arcfour-tests: Likewise. + * modules/gc-arctwo-tests: Likewise. + * modules/gc-des-tests: Likewise. + * modules/gc-hmac-md5-tests: Likewise. + * modules/gc-hmac-sha1-tests: Likewise. + * modules/gc-md2-tests: Likewise. + * modules/gc-md4-tests: Likewise. + * modules/gc-md5-tests: Likewise. + * modules/gc-pbkdf2-sha1-tests: Likewise. + * modules/gc-rijndael-tests: Likewise. + * modules/gc-sha1-tests: Likewise. + * modules/gc-tests: Likewise. + * modules/getaddrinfo-tests: Likewise. + * modules/hmac-md5-tests: Likewise. + * modules/hmac-sha1-tests: Likewise. + * modules/linked-list-tests: Likewise. + * modules/linkedhash-list-tests: Likewise. + * modules/lock-tests: Likewise. + * modules/md2-tests: Likewise. + * modules/md4-tests: Likewise. + * modules/md5-tests: Likewise. + * modules/rbtree-list-tests: Likewise. + * modules/rbtree-oset-tests: Likewise. + * modules/rbtreehash-list-tests: Likewise. + * modules/read-file-tests: Likewise. + * modules/rijndael-tests: Likewise. + * modules/stdint-tests: Likewise. + * modules/tls-tests: Likewise. + +2007-02-24 Bruno Haible + + * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro. + * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a + function; instead check whether isnan with a double argument links. + * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a + function; instead check whether isnan with a 'long double' argument + links. + Reported by Eric Blake . + +2007-02-24 Bruno Haible + + * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is + defined. + * lib/isnanl.c: Remove all code. Just include isnan.c. + * modules/isnanl-nolibm (Files): Add lib/isnan.c. + +2007-02-25 Jim Meyering + + Avoid conflicting types for 'unsetenv' on FreeBSD. + * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid + conflicting with FreeBSD's (5.0 and 6.1) function declaration + in stdlib.h. + +2007-02-24 Bruno Haible + + * modules/isnanl-nolibm-tests: New file. + * tests/test-isnanl.c: New file. + + * modules/isnanl-nolibm: New file. + * lib/isnanl.h: New file. + * lib/isnanl.c: New file. + * m4/isnanl.m4: New file. + +2007-02-24 Bruno Haible + + * modules/isnan-nolibm-tests: New file. + * tests/test-isnan.c: New file. + + * modules/isnan-nolibm: New file. + * lib/isnan.h: New file. + * lib/isnan.c: New file. + * m4/isnan.m4: New file. + +2007-02-24 Bruno Haible + + * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't + assume that an exponent fits in 20 bits. + +2007-02-24 Jim Meyering + + * m4/regex.m4: Update the description of the configure-time option, + --without-included-regex, to state accurately what the defaults are, + and perhaps to give people an idea why using this option is risky. + +2007-02-24 Paul Eggert + + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that + loops on small arguments. This attempts to avoid the problem + Bruno Haible reported for AIX 4.3.2 in + . + +2007-02-23 Bruno Haible + + * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003. + Needed for help2man. + +2007-02-23 Karl Berry + + * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h + exists, foo.h should be cvs-ignored, not committed. + +2007-02-23 Eric Blake + + * lib/getdate.h (includes): Include , not "timespec.h". + * lib/stat-time.h (includes): Likewise. + * lib/utimecmp.c (includes): Likewise. + * lib/utimens.h (includes): Likewise. + * lib/getdate.y (includes): Also include "timespec.h" for use + internal to the module. + * modules/utimens (Depends-on): Revert yesterday's patch. + * modules/nanosleep (Depends-on): Add missing dependency. + +2007-02-22 Bruno Haible + + * lib/glob.c: Don't include getlogin_r.h. + +2007-02-22 Jim Meyering + + * modules/utimens (Depends-on): Add timespec, required for + utimens.h's inclusion of timespec.h. + +2007-02-21 Paul Eggert + + * lib/getcwd.c (__getcwd): Undo previous change; it mishandled + long unreadable paths in GNU/Linux. Problem reported by Andreas + Schwab in + . + I'll try to think of a better way to fix the Solaris problem. + + * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works + like glibc; on Solaris 10, it fails with errno == EINVAL. + POSIX says the behavior is unspecified if the first argument is NULL, + so play it safe and never pass NULL to the system getcwd. + +2007-02-21 Jim Meyering + + * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration + of gettimeofday. It would conflict with the one now always + provided via sys_time_.h. Reported by Matthew Woehlke, as + an IRIX 6.5 build failure. + +2007-02-20 Paul Eggert + + Minor fixups to port to Solaris 10 with Sun C 5.8. + * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd. + * modules/getcwd (Depends-on): Add dirfd. + * lib/putenv.c (putenv): #undef it. + (rpl_putenv): New decl. + (malloc, free): Include rather than prototyping separately. + +2007-02-20 Bruno Haible + + * modules/stdio-tests: New file. + * tests/test-stdio.c: New file. + + * modules/vsnprintf (Files): Remove lib/vsnprintf.h. + (Depends-on): Add stdio. + (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR. + (Include): Use instead of vsnprintf.h. + * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set + HAVE_DECL_VSNPRINTF. + * lib/vsnprintf.c: Include instead of vsnprintf.h. + + * modules/snprintf (Files): Remove lib/snprintf.h. + (Depends-on): Add stdio. + (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR. + (Include): Use instead of snprintf.h. + * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set + HAVE_DECL_SNPRINTF. + * lib/snprintf.c: Include instead of snprintf.h. + * lib/getaddrinfo.c: Likewise. + + * modules/stdio: New file. + * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h. + * lib/snprintf.h: Remove file. + * lib/vsnprintf.h: Remove file. + * lib/.cppi-disable: Remove snprintf.h. + * m4/stdio_h.m4: New file. + * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio. + +2007-02-20 Jim Meyering + + * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is + used by e.g., mingw. From Bruno Haible. + +2007-02-19 Bruno Haible + + * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc + warnings. + Reported by Ben Pfaff . + +2007-02-19 Bruno Haible + + * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail + from mingw users. + +2007-02-19 Bruno Haible + + * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc + warnings. + Reported by Joel E. Denny via Paul Eggert. + +2007-02-19 Jim Meyering + + Don't use FD after a successful "fdopendir (fd)". + * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd. + Reset it by calling dirfd on the just-obtained DIR*. + + * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve. + Prompted by a report from Bruno Haible that mingw lacks ftruncate. + +2007-02-18 Bruno Haible + + * lib/readlink.c: Include . + * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set + HAVE_READLINK. + * modules/readlink (Depends-on): Add unistd. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Include): Add . + + * lib/getlogin_r.h: Remove file. + * lib/getlogin_r.c: Include instead of getlogin_r.h. + * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro. + (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set + HAVE_DECL_GETLOGIN_R. + * modules/getlogin_r (Files): Remove lib/getlogin_r.h. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Include): Use instead of getlogin_r.h. + + * lib/getcwd.h: Remove file. + * lib/getcwd.c: Include instead of getcwd.h. + * lib/xgetcwd.c: Likewise. + * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set + REPLACE_GETCWD. Don't define __GETCWD_PREFIX. + * modules/getcwd (Files): Remove lib/getcwd.h. + (Depends-on): Add unistd. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Include): Use instad of getcwd.h. + + * lib/ftruncate.c: Include first. + * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS. + Set HAVE_FTRUNCATE. + * modules/ftruncate (Depends-on): Add unistd. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + + * lib/fchdir.c: Include first. + * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead + of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H. + * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h. + + * lib/dup2.c: Include first. + * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set + HAVE_DUP2. + * modules/dup2 (Depends-on): Add unistd. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + + * lib/chown.c: Include first. Undefine chown later. + * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set + REPLACE_CHOWN. Don't define chown as a macro here. + * modules/chown (Depends-on): Add unistd. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + + * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time. + Add definition for GL_LINK_WARNING. + (chown, dup2): New declarations. + (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional + link warning. + (ftruncate): New declaration. + (getcwd): New declaration, taken from old getcwd.h. + (getlogin_r): New declaration, taken from old getlogin_r.h. + (readlink): New declaration. + * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't + set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H. + (gl_PREREQ_UNISTD): Remove macro. + (gl_UNISTD_MODULE_INDICATOR): New macro. + (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set + many new variables. Don't set UNISTD_H. + * modules/unistd (Description): Change. + (Depends-on): Add link-warning. + (configure.ac): Update. + (Makefile.am): Create unistd.h always. Substitute many new variables + into it. + +2007-02-18 Bruno Haible + + * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h. + * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and + HAVE_GETSUBOPT. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize + GNULIB_GETSUBOPT and HAVE_GETSUBOPT. + * lib/getsubopt.h: Remove file. + * modules/getsubopt (Files): Remove lib/getsubopt.h. + (Depends-on): Add stdlib. + (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. + (Includes): Use instead of getsubopt.h. + * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS. + Set HAVE_GETSUBOPT. + * lib/getsubopt.c: Don't include getsubopt.h. + +2007-02-18 Bruno Haible + + * modules/fchdir (Depends-on): Add dup2. + +2007-02-18 Bruno Haible + + * lib/stdlib_.h: Handle glibc's special invocation convention + specially. + +2007-02-18 Bruno Haible + + * modules/stdlib-tests: New file. + * tests/test-stdlib.c: New file. + + * modules/mkstemp (Files): Remove lib/mkstemp.h. + (Depends-on): Add stdlib. + (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. + (Includes): Use instead of mkstemp.h. + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set + REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX. + * lib/mkstemp.c: Don't include mkstemp.h. + * lib/mkstemp-safer.c: Include instead of mkstemp.h. + * lib/stdlib--.h: Don't include mkstemp.h. + + * modules/mkdtemp (Files): Remove lib/mkdtemp.h. + (Depends-on): Add stdlib. + (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. + (Includes): Use instead of mkdtemp.h. + * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set + HAVE_MKDTEMP. + * lib/mkdtemp.c: Don't include mkdtemp.h. + * lib/clean-temp.c: Don't include mkdtemp.h. + + * modules/exit (Files): Remove lib/exit.h. + (Depends-on): Add stdlib. + (Makefile.am): Remove lib_SOURCES. + (Include): Use instead of exit.h. + * lib/argmatch.c: Don't include exit.h. + * lib/execute.c: Likewise. + * lib/pagealign_alloc.c: Likewise. + * lib/pipe.c: Likewise. + * lib/wait-process.c: Likewise. + * lib/copy-file.c: Include instead of exit.h. + * lib/exitfail.c: Likewise. + * lib/savewd.c: Likewise. + * lib/xsetenv.c: Likewise. + + * modules/stdlib: New file. + * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h + and extra comments about mkstemp(). + * lib/exit.h: Remove file. + * lib/mkdtemp.h: Remove file. + * lib/mkstemp.h: Remove file. + * m4/stdlib_h.m4: New file. + * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib. + +2007-02-18 Bruno Haible + + * modules/math-tests: New file. + * tests/test-math.c: New file. + + * modules/math: New file. + * modules/mathl (Files): Remove lib/mathl.h. + (Depends-on): Add math. + (Makefile.am): Don't mention mathl.h. + (Include): Use instead of mathl.h. + * lib/math_.h: New file. + * lib/mathl.h: Remove file. + * lib/acosl.c: Include and first. Don't include + mathl.h. + * lib/asinl.c: Likewise. + * lib/atanl.c: Likewise. + * lib/ceill.c: Likewise. + * lib/cosl.c: Likewise. + * lib/expl.c: Likewise. + * lib/floorl.c: Likewise. + * lib/frexpl.c: Likewise. + * lib/ldexpl.c: Likewise. + * lib/logl.c: Likewise. + * lib/sincosl.c: Likewise. + * lib/sinl.c: Likewise. + * lib/sqrtl.c: Likewise. + * lib/tanl.c: Likewise. + * lib/trigl.c: Likewise. + * m4/math_h.m4: New file. + * MODULES.html.sh (Mathematics): Add math. + +2007-02-17 Bruno Haible + + * modules/wctype-tests: New file. + * tests/test-wctype.c: New file. + + * modules/wchar-tests: New file. + * tests/test-wchar.c: New file. + + * modules/unistd-tests: New file. + * tests/test-unistd.c: New file. + + * modules/time-tests: New file. + * tests/test-time.c: New file. + + * modules/sysexits-tests: New file. + * tests/test-sysexits.c: New file. + + * modules/sys_time-tests: New file. + * tests/test-sys_time.c: New file. + + * modules/sys_stat-tests: New file. + * tests/test-sys_stat.c: New file. + + * modules/sys_socket-tests: New file. + * tests/test-sys_socket.c: New file. + + * modules/sys_select-tests: New file. + * tests/test-sys_select.c: New file. + + * modules/string-tests: New file. + * tests/test-string.c: New file. + + * modules/stdbool-tests: New file. + * tests/test-stdbool.c: New file. + + * modules/netinet_in-tests: New file. + * tests/test-netinet_in.c: New file. + + * modules/inttypes-tests: New file. + * tests/test-inttypes.c: New file. + + * modules/fcntl-tests: New file. + * tests/test-fcntl.c: New file. + + * modules/byteswap-tests: New file. + * tests/test-byteswap.c: New file. + + * modules/arpa_inet-tests: New file. + * tests/test-arpa_inet.c: New file. + +2007-02-17 Bruno Haible + + * lib/inttypes_.h: Add definition for GL_LINK_WARNING. + (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function + if the corresponding module is not enabled. Emit link warnings if + the function is used nevertheless. + * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing . + Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV, + HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX. + (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros. + * modules/inttypes (Depends-on): Add link-warning. + (Makefile.am): Copy the contents of build-aux/link-warning.h into + inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV, + GNULIB_STRTOIMAX, GNULIB_STRTOUMAX. + * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR. + * modules/imaxdiv (configure.ac): Likewise. + * modules/strtoimax (configure.ac): Likewise. + * modules/strtoumax (configure.ac): Likewise. + +2007-02-17 Bruno Haible + + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of + gl_STRING_MODULE_INDICATOR_DEFAULTS. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro. + (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update. + +2007-02-17 Bruno Haible + + * modules/link-warning: New file. + * build-aux/link-warning.h: New file, extracted from lib/string_.h. + * lib/string_.h (GL_LINK_WARNING): Remove definition. + * modules/string (Depends-on): Add link-warning. + (Makefile.am): Copy the contents of build-aux/link-warning.h into + string.h. + * MODULES.html.sh (Support for building libraries and executables): Add + link-warning. + +2007-02-17 Bruno Haible + + * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp, + strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn, + strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break + long lines. + +2007-02-17 Ben Pfaff + Bruno Haible + + * modules/tmpfile: New file. + * lib/tmpfile.c: New file. + * m4/tmpfile.m4: New file. + * MODULES.html.sh (func_all_modules): New section "Input/output". + +2007-02-15 Bruno Haible + + * lib/clean-temp.c [WIN32 && !CYGWIN]: Include . + (supports_delete_on_close): New function. + (open_temp, fopen_temp): Use _O_TEMPORARY when supported. + +2007-02-14 Bruno Haible + + * modules/mbspcasecmp-tests: New file. + * tests/test-mbspcasecmp.sh: New file. + * tests/test-mbspcasecmp.c: New file. + + New module mbspcasecmp. + * modules/mbspcasecmp: New file. + * lib/mbspcasecmp.c: New file. + * lib/string_.h (strncasecmp): Change warning message. + (mbspcasecmp): New declaration. + * m4/mbspcasecmp.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSPCASECMP. + * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP. + * MODULES.html.sh (Internationalization functions): Add mbspcasecmp. + +2007-02-14 Bruno Haible + + * modules/mbsncasecmp-tests: New file. + * tests/test-mbsncasecmp.sh: New file. + * tests/test-mbsncasecmp.c: New file. + + New module mbsncasecmp. + * modules/mbsncasecmp: New file. + * lib/mbsncasecmp.c: New file. + * lib/string_.h (mbsncasecmp): New declaration. + * m4/mbsncasecmp.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSNCASECMP. + * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP. + * MODULES.html.sh (Internationalization functions): Add mbsncasecmp. + +2007-02-14 Paul Eggert + + * lib/exclude.c (FNM_EXTMATCH): Define if system does not. + Verify that it doesn't overlap with our flags. + (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which + do not have the desired effect in multibyte locales; instead, use + mbscasecmp. + * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase. + Add dependency on xalloc. Depend on fnmatch, not fnmatch-gnu, since + we don't require GNU fnmatch ourselves (if our users require it, they + should do so explicitly). + + Fix regex code so it doesn't rely on strcasecmp. + * lib/regex_internal.h: Include only if _LIBC is defined. + Otherwise, include gnulib's langinfo.h. + * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have + undesirable behavior in non-C locales. Instead, rely on localecharset. + * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET. + * modules/regex (FILES): Remove m4/codeset.m4. + (Depends-on): Add localcharset. Remove strcase. + +2007-02-13 Ralf Wildenhues + + * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug. + * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise. + +2007-02-13 Bruno Haible + + * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug. + Reported by Ralf Wildenhues . + +2007-02-12 Bruno Haible + + * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul, + strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If + GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link- + time warning rather than a link error. + +2007-02-12 Bruno Haible + + * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug. + * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise. + Reported by Ralf Wildenhues . + +2007-02-12 Paul Eggert + + * lib/string_.h (strncasecmp): Fix typo: this macro takes 3 + args, not 2. + +2007-02-12 Paul Eggert + + New module 'time', so that apps can include as per + POSIX and GNU instead of separate include files like time_r.h + and timegm.h. This implementation tries out a simpler approach + for replacing decls in standard include files (as compared to + the string module), somewhat as an experiment. + + * config/srclist.txt: Comment out mktime.c for now. + * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example + since it doesn't apply any more. Use generic wording instead. + * MODULES.html.sh (Support for systems lacking POSIX:2001): New module + 'time'. + * lib/time_.h, m4/time_h.m4, modules/time: New files. + * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove. + * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H. + Don't include ; no longer needed since we assume C89. + * lib/mktime.c: Don't include "time_r.h"; no longer needed. + * lib/strftime.c: Likewise. + * lib/time_r.c: Likewise. + * lib/nanosleep.c (nanosleep): #undef after include files, not before. + * lib/nanosleep.c: Include first, to check interface. + * lib/strptime.c: Likewise. + * lib/time_r.c: Likewise. + * lib/timegm.c: Likewise. + * lib/strptime.c: Don't include strptime.h or time_r.h; no longer + needed. + * lib/timegm.c: Don't include timegm.h; no longer needed. + * lib/timespec.h: Don't include before ; + time.h now handles any problems in that area. + (struct timespec, nanosleep): Remove; time.h now arranges for these. + * lib/xnanosleep.c: Don't include timespec.h; no longer needed now + that time.h defines struct timespec. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared. + Set REPLACE_NANOSLEEP. Don't AC_DEFINE nanosleep; the time module now + handles that. + * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME. + * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer + needed. Set REPLACE_LOCALTIME. + * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM. + * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4. + (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or + nanosleep; time_h.m4 now does that. Don't require + gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time + module handles this now. + * modules/getdate (Depends-on): Remove timespec. Add time. + * modules/nanosleep (Depends-on): Likewise. + * modules/stat-time (Depends-on): Likewise. + * modules/nanosleep (Include): Include time.h, not timespec.h. + * modules/strptime (Files): Remove lib/strptime.h. + (Depends-on): Add extensions, time. + (Include): Include time.h, not strptime.h. + * modules/time_r (Files): Remove lib/time_r.h. + (Depends-on): Add time. + (Include): Include time.h, not time_r.h. + * modules/timegm: Likewise. + * modules/timespec (Description): Now does timespec-related decls + of our own, instead of struct timespec itself. + (Depends-on): Add time; remove extensions. + (Maintainer): Add self. + * modules/utimecmp (Depends-on): Add time; remove timespec. + * modules/utimens (Depends-on): Likewise. + * modules/xnanosleep (Depends-on): Likewise. + +2007-02-11 Bruno Haible + + * lib/c-strstr.c: Include allocsa.h. + (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free. + * lib/c-strcasestr.c: Include allocsa.h. + (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free. + * lib/strcasestr.c: Include allocsa.h. + (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free. + * lib/mbsstr.c: Include allocsa.h. + (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use + allocsa/freesa instead of malloc/free. + * lib/mbscasestr.c: Include allocsa.h. + (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use + allocsa/freesa instead of malloc/free. + * modules/c-strstr (Depends-on): Add allocsa. + * modules/c-strcasestr (Depends-on): Likewise. + * modules/strcasestr (Depends-on): Likewise. + * modules/mbsstr (Depends-on): Likewise. + * modules/mbscasestr (Depends-on): Likewise. + +2007-02-11 Bruno Haible + + * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call. + + * modules/mbsspn-tests: New file. + * tests/test-mbsspn.sh: New file. + * tests/test-mbsspn.c: New file. + +2007-02-11 Bruno Haible + + * lib/mbspbrk.c (mbspbrk): Remove unneeded cast. + + * modules/mbspbrk-tests: New file. + * tests/test-mbspbrk.sh: New file. + * tests/test-mbspbrk.c: New file. + +2007-02-11 Bruno Haible + + * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and + unneeded cast. + + * modules/mbscspn-tests: New file. + * tests/test-mbscspn.sh: New file. + * tests/test-mbscspn.c: New file. + +2007-02-11 Bruno Haible + + * modules/mbscasecmp-tests: New file. + * tests/test-mbscasecmp.sh: New file. + * tests/test-mbscasecmp.c: New file. + +2007-02-11 Bruno Haible + + Ensure O(n) worst-case complexity of mbscasestr. + * lib/mbscasestr.c: Include stdbool.h. + (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New + functions. + (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when + the bookkeeping indicates that it's worth it. + * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen. + + * modules/mbscasestr-tests: New file. + * tests/test-mbscasestr1.c: New file. + * tests/test-mbscasestr2.sh: New file. + * tests/test-mbscasestr2.c: New file. + * tests/test-mbscasestr3.sh: New file. + * tests/test-mbscasestr3.c: New file. + * tests/test-mbscasestr4.sh: New file. + * tests/test-mbscasestr4.c: New file. + * m4/locale-tr.m4: New file. + +2007-02-11 Bruno Haible + + Ensure O(n) worst-case complexity of mbsstr. + * lib/mbsstr.c: Include stdbool.h. + (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New + functions. + (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the + bookkeeping indicates that it's worth it. + * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen. + + * modules/mbsstr-tests: New file. + * tests/test-mbsstr1.c: New file. + * tests/test-mbsstr2.sh: New file. + * tests/test-mbsstr2.c: New file. + * tests/test-mbsstr3.sh: New file. + * tests/test-mbsstr3.c: New file. + * m4/locale-fr.m4: New file. + +2007-02-11 Bruno Haible + + * lib/mbsrchr.c (mbsrchr): Fix bug. + + * modules/mbsrchr-tests: New file. + * tests/test-mbsrchr.sh: New file. + * tests/test-mbsrchr.c: New file. + +2007-02-11 Bruno Haible + + * lib/mbschr.c (mbschr): Fix bug. + + * modules/mbschr-tests: New file. + * tests/test-mbschr.sh: New file. + * tests/test-mbschr.c: New file. + * m4/locale-zh.m4: New file. + +2007-02-11 Bruno Haible + + Support for copying multibyte string iterators. + * lib/mbiter.h: Include . + (mbiter_multi_copy): New function. + (mbi_copy): New macro. + * lib/mbuiter.h: Include . + (mbuiter_multi_copy): New function. + (mbui_copy): New macro. + +2007-02-11 Bruno Haible + + New module mbslen. + * modules/mbslen: New file. + * lib/mbslen.c: New file. + * lib/string_.h (mbslen): New declaration. + * m4/mbslen.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSLEN. + * modules/string (string.h): Also substitute GNULIB_MBSLEN. + * MODULES.html.sh (Internationalization functions): Add mbslen. + +2007-02-11 Bruno Haible + + Ensure O(n) worst-case complexity of strcasestr substitute. + * lib/strcasestr.c: Include stdbool.h. + (knuth_morris_pratt): New function. + (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the + bookkeeping indicates that it's worth it. + * modules/strcasestr (Depends-on): Add stdbool, strnlen. + + * modules/strcasestr-tests: New file. + * tests/test-strcasestr.c: New file. + +2007-02-11 Bruno Haible + + Ensure O(n) worst-case complexity of c_strcasestr. + * lib/c-strcasestr.c: Include stdbool.h, string.h. + (knuth_morris_pratt): New function. + (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when + the bookkeeping indicates that it's worth it. + * modules/c-strcasestr (Depends-on): Add stdbool, strnlen. + + * modules/c-strcasestr-tests: New file. + * tests/test-c-strcasestr.c: New file. + +2007-02-11 Bruno Haible + + Ensure O(n) worst-case complexity of c_strstr. + * lib/c-strstr.c: Include stdbool.h, string.h. + (knuth_morris_pratt): New function. + (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the + bookkeeping indicates that it's worth it. + * modules/c-strstr (Depends-on): Add stdbool, strnlen. + + * lib/c-strstr.c: Complete rewrite for maintainability. + + * modules/c-strstr-tests: New file. + * tests/test-c-strstr.c: New file. + +2007-02-11 Bruno Haible + + * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils + 5.2.1 and earlier, whereby \055 was treated just like the range + delimiter '-'. + Reported by Joel E. Denny . + +2007-02-08 Bruno Haible + + * modules/regex (Depends-on): Add stdbool. + Reported by Dalibor Topic . + +2007-02-05 Paul Eggert + + * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957. + Prefer returning from main to exiting from it. + Remove unnecessary parens after sizeof. + +2007-02-05 Bruno Haible + + New module mbssep. + * modules/mbssep: New file. + * lib/mbssep.c: New file. + * lib/string_.h (strsep): Add a conditional link warning. + (mbssep): New declaration. + * m4/mbssep.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSSEP. + * modules/string (string.h): Also substitute GNULIB_MBSSEP. + * MODULES.html.sh (Internationalization functions): Add mbssep. + +2007-02-05 Bruno Haible + + * lib/strsep.c (strsep): Fix actions in case of no delimiters. + Optimize search in case of 1 delimiter. + +2007-02-05 Paolo Bonzini + + * lib/acl.h: Include sys/types.h before sys/acl.h. + +2007-02-05 Paolo Bonzini + + Merge upstream fix for glibc bugzilla #3957: + + 2007-02-05 Jakub Jelinek + + * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0' + bit for RE_HAT_LISTS_NOT_NEWLINE. + (build_charclass_op): Remove bogus comment. + +2007-02-05 Simon Josefsson + + * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512. + +2007-02-04 Paul Eggert + + * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h. + * lib/memmem.c [!defined _LIBC]: Include config.h. + +2007-02-04 Bruno Haible + + * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the + warning message. + +2007-02-04 Bruno Haible + + New module mbstok_r. + * modules/mbstok_r: New file. + * lib/mbstok_r.c: New file. + * lib/string_.h (strtok_r): Change argument names to match the + comments. Add a conditional link warning. + (mbstok_r): New declaration. + * m4/mbstok_r.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSTOK_R. + * modules/string (string.h): Also substitute GNULIB_MBSTOK_R. + * MODULES.html.sh (Internationalization functions): Add mbstok_r. + +2007-02-04 Bruno Haible + + New module mbsspn. + * modules/mbsspn: New file. + * lib/mbsspn.c: New file. + * lib/string_.h (strspn): Add a conditional link warning. + (mbsspn): New declaration. + * m4/mbsspn.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSSPN. + * modules/string (string.h): Also substitute GNULIB_MBSSPN. + * MODULES.html.sh (Internationalization functions): Add mbsspn. + +2007-02-04 Bruno Haible + + New module mbspbrk. + * modules/mbspbrk: New file. + * lib/mbspbrk.c: New file. + * lib/string_.h (strpbrk): Add a conditional link warning. + (mbspbrk): New declaration. + * m4/mbspbrk.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSPBRK. + * modules/string (string.h): Also substitute GNULIB_MBSPBRK. + * MODULES.html.sh (Internationalization functions): Add mbspbrk. + +2007-02-04 Bruno Haible + + New module mbscspn. + * modules/mbscspn: New file. + * lib/mbscspn.c: New file. + * lib/string_.h (strcspn): Add a conditional link warning. + (mbscspn): New declaration. + * m4/mbscspn.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSCSPN. + * modules/string (string.h): Also substitute GNULIB_MBSCSPN. + * MODULES.html.sh (Internationalization functions): Add mbscspn. + +2007-02-04 Bruno Haible + + New module mbscasestr, reduced goal of strcasestr. + * modules/mbscasestr: New file. + * lib/mbscasestr.c: New file, copied from lib/strcasestr.c. + (mbscasestr): Renamed from strcasestr. + * lib/strcasestr.c: Don't include mbuiter.h. + (strcasestr): Remove support for multibyte locales. + * lib/string_.h (strcasestr): Don`t rename. Declare only if missing. + Change the conditional link warning. + (mbscasestr): New declaration. + * m4/mbscasestr.m4: New file. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if + the system does not have strcasestr. Set HAVE_STRCASESTR instead of + REPLACE_STRCASESTR. + (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + HAVE_STRCASESTR instead of REPLACE_STRCASESTR. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR. + * modules/string (string.h): Also substitute GNULIB_MBSCASESTR. + Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR. + * modules/strcasestr (Files): Remove m4/mbrtowc.m4. + (Depends-on): Remove mbuiter. + * MODULES.html.sh (Internationalization functions): Add mbscasestr. + +2007-02-04 Bruno Haible + + Simplify handling of strncasecmp. + * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change + the conditional link warning. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + HAVE_STRCASECMP, not REPLACE_STRCASECMP. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE. + * modules/strcase (configure.ac): Don't invoke + gl_STRING_MODULE_INDICATOR. + * modules/string (string.h): Don't substitute GNULIB_STRCASE. + +2007-02-04 Bruno Haible + + New module mbscasecmp, reduced goal of strcasecmp. + * modules/mbscasecmp: New file. + * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c. + (mbscasecmp): Renamed from strcasecmp. + * lib/strcasecmp.c: Don't include mbuiter.h. + (strcasecmp): Remove support for multibyte locales. + * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing. + Change the conditional link warning. + (mbscasecmp): New declaration. + * m4/mbscasecmp.m4: New file. + * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if + the system lacks strcasecmp. Set HAVE_STRCASECMP instead of + REPLACE_STRCASECMP. + (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSCASECMP. + * modules/string (string.h): Also substitute GNULIB_MBSCASECMP. + Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP. + * modules/strcase (Files): Remove m4/mbrtowc.m4. + (Depends-on): Remove mbuiter. + * MODULES.html.sh (Internationalization functions): Add mbscasecmp. + +2007-02-04 Bruno Haible + + New module mbsstr. Remove module strstr. + * modules/mbsstr: New file. + * modules/strstr: Remove file. + * lib/mbsstr.c: Renamed from lib/strstr.c. + (mbsstr): Renamed from strstr. + * lib/string_.h (strstr): Remove declaration. Change the conditional + link warning. + (mbsstr): New declaration. + * m4/mbsstr.m4: New file. + * m4/strstr.m4: Remove file. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize + REPLACE_STRSTR. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR. + Don't initialize GNULIB_STRSTR. + * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't + substitute GNULIB_STRSTR and REPLACE_STRSTR. + * MODULES.html.sh (Internationalization functions): Add mbsstr. + (Support for systems lacking ANSI C 89): Remove strstr. + +2007-02-04 Bruno Haible + + New module mbsrchr. + * modules/mbsrchr: New file. + * lib/mbsrchr.c: New file. + * lib/string_.h (strrchr): Add a conditional link warning. + (mbsrchr): New declaration. + * m4/mbsrchr.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSRCHR. + * modules/string (string.h): Also substitute GNULIB_MBSRCHR. + * MODULES.html.sh (Internationalization functions): Add mbsrchr. + +2007-02-04 Bruno Haible + + New module mbschr. + * modules/mbschr: New file. + * lib/mbschr.c: New file. + * lib/string_.h (strchr): Add a conditional link warning. + (mbschr): New declaration. + * m4/mbschr.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSCHR. + * modules/string (string.h): Also substitute GNULIB_MBSCHR. + * MODULES.html.sh (Internationalization functions): Add mbschr. + +2007-02-04 Paul Eggert + + * lib/stdbool_.h: Mention that bool bit-fields aren't supported. + + * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC. + +2007-02-04 Bruno Haible + + New module description section 'configure.ac-early'. + * gnulib-tool (sed_extract_prog): Recognize configure.ac-early. + (func_get_autoconf_early_snippet): New function. + (func_import, func_create_testdir): Use it. Remove special cases for + modules 'extensions' and 'lock'. + * modules/extensions (configure.ac-early): Require + gl_USE_SYSTEM_EXTENSIONS. + * modules/lock (configure.ac-early): Require gl_LOCK_EARLY. + +2007-02-04 Bruno Haible + + Make use of gcj-4.3's -fsource and -ftarget option. + * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3, + and if so try the options -fsource and -ftarget. + * lib/javacomp.c (compile_using_gcj): Add fsource_option, + source_version, ftarget_option, target_version arguments. + (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions. + (is_envjavac_oldgcj_14_14_usable): Renamed from + is_envjavac_gcj_14_14_usable. + (is_envjavac_oldgcj_14_13_usable): Renamed from + is_envjavac_gcj_14_13_usable. + (is_gcj_present): Update. + (is_gcj_43, is_gcj43_usable): New functions. + (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update. + (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update. + (compile_java_class): Test whether gcj is in version >= 4.3, and if so + try the options -fsource and -ftarget. + +2007-02-03 Paul Eggert + + * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow + checking code. Set N = ceil (1.5 * N) rather than to a slightly + larger value. + +2007-02-03 Jim Meyering + + Give tools a better chance to allocate space for very large buffers. + * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor. + + Make pwd and readlink work also when run with an unreadable parent dir + on systems with openat support. + * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system + provided getcwd function, even when we have openat support. + Reported by Dmitry V. Levin in . + +2007-02-02 Bruno Haible + + * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul, + strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link + error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial + portability problems if one of these functions is only used on specific + platforms. + Reported by Paul Eggert. + +2007-02-02 Paul Eggert + + Avoid mempcpy in the regex code, as the string.h mempcpy stuff + is causing more trouble than it's curing. + * lib/regex_internal.h (__mempcpy): Remove. + * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy + (and make the code a tad smaller to boot). + * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy. + +2007-02-02 Jim Meyering + + * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac: + section, not in the Makefile.am: one. + +2007-02-02 Eric Blake + + * lib/strchrnul.c: Always include config.h first. + + * modules/mountlist (Depends-on): Revert 2007-01-31 change, + gnulib strstr is not necessary here. + +2007-02-02 Simon Josefsson + + * m4/socklen.m4: Fix typo. + +2007-02-02 Eric Blake + + * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races. + * modules/netinet_in (Makefile.am): Likewise. + +2007-02-01 Bruno Haible + + * lib/string_.h (GL_LINK_WARNING): New macro. + (strcasecmp, strstr, strcasestr): If provided by the system, + conditionally define as a macro that leads to a warning instead of to + an error. + (strncasecmp): Conditionally define as a macro that leads to a warning. + +2007-02-01 Karl Berry + + * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h. + +2007-02-01 Bruno Haible + + * MODULES.html.sh (Unicode string functions): Update after 2007-01-27 + renamings. + +2007-02-01 Eric Blake + + * modules/regex (Depends-on): Revert dependence on mempcpy. + * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string + module's definition of mempcpy. + Reported by Paul Eggert. + +2007-02-01 Paul Eggert + + * lib/string_.h: If the gnulib module XYZ is not present, undefine + the symbol XYZ before redefining it. This fixes a problem with + programs that don't use XYZ, when compiled on systems that define + XYZ to something else. + +2007-01-31 Paul Eggert + + * lib/mkdir-p.c (make_dir_parents): Close a race condition that + occurs when "mkdir -m foo" creates a setgid directory that is (1) + writeable to group or other and (2) is intended to have a special + mode bit that is set or cleared. In such a case, the directory + should be neither group- nor other-writeable until the special + mode bits are right. + +2007-01-31 Eric Blake + + * modules/mountlist (Depends-on): Add strstr. + + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage + bug. + * modules/string (Makefile.am): Remove redundant replacement. + * modules/regex (Depends-on): Add mempcpy. + +2007-01-31 Bruno Haible + + New module description field 'Link'. + * gnulib-tool (func_usage): Document --extract-link-directive. + (sed_extract_prog): Recognize 'Link' directive. + (func_get_link_directive): New function. + (func_import): Show summary of link directives. + Handle --extract-link-directive option. + * modules/acl (Link): New section. + * modules/clock-time (Link): New section. + * modules/euidaccess (Link): New section. + * modules/gettext (Link): New section. + * modules/iconv (Link): New section. + * modules/lock (Link): New section. + * modules/nanosleep (Link): New section. + * modules/readline (Link): New section. + +2007-01-27 Bruno Haible + + Enforce the use of gnulib modules for unportable functions. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro. + (gl_HEADER_STRING_H_BODY): Require it. + * lib/string_.h: If the gnulib module XYZ is not present, redefine + the symbol XYZ to one that gives a link error. + * modules/string (Makefile.am): Also substitute the GNULIB_* variables. + * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR. + * modules/mempcpy (configure.ac): Likewise. + * modules/memrchr (configure.ac): Likewise. + * modules/stpcpy (configure.ac): Likewise. + * modules/stpncpy (configure.ac): Likewise. + * modules/strcase (configure.ac): Likewise. + * modules/strcasestr (configure.ac): Likewise. + * modules/strchrnul (configure.ac): Likewise. + * modules/strdup (configure.ac): Likewise. + * modules/strndup (configure.ac): Likewise. + * modules/strnlen (configure.ac): Likewise. + * modules/strpbrk (configure.ac): Likewise. + * modules/strsep (configure.ac): Likewise. + * modules/strstr (configure.ac): Likewise. + * modules/strtok_r (configure.ac): Likewise. + +2007-01-31 Jean-Louis Martineau (tiny change) + + * lib/gai_strerror.c (values): Add EAI_OVERFLOW. + +2007-01-30 Jim Meyering + + * lib/mpsort.c (mpsort): Remove spurious "return" in void function. + +2007-01-29 Bruno Haible + + * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'. + * lib/execute.c: Likewise. + * lib/pipe.c: Likewise. + * lib/printf-args.h: Likewise. + * lib/printf-args.c: Likewise. + * lib/printf-parse.c: Likewise. + * lib/vasnprintf.c: Likewise. + +2007-01-29 Eric Blake + + * lib/memrchr.c: Assume unconditionally, to pull in + declaration. + +2007-01-29 Paul Eggert + + * lib/strptime.h (strptime): Use 'restrict' for args where + POSIX requires this. + * lib/strptime.c (strptime): Likewise. + Change license notice from LGPL to GPL, since gnulib-tool will + change this as needed. + Include if _LIBC is not defined, not if HAVE_CONFIG_H is + defined. + Include "strptime.h" first, to check interface. + Do not #undef _LIBC and _NL_CURRENT. + Do not include ; no longer needed. + Include "time_r.h" and declare ptime_locale_status + only if _LIBC is not defined. + (__P): Remove unused macro. + (match_string): Bring back glibc version, but use it only if _LIBC + is defined. + (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too. + Remove unnecessary assertion and abort() call. + Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc. + * m4/strptime.m4: Fix serial number comment. + (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF. + * modules/strptime (Files): Add m4/tm_gmtoff.m4. + (Depends-on): Add time_r. + +2007-01-29 Bruno Haible + + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + strptime. + * modules/strptime (Depends-on): Add stdbool. + * lib/strptime.h: Include always. Add comments. + +2007-01-29 Yoann Vandoorselaere + + * modules/strptime: New file. + * lib/strptime.h: New file. + * lib/strptime.c: New file. + * m4/strptime.m4: New file. + +2007-01-28 Paul Eggert + + * MODULES.html.sh: New module mpsort. + * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files. + + * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid + a circularity problem with HP-UX ia64 reported by Bob Proulx in + . + All uses changed. + (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons. + All uses changed. + * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict + to _Restrict_. + * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that + the parameter matches the prototype. + +2007-01-28 Jim Meyering + + * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use + sys/time.h here, reverting that part of the previous patch: + . + +2007-01-28 Bruno Haible + + * modules/sys_time (Makefile.am): Build sys/time.h only when it's the + value of $(SYS_TIME_H). + [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed, + remove it conditionally, too. [added by Jim Meyering] + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): + (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting + GETTIMEOFDAY_REPLACEMENT to 1. + +2007-01-28 Bruno Haible + + * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro. + (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS. + Set UNISTD_H instead of UNISTD_H2. + * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2). + +2007-01-28 Bruno Haible + + * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES. + * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation. + +2007-01-28 Ralf Wildenhues + + * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update) + (func_create_testdir): Ensure C locale for `grep' and `tr' + character ranges. + (func_create_megatestdir): Avoid one `grep'. Fix bug in + ACLOCAL_AMFLAGS parsing state machine. + +2007-01-27 Bruno Haible + + * modules/unistr/base: Update. + +2007-01-27 Bruno Haible + + Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc, + u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc. + * modules/unistr/u32-mbtouc-unsafe: Renamed from + modules/unistr/u32-mbtouc. + * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c. + * lib/unistr.h: Update. + * lib/linebreak.c: Update. + * modules/unistr/u32-mbtouc: Renamed from + modules/unistr/u32-mbtouc-safe. + * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c. + * lib/unistr.h: Update. + * lib/unistr/u32-to-u8.c: Update. + * lib/unistr/u32-to-u16.c: Update. + +2007-01-27 Bruno Haible + + Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4, + u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc. + * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4. + * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h. + * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c. + * modules/unistr/u16-mbtouc-unsafe: Renamed from + modules/unistr/u16-mbtouc. + * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c. + * lib/unistr.h: Update. + * lib/linebreak.c: Update. + * modules/linebreak: Update. + * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe. + * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h. + * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c. + * modules/unistr/u16-mbtouc: Renamed from + modules/unistr/u16-mbtouc-safe. + * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c. + * lib/unistr.h: Update. + * lib/unistr/u16-to-u8.c: Update. + * modules/unistr/u16-to-u8: Update. + * lib/unistr/u16-to-u32.c: Update. + * modules/unistr/u16-to-u32: Update. + +2007-01-27 Bruno Haible + + Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4, + u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc. + * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4. + * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h. + * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c. + * modules/unistr/u8-mbtouc-unsafe: Renamed from + modules/unistr/u8-mbtouc. + * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c. + * lib/unistr.h: Update. + * lib/striconveh.c: Update. + * modules/striconveh: Update. + * lib/linebreak.c: Update. + * modules/linebreak: Update. + * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe. + * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h. + * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c. + * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe. + * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c. + * lib/unistr.h: Update. + * lib/striconveh.c: Update. + * modules/striconveh: Update. + * lib/unistr/u8-to-u16.c: Update. + * modules/unistr/u8-to-u16: Update. + * lib/unistr/u8-to-u32.c: Update. + * modules/unistr/u8-to-u32: Update. + +2007-01-27 Ralf Wildenhues + + Sync from Libtool. + * lib/argz.c: Do not include strings.h nor memory.h, include + string.h unconditionally. Patch by Simon Josefsson. + +2007-01-27 Bruno Haible + + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted + from gl_HEADER_STRING_H_BODY. + (gl_HEADER_STRING_H_BODY): Require it. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS. + * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise. + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise. + * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise. + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise. + * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. + * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise. + * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise. + * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise. + * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise. + * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise. + * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise. + * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise. + +2007-01-27 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn + check_PROGRAMS into noinst_PROGRAMS. + (func_emit_tests_Makefile_am): Likewise. Also don't initialize + check_PROGRAMS in this case. + (func_import): Set for_test to false. + (func_create_testdir): Set for_test to true. + +2007-01-27 Yoann Vandoorselaere + Bruno Haible + + * modules/strcasestr (Files): Remove lib/strcasestr.h. + (Depends-on): Add string. + (Includes): Use instead of strcasestr.h. + * modules/string (Makefile.am): Also substitute the value of + REPLACE_STRCASESTR. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here; + assume strcasestr is declared in not . Also + set REPLACE_STRCASESTR. + * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for + REPLACE_STRCASESTR. + * lib/strcasestr.h: Remove file. + * lib/strcasestr.c: Include instead of strcasestr.h. + * lib/string_.h (strcasestr): New declaration. + +2007-01-27 Bruno Haible + + * lib/string_.h: Use 'extern'. + +2007-01-27 Jim Meyering + + * lib/regex_internal.c (re_string_reconstruct): Remove declaration + of set-but-not-used local, "q". + + * lib/mempcpy.c: Include before . + This fixes a compilation error on HP-UX, due to the system's + "restrict"-using mempcpy prototype. + +2007-01-26 Bruno Haible + + Small optimization. + * lib/javacomp.c: Include c-strstr.h. + (is_envjavac_gcj): Use c_strstr instead of strstr. + * modules/javacomp (Depends-on): Add c-strstr, remove strstr. + +2007-01-26 Bruno Haible + + * MODULES.html.sh (Unicode string functions): Add the new modules. + + * modules/uniconv/u32-strconv-to-locale: New file. + * lib/uniconv/u32-strconv-to-locale.c: New file. + + * modules/uniconv/u16-strconv-to-locale: New file. + * lib/uniconv/u16-strconv-to-locale.c: New file. + + * modules/uniconv/u8-strconv-to-locale: New file. + * lib/uniconv/u8-strconv-to-locale.c: New file. + + * modules/uniconv/u32-strconv-from-locale: New file. + * lib/uniconv/u32-strconv-from-locale.c: New file. + + * modules/uniconv/u16-strconv-from-locale: New file. + * lib/uniconv/u16-strconv-from-locale.c: New file. + + * modules/uniconv/u8-strconv-from-locale: New file. + * lib/uniconv/u8-strconv-from-locale.c: New file. + + * modules/uniconv/u32-strconv-to-enc: New file. + * lib/uniconv/u32-strconv-to-enc.c: New file. + * modules/uniconv/u32-strconv-to-enc-tests: New file. + * tests/uniconv/test-u32-strconv-to-enc.c: New file. + + * modules/uniconv/u16-strconv-to-enc: New file. + * lib/uniconv/u16-strconv-to-enc.c: New file. + * lib/uniconv/u-strconv-to-enc.h: New file. + * modules/uniconv/u16-strconv-to-enc-tests: New file. + * tests/uniconv/test-u16-strconv-to-enc.c: New file. + + * modules/uniconv/u8-strconv-to-enc: New file. + * lib/uniconv/u8-strconv-to-enc.c: New file. + * modules/uniconv/u8-strconv-to-enc-tests: New file. + * tests/uniconv/test-u8-strconv-to-enc.c: New file. + + * modules/uniconv/u32-strconv-from-enc: New file. + * lib/uniconv/u32-strconv-from-enc.c: New file. + * modules/uniconv/u32-strconv-from-enc-tests: New file. + * tests/uniconv/test-u32-strconv-from-enc.c: New file. + + * modules/uniconv/u16-strconv-from-enc: New file. + * lib/uniconv/u16-strconv-from-enc.c: New file. + * modules/uniconv/u16-strconv-from-enc-tests: New file. + * tests/uniconv/test-u16-strconv-from-enc.c: New file. + + * modules/uniconv/u8-strconv-from-enc: New file. + * lib/uniconv/u8-strconv-from-enc.c: New file. + * lib/uniconv/u-strconv-from-enc.h: New file. + * modules/uniconv/u8-strconv-from-enc-tests: New file. + * tests/uniconv/test-u8-strconv-from-enc.c: New file. + + * modules/uniconv/u32-conv-from-enc: New file. + * lib/uniconv/u32-conv-from-enc.c: New file. + * modules/uniconv/u32-conv-from-enc-tests: New file. + * tests/uniconv/test-u32-conv-from-enc.c: New file. + + * modules/uniconv/u16-conv-from-enc: New file. + * lib/uniconv/u16-conv-from-enc.c: New file. + * lib/uniconv/u-conv-from-enc.h: New file. + * modules/uniconv/u16-conv-from-enc-tests: New file. + * tests/uniconv/test-u16-conv-from-enc.c: New file. + + * modules/uniconv/u8-conv-from-enc: New file. + * lib/uniconv/u8-conv-from-enc.c: New file. + * modules/uniconv/u8-conv-from-enc-tests: New file. + * tests/uniconv/test-u8-conv-from-enc.c: New file. + + * modules/uniconv/base: New file. + * lib/uniconv.h: New file. + +2007-01-26 Paul Eggert + + * doc/gnulib-tool.texi (Initial import): Update to match current + behavior with strdup module. + * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h. + * lib/memmem.h: Remove; all uses removed. This is now done + by . + * lib/mempcpy.h: Likewise. + * lib/memrchr.h: Likewise. + * lib/stpcpy.h: Likewise. + * lib/stpncpy.h: Likewise. + * lib/strcase.h: Likewise. + * lib/strchrnul.h: Likewise. + * lib/strdup.h: Likewise. + * lib/strndup.h: Likewise. + * lib/strnlen.h: Likewise. + * lib/strpbrk.h: Likewise. + * lib/strsep.h: Likewise. + * lib/strstr.h: Likewise. + * lib/strtok_r.h: Likewise. + * lib/string_.h: New file. + * lib/argp-namefrob.h: Don't include no-longer-existent include files. + Rely on instead. + * lib/canon-host.c: Likewise. + * lib/chdir-long.c: Likewise. + * lib/concatpath.c: Likewise. + * lib/exclude.c: Likewise. + * lib/fchdir.c: Likewise. + * lib/getaddrinfo.c: Likewise. + * lib/getcwd.c: Likewise. + * lib/getsubopt.c: Likewise. + * lib/glob.c: Likewise. + * lib/hard-locale.c: Likewise. + * lib/iconvme.c: Likewise. + * lib/javacomp.c: Likewise. + * lib/mempcpy.c: Likewise. + * lib/memrchr.c: Likewise. + * lib/regex_internal.h: Likewise. + * lib/stpncpy.c: Likewise. + * lib/strcasecmp.c: Likewise. + * lib/strchrnul.c: Likewise. + * lib/strdup.c: Likewise. + * lib/striconv.c: Likewise. + * lib/striconveh.c: Likewise. + * lib/striconveha.c: Likewise. + * lib/strncasecmp.c: Likewise. + * lib/strndup.c: Likewise. + * lib/strnlen.c: Likewise. + * lib/strsep.c: Likewise. + * lib/strstr.c: Likewise. + * lib/strtok_r.c: Likewise. + * lib/userspec.c: Likewise. + * lib/w32spawn.h: Likewise. + * lib/xstrndup.c: Likewise. + * lib/mountlist.c (strstr): Remove decl. + * m4/string_h.m4: New file. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary. + * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary. + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR + * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary. + * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary. + * m4/strcase.m4 (gl_FUNC_STRCASECMP): + Set REPLACE_STRCASECMP if necessary. + (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary. + * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary. + * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary. + * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and + HAVE_DECL_STRDUP if necessary. + (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl, + since gl_FUNC_STRNDUP does that now. + * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary. + Check for decl here... + (gl_PREREQ_STRNLEN): ... not here. + * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary. + * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary. + * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if + necessary. + * modules/string: New file. + * modules/memmem (Files): Remove special-purpose include file. + (Depends-on): Add string. + (Include): Include , not the removed file. + * modules/mempcpy: Likewise. + * modules/memrchr: Likewise. + * modules/stpcpy: Likewise. + * modules/stpncpy: Likewise. + * modules/strcase: Likewise. + * modules/strchrnul: Likewise. + * modules/strdup: Likewise. + * modules/strndup: Likewise. + * modules/strnlen: Likewise. + * modules/strpbrk: Likewise. + * modules/strsep: Likewise. + * modules/strstr: Likewise. + * modules/strtok_r: Likewise. + * tests/test-dirname.c: Don't include "strdup.h", since + now suffices. + * tests/test-memmem.c: Don't include "memmem.h", since + now suffices. + +2007-01-25 Bruno Haible + + * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if + *resultp is 0. + + * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation. + * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise. + * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation. + * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise. + + * modules/unistr/u8-to-u16 (Depends-on): Add missing modules. + * modules/unistr/u8-to-u32 (Depends-on): Add missing modules. + * modules/unistr/u16-to-u8 (Depends-on): Add missing modules. + * modules/unistr/u16-to-u32 (Depends-on): Add missing modules. + * modules/unistr/u32-to-u8 (Depends-on): Add missing modules. + * modules/unistr/u32-to-u16 (Depends-on): Add missing modules. + +2007-01-24 Bruno Haible + + Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See + . + * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE. + * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require, + gl_FUNC_FTS_CORE. + (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT. + * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require, + AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. + * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP. + * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME. + * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require, + gl_FUNC_FCHOWNAT. + * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require, + gl_FUNC_STRFTIME. + * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD. + Reported by Ralf Wildenhues. + +2007-01-24 Bruno Haible + + Drop AC_REQUIRE calls that are redundant with the module dependencies. + * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require + gl_GETADDRINFO. + * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H, + gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR. + * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD. + +2007-01-24 Paul Eggert + + * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361. + Don't use 'exit'; just return from 'main'. + (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once. + + * lib/fnmatch_.h: Readjust white space and comments to match + glibc, to avoid spurious diffs. + +2007-01-23 Paul Eggert + + * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the + 2004-12-01 change by Jakub Jelinek, since this code won't compile + if !LIBC. Problem reported by Bob Proulx. + +2007-01-23 Bruno Haible + + * lib/striconveh.c: Include c-strcaseeq.h. + (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp. + * modules/striconveh (Depends-on): Add c-strcaseeq. + +2007-01-23 Bruno Haible + + * MODULES.html.sh (String handling): Add streq, c-strcaseeq. + + * modules/c-strcaseeq: New file. + * lib/c-strcaseeq.h: New file. + + * modules/streq: New file. + * lib/streq.h: New file. + +2007-01-23 Bruno Haible + + * modules/striconveha-tests: New file. + * tests/test-striconveha.c: New file. + + * lib/striconveha.h: Include . + (mem_iconveha, str_iconveha): Add 'transliterate' argument. + * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h. + (mem_iconveha_notranslit): Renamed from mem_iconveha. + (mem_iconveha): New function. + (str_iconveha_notranslit): Renamed from str_iconveha. + (str_iconveha): New function. + * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup, + c-strcase. + +2007-01-23 Bruno Haible + + * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all + encodings without forgiving before trying any encoding with handler. + (str_iconveha): Try all encodings without forgiving before trying any + encoding with handler. + +2007-01-23 Paul Eggert + + Import the following changes from libc. + + 2005-10-14 Ulrich Drepper + + * lib/fnmatch_loop.c: Adjust for changed secondary hash function. + + 2004-12-01 Jakub Jelinek + + * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after + normal_bracket label. + + 2004-09-01 Jakub Jelinek + + [BZ #361] + * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch + to normal_bracket after fetching the next character. + +2007-01-22 Bruno Haible + + * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets' + argument. + * lib/striconveh.c (iconv_carefully_1): New function. + (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets' + argument. + (str_cd_iconveh): Update. + * lib/striconveha.h (mem_iconveha): Add 'offsets' argument. + * lib/striconveha.c (mem_iconveha): Add 'offsets' argument. + * tests/test-striconveh.c (MAGIC): New macro. + (new_offsets): New function. + (main): Test call with and without offsets. + +2007-01-22 Bruno Haible + + * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P). + * modules/sys_select (Makefile.am): Likewise. + * modules/sys_socket (Makefile.am): Likewise. + * modules/sys_time (Makefile.am): Likewise. + +2007-01-22 Paul Eggert + + * modules/gettimeofday (License): Change from GPL to LGPL, since + gettimeofday is a library function. + +2007-01-22 Yoann Vandoorselaere + + * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32. + +2007-01-21 Bruno Haible + + * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro. + +2007-01-21 Bruno Haible + + * modules/striconveha: New file. + * lib/striconveha.h: New file. + * lib/striconveha.c: New file. + * MODULES.html.sh (Internationalization functions): Add striconveha. + * lib/striconv.c (str_iconv): Optimize the case of an empty input + string. + * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise. + +2007-01-21 Bruno Haible + + * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails. + * lib/striconveh.c (str_iconveh): Likewise. + +2007-01-21 Bruno Haible + + * lib/striconveh.h (mem_iconveh): New declaration. + * lib/striconveh.c (mem_iconveh): New function. + * tests/test-striconveh.c (main): Add tests for mem_iconveh. + +2007-01-21 Bruno Haible + + * lib/xstriconv.h (xmem_cd_iconv): Change specification. + + * lib/striconveh.h (mem_cd_iconveh): Change specification. + * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied + original result buffer. + (str_cd_iconveh): Update. + * tests/test-striconveh.c (main): Update. + + * lib/striconv.h (mem_cd_iconv): Change specification. + * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original + result buffer. + (str_cd_iconv): Update. + * tests/test-striconv.c (main): Update. + +2007-01-21 Bruno Haible + + * gnulib-tool: Fix test whether sed is GNU sed supporting --posix. + +2007-01-20 Jim Meyering + + * lib/userspec.c (parse_with_separator): If a user or group string + starts with "+", skip the corresponding name-to-ID look-up, since + such a look-up must fail: user and group names may not include "+". + +2007-01-19 Paul Eggert + + * lib/poll.c: Include sys/time.h and time.h unconditionally, + since we now assume the sys_time module. + * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or + check for sys/time.h; no longer needed. + * modules/poll (Depends-on): Depend on sys_time. + +2007-01-18 Bruno Haible + + * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for . + * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise. + + * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and + gettimeofday. + + * tests/test-gettimeofday.c: Include . + (dummy): Remove variable. + + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from + gl_HEADER_SYS_TIME_H. + (gl_HEADER_SYS_TIME_H): New macro. + + * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of + HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY, + gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of + HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME. + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize + GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE + and GETTIMEOFDAY_CLOBBERS_LOCALTIME. + * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT + instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and + GETTIMEOFDAY_CLOBBERS_LOCALTIME. + + * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the + last change; it caused a compilation error when cross-compiling to + Cygwin. + +2007-01-18 Jim Meyering + + Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys". + * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather + than the race-prone "test -d sys || mkdir sys". + (configure.ac): Use AC_PROG_MKDIR_P. + * modules/sys_select: Likewise. + * modules/sys_socket: Likewise. + * modules/sys_time: Likewise. + +2007-01-18 Eric Blake + + * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also + replace gettimeofday. + * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement + name, to avoid infinite recursion. + +2007-01-17 Paul Eggert + + * MODULES.html.sh (Support for systems lacking POSIX:2001): New + module sys_time. + * lib/gethrxtime.c: Include , since we can no longer + assume timespec.h defines struct timeval. + * lib/settime.c: Likewise. + * lib/utimens.c: Likewise. + * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY, + since we now assume the gettimeofday module. + * lib/tempname.c (__gen_tempname): Likewise. + * lib/gettimeofday.h: Remove. + * lib/gettimeofday.c: Include instead of "gettimeofday.h". + Don't include and ; shouldn't be needed. + Include , for 'time()'. + (localtime_buffer_addr): Also use this workaround if + TZSET_CLOBBERS_LOCALTIME. Set to a dummy static variable by default, + to simplify the uses. All uses changed. + (localtime, gmtime, tzset, gettimeofday): Reformat slightly so + that #undef is inside {}, and 'const' follows type name consistently. + (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME. + (gettimeofday): Do not use the maximum possible value for + tv->tv_usec, since that might break usages other than ls.c. + Instead, we'll leave ls.c alone. This undoes today's patch + by Bruno. Add a compile-time warning for 1s-clock resolution; + we've never observed the problem but might as well keep the + canary. + * lib/nanosleep.c: Include timespec.h first, for interface check. + * lib/nanosleep.c: Include unconditionally, since we + now assume the sys_time module. + * lib/tempname.c: Likewise. + * lib/timespec.h: Likewise. + * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer + needed. + * lib/strftime.c: Likewise. + * lib/timespec.h: Likewise. + * lib/posixtm.c: Include posixtm.h first, for interface check. + Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete. + * lib/posixtm.h: Include stdbool.h and time.h, for proper interface. + * lib/strftime.c: Don't include ; shouldn't be needed. + * lib/sys_time_.h: New file. + * lib/timespec.h (struct timespec): Use long int, not long. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): + (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY): + Remove obsolescent call to AC_HEADER_TIME. + * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise. + * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC): + Likewise. + * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise. + * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests + into the sys_time module. Check for gettimeofday just once. + Prefix our variables with gl_, not with ac_ or jm_. Tighten test + for gettimeofday signature to just check the signature. Merely + compile it, since linking doesn't test signature. Improve test for + whether gettimeofday.o is actually needed. + (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from + AC_FUNC_GETTIMEOFDAY_CLOBBER. All uses changed. Use + AC_RUN_IFELSE rather than AC_TRY_RUN. If clobbering, set + and define GETTIMEOFDAY_CLOBBERS_LOCALTIME. + (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define + GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's + job. Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job. + * m4/mktime.m4 (AC_FUNC_MKTIME): Just include rather + than worrying about sys/time.h. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): + Don't bother worrying about TIME_WITH_SYS_TIME. + * m4/stat-time.m4 (gl_STAT_TIME): Likewise. + * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM. + * m4/sys_time_h.m4: New file. + * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H. + Don't include sys/time.h. Return from main rather than exiting. + Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names; + all uses changed. + * modules/gethrxtime (Depends-on): Add sys_time. + * modules/gettime (Depends-on): Likewise. + * modules/gettimeofday (Depends-on): Likewise. + * modules/nanosleep (Depends-on): Likewise. + * modules/settime (Depends-on): Likewise. + * modules/tempname (Depends-on): Likewise. + * modules/utimens (Depends-on): Likewise. + * modules/gettimeofday (Files): Remove lib/gettimeofday.h. + (Include): Change back to . + (Maintainer): Add self. + * modules/sys_time: New file. + * modules/tempname (Depends-on): Add gettimeofday. + * tests/test-gettimeofday.c: Include + rather than gettimeofday.h. + +2007-01-17 Bruno Haible + + * gnulib-tool (func_get_license): Revert last patch. Instead, let + the license default to GPL. + (func_create_testdir): Don't complain if a module is LGPL and its + tests module depends on GPLed modules. + +2007-01-17 Bruno Haible + + * lib/gettimeofday.c (gettimeofday): Add code for the case + HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the + maximum possible value for tv->tv_usec, rather than the minimum one. + +2005-10-08 Martin Lambers +2005-10-08 Paul Eggert +2007-01-16 Bruno Haible + + * modules/gettimeofday (Files): Add lib/gettimeofday.h. + (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add + gl_FUNC_GETTIMEOFDAY. + (Include): Add gettimeofday.h. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro. + (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY. + (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define + GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here. + (gl_PREREQ_GETTIMEOFDAY): Check for and _ftime. + * lib/gettimeofday.h: New file. + * lib/gettimeofday.c: Include . + (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define + only if GETTIMEOFDAY_CLOBBERS_LOCALTIME. + (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available; + fall back on time(). + + * tests/test-gettimeofday.c: New file. + * modules/gettimeofday-tests: New file. + +2007-01-16 Eric Blake + + * modules/fnmatch (Depends-on): Depend on wchar. + * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume . + * m4/fnmatch.m4: Likewise. + * modules/mbchar (Makefile.am): Assume . + * m4/mbchar.m4: Likewise. + * modules/mbswidth (Depends-on): Depend on wchar. + * lib/mbswidth.c: Assume . + * m4/mbswidth.m4: Likewise. + * modules/quotearg (Depends-on): Depend on wchar. + * lib/quotearg.c: Assume . + * m4/quotearg.m4: Likewise. + * modules/regex (Depends-on): Depend on wchar. + * lib/regex_internal.h: Assume . + * m4/regex.m4: Likewise. + * modules/stdint (Depends-on): Depend on wchar. + * lib/stdint_.h [!defined WCHAR_MIN]: Assume . + * m4/stdint.m4: Likewise. + * tests/test-stdint.c [HAVE_WINT_T]: Likewise. + * modules/strftime (Depends-on): Depend on wchar. + * lib/strftime.c (DO_MULTIBYTE): Assume . + * modules/strtol (Depends-on): Depend on wchar. + * lib/strtol.c: Assume . + * modules/wcwidth (Depends-on): Depend on wchar. + * lib/wcwidth.h: Assume . + * m4/wcwidth.m4: Likewise. + +2007-01-16 Bruno Haible + + * modules/csharpexec-script: New, created from... + * modules/csharpexec: ... this. + +2007-01-16 Paolo Bonzini + + * modules/javaexec-script: New, created from... + * modules/javaexec: ... this. + +2007-01-16 Yoann Vandoorselaere + + * modules/poll (Dependencies): Add sys_select. + +2007-01-15 Jim Meyering + + * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct- + redefinition bug when using both and headers. + * lib/readutmp.h: Likewise. Reported by Daniel Richard G. in + . + +2007-01-15 Bruno Haible + + * modules/striconveh: New file. + * lib/striconveh.h: New file. + * lib/striconveh.c: New file. + * MODULES.html.sh (Internationalization functions): Add striconveh. + + * modules/striconveh-tests: New file. + * tests/test-striconveh.c: New file. + +2007-01-15 Bruno Haible + + * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is + not from GNU libiconv or GNU libc. + +2007-01-15 Bruno Haible + + * doc/gnulib-intro.texi (Copyright): Explain the different license + terms for module descriptions, autoconf macros, tests, documentation. + +2007-01-14 Bruno Haible + + * modules/striconv-tests: New file. + * tests/test-striconv.c: New file. + +2007-01-14 Bruno Haible + + * modules/iconv-tests: New file. + * tests/test-iconv.c: New file. + +2007-01-14 Bruno Haible + + * gnulib-tool (func_get_license): For test modules, use the license of + the main module. + +2007-01-14 Bruno Haible + + * modules/iconv (Include): Clarify that can only be included + if iconv is found to exist. + +2007-01-14 Bruno Haible + + * modules/c-ctype-tests: New file. + * tests/test-c-ctype.c: New file. + +2007-01-14 Bruno Haible + + * modules/binary-io-tests: New file. + * tests/test-binary-io.sh: New file. + * tests/test-binary-io.c: New file. + +2007-01-14 Bruno Haible + + * modules/array-oset-tests: New file. + * tests/test-array_oset.c: New file. + +2007-01-14 Bruno Haible + + * modules/array-list-tests: New file. + * tests/test-array_list.c: New file. + +2007-01-14 Bruno Haible + + * gnulib-tool (func_create_testdir): Don't unnecessarily run configure + and make. + Reported by Simon Josefsson in + + +2007-01-14 Bruno Haible + + * modules/allocsa-tests: New file. + * tests/test-allocsa.c: New file. + +2007-01-14 Bruno Haible + + * modules/fchdir (Depends-on): Add absolute-header. + * modules/unistd (Depends-on): Likewise. + +2006-12-30 Bruno Haible + + * modules/fchdir: New file. + * modules/unistd (Files): Add lib/unistd_.h. + (Makefile.am): Generate unistd.h from unistd_.h. + * lib/fchdir.c: New file. + * lib/dirent_.h: New file. + * lib/unistd_.h: New file. + * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement. + * m4/fchdir.m4: New file. + * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro. + (gl_HEADER_UNISTD): Invoke it. + * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup + function. + * lib/backupfile.c (opendir, closedir): Undefine. + * lib/chown.c (open, close): Undefine. + * lib/clean-temp.c (open, close): Undefine. + * lib/copy-file.c (open, close): Undefine. + * lib/execute.c (open, close): Undefine. + * lib/fsusage.c (open, close): Undefine. + * lib/gc-gnulib.c (open, close): Undefine. + * lib/getcwd.c (opendir, closedir): Undefine. + * lib/glob.c (opendir, closedir): Undefine. + * lib/javacomp.c (open, close): Undefine. + * lib/mountlist.c (open, close, opendir, closedir): Undefine. + * lib/openat-proc.c (open, close): Undefine. + * lib/pagealign_alloc.c (open, close): Undefine. + * lib/pipe.c (open, close): Undefine. + * lib/progreloc.c (open, close): Undefine. + * lib/savedir.c (opendir, closedir): Undefine. + * lib/utime.c (open, close): Undefine. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir. + +2007-01-10 Bruno Haible + + * lib/striconv.c (mem_cd_iconv): Align the temporary buffer. + +2007-01-12 Eric Blake + + Provide a robust . Further simplifications are now + possible in other modules, but not included here. + * modules/wchar: New module. + * m4/wchar.m4: New file. + * lib/wchar_.h: Likewise. + * modules/mbchar (Depends-on): Depend on wchar, as the first use + of the new module. + * MODULES.html.sh (Extended multibyte and wide character utilities): + New section. + +2007-01-12 Paul Eggert + + * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define + to a reasonable default for memory allocation. + (xreadlink): Don't allocate a huge buffer, to work around a buggy + file system that reports garbage st_size values for symlinks. + Problem reported by Liyang Hu. + +2007-01-11 Simon Josefsson + + * gnulib-tool (func_all_modules): Exclude all .* files (e.g., + Emacs .#* auto-save files). + +2007-01-11 Bruno Haible + + * gnulib-tool (func_all_modules): Exclude all files inside the CVS + directory. + +2007-01-10 Paul Eggert + + Use @...@ consistently in lib/wctype_.h. + * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely + on it being set to 1 or 0. + * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and + go back to AC_SUBSTing it. + * modules/wctype (Makefile.am): Undo previous change. + +2007-01-10 Eric Blake + + * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE. + * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T). + * modules/wctype (Makefile.am): Likewise. + Reported by Chris McGuire. + +2007-01-10 Jim Meyering + + fts.c: a small readability/maintainability improvement + * lib/fts.c (fts_read): Make this code slightly more readable and + maintainable by hoisting the "sp->fts_cur = p" assignments to + immediately follow the statements that set P. Derived from + the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089. + +2007-01-10 Eric Blake + + * lib/wctype_.h [HAVE_WINT_T]: Include before + , to work around BSDI bug in BSD/OS 4.0.1. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise. + * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise. + Reported by Chris McGuire. + +2007-01-09 Ralf Wildenhues + + * gnulib-tool (func_all_modules): Use POSIX conforming escaping + in sed script. + +2007-01-09 Bruno Haible + + * MODULES.html.sh: Accept options --cvs-urls, --git-urls. + (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New + variables. + (func_module): Use them. + +2007-01-09 Bruno Haible + + * modules/unistr/base: New file. + * lib/unistr.h: New file. + + * modules/unistr/u8-to-u16: New file. + * lib/unistr/u8-to-u16.c: New file. + + * modules/unistr/u8-to-u32: New file. + * lib/unistr/u8-to-u32.c: New file. + + * modules/unistr/u16-to-u8: New file. + * lib/unistr/u16-to-u8.c: New file. + + * modules/unistr/u16-to-u32: New file. + * lib/unistr/u16-to-u32.c: New file. + + * modules/unistr/u32-to-u8: New file. + * lib/unistr/u32-to-u8.c: New file. + + * modules/unistr/u32-to-u16: New file. + * lib/unistr/u32-to-u16.c: New file. + + * modules/unistr/u8-check: New file. + * modules/unistr/u16-check: New file. + * modules/unistr/u32-check: New file. + * lib/unistr/u8-check.c: New file. + * lib/unistr/u16-check.c: New file. + * lib/unistr/u32-check.c: New file. + + * modules/unistr/u8-chr: New file. + * modules/unistr/u16-chr: New file. + * modules/unistr/u32-chr: New file. + * lib/unistr/u8-chr.c: New file. + * lib/unistr/u16-chr.c: New file. + * lib/unistr/u32-chr.c: New file. + + * modules/unistr/u8-cmp: New file. + * modules/unistr/u16-cmp: New file. + * modules/unistr/u32-cmp: New file. + * lib/unistr/u8-cmp.c: New file. + * lib/unistr/u16-cmp.c: New file. + * lib/unistr/u32-cmp.c: New file. + + * modules/unistr/u8-cpy: New file. + * modules/unistr/u16-cpy: New file. + * modules/unistr/u32-cpy: New file. + * lib/unistr/u8-cpy.c: New file. + * lib/unistr/u16-cpy.c: New file. + * lib/unistr/u32-cpy.c: New file. + * lib/unistr/u-cpy.h: New file. + + * modules/unistr/u8-cpy-alloc: New file. + * modules/unistr/u16-cpy-alloc: New file. + * modules/unistr/u32-cpy-alloc: New file. + * lib/unistr/u8-cpy-alloc.c: New file. + * lib/unistr/u16-cpy-alloc.c: New file. + * lib/unistr/u32-cpy-alloc.c: New file. + * lib/unistr/u-cpy-alloc.h: New file. + + * modules/unistr/u8-endswith: New file. + * modules/unistr/u16-endswith: New file. + * modules/unistr/u32-endswith: New file. + * lib/unistr/u8-endswith.c: New file. + * lib/unistr/u16-endswith.c: New file. + * lib/unistr/u32-endswith.c: New file. + * lib/unistr/u-endswith.h: New file. + + * modules/unistr/u8-mblen: New file. + * modules/unistr/u16-mblen: New file. + * modules/unistr/u32-mblen: New file. + * lib/unistr/u8-mblen.c: New file. + * lib/unistr/u16-mblen.c: New file. + * lib/unistr/u32-mblen.c: New file. + + * modules/unistr/u8-mbtouc: New file. + * modules/unistr/u16-mbtouc: New file. + * modules/unistr/u32-mbtouc: New file. + * lib/unistr/u8-mbtouc.c: New file. + * lib/unistr/u16-mbtouc.c: New file. + * lib/unistr/u32-mbtouc.c: New file. + + * modules/unistr/u8-mbtouc-safe: New file. + * modules/unistr/u16-mbtouc-safe: New file. + * modules/unistr/u32-mbtouc-safe: New file. + * lib/unistr/u8-mbtouc-safe.c: New file. + * lib/unistr/u16-mbtouc-safe.c: New file. + * lib/unistr/u32-mbtouc-safe.c: New file. + + * modules/unistr/u8-move: New file. + * modules/unistr/u16-move: New file. + * modules/unistr/u32-move: New file. + * lib/unistr/u8-move.c: New file. + * lib/unistr/u16-move.c: New file. + * lib/unistr/u32-move.c: New file. + * lib/unistr/u-move.h: New file. + + * modules/unistr/u8-next: New file. + * modules/unistr/u16-next: New file. + * modules/unistr/u32-next: New file. + * lib/unistr/u8-next.c: New file. + * lib/unistr/u16-next.c: New file. + * lib/unistr/u32-next.c: New file. + + * modules/unistr/u8-prev: New file. + * modules/unistr/u16-prev: New file. + * modules/unistr/u32-prev: New file. + * lib/unistr/u8-prev.c: New file. + * lib/unistr/u16-prev.c: New file. + * lib/unistr/u32-prev.c: New file. + + * modules/unistr/u8-set: New file. + * modules/unistr/u16-set: New file. + * modules/unistr/u32-set: New file. + * lib/unistr/u8-set.c: New file. + * lib/unistr/u16-set.c: New file. + * lib/unistr/u32-set.c: New file. + * lib/unistr/u-set.h: New file. + + * modules/unistr/u8-startswith: New file. + * modules/unistr/u16-startswith: New file. + * modules/unistr/u32-startswith: New file. + * lib/unistr/u8-startswith.c: New file. + * lib/unistr/u16-startswith.c: New file. + * lib/unistr/u32-startswith.c: New file. + * lib/unistr/u-startswith.h: New file. + + * modules/unistr/u8-stpcpy: New file. + * modules/unistr/u16-stpcpy: New file. + * modules/unistr/u32-stpcpy: New file. + * lib/unistr/u8-stpcpy.c: New file. + * lib/unistr/u16-stpcpy.c: New file. + * lib/unistr/u32-stpcpy.c: New file. + * lib/unistr/u-stpcpy.h: New file. + + * modules/unistr/u8-stpncpy: New file. + * modules/unistr/u16-stpncpy: New file. + * modules/unistr/u32-stpncpy: New file. + * lib/unistr/u8-stpncpy.c: New file. + * lib/unistr/u16-stpncpy.c: New file. + * lib/unistr/u32-stpncpy.c: New file. + * lib/unistr/u-stpncpy.h: New file. + + * modules/unistr/u8-strcat: New file. + * modules/unistr/u16-strcat: New file. + * modules/unistr/u32-strcat: New file. + * lib/unistr/u8-strcat.c: New file. + * lib/unistr/u16-strcat.c: New file. + * lib/unistr/u32-strcat.c: New file. + * lib/unistr/u-strcat.h: New file. + + * modules/unistr/u8-strchr: New file. + * modules/unistr/u16-strchr: New file. + * modules/unistr/u32-strchr: New file. + * lib/unistr/u8-strchr.c: New file. + * lib/unistr/u16-strchr.c: New file. + * lib/unistr/u32-strchr.c: New file. + + * modules/unistr/u8-strcmp: New file. + * modules/unistr/u16-strcmp: New file. + * modules/unistr/u32-strcmp: New file. + * lib/unistr/u8-strcmp.c: New file. + * lib/unistr/u16-strcmp.c: New file. + * lib/unistr/u32-strcmp.c: New file. + + * modules/unistr/u8-strcpy: New file. + * modules/unistr/u16-strcpy: New file. + * modules/unistr/u32-strcpy: New file. + * lib/unistr/u8-strcpy.c: New file. + * lib/unistr/u16-strcpy.c: New file. + * lib/unistr/u32-strcpy.c: New file. + * lib/unistr/u-strcpy.h: New file. + + * modules/unistr/u8-strcspn: New file. + * modules/unistr/u16-strcspn: New file. + * modules/unistr/u32-strcspn: New file. + * lib/unistr/u8-strcspn.c: New file. + * lib/unistr/u16-strcspn.c: New file. + * lib/unistr/u32-strcspn.c: New file. + * lib/unistr/u-strcspn.h: New file. + + * modules/unistr/u8-strdup: New file. + * modules/unistr/u16-strdup: New file. + * modules/unistr/u32-strdup: New file. + * lib/unistr/u8-strdup.c: New file. + * lib/unistr/u16-strdup.c: New file. + * lib/unistr/u32-strdup.c: New file. + * lib/unistr/u-strdup.h: New file. + + * modules/unistr/u8-strlen: New file. + * modules/unistr/u16-strlen: New file. + * modules/unistr/u32-strlen: New file. + * lib/unistr/u8-strlen.c: New file. + * lib/unistr/u16-strlen.c: New file. + * lib/unistr/u32-strlen.c: New file. + * lib/unistr/u-strlen.h: New file. + + * modules/unistr/u8-strmblen: New file. + * modules/unistr/u16-strmblen: New file. + * modules/unistr/u32-strmblen: New file. + * lib/unistr/u8-strmblen.c: New file. + * lib/unistr/u16-strmblen.c: New file. + * lib/unistr/u32-strmblen.c: New file. + + * modules/unistr/u8-strmbtouc: New file. + * modules/unistr/u16-strmbtouc: New file. + * modules/unistr/u32-strmbtouc: New file. + * lib/unistr/u8-strmbtouc.c: New file. + * lib/unistr/u16-strmbtouc.c: New file. + * lib/unistr/u32-strmbtouc.c: New file. + + * modules/unistr/u8-strncat: New file. + * modules/unistr/u16-strncat: New file. + * modules/unistr/u32-strncat: New file. + * lib/unistr/u8-strncat.c: New file. + * lib/unistr/u16-strncat.c: New file. + * lib/unistr/u32-strncat.c: New file. + * lib/unistr/u-strncat.h: New file. + + * modules/unistr/u8-strncmp: New file. + * modules/unistr/u16-strncmp: New file. + * modules/unistr/u32-strncmp: New file. + * lib/unistr/u8-strncmp.c: New file. + * lib/unistr/u16-strncmp.c: New file. + * lib/unistr/u32-strncmp.c: New file. + + * modules/unistr/u8-strncpy: New file. + * modules/unistr/u16-strncpy: New file. + * modules/unistr/u32-strncpy: New file. + * lib/unistr/u8-strncpy.c: New file. + * lib/unistr/u16-strncpy.c: New file. + * lib/unistr/u32-strncpy.c: New file. + * lib/unistr/u-strncpy.h: New file. + + * modules/unistr/u8-strnlen: New file. + * modules/unistr/u16-strnlen: New file. + * modules/unistr/u32-strnlen: New file. + * lib/unistr/u8-strnlen.c: New file. + * lib/unistr/u16-strnlen.c: New file. + * lib/unistr/u32-strnlen.c: New file. + * lib/unistr/u-strnlen.h: New file. + + * modules/unistr/u8-strpbrk: New file. + * modules/unistr/u16-strpbrk: New file. + * modules/unistr/u32-strpbrk: New file. + * lib/unistr/u8-strpbrk.c: New file. + * lib/unistr/u16-strpbrk.c: New file. + * lib/unistr/u32-strpbrk.c: New file. + * lib/unistr/u-strpbrk.h: New file. + + * modules/unistr/u8-strrchr: New file. + * modules/unistr/u16-strrchr: New file. + * modules/unistr/u32-strrchr: New file. + * lib/unistr/u8-strrchr.c: New file. + * lib/unistr/u16-strrchr.c: New file. + * lib/unistr/u32-strrchr.c: New file. + + * modules/unistr/u8-strspn: New file. + * modules/unistr/u16-strspn: New file. + * modules/unistr/u32-strspn: New file. + * lib/unistr/u8-strspn.c: New file. + * lib/unistr/u16-strspn.c: New file. + * lib/unistr/u32-strspn.c: New file. + * lib/unistr/u-strspn.h: New file. + + * modules/unistr/u8-strstr: New file. + * modules/unistr/u16-strstr: New file. + * modules/unistr/u32-strstr: New file. + * lib/unistr/u8-strstr.c: New file. + * lib/unistr/u16-strstr.c: New file. + * lib/unistr/u32-strstr.c: New file. + * lib/unistr/u-strstr.h: New file. + + * modules/unistr/u8-strtok: New file. + * modules/unistr/u16-strtok: New file. + * modules/unistr/u32-strtok: New file. + * lib/unistr/u8-strtok.c: New file. + * lib/unistr/u16-strtok.c: New file. + * lib/unistr/u32-strtok.c: New file. + * lib/unistr/u-strtok.h: New file. + + * modules/unistr/u8-uctomb: New file. + * modules/unistr/u16-uctomb: New file. + * modules/unistr/u32-uctomb: New file. + * lib/unistr/u8-uctomb.c: New file. + * lib/unistr/u16-uctomb.c: New file. + * lib/unistr/u32-uctomb.c: New file. + + * MODULES.html.sh (Unicode string functions): Add the new modules. + +2007-01-08 Bruno Haible + + * gnulib-tool (func_all_modules): Use find, not ls, to traverse the + modules directory. Filter out CVS, ChangeLog, COPYING, README also from + subdirectories. + +2007-01-08 Karl Berry + + * doc/error.texi: mention that main() fns must set program_name + when progname is used. + +2007-01-08 Paul Eggert + + * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if + WCTYPE_H is empty, for the benefit of builds from non-distclean + directories. Problem reported by Eric Blake in + . + +2007-01-08 Bruno Haible + + * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove + PROVIDE_CANONICALIZE_FILENAME_MODE macro definition. + * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of + PROVIDE_CANONICALIZE_FILENAME_MODE. + * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR. + +2007-01-08 Bruno Haible + + * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition. + * lib/fts_.h (_LGPL_PACKAGE): Remove macro. + Use !GNULIB_FTS instead of _LGPL_PACKAGE. + * lib/fts.c: Likewise. + * modules/fts (configure.ac): Use gl_MODULE_INDICATOR. + +2006-12-25 Bruno Haible + + * modules/utf8-ucs4-safe: New file. + * lib/utf8-ucs4-safe.h: New file. + * lib/unistr/utf8-ucs4-safe.c: New file. + + * modules/utf16-ucs4-safe: New file. + * lib/utf16-ucs4-safe.h: New file. + * lib/unistr/utf16-ucs4-safe.c: New file. + + * MODULES.html.sh (Unicode string functions): Add the new modules. + +2007-01-08 Bruno Haible + + * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c. + (Depends-on): Add unitypes. + * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h. + (u8_mbtouc_aux): Move out to separate file. + (u8_mbtouc): Use ucs4_t, uint8_t types. + * lib/unistr/utf8-ucs4.c: New file. + + * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c. + (Depends-on): Add unitypes. + * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h. + (u16_mbtouc_aux): Move out to separate file. + (u16_mbtouc): Use ucs4_t, uint16_t types. + * lib/unistr/utf16-ucs4.c: New file. + + * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c. + (Depends-on): Add unitypes. + * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h. + (u8_uctomb_aux): Move out to separate file. + (u8_uctomb): Use ucs4_t, uint8_t types. + * lib/unistr/ucs4-utf8.c: New file. + + * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c. + (Depends-on): Add unitypes. + * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h. + (u16_uctomb_aux): Move out to separate file. + (u16_uctomb): Use ucs4_t, uint16_t types. + * lib/unistr/ucs4-utf16.c: New file. + +2006-12-25 Bruno Haible + + * modules/unitypes: New file. + * lib/unitypes.h: New file. + * MODULES.html.sh (func_all_modules): New section "Unicode string + functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to + this section. Add unitypes. + +2007-01-08 Bruno Haible + + Avoid variable names that conflict with those from libtool. + * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY, + AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext, + shlibext to acl_shlibext, libname_spec to acl_libname_spec, + library_names_spec to acl_library_names_spec, hardcode_* to + acl_hardcode_*. + Reported by Ralf Wildenhues. + +2007-01-08 Bruno Haible + + * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro + definition. + * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro + definition. + * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition. + * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro + definition. + * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro + definition. + * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition. + * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition. + * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition. + * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro + definition. + * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro + definition. + * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition. + * lib/gc-gnulib.c: Use GNULIB_GC_ instead of + GC_USE_. + * lib/gc-libgcrypt.c: Likewise. + * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR. + * modules/gc-arctwo (configure.ac): Likewise. + * modules/gc-des (configure.ac): Likewise. + * modules/gc-hmac-md5 (configure.ac): Likewise. + * modules/gc-hmac-sha1 (configure.ac): Likewise. + * modules/gc-md2 (configure.ac): Likewise. + * modules/gc-md4 (configure.ac): Likewise. + * modules/gc-md5 (configure.ac): Likewise. + * modules/gc-random (configure.ac): Likewise. + * modules/gc-rijndael (configure.ac): Likewise. + * modules/gc-sha1 (configure.ac): Likewise. + +2007-01-08 Bruno Haible + + * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM + macro definition. + * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro + definition. + * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro + definition. + * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR. + * modules/fcntl-safer (configure.ac): Likewise. + * modules/fopen-safer (configure.ac): Likewise. + * modules/fwriteerror (configure.ac): Likewise. Remove explicit + GNULIB_FWRITEERROR macro definition. + +2007-01-08 Bruno Haible + + * m4/gnulib-common.m4: New file. + * gnulib-tool (func_get_autoconf_snippet): Undo last change. + (func_get_filelist): Add m4/gnulib-common.m4. + +2007-01-08 Bruno Haible + + * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting + command. + +2007-01-08 Jim Meyering + + Use a more robust test for a "can't happen" condition. + * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it + narrowed the st_size value. Presuming the "can't happen" condition + is true, that narrowing could conceivably convert an invalid st_size + value into a valid one. Instead, use a change based on Matthew + Woehlke's original patch. + + Slight readability improvement: use an assert-like macro + in place of literal "abort ()" uses. + * lib/fts.c (fts_assert): Define. + (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check): + Use this macro instead of a bare 'abort'. + +2007-01-05 Paul Eggert + + Don't worry about using IRIX 5.3's wctype.h broken definitions; + simply work around them. + * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG. + (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower): + (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before + declaring. + Don't bother to define as macros, since the standard doesn't require it. + * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no + longer worry about IRIX 5.3. + (HAVE_WCTYPE_CTMP_BUG): Remove. + +2007-01-04 Paul Eggert + + * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t, + not wint_t. Also, include , to fix another IRIX bug. + * m4/wctype.m4 (gl_WCTYPE_H): Likewise. + Problems reported by Georg Schwarz for IRIX 5.3. + + * gnulib-tool (autoconf_minversion): Take the maximum version number + found, not the minimum. Problem reported by James Youngman. + +2007-01-03 Karl Berry + + * doc/error.texi: new file, explaining interaction with progname. + * doc/gnulib.texi: include it. Update copyright. + +2007-01-03 Simon Josefsson + + * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and + AC_CANONICAL_HOST, to improve autobuild outputs. + +2007-01-03 Paolo Bonzini + Yoann Vandoorselaere + + * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected + sockets, server sockets, and other file descriptors. Count errors + to compute the return value. Reorder the code a bit to be easier + to follow. Don't set event bits that were not requested (except + POLLERR and POLLHUP). + +2007-01-01 Bruno Haible + + * modules/lchmod (Include): Require lchmod.h, not lchown.h. + +2007-01-03 Jim Meyering + + * modules/fts-lgpl (Depends-on): Add i-ring. Reported by Bruno Haible. + +2007-01-02 Bruno Haible + + * modules/settime (Include): Require timespec.h. + * modules/nanosleep (Include): Likewise. + +2007-01-01 Bruno Haible + + * gnulib-tool (func_emit_copyright_notice): Bump year. + (func_get_autoconf_snippet): Emit a GNULIB_ macro. + +2007-01-01 Bruno Haible + + Improve support for OpenBSD. + * build-aux/config.rpath (libname_spec): Export. + (library_names_spec): New variable. Export. + * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and + library_names_spec from the config.rpath output. Locate shared library + through the name pattern in library_names_spec. + +2007-01-01 Eric Blake + + * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year. + +2006-12-30 Paul Eggert + + * gnulib-tool (SORT): Remove, since we no longer assume GNU sort. + Rewrite so as not to assume GNU sort or "tail -1". Also, don't + assume the C locale, and avoid an "eval" that could cause trouble. + Problem with SORT reported by Bob Proulx. + + * lib/getpagesize.h (getpagesize) [defined __amigaos4__]: + Define. Trivial patch from Henning Nielsen Lund, originally + sent to bug-grep@gnu.org today. + +2006-12-29 Paul Eggert + + * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and + struct stat. Problem reported by Henning Nielsen Lund. + * lib/acl.c: Include acl.h first, to check interface. Don't + bother to include sys/types.h and sys/stat.h again. + +2006-12-28 Paul Eggert + + Import the following change from libc; problem reported by + Sven Verdoolaege. + + 2005-10-13 Ulrich Drepper + + [BZ #1373] + * lib/argp.h: Remove __NTH for __argp_usage inline function. + +2006-12-28 Jim Meyering + + * build-aux/announce-gen: Do not assume that the package + builds any of tar.gz, tar.bz2, and .xdelta files. + Suggestion from Simon Josefsson. + +2006-12-28 Simon Josefsson + + * modules/announce-gen: New file. + +2006-12-27 Paul Eggert + + * lib/mbchar.h: Just include ; the wctype module + handles its gotchas now. + * lib/mbswidth.c: Likewise. + * lib/wcwidth.h: Likewise. + * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h + and iswcntrl; the wctype module does this stuff now. + * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise. + * modules/mbchar (Depends-on): Add wctype. + * modules/mbswidth (Depends-on): Likewise. + * modules/wcwidth (Depends-on): Likewise. + +2006-12-27 Eric Blake + + * lib/fnmatch.c: Reinstate inclusion of , since this + module uses more than what is required to provide. + +2006-12-26 Eric Blake + + * gnulib-tool (sed_extract_prog): Avoid space-tab. + +2006-12-26 Eric Blake + + * modules/absolute-header: New module. + * modules/fcntl (Depends-on): Depend on it. + * modules/inttypes (Depends-on): Likewise. + * modules/stdint (Depends-on): Likewise. + * modules/sys_stat (Depends-on): Likewise. + * modules/wctype (Depends-on): Likewise. + * MODULES.html.sh (Support for building libraries and + executables): Document it. + +2006-12-25 Paul Eggert + + * gnulib-tool (SED): Remove, undoing previous change. + The problem was that it broke coreutils on Solaris, because + "sed --posix" leaked into a makefile. + (sed): New alias, if 'alias' and GNU sed. + +2006-12-24 Jim Meyering + + Work around an fchownat bug in glibc-2.4: + http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html + This bug would cause "chown -RP ... DIR" to follow symlinks in DIR, + in spite of the -P option. + * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG): + New macros. + (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT. + * modules/openat (Files): Add lib/fchownat.c. + * lib/openat.c (fchownat): Don't define here. Move to... + * lib/fchownat.c: ...this new file. + +2006-12-23 Paul Eggert + + Fix bug reported by Bruno Haible in + + where quotearg.c didn't compile on Mac OS X 10.2 because it + lacks and wint_t. + * lib/wctype_.h (__wctype_wint_t): New type. + Include , , only if HAVE_WINT_T. + (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph): + (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit): + Arg is now of type __wctype_wint_t, not wint_t. + * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and + substitute HAVE_WINT_T. + * modules/wctype (Files): Add m4/wint_t.m4. + (wctype.h): Substitute HAVE_WINT_T. + +2006-12-23 Bruno Haible + + * lib/safe-read.h [C++]: Wrap declarations in extern "C". + +2006-12-23 Bruno Haible + + * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of + S_ISLNK. + Needed because gnulib's sys/stat.h replacement defines S_ISLNK on + mingw. + +2006-12-22 Bruno Haible + + * lib/copy-file.c: Include acl.h. + (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod. + Close the file descriptors only after being done with copy_acl. + * modules/copy-file (Depends-on): Add acl. + +2006-12-22 Bruno Haible + + * gnulib-tool (SED): New variable. + Use $SED instead of sed everywhere. + +2006-12-22 Bruno Haible + + * modules/no-c++: New file. + * m4/no-c++.m4: New file. + * MODULES.html.sh (Support for building libraries and executables): + Add no-c++. + +2006-12-22 Paul Eggert + + * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf. + Include , and use its INT_MAX to rewrite the + j loop so that it does not overflow 'int'. Problem reported by + Ralf Wildenhues in + . + Play it safe by shifting left by 1 rather than multiplying by 2, + as GCC is less likely to optimize this away when the value + is signed (when it assumes overflow leads to undefined behavior). + Also, don't assume time_t uses two's complement. + +2006-12-21 Paul Eggert + + * MODULES.html.sh: New module wctype. + * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files. + * lib/fnmatch.c: Don't bother to include before + , since the new wctype module should fix this. + * lib/quotearg.c: Include unconditionally, since + the wctype module should arrange for it. + * lib/regex_internal.h: Likewise. + * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint, + since the wctype module should handle this now. + * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h. + * modules/fnmatch (Depends-on): Add wctype. + * modules/quotearg (Depends-on): Likewise. + * modules/regex (Depends-on): Likewise. + +2006-12-19 Bruno Haible + + * lib/strdup.h [C++]: Wrap definitions in extern "C". + Suggested by Lorenzo Bettini . + +2006-12-19 Ralf Wildenhues + + * modules/savewd (Depends-on): Fix dependency on fcntl. + +2006-12-18 Paul Eggert + + * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h + conforms to C99, rather than relying on the user's environment + setting of STDINT_H. + +2006-12-18 Paul Eggert + and Eric Blake + + * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1. + This is more consistent with the other defines here. + * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): + Port to z/OS. Problem reported by Paul Gilmartin. + Change local vars to use gl_ prefix rather than ac_. + Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency + with other defines. + * modules/double-slash-root: New module. + * modules/dirname (Files): Remove m4/double-slash-root.m4. + (Depends-on): Add double-slash-root. + * MODULES.html.sh (File system functions): Mention new module. + +2006-12-14 Paul Eggert + + * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h. + (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch. + This is for the benefit of gzip, which doesn't do i18n. + +2006-12-12 Jim Meyering + + * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error. + Reported by Andreas Schwab . + +2006-12-12 Bruno Haible + + Merge these changes. + 2006-09-05 Bruno Haible + * lib/iconvme.c (iconv_string): No need to save and restore errno when + iconv_alloc succeeded. + (iconv_alloc): Don't assume that malloc() or realloc(), when failing, + sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to + test for " && dest " at the end - dest is always != NULL there. Call + iconv with 4xNULL arguments initially, to reset the state. Call iconv + with 2xNULL arguments, also to flush the state storage. Handle the + IRIX iconv behaviour. Realloc the final result, to throw away unused + memory. + +2006-12-11 Paul Eggert + + * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat + and fchmodat unconditionally, since glibc 2.4 has them. + Problem reported by Arkadiusz Miskiewicz. + +2006-12-10 Bruno Haible + + * gnulib-tool (func_import): Show the include files only for those + modules that are copied and specified. + Reported by Karl Berry. + +2006-12-08 Jim Meyering + + * build-aux/announce-gen ($VERSION): Don't use of $Revision...$. + Instead, use Emacs' time-stamp write hook. Note that the time is UTC. + + * build-aux/announce-gen: Add two new options, both optional: + --bootstrap-tools=TOOL_LIST + a comma-separated list of tools, e.g., + autoconf,automake,bison,gnulib + --gnulib-snapshot-date=DATE + if gnulib is in the bootstrap tool list, + then report this as the snapshot date. + If not specified, use the current date/time. + If you specify a date here, be sure it's UTC. + +2006-12-05 Ralf Wildenhues + + * tests/test-argp-2.sh: Fix test to match actual output. + (func_compare): Fix sed script to be portable. + +2006-12-05 Paul Eggert + + * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a + workaround for this case. It is not autoconfigured now; offhand + it's hard to see how to autoconfigure it. + +2006-12-03 Paul Eggert + + * lib/mkdir-p.c (make_dir_parents): Fix race condition when making + a directory that is about to be chowned. Such a directory's + initial file permissions should permit the owner only and this + should not be changed until after the chown, since the group and + other bits would be incorrect if they granted permission before + the chown. + + Fix porting problem for iswctype reported by Georg Schwarz in: + http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html + * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too. + * lib/regex_internal.h (RE_ENABLE_I18N): Likewise. + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too. + * m4/regex.m4 (gl_PREREQ_REGEX): Likewise. + +2006-12-03 Jim Meyering + + * lib/fts.c (fts_load): Don't set sp->fts_dev here, since + p->fts_statp may not yet be defined. + (fts_read): Instead, set it in the caller, once p->fts_statp is + sure to be defined, and corresponds to a top-level directory. + This bug made du -x fail. Here's the coreutils test case: + http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f + Reported by Mike Frysinger. + +2006-12-01 Jim Meyering + + * modules/savewd (Depends-on): Add fcntl_h to avoid self-test + build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW. + Reported by Simon Josefsson. + +2006-11-30 Jim Meyering + + * m4/warning.m4: Use the all-permissive copyright notice + recommended by RMS (rather than LGPL). + * m4/vararrays.m4: Likewise. + * m4/flexmember.m4: Likewise. + +2006-11-29 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Initialize also + noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES + using +=. + Reported by Simon Josefsson . + +2006-11-28 James Youngman + + * README: Advise users that they might find the bug-gnulib@gnu.org + and autotools-announce@gnu.org mailing lists useful. + +2006-11-28 Bruno Haible + + * m4/ptrdiff_max.m4: Remove file. + +2006-11-21 Bruno Haible + + * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of + _AC_COMPUTE_INT. + (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61. + * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of + _AC_COMPUTE_INT. + (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61. + * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of + _AC_COMPUTE_INT. + (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61. + +2006-11-28 Jim Meyering + + * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid + warning from "gcc -Wshadow" about shadowing the builtin. + +2006-11-27 Bruno Haible + + * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of + _AC_COMPUTE_INT. + (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61. + +2006-11-27 Bruno Haible + Paul Eggert + + * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity. + +2006-11-26 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Initialize also + noinst_LTLIBRARIES. + +2006-11-27 Paul Eggert + Bruno Haible + + * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0 + if compiling with "gcc -ansi". + +2006-11-26 Paul Eggert + + Fix some incompatibilities with gcc -ansi -pedantic. + * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax + if compiling pedantically with GCC, unless it's C99 or later. + Don't trust sys/cdefs.h's definition of __restrict_arr, either, as + it mishandles gcc -ansi -pedantic as well. + * lib/regex_internal.h (re_token_t): Don't use enum bitfields + if gcc -pedantic. + * lib/regexec.c (check_node_accept_bytes): Don't use auto + initializers for struct if -pedantic, unless it's C99 or later. + +2006-11-25 Nix (tiny change) + + * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime. + Don't close an fd more than once. Identical atimes indicate + success, not failure. + +2006-11-22 Robinson Mittmann (tiny change) + + * lib/sincosl.c (kernel_sinl): Fix typo in threshold. + +2006-11-23 Jim Meyering + + * build-aux/announce-gen: New file. From coreutils. + +2006-11-22 Jim Meyering + + Work around a compile-time error from the HP-UX 11.00 /bin/cc. + * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name. + (fts_read): Use a temporary to narrow the overused st_size member + before using it in a switch statement. Reported by Matthew Woehlke. + + * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument. + * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise. + +2006-11-20 Bruno Haible + + * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use + changequote instead of pairs of brackets. + Reported by Andreas Schwab . + +2006-11-21 Jim Meyering + + * lib/fts.c (fts_safe_changedir): Move a declaration "up", + so as to remain compatible with older compilers. + Patch from Michael Deutschmann. + +2006-11-20 Paul Eggert + + * MODULES.html.sh (File system functions): Add openat. + + * lib/openat.h (rpl_fstatat): New macro, if + [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK. + (fstatat): Define to rpl_fstatat under the same conditions, + unless COMPILING_FSTATAT. + * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat + seems to have the bug. + * lib/fstatat.c: New file. + * modules/openat (Files): Add it. + +2006-11-20 Bruno Haible + + * Makefile: New file. + +2006-11-20 Jim Meyering + + The beginnings of syntax-related checks for gnulib. + * lib/Makefile: New file. + * lib/t-idcache: New script. Ensure that the two halves of + idcache.c stay in sync. + + * lib/idcache.c: Adjust comments in user- and group- portions to + be more accurate, and to be consistent with one another. + +2006-11-20 Jim Meyering + + * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to + continue using the flexible array member (thus, this module performs + half as many malloc calls), with the addition that... + (getgroup, getuser): Consistently record a non-match via an empty + "name" string, and map an empty string match to a NULL return value. + * modules/idcache (Depends-on): Re-add flexmember. + + * lib/idcache.c (getuser): Remove all uses of the register keyword. + (getuidbyname, getgroup, getgidbyname): Likewise. + + Use cleaner syntax: NULL rather than 0. + * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0. + +2006-11-20 Paul Eggert + + * lib/idcache.c: Undo most recent patch, dated 2006-11-06. + It mishandled the case where the group was missing. + Problem reported by Greg Schafer. + * modules/idcache: Likewise. + +2006-11-18 Jim Meyering + + * check-module (%exempt_header): Add exception for some + conditionally-included headers. + + * modules/i-ring (Depends-on): Add verify. + (License): Change to LGPL. + +2006-11-16 Paul Eggert + + * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf. + * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h + and inttostr.h. Use snprintf rather than uinttostr, so that + LGPLed code doesn't depend on GPLed. + +2006-11-17 Paul Eggert + + * modules/inline (License): Change from GPL to LGPL. + +2006-11-17 Jim Meyering + + * modules/d-type (License): Switch to LGPL. + +2006-11-15 Bruno Haible + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message. + +2006-11-15 Eric Blake + + * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by + the module dependency. + +2006-11-15 Yoann Vandoorselaere + Bruno Haible + + * gnulib-tool (func_create_testdir): Add license consistency check. + +2006-11-15 Eric Blake + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a + random "(cached)" in configure output. + +2006-11-14 Ralf Wildenhues + + * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the + test for conforming inttypes.h is both announced and cached. + + * MODULES.html.sh (seen_modules, seen_files): New variables. + (func_module): Rewrite to use a few less gnulib-tool and sed + invocations. Avoid a couple of quadratic algorithms for ... + (missed_modules, missed_files): ... these, with ... + (func_append, func_tmpdir): ... these new functions, from + gnulib-tool. Analogously, install traps for cleanup. + + * tests/test-gc.c (main): Remove unused variables. + * tests/test-read-file.c: Include stdlib.h, for 'free'. + +2006-11-14 Paul Eggert + + * modules/inttostr (License): Change to LGPL. + +2006-11-14 Eric Blake + + * modules/tempname (License): Change to LGPL. + +2006-11-14 Eric Blake + + * doc/functions.texi (Function Portability): *printf functions on + Cygwin now understand all POSIX size specifiers. + +2006-11-14 Bruno Haible + + * modules/c-ctype (License): Change to LGPL. + +2006-11-12 Bruno Haible + + * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS, + AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed + for GNOME libraries, for which the include files are installed in + subdirectories of $prefix/include. + +2006-11-12 Bruno Haible + + * m4/lib-link.m4: Require at least autoconf-2.54. + (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library + name to underscores for the --with option. + +2006-11-13 Bruno Haible + + * gnulib-tool (func_create_testdir): Set gl_source_base correctly in + the tests directory. + Reported by Ralf Wildenhues. + +2006-11-13 Bruno Haible + + * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES. + (func_emit_initmacro_end): Undo the override here. + (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES. + Works around the famous automake error in coreutils. + +2006-11-13 Eric Blake + + * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the + element, not its node. + +2006-11-12 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of + '$(top_srcdir)/build-aux/', taking into account the real auxdir. + +2006-11-12 Bruno Haible + + * gnulib-tool: New option --local-symlink. + (func_usage): Document it. + (lsymbolic): New variable. + (func_import, func_create_testdir): If --symlink was not specified, + test whether --local-symlink was specified and the file comes from + the local_gnulib_dir. + +2006-11-12 Bruno Haible + + * gnulib-tool (func_ln): New function. + (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s". + +2006-11-12 Bruno Haible + + Finish support for source files in subdirectories. + * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files + are in subdirectories, set uses_subdirs and add 'subdir-objects' to + AUTOMAKE_OPTIONS. + (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case. + +2006-11-12 Bruno Haible + + * gnulib-tool (func_get_automake_snippet): Synthesize also an + EXTRA_lib_SOURCES augmentation. + (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty. + +2006-11-12 Jim Meyering + + Make fts (in FTS_CWDFD mode) more efficient by caching a few open + file descriptors. This also averts a failure on systems with + native openat support when a traversed directory lacks "x" access. + * lib/fts_.h: Include "i-ring.h" + (struct FTS) [fts_fd_ring]: New member. + * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear. + (FCHDIR): Add parentheses. + (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away. + (cwd_advance_fd): Add a 3rd parameter. Adjust all callers. + When descending, rather than simply closing the previous + fts_cwd_fd value, push that file descriptor onto the ring. + (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions. + (fts_open): Initialize the new fd_ring member. + (fts_close): Clear the ring. + (fts_safe_changedir): When possible, use our new fd_ring to skip + the diropen and fstat and dev/ino comparison that would normally + accompany a virtual `chdir ("..")'. + + * modules/fts (Depends-on): Add i-ring. + * modules/i-ring: New module. + * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files. + * m4/i-ring.m4: New file. + +2006-11-12 Ralf Wildenhues + + * gnulib-tool (func_create_testdir): Fix replacement of + `build-aux' in configure.ac. Run autotools in gltests + subdirectory. + (func_create_testdir, func_create_megatestdir, test): There is + no need for '--force' in most autotool invocations in a new + tree. Actually fail the whole test if any of the tools, or the + configure or make stages fail. + + Sync from Automake. + * build-aux/gnupload: Revert last change. Add pointer to upload + instructions of the GNU Maintenance Instructions. + Suggestion by Karl Berry. + +2006-11-10 Jim Meyering + + * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s. + +2006-11-09 Paul Eggert + + * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]: + (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]: + (bind_textdomain_codeset) [! ENABLE_NLS]: + Evaluate all the arguments. That way, callers get compatible behavior + if the arguments have side effects. Also, it avoids some GCC + diagnostics in some cases; Joel E. Denny reported problems when Bison + was configured with --enable-gcc-warnigs. + +2006-11-10 Jim Meyering + + * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that + relevant options in CFLAGS (like -O, -fno-inline) are taken into + account. + +2006-11-10 Jim Meyering + + * modules/inline: New file/module. + * modules/xalloc (Files): Remove m4/inline.m4. + (Depends-on): Add inline, instead. + * modules/oset: Likewise. + * modules/list: Likewise. + +2006-11-09 Paul Eggert + + * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t. + Problem reported by Matthew Woehlke. + +2006-11-09 Bruno Haible + + * lib/tempname.c (gen_tempname): Remove variant that invokes + __gen_tempname. + * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for + __gen_tempname. + +2006-11-08 Bruno Haible + + * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int + to 'yes' instead of 'cross-compiling'. + +2006-11-08 Paul Eggert + + * lib/quotearg.h (quotearg_free): New decl. + * lib/quotearg.c (quotearg_free): New function. + (slot0, nslots, slotvec0, slotvec): + Now file-scope so that quotearg_free can get at them. + +2006-11-08 Ralf Wildenhues + + Sync from Automake. + * build-aux/gnupload: Add missing 'gnu' to example URL. + Report by Karl Berry. + +2006-11-08 Bruno Haible + + * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__. + Suggested by Paul Eggert. + +2006-11-08 Jim Meyering + + * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice. + It's already included if !_LIBC. + (fts_safe_changedir): Add a comment. + +2006-11-07 Paul Eggert + + * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in + Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by + Matthew Woehlke. + + * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move + definitions up, to avoid colliding with change below. + (static_inline) [HAVE_INLINE]: New macro. + (xnmalloc, xnrealloc, x2nrealloc, xcharalloc): + Provide extern decls when !HAVE_INLINE. Do not define unless + static_inline is defined, either by us or by xmalloc.c. Use + static_inline rather than static inline. + (XCALLOC): Optimize sizeof(T) = 1 case. + * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro. + +2006-11-07 Bruno Haible + + * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case. + * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of + AC_C_INLINE. + * modules/xalloc (Files): Add m4/inline.m4. + +2006-11-07 Ralf Wildenhues + + * README: Fix typo. + * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename... + (Miscellanous Notes): ...from this. + +2006-11-07 Paul Eggert + + * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): + Mention that offsetof should be used instead of sizeof. + From Bruno Haible. + +2006-11-07 Bruno Haible + + * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc. + +2006-11-06 Paul Eggert + + Simplify xmalloc expressions. Add overflow check in xmalloc arguments. + * lib/gl_anyavltree_list2.h (create_subtree_with_contents): + (gl_tree_create, gl_tree_add_first, gl_tree_add_last): + (gl_tree_add_before, gl_tree_add_after): + Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc. + * lib/gl_anyhash_list2.h (hash_resize): Likewise. + * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create): + (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before): + (gl_linked_add_after, gl_linked_add_at): Likewise. + * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): + (gl_tree_create, gl_tree_add_first, gl_tree_add_last): + (gl_tree_add_before, gl_tree_add_after): Likewise. + * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise. + * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise. + * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise. + +2006-11-06 Ralf Wildenhues + + * lib/gl_oset.h: Use C comment style, not C++ comment style. + +2006-11-06 Bruno Haible + + * m4/inline.m4: New file. + * m4/gl_list.m4 (gl_LIST): Require gl_INLINE. + * modules/list (Files): Add m4/inline.m4. + * modules/oset (Files): Likewise. + +2006-11-06 Paul Eggert + + * lib/idcache.c: Include , for offsetof. + (struct userid.name): Change from char * to a flexible array member. + All uses changed. + * modules/idcache (Depends-on): Add flexmember. + + * MODULES.html.sh (Core language properties): New module flexmember. + * modules/flexmember, m4/flexmember.m4: New files. + + * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static + inline functions that are identical with the old xnmalloc_inline, + xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c. This is so + that we can avoid some unnecessary integer multiplications and + divisions in the common case where the element size is known at + compile time. + (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer + needed. + (xnboundedmalloc): Remove. + (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for + arguments, for consistency with rest of this header. + (xcharalloc): Rewrite using XNMALLOC. + * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline): + (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove. The *_inline + versions have been moved to lib/xalloc.h and renamed to be the + non-*_inline versions. + (xmalloc, xrealloc): Implement without reference to the xnmalloc + and xnrealloc functions, since those functions are now inline and + now call us. + (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate + renaming described above. + * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since + xmalloc.c no longer uses inline directly. gl_PREREQ_XALLOC now + captures the dependency in AC_C_INLINE. + + New module canonicalize-lgpl, proposed by Charles Wilson in + + with a few small changes afterwards. + * MODULES.html.sh (File system functions): New module + canonicalize-lgpl. + * lib/canonicalize.h: Add comments for canonicalize_filename_mode + and canonicalize_file_name. + * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4: + * modules/canonicalize-lgpl: New files. + +2006-11-05 Bruno Haible + + * gnulib-tool (func_import, func_create_testdir): Create directories + also for files in subdirectories of lib/. + +2006-11-05 Bruno Haible + + * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement + ANSI C compliant. + +2006-11-03 Bruno Haible + + Simplify xmalloc expressions. Add overflow check in xmalloc arguments. + * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE. + * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros. + (xnboundedmalloc): New inline function. + * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc. + * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of + xmalloc. + * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of + xmalloc. + * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc. + * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc. + * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of + xmalloc. + (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc. + * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of + xmalloc. + * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before, + gl_tree_add_after): Use XMALLOC instead of xmalloc. + * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of + xmalloc. + (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc. + * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before, + gl_tree_add_after): Use XMALLOC instead of xmalloc. + * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc. + * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc. + * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc. + * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc. + +2006-11-03 Bruno Haible + + * lib/c-ctype.h [C++]: Define functions without name mangling. + * lib/fwriteerror.h [C++]: Likewise. + * lib/gcd.h [C++]: Likewise. + * lib/linebreak.h [C++]: Likewise. + +2006-11-03 Paul Eggert + + * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING): + (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode): + Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined. + * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): + Check for functions and headers just once. + Check for declaration of canonicalize_file_name. + Define PROVIDE_CANONICALIZE_FILENAME_MODE. + +2006-11-02 Charles Wilson + + * gnulib-tool (func_import): Fix typo in actioncmd. + +2006-11-02 Bruno Haible + + * gnulib-tool (func_get_automake_snippet): Interpret a backslash- + newline sequence in the Makefile.am snippet as a space, like "make" + does. + Reported by Roger Persson . + +2006-11-01 Bruno Haible + + * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is + already declared in . + * lib/strcase.h (strncasecmp): Don't declare it if yes. + +2006-11-01 Bruno Haible + + * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here. + * lib/strcase.h: Include . + (strcasecmp): Define to rpl_strcasecmp here. + +2006-11-01 Bruno Haible + + * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results. + +2006-11-01 Eric Blake + + * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation. + + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration. + +2006-10-29 Bruno Haible + + Make it compile in C++ mode. + * lib/full-write.c (full_rw): Add a cast. + +2006-11-01 Bruno Haible + + * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to + be POSIX compliant. + Reported by Roger Persson . + +2006-11-01 Eric Blake + + * lib/getopt_.h: Fix comments. + +2006-10-31 Eric Blake + + * modules/tmpdir (Depends-on): Add sys_stat. + * modules/mkdtemp (Depends-on): Add tempname, drop unistd. + * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this. + * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat. + * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to + tempname. + +2006-10-31 Paul Eggert + + Avoid some C++ diagnostics reported by Bruno Haible. + * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than + xmalloc. + (quotearg_alloc): Use xcharalloc rather than xmalloc. + (struct slotvec): Move to top level. + (quotearg_n_options): Rewrite to avoid xmalloc. + * lib/xalloc.h (xcharalloc): New function. + * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup): + [defined __cplusplus]: Add function template that provides result + type propagation. This part of the change is from Bruno Haible. + +2006-10-29 Bruno Haible + + Make it compile in C++ mode. + * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result. + * lib/strnlen1.c (strnlen1): Cast memchr result. + * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'. + * lib/clean-temp.c (string_equals, string_hash): Add casts. + (create_temp_dir): Rename local variable 'template'. + (compile_csharp_using_sscli): Add cast. + * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result. + * lib/findprog.c (find_in_path): Likewise. + * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result. + * lib/wait-process.c (register_slave_subprocess): Likewise. + +2006-10-22 Bruno Haible + + * modules/tsearch: New file. + * lib/tsearch.h: New file. + * lib/tsearch.c: New file, from glibc-2.5 with small modifications. + * m4/tsearch.m4: New file. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch. + +2006-10-29 Eric Blake + + * lib/arcfour.c: Assume config.h. + * lib/arctwo.c: Likewise. + * lib/base64.c: Likewise. + * lib/check-version.c: Likewise. + * lib/crc.c: Likewise. + * lib/des.c: Likewise. + * lib/gc-gnulib.c: Likewise. + * lib/gc-libgcrypt.c: Likewise. + * lib/gc-pbkdf2-sha1.c: Likewise. + * lib/getaddrinfo.c: Likewise. + * lib/getdelim.c: Likewise. + * lib/getline.c: Likewise. + * lib/hmac-md5.c: Likewise. + * lib/hmac-sha1.c: Likewise. + * lib/iconvme.c: Likewise. + * lib/md2.c: Likewise. + * lib/md4.c: Likewise. + * lib/memxor.c: Likewise. + * lib/read-file.c: Likewise. + * lib/readline.c: Likewise. + * lib/rijndael-alg-fst.c: Likewise. + * lib/rijndael-api-fst.c: Likewise. + * lib/xgetdomainname.c: Likewise. + +2006-10-28 Eric Blake + + * lib/xstrndup.c: Assume config.h. + +2006-10-27 Paul Eggert + + Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h. + stat-macros.h is now for our own macros, whereas stat_h is for + macros in the name space. + * lib/stat-macros.h: Remove copyright notice, as this file is now tiny. + (STAT_MACROS_H): Remove. + (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM): + (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT): + (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD): + (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP): + (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH): + (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO): + Move these macros to ... + * lib/stat_.h: here. Don't include stat-macros.h. + * lib/canonicalize.c: Don't include stat-macros.h. + * lib/chown.c: Likewise. + * lib/euidaccess.c: Likewise. + * lib/file-type.c: Likewise. + * lib/filemode.c: Likewise. + * lib/glob.c: Likewise. + * lib/isapipe.c: Likewise. + * lib/lchown.c: Likewise. + * lib/lstat.c: Likewise. + * lib/mkdir-p.c: Likewise. + * lib/rmdir.c: Likewise. + * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h + unless mkdir isn't declared, to speed up 'configure'. + Always create sys/stat.h, since it's unlikely any real sys/stat.h + would define all the S_* symbols. + * modules/canonicalize (Depends-on): + Depend on sys_stat, not stat-macros. + * modules/chown: Likewise. + * modules/euidaccess: Likewise. + * modules/filemode: Likewise. + * modules/file-type: Likewise. + * modules/glob: Likewise. + * modules/isapipe: Likewise. + * modules/lchown: Likewise. + * modules/lstat: Likewise. + * modules/mkancesdirs: Likewise. + * modules/rmdir: Likewise. + * modules/mkdir-p (Depends-on): Also depend on sys_stat. + * modules/modechange: Likewise. + * modules/stat-macros (Files): Remove m4/stat-macros.m4. + (configure.ac): Remove gl_STAT_MACROS. + * modules/sys_stat (Depends-on): Remove stat-macros. + +2006-10-27 Bruno Haible + + * m4/signed.m4: Remove file. + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED + invocation. + * modules/vasnprintf (Files): Remove m4/signed.m4. + +2006-10-27 Bruno Haible + + Update to GNU gettext 0.16. + * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove + m4/inttypes-h.m4, m4/signed.m4. + * m4/gettext.m4: Update to GNU gettext 0.16. + * m4/intl.m4: New file, from GNU gettext. + * m4/intldir.m4: New file, from GNU gettext. + * config/srclist.txt: Update + +2006-10-27 Eric Blake + + * MODULES.html.sh: Document tempname. + * modules/mkstemp (Depends-on): Add tempname, and drop transitive + dependencies. + (Files): Move lib/tempname.c... + * modules/tempname: ...to this new module. + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks. + (gl_PREREQ_TEMPNAME): Move... + * m4/tempname.m4: ...to this new file. + * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h. + * modules/sys_stat (Depends-on): Add stat-macros. + * lib/stat_.h (includes): Pick up stat macros. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace + if stat macros are broken. + * lib/tempname.c (includes): No need to include "stat-macros.h". + (__gen_tempname) [!_LIBC]: Expose as gen_tempname. + (direxists, __path_search) [!_LIBC]: Don't compile these in + gnulib; the tmpdir module covers that. + * lib/tempname.h: New file. + +2006-10-26 Paul Eggert + + * COPYING: Explain how gnulib-tool converts licence headers. + Almost all wording by Eric Blake. + +2006-10-25 Paul Eggert + + * lib/mbchar.h (is_basic_table): Make read-only. + * lib/mbchar.c (is_basic_table): Likewise. + Reported by John Darrington. + +2006-10-25 Bruno Haible + + * lib/progname.h (set_program_name): Undefine before defining. + +2006-10-25 Bruno Haible + + * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to + false for non-gcc C++ compilers. + Reported by Nelson H. F. Beebe . + +2006-10-24 Bruno Haible + + * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU + iconv implementations like Irix iconv. + +2006-10-24 Paul Eggert + + * modules/vararrays: New file. + * m4/vararrays.m4: New file, taken from diffutils. + * MODULES.html.sh: New module vararrays. + +2006-10-24 Karl Berry + + * doc/gnulib-intro.texi: --- instead of --; non-naive naive. + Don't call GNU Unix. + +2006-10-24 Ralf Wildenhues + + * users.txt: Add Libtool. + + Sync from Libtool: + + 2006-10-24 Paul Eggert + + * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform + to gnulib's policy of including config.h unconditionally. + +2006-10-24 Bruno Haible + + * modules/wcwidth (Files): Add m4/wint_t.m4. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T. + * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined. + +2006-10-24 Paul Eggert + + * lib/getdate.y (yyerror): Make the arguments pointer-to-const, + to pacify GCC with some -W flags enabled. Problem reported by + Bruno Haible. + +2006-10-24 Jim Meyering + + * MODULES.html.sh: Remove uinttostr. It's not a module. + Reported by Karl Berry. + +2006-10-23 Bruno Haible + + * lib/fts.c (fts_build): Move variable declaration, for C89 compliance. + +2006-10-24 Bruno Haible + + * lib/gl_list.h: Use C comment style, not C++ comment style. + +2006-10-23 Eric Blake + + * lib/getaddrinfo.c (includes): Add missing include. + +2006-10-23 Bruno Haible + Paul Eggert + + Ability to rename obstack_free. + * lib/obstack.h (__obstack_free): New macro. Declare instead of + obstack_free. + (obstack_free): Invoke the __obstack_free macro. + * lib/obstack.c (obstack_free): Use __obstack_free macro. + +2006-10-23 Bruno Haible + Paul Eggert + + * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers + __argc, __argv from the declaration. (They are defined as macros on + mingw.) + +2006-10-22 Bruno Haible + + * doc/gnulib-intro.texi: New file. + * doc/gnulib.texi: Include it. + +2006-10-21 Bruno Haible + + * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters + "Introduction", "Miscellanous Notes", "Particular Modules". + +2006-10-21 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Change mostlyclean-local rule to avoid sh syntax error from bash + versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty. + +2006-10-23 Jim Meyering + + * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr, + in place of snprintf. + + * modules/inttostr (Files): Add lib/uinttostr.c. + * lib/uinttostr.c (inttostr): New file/function. + * lib/inttostr.h (uinttostr): Declare. + * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]). + * MODULES.html.sh (Numeric conversion functions ): + Add uinttostr. + * modules/getaddrinfo (Depends-on): Remove snprintf. Add inttostr. + +2006-10-21 Paul Eggert + + * lib/canonicalize.c (ELOOP): Define if not already defined. + Problem reported by Bruno Haible in + . + +2006-10-21 Paul Eggert + + * lib/stdint_.h [defined _AIX]: Don't include . + Problem reported by Perry Smith and Ville Laurikari. + + * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c + uses. + +2006-10-19 Bruno Haible + + * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed + for mingw. + +2006-10-19 Bruno Haible + + * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition. + Needed for mingw. + +2006-10-19 Bruno Haible + + * m4/size_max.m4 (gl_SIZE_MAX): Cache the result. + +2006-10-19 Bruno Haible + + * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE + it. + +2006-10-19 Bruno Haible + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP + invocation. + +2006-10-19 Bruno Haible + + * gnulib-tool (func_create_testdir): Don't include ftruncate and + mountlist by default. + +2006-10-16 Bruno Haible + + * lib/c-strstr.c: Include c-strstr.h. + +2006-10-18 Charles Wilson + + * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends + in a slash. + +2006-10-18 Bruno Haible + + * lib/lock.h [C++]: Wrap definitions in extern "C". + +2006-10-18 Bruno Haible + + * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the + gl_LIBOBJS list. + +2006-10-18 Bruno Haible + + * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning. + +2006-10-19 Paul Eggert + + * lib/xstrtol.h: Include gettext.h. + (_STRTOL_ERROR): Wrap English-language formats inside gettext. + Problem reported by Eric Blake. + * modules/xstrtol (Depends-on): Add gettext-h. + +2006-10-19 Paul Eggert (tiny change) + + * lib/strftime.c (advance): New macro. + (add): Use it to avoid adding 0 to a FILE *. FILE can be an + incomplete type, so you can't add 0 to it. Problem and patch + reported by Eelco Dolstra for dietlibc. + +2006-10-18 Jim Meyering + + * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the + type for a local, and rename it: s/up/user_proc/. + +2006-10-18 Sergey Poznyakoff + + * lib/readutmp.c (desirable_utmp_entry): Implement new flag: + READ_UTMP_USER_PROCESS. + * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag + +2006-10-17 Paul Eggert + + * lib/localcharset.c: Do not check HAVE_SETLOCALE. + * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale. + +2006-10-17 Eric Blake + + * lib/sigprocmask.c (sigprocmask): Fix typo. + + * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo. + + * modules/clean-temp (Makefile.am): Don't add to make output... + (configure.ac): ...instead define SIGNAL_SAFE_LIST inside + config.h. + +2006-10-17 Bruno Haible + + * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define + differently if DEFAULT_TEXT_DOMAIN is set. + +2006-10-16 Bruno Haible + + * lib/clean-temp.c: Include fwriteerror.h. + +2006-10-16 Bruno Haible + + * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack. + +2006-10-16 Bruno Haible + + * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t. + * lib/sigprocmask.h: Include . + (sigset_t): Use the system's definition if present. + +2006-10-17 Eric Blake + + * lib/xvasprintf.c (includes): Assume config.h. + * lib/xasprintf.c (includes): Likewise. + +2006-10-16 Paul Eggert + + * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is + at least as wide as intmax_t. + +2006-10-16 Alexandre Duret-Lutz + + (Imported from Automake.) + * build-aux/gnupload: Update to version 1.1 of directive file. + +2006-10-16 Eric Blake + + * modules/configmake (Makefile.am): Add pkglibexecdir support, to + match Automake 1.10a. + +2006-10-14 Bruno Haible + + * modules/sigprocmask: New file. + * lib/sigprocmask.h: New file. + * lib/sigprocmask.c: New file. + * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from + gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING, + request sigprocmask.o. + (gl_PREREQ_SIGPROCMASK): New macro. + * modules/fatal-signal (Files): Remove m4/signalblocking.m4. + (Depends-on): Add sigprocmask. + * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require + gt_SIGNALBLOCKING. Test for 'raise' only once. + * lib/fatal-signal.c: Include sigprocmask.h. + (fatal_signal_set, init_fatal_signal_set, block_fatal_signals, + unblock_fatal_signals): Define always. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + sigprocmask. + +2006-10-14 Paul Eggert + + Sync from Automake. + * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m, + which incorrectly sets the mode of an existing destination + directory. In some cases the unpatched install-sh could do the + equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD + system. We hope this is rare in practice, but it's clearly worth + fixing. Problem reported by Alex Unleashed in + . + Also, don't bother to check for -m bugs unless we're using -m; + suggested by Stepan Kasal. + +2006-10-14 Ralf Wildenhues + + Sync from Automake. + * build-aux/depcomp (gcc3): Put dependency extraction flags before the + `-c' flag, so they appear at the same position as in %FASTDEP% + mode in depend2.am. Fixes build failure for FreeBSD's c89, + which ignores unknown options only after the first non-option. + Bug report against M4 by Nelson H. F. Beebe. + +2006-10-13 Jim Meyering + + Fix a bug in yesterday's change. + * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT, + p->fts_statp->st_dev would be used uninitialized. + Ensures that we always call fts_stat on the very first entry. + Miklos Szeredi reported that find -xdev stopped working. + +2006-10-12 Bruno Haible + + * gnulib-tool (func_get_automake_snippet): Append an automatically + computed EXTRA_DIST augmentation. + * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation. + * modules/alloca-opt (Makefile.am): Likewise. + * modules/allocsa (Makefile.am): Likewise. + * modules/arcfour (Makefile.am): Likewise. + * modules/arctwo (Makefile.am): Likewise. + * modules/argmatch (Makefile.am): Likewise. + * modules/argz (Makefile.am): Likewise. + * modules/atexit (Makefile.am): Likewise. + * modules/backupfile (Makefile.am): Likewise. + * modules/byteswap (Makefile.am): Likewise. + * modules/c-strtod (Makefile.am): Likewise. + * modules/c-strtold (Makefile.am): Likewise. + * modules/calloc (Makefile.am): Likewise. + * modules/canon-host (Makefile.am): Likewise. + * modules/canonicalize (Makefile.am): Likewise. + * modules/chdir-long (Makefile.am): Likewise. + * modules/chdir-safer (Makefile.am): Likewise. + * modules/check-version (Makefile.am): Likewise. + * modules/chown (Makefile.am): Likewise. + * modules/cloexec (Makefile.am): Likewise. + * modules/close-stream (Makefile.am): Likewise. + * modules/closeout (Makefile.am): Likewise. + * modules/crc (Makefile.am): Likewise. + * modules/csharpexec (Makefile.am): Likewise. + * modules/cycle-check (Makefile.am): Likewise. + * modules/des (Makefile.am): Likewise. + * modules/dev-ino (Makefile.am): Likewise. + * modules/dirfd (Makefile.am): Likewise. + * modules/dirname (Makefile.am): Likewise. + * modules/dup2 (Makefile.am): Likewise. + * modules/eealloc (Makefile.am): Likewise. + * modules/error (Makefile.am): Likewise. + * modules/euidaccess (Makefile.am): Likewise. + * modules/exclude (Makefile.am): Likewise. + * modules/exitfail (Makefile.am): Likewise. + * modules/fcntl-safer (Makefile.am): Likewise. + * modules/fcntl (Makefile.am): Likewise. + * modules/file-type (Makefile.am): Likewise. + * modules/fileblocks (Makefile.am): Likewise. + * modules/filemode (Makefile.am): Likewise. + * modules/filenamecat (Makefile.am): Likewise. + * modules/fnmatch (Makefile.am): Likewise. + * modules/fopen-safer (Makefile.am): Likewise. + * modules/fpending (Makefile.am): Likewise. + * modules/fprintftime (Makefile.am): Likewise. + * modules/free (Makefile.am): Likewise. + * modules/fsusage (Makefile.am): Likewise. + * modules/ftruncate (Makefile.am): Likewise. + * modules/fts (Makefile.am): Likewise. + * modules/gc-arcfour (Makefile.am): Likewise. + * modules/gc-des (Makefile.am): Likewise. + * modules/gc-hmac-md5 (Makefile.am): Likewise. + * modules/gc-hmac-sha1 (Makefile.am): Likewise. + * modules/gc-md4 (Makefile.am): Likewise. + * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise. + * modules/gc-sha1 (Makefile.am): Likewise. + * modules/gc (Makefile.am): Likewise. + * modules/getaddrinfo (Makefile.am): Likewise. + * modules/getcwd (Makefile.am): Likewise. + * modules/getdelim (Makefile.am): Likewise. + * modules/getdomainname (Makefile.am): Likewise. + * modules/getgroups (Makefile.am): Likewise. + * modules/gethostname (Makefile.am): Likewise. + * modules/gethrxtime (Makefile.am): Likewise. + * modules/getline (Makefile.am): Likewise. + * modules/getloadavg (Makefile.am): Likewise. + * modules/getlogin_r (Makefile.am): Likewise. + * modules/getndelim2 (Makefile.am): Likewise. + * modules/getopt (Makefile.am): Likewise. + * modules/getpagesize (Makefile.am): Likewise. + * modules/getpass-gnu (Makefile.am): Likewise. + * modules/getpass (Makefile.am): Likewise. + * modules/getsubopt (Makefile.am): Likewise. + * modules/gettime (Makefile.am): Likewise. + * modules/gettimeofday (Makefile.am): Likewise. + * modules/getugroups (Makefile.am): Likewise. + * modules/getusershell (Makefile.am): Likewise. + * modules/glob (Makefile.am): Likewise. + * modules/group-member (Makefile.am): Likewise. + * modules/hard-locale (Makefile.am): Likewise. + * modules/hash (Makefile.am): Likewise. + * modules/hmac-md5 (Makefile.am): Likewise. + * modules/hmac-sha1 (Makefile.am): Likewise. + * modules/human (Makefile.am): Likewise. + * modules/idcache (Makefile.am): Likewise. + * modules/imaxabs (Makefile.am): Likewise. + * modules/imaxdiv (Makefile.am): Likewise. + * modules/inet_ntop (Makefile.am): Likewise. + * modules/inet_pton (Makefile.am): Likewise. + * modules/intprops (Makefile.am): Likewise. + * modules/inttostr (Makefile.am): Likewise. + * modules/inttypes (Makefile.am): Likewise. + * modules/isapipe (Makefile.am): Likewise. + * modules/javaversion (Makefile.am): Likewise. + * modules/lchmod (Makefile.am): Likewise. + * modules/lchown (Makefile.am): Likewise. + * modules/localcharset (Makefile.am): Likewise. + * modules/long-options (Makefile.am): Likewise. + * modules/lstat (Makefile.am): Likewise. + * modules/malloc (Makefile.am): Likewise. + * modules/mathl (Makefile.am): Likewise. + * modules/mbchar (Makefile.am): Likewise. + * modules/md2 (Makefile.am): Likewise. + * modules/md4 (Makefile.am): Likewise. + * modules/md5 (Makefile.am): Likewise. + * modules/memcasecmp (Makefile.am): Likewise. + * modules/memchr (Makefile.am): Likewise. + * modules/memcmp (Makefile.am): Likewise. + * modules/memcoll (Makefile.am): Likewise. + * modules/memcpy (Makefile.am): Likewise. + * modules/memmem (Makefile.am): Likewise. + * modules/memmove (Makefile.am): Likewise. + * modules/mempcpy (Makefile.am): Likewise. + * modules/memrchr (Makefile.am): Likewise. + * modules/memset (Makefile.am): Likewise. + * modules/memxor (Makefile.am): Likewise. + * modules/mkancesdirs (Makefile.am): Likewise. + * modules/mkdir-p (Makefile.am): Likewise. + * modules/mkdir (Makefile.am): Likewise. + * modules/mkdtemp (Makefile.am): Likewise. + * modules/mkstemp (Makefile.am): Likewise. + * modules/mktime (Makefile.am): Likewise. + * modules/modechange (Makefile.am): Likewise. + * modules/mountlist (Makefile.am): Likewise. + * modules/nanosleep (Makefile.am): Likewise. + * modules/obstack (Makefile.am): Likewise. + * modules/openat (Makefile.am): Likewise. + * modules/pagealign_alloc (Makefile.am): Likewise. + * modules/pathmax (Makefile.am): Likewise. + * modules/physmem (Makefile.am): Likewise. + * modules/poll (Makefile.am): Likewise. + * modules/posixtm (Makefile.am): Likewise. + * modules/posixver (Makefile.am): Likewise. + * modules/putenv (Makefile.am): Likewise. + * modules/quote (Makefile.am): Likewise. + * modules/quotearg (Makefile.am): Likewise. + * modules/raise (Makefile.am): Likewise. + * modules/read-file (Makefile.am): Likewise. + * modules/readline (Makefile.am): Likewise. + * modules/readlink (Makefile.am): Likewise. + * modules/readtokens (Makefile.am): Likewise. + * modules/readutmp (Makefile.am): Likewise. + * modules/realloc (Makefile.am): Likewise. + * modules/regex (Makefile.am): Likewise. + * modules/rename-dest-slash (Makefile.am): Likewise. + * modules/rename (Makefile.am): Likewise. + * modules/rijndael (Makefile.am): Likewise. + * modules/rmdir (Makefile.am): Likewise. + * modules/rpmatch (Makefile.am): Likewise. + * modules/safe-read (Makefile.am): Likewise. + * modules/safe-write (Makefile.am): Likewise. + * modules/same-inode (Makefile.am): Likewise. + * modules/same (Makefile.am): Likewise. + * modules/save-cwd (Makefile.am): Likewise. + * modules/savedir (Makefile.am): Likewise. + * modules/setenv (Makefile.am): Likewise. + * modules/settime (Makefile.am): Likewise. + * modules/sha1 (Makefile.am): Likewise. + * modules/sig2str (Makefile.am): Likewise. + * modules/snprintf (Makefile.am): Likewise. + * modules/stat-macros (Makefile.am): Likewise. + * modules/stat-time (Makefile.am): Likewise. + * modules/stdbool (Makefile.am): Likewise. + * modules/stdint (Makefile.am): Likewise. + * modules/stdlib-safer (Makefile.am): Likewise. + * modules/stpcpy (Makefile.am): Likewise. + * modules/stpncpy (Makefile.am): Likewise. + * modules/strcase (Makefile.am): Likewise. + * modules/strcasestr (Makefile.am): Likewise. + * modules/strchrnul (Makefile.am): Likewise. + * modules/strcspn (Makefile.am): Likewise. + * modules/strdup (Makefile.am): Likewise. + * modules/strerror (Makefile.am): Likewise. + * modules/strftime (Makefile.am): Likewise. + * modules/strndup (Makefile.am): Likewise. + * modules/strnlen (Makefile.am): Likewise. + * modules/strpbrk (Makefile.am): Likewise. + * modules/strsep (Makefile.am): Likewise. + * modules/strstr (Makefile.am): Likewise. + * modules/strtod (Makefile.am): Likewise. + * modules/strtoimax (Makefile.am): Likewise. + * modules/strtok_r (Makefile.am): Likewise. + * modules/strtol (Makefile.am): Likewise. + * modules/strtoll (Makefile.am): Likewise. + * modules/strtoul (Makefile.am): Likewise. + * modules/strtoull (Makefile.am): Likewise. + * modules/strtoumax (Makefile.am): Likewise. + * modules/strverscmp (Makefile.am): Likewise. + * modules/sys_socket (Makefile.am): Likewise. + * modules/sys_stat (Makefile.am): Likewise. + * modules/sysexits (Makefile.am): Likewise. + * modules/time_r (Makefile.am): Likewise. + * modules/timegm (Makefile.am): Likewise. + * modules/timespec (Makefile.am): Likewise. + * modules/tmpfile-safer (Makefile.am): Likewise. + * modules/trim (Makefile.am): Likewise. + * modules/unistd-safer (Makefile.am): Likewise. + * modules/unlinkdir (Makefile.am): Likewise. + * modules/unlocked-io (Makefile.am): Likewise. + * modules/userspec (Makefile.am): Likewise. + * modules/utime (Makefile.am): Likewise. + * modules/utimecmp (Makefile.am): Likewise. + * modules/utimens (Makefile.am): Likewise. + * modules/vasnprintf (Makefile.am): Likewise. + * modules/vasprintf (Makefile.am): Likewise. + * modules/vsnprintf (Makefile.am): Likewise. + * modules/xalloc (Makefile.am): Likewise. + * modules/xgetcwd (Makefile.am): Likewise. + * modules/xnanosleep (Makefile.am): Likewise. + * modules/xreadlink (Makefile.am): Likewise. + * modules/xstrtod (Makefile.am): Likewise. + * modules/xstrtol (Makefile.am): Likewise. + * modules/xstrtold (Makefile.am): Likewise. + * modules/yesno (Makefile.am): Likewise. + * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST. + +2006-10-12 Paul Eggert + + * modules/error (Makefile.am): Distribute files through + EXTRA_DIST, not lib_SOURCES. + +2006-10-12 Eric Blake + + * modules/error (Makefile.am): Distribute files in /lib. + * modules/obstack (Makefile.am): Likewise. + +2006-10-12 Bruno Haible + + * modules/acl (Makefile.am): Distribute all files in lib/ through + EXTRA_DIST. + * modules/arcfour (Makefile.am): Likewise. + * modules/arctwo (Makefile.am): Likewise. + * modules/argmatch (Makefile.am): Likewise. + * modules/argz (Makefile.am): Likewise. + * modules/atexit (Makefile.am): Likewise. + * modules/backupfile (Makefile.am): Likewise. + * modules/c-strtod (Makefile.am): Likewise. + * modules/c-strtold (Makefile.am): Likewise. + * modules/calloc (Makefile.am): Likewise. + * modules/canon-host (Makefile.am): Likewise. + * modules/canonicalize (Makefile.am): Likewise. + * modules/chdir-long (Makefile.am): Likewise. + * modules/chdir-safer (Makefile.am): Likewise. + * modules/check-version (Makefile.am): Likewise. + * modules/chown (Makefile.am): Likewise. + * modules/cloexec (Makefile.am): Likewise. + * modules/close-stream (Makefile.am): Likewise. + * modules/closeout (Makefile.am): Likewise. + * modules/crc (Makefile.am): Likewise. + * modules/cycle-check (Makefile.am): Likewise. + * modules/des (Makefile.am): Likewise. + * modules/dirfd (Makefile.am): Likewise. + * modules/dirname (Makefile.am): Likewise. + * modules/dup2 (Makefile.am): Likewise. + * modules/euidaccess (Makefile.am): Likewise. + * modules/exclude (Makefile.am): Likewise. + * modules/exitfail (Makefile.am): Likewise. + * modules/fcntl-safer (Makefile.am): Likewise. + * modules/file-type (Makefile.am): Likewise. + * modules/fileblocks (Makefile.am): Likewise. + * modules/filemode (Makefile.am): Likewise. + * modules/filenamecat (Makefile.am): Likewise. + * modules/fnmatch (Makefile.am): Likewise. + * modules/fopen-safer (Makefile.am): Likewise. + * modules/fpending (Makefile.am): Likewise. + * modules/fprintftime (Makefile.am): Likewise. + * modules/free (Makefile.am): Likewise. + * modules/fsusage (Makefile.am): Likewise. + * modules/ftruncate (Makefile.am): Likewise. + * modules/fts (Makefile.am): Likewise. + * modules/gc (Makefile.am): Likewise. + * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise. + * modules/getaddrinfo (Makefile.am): Likewise. + * modules/getcwd (Makefile.am): Likewise. + * modules/getdelim (Makefile.am): Likewise. + * modules/getdomainname (Makefile.am): Likewise. + * modules/getgroups (Makefile.am): Likewise. + * modules/gethostname (Makefile.am): Likewise. + * modules/gethrxtime (Makefile.am): Likewise. + * modules/getline (Makefile.am): Likewise. + * modules/getloadavg (Makefile.am): Likewise. + * modules/getlogin_r (Makefile.am): Likewise. + * modules/getopt (Makefile.am): Likewise. + * modules/getpass (Makefile.am): Likewise. + * modules/getpass-gnu (Makefile.am): Likewise. + * modules/getsubopt (Makefile.am): Likewise. + * modules/gettime (Makefile.am): Likewise. + * modules/gettimeofday (Makefile.am): Likewise. + * modules/getugroups (Makefile.am): Likewise. + * modules/getusershell (Makefile.am): Likewise. + * modules/glob (Makefile.am): Likewise. + * modules/group-member (Makefile.am): Likewise. + * modules/hard-locale (Makefile.am): Likewise. + * modules/hash (Makefile.am): Likewise. + * modules/hmac-md5 (Makefile.am): Likewise. + * modules/hmac-sha1 (Makefile.am): Likewise. + * modules/human (Makefile.am): Likewise. + * modules/idcache (Makefile.am): Likewise. + * modules/imaxabs (Makefile.am): Likewise. + * modules/imaxdiv (Makefile.am): Likewise. + * modules/inet_ntop (Makefile.am): Likewise. + * modules/inet_pton (Makefile.am): Likewise. + * modules/inttostr (Makefile.am): Likewise. + * modules/isapipe (Makefile.am): Likewise. + * modules/lchown (Makefile.am): Likewise. + * modules/long-options (Makefile.am): Likewise. + * modules/lstat (Makefile.am): Likewise. + * modules/malloc (Makefile.am): Likewise. + * modules/mathl (Makefile.am): Likewise. + * modules/mbchar (Makefile.am): Likewise. + * modules/md2 (Makefile.am): Likewise. + * modules/md4 (Makefile.am): Likewise. + * modules/md5 (Makefile.am): Likewise. + * modules/memcasecmp (Makefile.am): Likewise. + * modules/memchr (Makefile.am): Likewise. + * modules/memcmp (Makefile.am): Likewise. + * modules/memcoll (Makefile.am): Likewise. + * modules/memcpy (Makefile.am): Likewise. + * modules/memmem (Makefile.am): Likewise. + * modules/memmove (Makefile.am): Likewise. + * modules/mempcpy (Makefile.am): Likewise. + * modules/memrchr (Makefile.am): Likewise. + * modules/memset (Makefile.am): Likewise. + * modules/memxor (Makefile.am): Likewise. + * modules/mkancesdirs (Makefile.am): Likewise. + * modules/mkdir (Makefile.am): Likewise. + * modules/mkdir-p (Makefile.am): Likewise. + * modules/mkdtemp (Makefile.am): Likewise. + * modules/mkstemp (Makefile.am): Likewise. + * modules/mktime (Makefile.am): Likewise. + * modules/modechange (Makefile.am): Likewise. + * modules/mountlist (Makefile.am): Likewise. + * modules/nanosleep (Makefile.am): Likewise. + * modules/openat (Makefile.am): Likewise. + * modules/pagealign_alloc (Makefile.am): Likewise. + * modules/physmem (Makefile.am): Likewise. + * modules/poll (Makefile.am): Likewise. + * modules/posixtm (Makefile.am): Likewise. + * modules/posixver (Makefile.am): Likewise. + * modules/putenv (Makefile.am): Likewise. + * modules/quote (Makefile.am): Likewise. + * modules/quotearg (Makefile.am): Likewise. + * modules/raise (Makefile.am): Likewise. + * modules/read-file (Makefile.am): Likewise. + * modules/readline (Makefile.am): Likewise. + * modules/readlink (Makefile.am): Likewise. + * modules/readtokens (Makefile.am): Likewise. + * modules/readutmp (Makefile.am): Likewise. + * modules/realloc (Makefile.am): Likewise. + * modules/regex (Makefile.am): Likewise. + * modules/rename (Makefile.am): Likewise. + * modules/rename-dest-slash (Makefile.am): Likewise. + * modules/rijndael (Makefile.am): Likewise. + * modules/rmdir (Makefile.am): Likewise. + * modules/rpmatch (Makefile.am): Likewise. + * modules/safe-read (Makefile.am): Likewise. + * modules/safe-write (Makefile.am): Likewise. + * modules/same (Makefile.am): Likewise. + * modules/save-cwd (Makefile.am): Likewise. + * modules/savedir (Makefile.am): Likewise. + * modules/setenv (Makefile.am): Likewise. + * modules/settime (Makefile.am): Likewise. + * modules/sha1 (Makefile.am): Likewise. + * modules/sig2str (Makefile.am): Likewise. + * modules/snprintf (Makefile.am): Likewise. + * modules/stdlib-safer (Makefile.am): Likewise. + * modules/stpcpy (Makefile.am): Likewise. + * modules/stpncpy (Makefile.am): Likewise. + * modules/strcase (Makefile.am): Likewise. + * modules/strcasestr (Makefile.am): Likewise. + * modules/strchrnul (Makefile.am): Likewise. + * modules/strcspn (Makefile.am): Likewise. + * modules/strdup (Makefile.am): Likewise. + * modules/strerror (Makefile.am): Likewise. + * modules/strftime (Makefile.am): Likewise. + * modules/strndup (Makefile.am): Likewise. + * modules/strnlen (Makefile.am): Likewise. + * modules/strpbrk (Makefile.am): Likewise. + * modules/strsep (Makefile.am): Likewise. + * modules/strstr (Makefile.am): Likewise. + * modules/strtod (Makefile.am): Likewise. + * modules/strtoimax (Makefile.am): Likewise. + * modules/strtok_r (Makefile.am): Likewise. + * modules/strtol (Makefile.am): Likewise. + * modules/strtoll (Makefile.am): Likewise. + * modules/strtoul (Makefile.am): Likewise. + * modules/strtoull (Makefile.am): Likewise. + * modules/strtoumax (Makefile.am): Likewise. + * modules/strverscmp (Makefile.am): Likewise. + * modules/time_r (Makefile.am): Likewise. + * modules/timegm (Makefile.am): Likewise. + * modules/tmpfile-safer (Makefile.am): Likewise. + * modules/unistd-safer (Makefile.am): Likewise. + * modules/unlinkdir (Makefile.am): Likewise. + * modules/userspec (Makefile.am): Likewise. + * modules/utime (Makefile.am): Likewise. + * modules/utimecmp (Makefile.am): Likewise. + * modules/utimens (Makefile.am): Likewise. + * modules/vasnprintf (Makefile.am): Likewise. + * modules/vasprintf (Makefile.am): Likewise. + * modules/vsnprintf (Makefile.am): Likewise. + * modules/xalloc (Makefile.am): Likewise. + * modules/xgetcwd (Makefile.am): Likewise. + * modules/xnanosleep (Makefile.am): Likewise. + * modules/xreadlink (Makefile.am): Likewise. + * modules/xstrtod (Makefile.am): Likewise. + * modules/xstrtol (Makefile.am): Likewise. + * modules/xstrtold (Makefile.am): Likewise. + * modules/yesno (Makefile.am): Likewise. + +2006-10-12 Jim Meyering + + * m4/getloadavg.m4: Revert the change below. + + * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of + lib/getloadavg.c using "ls -L", not "test -f". The latter would + fail with a symlink, which is what coreutils' ./bootstrap now + creates by default. + +2006-10-12 Bruno Haible + + * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or + mingw. + (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle + MSVC and mingw explicitly. + +2006-10-11 Simon Josefsson + Bruno Haible + + Add support for multiple gnulib-tool invocations in the scope of a + single configure.ac file. + * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable, + use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable + with the same contents as the _LIBADD variable. + (func_emit_initmacro_start, func_emit_initmacro_end, + func_emit_initmacro_done): New functions. + (func_import, func_create_testdir): Invoke them. Allow the identifiers + gl_LIBOBJS and gl_LTLIBOBJS. + +2006-10-11 Bruno Haible + + * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables. + (func_create_testdir): Don't create po/Makefile.am, don't invoke + autoreconf. Instead, invoke autopoint explicitly but move back the + *.m4 files from gnulib. + +2006-10-11 Bruno Haible + + * gnulib-tool (func_usage): Make module names after --create-testdir + optional. + (func_create_testdir): If no module was specified, use nearly all + modules. + +2006-10-12 Jim Meyering + + Big performance improvement for fts-based tools that use FTS_NOSTAT. + Avoid spurious inode-mismatch problems on non-POSIX file systems. + Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416 + * lib/fts_.h (FTS_DEFER_STAT): Define new flag. + (FTS_OPTIONMASK): Extend the mask to reflect this addition. + * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define. + (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define. + (fts_set_stat_required): New function. + (fts_open): Defer the calls to fts_stat, if possible or requested. + Move the code that maps a command-line fts_info value FTS_DOT to FTS_D + into fts_stat itself. + (fts_read): Perform any required (deferred) fts_stat call. + (fts_build): Likewise, for the directory we're about to open and read. + In the readdir loop, carefully decide whether each entry will require + an eventual call to fts_stat, using dirent.d_type info if available. + (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on + a command line argument into this function. Update all callers. + Map a return value of FTS_DOT to FTS_D for a command line argument. + * modules/fts (Depends-on): Add d-type. Alphabetize. + Thanks to Miklos Szeredi for his tenacity and for the initial + bug report about "find" failing on a FUSE-based file system. + + * lib/fts.c (fts_open): Use consistent indentation. + +2006-10-12 Paul Eggert + + * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from + gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure + reported by Jim Meyering. All uses of cache variables renamed + to match Autoconf's. + (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires + the other one. + + * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): + Fix misspelling in diagnostic. + +2006-10-11 Paul Eggert + + * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already + defined. Problem reported by Matthew Woehlke. + + * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro. + Add support for Tandem NonStop R series. + (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): + Use new macro. + + * lib/rename-dest-slash.c: Include stdbool.h but not string.h. + (has_trailing_slash): Omit size arg; all callers changed. + Omit 'inline', since it doesn't help performance and we'd + need to configure it. + Don't count //, ///, etc. as having a trailing slash. + As a side effect, this removes a C99ism reported by Matthew Woehlke. + (rpl_rename_dest_slash): On failure, use rename's errno rather + than (in some cases) an incorrect or junk errno. + Simplify code by removing need to compute length; this does + cause it to make two passes instead of one over the file name, + but it's worth it. + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous + change, since Autoconf's version may no longer be appropriate now + that we are using CVS Autoconf's version. Add support for Tandem. + +2006-10-11 Paul Eggert + Bruno Haible + + * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test + HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG. + * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of + gl_AC_TYPE_LONG_LONG. + + * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT + instead of HAVE_LONG_LONG. + * lib/printf-args.c (printf_fetchargs): Likewise. + * lib/printf-parse.c (PRINTF_PARSE): Likewise. + * lib/vasnprintf.c (VASNPRINTF): Likewise. + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE, + gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of + gl_AC_TYPE_LONG_LONG. + +2006-10-11 Bruno Haible + + * m4/longlong.m4: Add comments. + * m4/ulonglong.m4: Likewise. + +2006-10-10 Bruno Haible + + Make it possible to #define stpcpy, strdup to aliases. + * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine. + * lib/strdup.c (strdup) [!_LIBC]: Don't undefine. + +2006-10-10 Bruno Haible + + Make it possible to #define gcd to an alias. + * lib/gcd.c: Include config.h. + +2006-10-10 Bruno Haible + + Make it possible to #define c_isascii to an alias. + * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is + defined. Undefine the macros before defining them, to avoid gcc + warnings. + * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead, + define NO_C_CTYPE_MACROS early. + +2006-10-10 Bruno Haible + + Make it possible to #define set_program_name to an alias. + * lib/progname.c: Don't undefine set_program_name; instead, undefine + ENABLE_RELOCATABLE early. + +2006-10-10 Paul Eggert + + Port to Tandem NSK OSS, which has 64-bit signed int but at most + 32-bit unsigned int. Problem reported by Matthew Woehlke in: + http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html + More generally, don't assume that 64-bit signed int is available + if unsigned int is, and vice versa. + * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on + unsigned symbols, not on their signed counterparts. + * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t): + (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX): + (UINT64_C, UINTMAX_C): + Likewise. + * lib/strtoimax.c (strtoll): Depend on signed symbols, not their + unsigned counterparts. + (Have_long_long, Unsigned): New macros. + (Int): Renamed from INT. + (strtoimax): Use the new macros. + * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT + and substitute HAVE_UNSIGNED_LONG_LONG_INT. + * modules/inttypes (inttypes.h): Substitute + HAVE_UNSIGNED_LONG_LONG_INT. + * modules/stdint (stdint.h): Likewise. + (Files): Add m4/ulonglong.m4. + +2006-10-10 Bruno Haible + + Fix a gcc -Wshadow warning. + * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index' + to 'bucket'. + * lib/gl_anylinked_list2.h (gl_linked_search_from_to, + gl_linked_indexof_from_to): Likewise. + * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket): + Likewise. + * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket): + Likewise. + * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise. + Reported by Eric Blake. + +2006-10-09 Paul Eggert + + * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too, + for NetBSD. Problem reported by Bruno Haible. + +2006-10-09 Jim Meyering + + * lib/lchown.c: Include before "stat-macros.h". + Patch from Bruno Haible. + +2006-10-09 Jim Meyering + + * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due + to FTS_SKIP, don't copy the parent's uninitialized dev/ino values. + Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d + +2006-10-08 Paul Eggert + + Don't include twice; this doesn't work in some cases, + e.g., when config.h has "#define intmax_t long long int" and + we include , , in that order. + Problem reported by Matthew Woehlke in: + http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html + * lib/fprintftime.c: Don't include config.h or fprintftime.h. + * lib/fts-cycle.c: Don't include config.h. + * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined. + * lib/xstrtoimax.c: Remove copyright notice since it's short tnow. + Don't include config.h or xstrtol.h. Define STRTOL_T_MINIMUM + and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib + inttypes.h. + * lib/xstrtoumax.c: Likewise. + * lib/xstrtol.c: Include config.h and xstrtol.h after defining + __strtol and the like, so that this module is more like its siblings. + (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]: + Remove; no longer needed now that we assume gnulib inttypes.h. + +2006-10-08 Bruno Haible + + * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink + option. + +2006-10-07 Jim Meyering + + * modules/inttypes (inttypes.h): Revert what seems to have been + an inadvertent part of today's change: use "|", not "/" in the + substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H). + +2006-10-07 Bruno Haible + + * modules/sublist: New file. + +2006-10-07 Bruno Haible + + * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment. + * modules/argz (argz.h): Likewise. + * modules/arpa_inet (arpa/inet.h): Likewise. + * modules/byteswap (byteswap.h): Likewise. + * modules/configmake (configmake.h): Likewise. + * modules/fcntl (fcntl.h): Likewise. + * modules/fnmatch (fnmatch.h): Likewise. + * modules/getopt (getopt.h): Likewise. + * modules/glob (glob.h): Likewise. + * modules/inttypes (inttypes.h): Likewise. + * modules/netinet_in (netinet/in.h): Likewise. + * modules/poll (poll.h): Likewise. + * modules/stdbool (stdbool.h): Likewise. + * modules/stdint (stdint.h): Likewise. + * modules/sys_select (sys/select.h): Likewise. + * modules/sys_socket (sys/socket.h): Likewise. + * modules/sys_stat (sys/stat.h): Likewise. + * modules/sysexits (sysexits.h): Likewise. + * modules/unistd (unistd.h): Likewise. + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Add a "DO NOT EDIT" comment to the generated file. + (func_import): Likewise for gnulib-comp.m4. + +2006-10-07 Bruno Haible + + * lib/gl_sublist.h: New file. + * lib/gl_sublist.c: New file. + +2006-10-06 Paul Eggert + + * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file + name (relative to the original working directory) and the file + name component (relative to the temporary working directory). All + callers changed. + * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match. + * lib/mkdir-p.c (make_dir_parents): Likewise. + * lib/mkdir-p.h (make_dir_parents): Likewise. + +2006-10-06 Eric Blake + + Define several macros for use by the clean-temp module. + * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM. + * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER. + * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER. + + * lib/clean-temp.h (close_stream_temp): New declaration. + * lib/clean-temp.c (includes): Pull in headers according to what + other modules are in use. + (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function. + +2006-10-06 Bruno Haible + + * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp + instead of fopen, fwriteerror. + +2006-10-06 Bruno Haible + + * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir, + cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to + int. + * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file, + cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir): + Return an error indicator. + Suggested by Eric Blake. + +2006-10-06 Bruno Haible + + * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd. + Reported by Eric Blake. + +2006-10-06 Bruno Haible + + * modules/closeout (Description): Mention stderr too. + +2006-10-06 Bruno Haible + and Paul Eggert + + * lib/closeout.c (close_stdout): Also close stderr. + * lib/closeout.h: Update comment. + +2006-10-05 Paul Eggert + + Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in + . + * lib/dirchownmod.c: Include lchown.h. + * lib/lchown.c: Don't include files that lchown.h now includes. + Don't declare chown, since lchown.h now does that. + * lib/lchown.h: Include errno.h, sys/types.h, unistd.h. + (lchown): Define to rpl_chown if lchown is declared but + does not exist. Declare using a prototype if lchown is not + declared. Add a copyright notice. + * lib/mkstemp.h: Include . + * lib/openat.c: Include lchown.h. + + * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE; + we now test for that separately. + * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW + rather than O_NOFOLLOW, when testing whether it's possible to + avoid a race condition reliably. + * lib/savewd.c (savewd_chdir): Likewise. + + Remove macros that are no longer needed now that stdint.h is + reliable. + * lib/fsusage.c (UINTMAX_MAX): Remove. + * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove. + * lib/utimecmp.c (SIZE_MAX): Remove. + + * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared. + + * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead + of O_NOFOLLOW_IS_INEFFECTIVE. Define HAVE_WORKING_O_NOATIME if + O_NOATIME works. + +2006-10-05 Bruno Haible + + * lib/gl_list.h (gl_sortedlist_search_from_to, + gl_sortedlist_indexof_from_to): New declarations. + (gl_list_implementation): New fields sortedlist_search_from_to, + sortedlist_indexof_from_to. + (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New + inline functions. + * lib/gl_list.c (gl_sortedlist_search_from_to, + gl_sortedlist_indexof_from_to): New functions. + * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New + function. + (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it. + (gl_array_sortedlist_search_from_to): New function. + (gl_array_list_implementation): Update. + * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New + function. + (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it. + (gl_carray_sortedlist_search_from_to): New function. + (gl_carray_list_implementation): Update. + * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to, + gl_linked_sortedlist_indexof_from_to): New functions. + * lib/gl_linked_list.c (gl_linked_list_implementation): Update. + * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update. + * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to, + gl_tree_sortedlist_indexof_from_to): New functions. + * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update. + * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation): + Update. + * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update. + * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation): + Update. + +2006-10-05 Bruno Haible + + * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to, + gl_list_indexof_from, gl_list_indexof_from_to): New declarations. + (struct gl_list_implementation): Add fields search_from_to, + indexof_from_to. Remove fields search, indexof. + (gl_list_search): Use the search_from_to method. + (gl_list_search_from, gl_list_search_from_to): New functions. + (gl_list_indexof): Use the indexof_from_to method. + (gl_list_indexof_from, gl_list_indexof_from_to): New functions. + * lib/gl_list.c (gl_list_search): Use the search_from_to method. + (gl_list_search_from, gl_list_search_from_to): New functions. + (gl_list_indexof): Use the indexof_from_to method. + (gl_list_indexof_from, gl_list_indexof_from_to): New functions. + * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from + gl_array_indexof. Add start_index, end_index arguments. + (gl_array_search_from_to): Renamed from gl_array_search. Add + start_index, end_index arguments. + (gl_array_remove, gl_array_list_implementation): Update. + * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from + gl_carray_indexof. Add start_index, end_index arguments. + (gl_carray_search_from_to): Renamed from gl_carray_search. Add + start_index, end_index arguments. + (gl_carray_remove, gl_carray_list_implementation): Update. + * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from + gl_linked_search. Add start_index, end_index arguments. + (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add + start_index, end_index arguments. + (gl_linked_remove): Update. + * lib/gl_linked_list.c (gl_linked_list_implementation): Update. + * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update. + * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp' + field to 'size_t'. + * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from + gl_tree_search. Add start_index, end_index arguments. + (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add + start_index, end_index arguments. + (gl_tree_remove): Update. + * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update. + * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update. + * lib/gl_anytreehash_list1.h (compare_position_threshold): New + function. + * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from + gl_tree_search. Add start_index, end_index arguments. + (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add + start_index, end_index arguments. + * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation): + Update. + * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update. + +2006-10-05 Bruno Haible + + * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR. + + * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp, + fwriteerror_temp): New declarations. + * lib/clean-temp.c (uintptr_t): Provide fallback definition. + (descriptors): New variable. + (cleanup): First, close the descriptors. + (register_fd, unregister_fd, open_temp, fopen_temp, close_temp, + fclose_temp, fwriteerror_temp): New functions. + +2006-10-04 Jim Meyering + + * lib/fts.c (fts_open): Tiny comment change. + +2006-10-04 Bruno Haible + + Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY. + * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from + gl_LOCK_BODY. + (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY. + (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in + gl_LOCK_EARLY_BODY. + (gl_LOCK): Require gl_LOCK_BODY. + +2006-10-04 Bruno Haible + + * lib/gl_oset.h (gl_setelement_threshold_fn): New type. + (gl_oset_search_atleast): New declaration. + (struct gl_oset_implementation): Add field 'search_atleast'. + (gl_oset_search_atleast): New inline function. + * lib/gl_oset.c (gl_oset_search_atleast): New function. + * lib/gl_array_oset.c (gl_array_search_atleast): New function. + (gl_array_oset_implementation): Update. + * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function. + * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update. + * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update. + +2006-10-04 Bruno Haible + + * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal. + +2006-10-03 Bruno Haible + + * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed + from gl_avltreehash_list_implementation. + +2006-10-03 Bruno Haible + + * lib/gl_oset.c (gl_oset_add): Fix return type. + +2006-10-02 Paolo Bonzini (tiny change) + + * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int. + +2006-10-02 Eric Blake + + * modules/strnlen (Depends-on): Add extensions. + +2006-10-02 Eric Blake + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's + definition in 2.60+. + +2006-10-02 Dmitry V. Levin + + * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant + checks. + +2006-10-02 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies + to the AUTOMAKE_OPTIONS. + Reported by Jim Meyering. + +2006-09-29 Paul Eggert + + Work around bug in Solaris 10 /proc file system: + /proc/self/fd/NNN/.. isn't the parent directory of + the directory whose file descriptor is NNN. This needs to + be worked around at run time, not compile time, since a + program might be built on Solaris 8, where things work, and + run on Solaris 10. + * lib/openat-priv.h (BUILD_PROC_NAME): Remove. All callers changed + to use the following interface instead: + (OPENAT_BUFFER_SIZE): New macro. + (openat_proc_name): New function. + * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes. + * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir): + Likewise. + * lib/openat-proc.c: New file. + * modules/openat (Files): Add lib/openat-proc.c. + (Depends-on): Add same-inode, stdbool. + * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc). + +2006-09-29 Bruno Haible + + * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration. + * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf + argument. Set stdout_closed before testing for ferror, not after. + (fwriteerror, fwriteerror_no_ebadf): New functions. + +2006-09-28 Ralf Wildenhues + + * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning. + +2006-09-28 Paolo Bonzini + + * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK. + * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h. + +2006-09-28 Jim Meyering + + * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c". + Include . + +2006-09-28 Bruno Haible + + * modules/avltreehash-list (Depends-on): Add stdint, remove size_max. + * modules/linkedhash-list (Depends-on): Likewise. + * modules/rbtreehash-list (Depends-on): Likewise. + +2006-09-28 Bruno Haible + + * lib/strndup.h: Simplify the redefinition of strndup. + (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros. + * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX. + +2006-09-28 Bruno Haible + + * lib/gl_avltreehash_list.c: Include instead of size_max.h. + * lib/gl_linkedhash_list.c: Likewise. + * lib/gl_rbtreehash_list.c: Likewise. + +2006-09-27 Paul Eggert + + * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0 + getaddrinfo. + + * lib/__fpending.h: Don't include unless + HAVE_DECL___FPENDING. This avoids a bug with lsbcc, where + it causes to cause a compile-time error. + Problem reported by Nelson H. F. Beebe. + * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead + of HAVE_DECL___PENDING. + + * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once. + * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's + declaration. + +2006-09-27 Jim Meyering + + This file could end up with a definition for a function + named __strndup, rather than rpl_strndup on a system with + incomplete weak_alias support. + * lib/strndup.c (strndup): Rename from __strndup. + Remove #defines that used to map __strndup to strndup. + Don't use K&R prototypes. + Remove LIBC-related code, since this file is not sync'd with glibc. + * lib/strndup.h: Revamp, accordingly. + * m4/strndup.m4: Modernize. + +2006-09-26 Paul Eggert + + * modules/savewd (Depends-on): Add 'raise'. + * lib/savewd.c: Include , for 'raise'. + +2006-09-26 Jim Meyering + + * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether + when we detect Darwin 8.7.0's acl_get_file bug. + Rearrange to perform the new (below) run-test while $LIBS + contains any acl-related library. Set USE_ACL at the end. + (gl_ACL_GET_FILE): New function. + +2006-09-26 Eric Blake + + * lib/verror.c: Include unconditionally. + +2006-09-25 Paul Eggert + + * modules/clock-time (Maintainer): Add self. + * modules/getlogin_r (Depends-on): Add extensions. + +2006-09-25 Ralf Wildenhues + + * modules/clock-time: New module. + * modules/nanosleep (Depends-on): Add clock-time. + * modules/gethrxtime (Depends-on): Likewise. + * modules/gettime (Depends-on): Likewise. + * modules/settime (Depends-on): Likewise. + + * modules/fts-lgpl: Depend on openat. + * modules/mkancesdirs: Depend on savewd. + * modules/mkdir-p: Likewise. + +2006-09-25 Ralf Wildenhues + + * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST. + + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from + `gl_have_arbitrary_file_name_length_limit' to + `gl_cv_have_arbitrary_file_name_length_limit', so that caching + actually works between configure runs. + +2006-09-25 Ralf Wildenhues + Bruno Haible + + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include . + +2006-09-25 Jim Meyering + + * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open. + This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0. + +2006-09-25 Eric Blake + + * gnulib-tool (func_import, func_create_testdir): Fix typos in + exec's in 2006-09-18 patch when shuffling fds. + +2006-09-25 Bruno Haible + + * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message. + Reported by Jim Meyering. + +2006-09-24 Jim Meyering + + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to + compare a pointer against a literal "0". That caused failures with + at least HP-UX's hpcc. + +2006-09-22 Simon Josefsson + + * modules/gc-sha1: + * modules/gc-md4: + * modules/gc-hmac-sha1: + * modules/gc-hmac-md5: + * modules/gc-des: + * modules/gc-arcfour: Distribute more files. + +2006-09-22 Ralf Wildenhues + + * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator) + (gl_linked_iterator_from_to): Initialize struct completely. + * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise. + (gl_tree_iterator_from_to): Likewise + * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise. + * lib/gl_array_list.c [lint] (gl_array_iterator) + (gl_array_iterator_from_to): Likewise. + * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise. + * lib/gl_carray_list.c [lint] (gl_carray_iterator) + (gl_carray_iterator_from_to): Likewise. + + * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1. + * lib/md4.c (md4_process_block): Remove unused variable. + * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests + parentheses for clarity. + +2006-09-22 Ralf Wildenhues + + * modules/bison-i18n (Depends-on): Add gettext. + +2006-09-22 Ralf Wildenhues + + * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable. + * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise. + * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise; + also add missing comma that caused broken test. + * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include + stdlib.h, for `abort'. + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused + variables. + * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and + include unistd.h if present, for `rmdir'. + * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused + variables. + * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and + in the process include standard headers for prototypes. + * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname + gets declared on GNU/Linux. + * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include + unistd.h, for `rmdir'. + * m4/time_r.m4 (gl_TIME_R): Avoid unused variables. + + * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is + always true. + * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'. + + * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings. + +2006-09-22 Ralf Wildenhues + + * gnulib-tool (func_version): Create output all at once. This + may help avoid triggering unnecessary SIGPIPEs, and at any + rate it doesn't hurt. + +2006-09-22 Ralf Wildenhues + Bruno Haible + + * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning. + * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise. + * m4/signed.m4 (bh_C_SIGNED): Likewise. + + * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro. + (gl_FUNC_VASPRINTF): Invoke it. + +2006-09-22 Bruno Haible + + * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of + getloadavg.c as first argument. + +2006-09-22 Bruno Haible + + * gnulib-tool (func_import, func_create_testdir): Set gl_source_base + at the beginning of the gl_INIT macro. + * modules/getloadavg (configure.ac): Pass $gl_source_base to + gl_GETLOADAVG. + +2006-09-22 Bruno Haible + + * gnulib-tool (func_create_megatestdir): Don't include the config-h + module. + Suggested by Ralf Wildenhues. + +2006-09-20 Paul Eggert + + Import this patch from libc: + + 2006-09-06 Jakub Jelinek + + * lib/regex_internal.c (re_string_reconstruct): Handle + offset < pstr->valid_raw_len && pstr->offsets_needed case. + Ensure no bytes read before raw_mbs array. Pass a saved copy of + pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to + re_string_context_at. + + * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test + now requires it. + (gl_PREREQ_REGEX): Don't check for locale.h any more, since + gl_REGEX now does it for us. + (gl_REGEX): Add test taken from + http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html. + + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE. + Check that large offsets work. Modernize Autoconf usages. + Prefer "yes" to mean a good thing rather than a bad. + Don't put "#define mkstemp" in config.h, as this might interfere + with standard system headers that "#define mkstemp mkstemp64". + + * modules/mkstemp (Depends-on): Add extensions, so that + mkstemp is visible on some platforms. + (Makefile.am): Add mkstemp.h to EXTRA_DIST. + (Include): Change to "mkstemp.h" from . + (Files): Add mkstemp.h. + + * lib/mkstemp.h: New file, since some standard headers + #define mkstemp. + * lib/mkstemp.c: Revamp to put the !_LIBC code together. + Include "mkstemp.h". + Make the _LIBC code resemble glibc original more, + e.g., use K&R style. + * lib/mkstemp-safer.c: Include "mkstemp.h" instead of . + (mkstemp): Remove, since mkstemp.h does this for us. + * lib/stdlib--.h: Include mkstemp.h. + + Import this patch from libc: + + 2006-04-07 Ulrich Drepper + + * lib/tempname.c (__gen_tempname): Change attempts_min + into a macro. Use preprocessor to decide how to initialize + attempts [Coverity CID 67]. + +2006-09-20 Bruno Haible + + * lib/mkdtemp.c: Import from libc. + 2006-04-07 Ulrich Drepper + * sysdeps/posix/tempname.c (__gen_tempname): Change + attempts_min into a macro. Use preprocessor to decide how to + initialize attempts [Coverity CID 67]. + 2001-11-27 Paul Eggert + * sysdeps/posix/tempname.c (__gen_tempname): Try at least + ATTEMPTS_MIN or TMP_MAX times, whichever is greater. + +2006-09-19 Ralf Wildenhues + + * gnulib-tool (func_exit): New function, to allow to pass the + exit status portably through the trap. Use everywhere. + (--help, --version): Signal a write error. + (trap): catch SIGPIPE, for write errors. + Exit at the end of the trap, with the correct exit status. + +2006-09-19 Karl Berry + + * doc/gnulib.texi: note about the license texinfo files. + +2006-09-19 Eric Blake + + * gnulib-tool: Avoid space-tab. + +2006-09-18 Paul Eggert + + * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo + that prevented coreutils 6.1 from building. Problem reported + by Petter Reinholdtsen. + +2006-09-18 Paul Eggert + + * gnulib-tool (avoidlist): Fix typo that broke options like + --avoid=lock that are used by coreutils bootstrap. + +2006-09-18 Mark D. Baushke + + * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args + more systematically. + +2006-09-18 Jim Meyering + + * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/. + +2006-09-18 Bruno Haible + + * modules/inttypes (Files): Remove m4/inttypes-h.m4. + +2006-09-18 Bruno Haible + + * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro. + * m4/inttypes-pri.m4: Require autoconf >= 2.52. + (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test + ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h. + * m4/gettext.m4: Require autoconf >= 2.52. + (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h. + * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead + of gl_cv_header_inttypes_h. + +2006-09-18 Bruno Haible + + * lib/javaversion.c: Include configmake.h. + +2006-09-18 Bruno Haible + + * gnulib-tool (func_import, func_create_testdir): Use exec tricks to + avoid that the while loops be executed in a subshell. + +2006-09-18 Bruno Haible + + * MODULES.html.sh (func_module): Break long lines. + Suggested by Bruce Korb . + +2006-09-17 Ralf Wildenhues + + Speed up by a factor of 1.12. + * gnulib-tool (nl): New variable. + (func_import): Rewrite include directive extraction to only read each + directive once. + +2006-09-17 Bruno Haible + + * modules/javaversion (Makefile.am): Remove DEFS setting. + (Depends-on): Add configmake, for PKGDATADIR definition. + +2006-09-17 Bruno Haible + + * gnulib-tool (func_create_testdir): Rewrite all files at once. + +2006-09-17 Bruno Haible + + * gnulib-tool (func_append): New function, stolen from libtool.m4. + (func_modules_transitive_closure, func_modules_add_dummy, + func_modules_to_filelist, func_import, func_create_testdir, + func_create_megatestdir, ...): Use it wherever possible. + Suggested by Ralf Wildenhues. + +2006-09-16 Karl Berry + + * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec, + to avoid sectioning errors. + * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title. + [ifinfo]: blank line after @center-ed titles. + * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL. + Spell FSF address consistently with others. + (These changes approved by rms.) + +2006-09-15 Ralf Wildenhues + + Speed up by a factor of 1.61. + * gnulib-tool (func_modules_transitive_closure): Rewrite to not check + already checked module names again. + +2006-09-15 Ralf Wildenhues + + Speed up by a factor of 1.13. + * gnulib-tool (func_import): Rewrite all old_files at once; likewise + for new_files, and the input to func_add_or_update. + +2006-09-15 Ralf Wildenhues + + * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import, + func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'. + +2006-09-15 Paul Eggert + + * modules/mkancesdirs (Depends-on): Add fcntl. + * modules/savewd: New file. + * MODULES.html.sh (File system functions): Add savewd. + + * modules/configmake (Makefile.am): Add support for the + Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR. + +2006-09-15 Paul Eggert + + * m4/savewd.m4: New file. + +2006-09-15 Paul Eggert + + * lib/dirchownmod.c: Don't include fcntl.h; no longer needed. + (dirchownmod): New arg FD. All callers changed. + Use FD rather than opening the directory ourself, as opening is + now the caller's responsibility. + * lib/dirchownmod.h: Likewise. + * lib/mkancesdirs.c: Include , for portability to older + hosts that require before . Include + fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h. + (test_dir): Remove. + (mkancesdirs): Return length of prefix of FILE that has already + been made, or -2 if there is a child doing the work. Redo + algorithm so that it is O(N) rather than O(N**2). Optimize away + ".", and treat ".." specially since it might stray back into + already-created areas. Use a subprocess if necessary. New arg + WD; all users changed. MAKE_DIR function should now return 1 + if it creates a directory that is not readable. Return -2 if + a child process is spun off. + * lib/mkancesdirs.h: Include , for ptrdiff_t. + Adjust signature to match code. + * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME. + (make_dir_parents): Use a subprocess if necessary. New arg WD; + all users changed. + * lib/savewd.c, lib/savewd.h: New files. + +2006-09-15 Jim Meyering + + * modules/rename-dest-slash: New module. + * MODULES.html.sh (posix_compat): Add it here. + + * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change. + +2006-09-15 Jim Meyering + + * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New + file. + + * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME. + +2006-09-15 Jim Meyering + + * lib/rename-dest-slash.c (has_trailing_slash): Use + FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems. + (rpl_rename_dest_slash): Perform the cheaper trailing slash + test before testing whether SRC is a directory. + Suggestions from Bruno Haible. + + Avoid a warning about an unused variable. + * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type" + into the #ifdef block where it's used. + + * lib/rename-dest-slash.c: New file. + +2006-09-14 Bruno Haible + + * lib/allocsa.c: Include unconditionally. + * lib/asnprintf.c: Likewise. + * lib/asprintf.c: Likewise. + * lib/c-strcasecmp.c: Likewise. + * lib/c-strcasestr.c: Likewise. + * lib/c-strncasecmp.c: Likewise. + * lib/c-strstr.c: Likewise. + * lib/classpath.c: Likewise. + * lib/clean-temp.c: Likewise. + * lib/concatpath.c: Likewise. + * lib/copy-file.c: Likewise. + * lib/csharpcomp.c: Likewise. + * lib/csharpexec.c: Likewise. + * lib/execute.c: Likewise. + * lib/fatal-signal.c: Likewise. + * lib/findprog.c: Likewise. + * lib/fwriteerror.c: Likewise. + * lib/gl_array_list.c: Likewise. + * lib/gl_array_oset.c: Likewise. + * lib/gl_avltree_list.c: Likewise. + * lib/gl_avltree_oset.c: Likewise. + * lib/gl_avltreehash_list.c: Likewise. + * lib/gl_carray_list.c: Likewise. + * lib/gl_linked_list.c: Likewise. + * lib/gl_linkedhash_list.c: Likewise. + * lib/gl_list.c: Likewise. + * lib/gl_oset.c: Likewise. + * lib/gl_rbtree_list.c: Likewise. + * lib/gl_rbtree_oset.c: Likewise. + * lib/gl_rbtreehash_list.c: Likewise. + * lib/imaxabs.c: Likewise. + * lib/imaxdiv.c: Likewise. + * lib/javacomp.c: Likewise. + * lib/javaexec.c: Likewise. + * lib/javaversion.c: Likewise. + * lib/linebreak.c: Likewise. + * lib/localcharset.c: Likewise. + * lib/lock.c: Likewise. + * lib/mbchar.c: Likewise. + * lib/mbswidth.c: Likewise. + * lib/mkdtemp.c: Likewise. + * lib/pipe.c: Likewise. + * lib/printf-args.c: Likewise. + * lib/printf-parse.c: Likewise. + * lib/progname.c: Likewise. + * lib/progreloc.c: Likewise. + * lib/readlink.c: Likewise. + * lib/sh-quote.c: Likewise. + * lib/stpcpy.c: Likewise. + * lib/stpncpy.c: Likewise. + * lib/strcasecmp.c: Likewise. + * lib/strcasestr.c: Likewise. + * lib/strcspn.c: Likewise. + * lib/striconv.c: Likewise. + * lib/strncasecmp.c: Likewise. + * lib/strnlen1.c: Likewise. + * lib/strstr.c: Likewise. + * lib/strtok_r.c: Likewise. + * lib/tls.c: Likewise. + * lib/tmpdir.c: Likewise. + * lib/unicodeio.c: Likewise. + * lib/unsetenv.c: Likewise. + * lib/vasnprintf.c: Likewise. + * lib/vasprintf.c: Likewise. + * lib/wait-process.c: Likewise. + * lib/xallocsa.c: Likewise. + * lib/xsetenv.c: Likewise. + * lib/xstriconv.c: Likewise. + +2006-09-13 Simon Josefsson + + * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of + that internally, suggested by Ralf Wildenhues + . + +2006-09-13 Simon Josefsson + + * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not + @LIBOBJS@. + Suggested by Ralf Wildenhues . + +2006-09-13 Paul Eggert + + * lib/_fpending.c: Include unconditionally, since we no + longer worry about uses that don't define HAVE_CONFIG_H. + * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c: + * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c: + * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c: + * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c: + * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c: + * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c: + * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c: + * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c: + * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c: + * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c: + * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c: + * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y: + * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c: + * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c: + * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c: + * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c: + * lib/getusershell.c, lib/glob.c, lib/group-member.c: + * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c: + * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c: + * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c: + * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c: + * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c: + * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c: + * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c: + * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c: + * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c: + * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c: + * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c: + * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c: + * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c: + * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c: + * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c: + * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c: + * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c: + * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c: + * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c: + * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c: + * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c: + * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c: + * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c: + * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c: + Likewise. + +2006-09-13 Eric Blake + + * lib/getopt.c: Fix typo in last commit. + +2006-09-12 Sergey Poznyakoff + + * lib/argp-help.c (argp_doc): Make sure NULL is not passed to + dgettext. + +2006-09-12 Jim Meyering + + * lib/nanosleep.c: Include before sys/select.h, to avoid + compilation failure (due to use of pid_t in latter) on NetBSD 1.6. + Reported by Nelson H. F. Beebe. + +2006-09-10 Sergey Poznyakoff + + * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure + program_invocation_name and program_invocation_short_name are + initialized. + * lib/argp-namefrob.h: Move declarations of program_invocation_name + and program_invocation_short_name to argp.h, so they are visible + to user programs. + * lib/argp.h: Likewise + +2006-09-10 Bruno Haible + + * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4, + m4/inttypes_h.m4, m4/uintmax_t.m4. + +2006-09-10 Bruno Haible + + * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require + gl_AC_TYPE_UINTMAX_T. + +2006-09-10 Bruno Haible + + * lib/mkdtemp.c: Include always. Don't include . + +2006-09-09 Sergey Poznyakoff + + * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..") + convention. Text proposed by Bruno Haible. + (struct argp_option): Document the use of N_() wrappers. + + * lib/argp-help.c (argp_doc): Split the untranslated doc string on + '\v', and translate the two parts separately, instead of feeding + the whole string to gettext. This allows to exclude + '\v' from the strings visible to the translator by writing doc + strings as N_("..") "\v" N_(".."). + +2006-09-09 Paul Eggert + + * config/srclist.txt: Undo latest change; the bug was fixed. + +2006-09-09 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS + assignments if building a library without libtool. + (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as + in func_emit_lib_Makefile_am. + (func_import): When building a static library libfoo.a, arrange to + define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS. + (func_create_testdir): Likewise. + * modules/gc (configure.ac, Makefile.am): If building statically, + augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS. + * modules/iconvme (configure.ac, Makefile.am): Likewise. + * modules/striconv (configure.ac, Makefile.am): Likewise. + Based on a suggestion by Ralf Wildenhues. + +2006-09-08 Paul Eggert + + * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf. + Check for unistd.h too, since Autoconf doesn't assume POSIX. + Also: + + 2006-09-08 Paul Eggert + Add year_2050_test to catch glibc bug 2821 + . + + 2006-08-15 Paul Eggert + Prefer #ifdef to #if. + + 2006-04-02 Paul Eggert + Return from 'main' instead of calling 'exit'. + +2006-09-08 Paul Eggert + + * lib/mktime.c (guess_time_tm): Fix bug where mktime + returned the maximum time_t value rather than (time_t) -1. + Problem originally reported by William Bardwell + . + + * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]: + Moved to here ... + * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]: + ... from here. + +2006-09-08 Paul Eggert + + * config/srclist.txt: Temporarily comment out mktime.c until glibc bug + 2821 is fixed. + +2006-09-08 Jim Meyering + + Don't make generated files read-only. That would bother too many + people. However, do retain the ability to work when targets are + read-only: remove the destination and temporary files before writing + them (when generated via sed or echo), or by using the -f option for + both cp and mv commands. Suggestion to use -f from Paul Eggert. + * modules/alloca-opt, modules/argz, modules/arpa_inet: + * modules/byteswap, modules/configmake, modules/fcntl: + * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes: + * modules/localcharset, modules/netinet_in, modules/poll: + * modules/stdbool, modules/stdint, modules/sys_select: + * modules/sys_socket, modules/sys_stat, modules/sysexits: + +2006-09-08 Jim Meyering + + Avoid new build failure on FreeBSD 6.0. + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include + when testing whether getmntinfo uses statvfs. Patch by + Pavel Tsekov, in . + +2006-09-07 Ralf Wildenhues + + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo. + +2006-09-07 Jim Meyering + + Fix global typo in last change: use chmod u-w, not chmod u-x. + Spotted by Paul Eggert and Bruce Korb. + * modules/alloca-opt, modules/argz, modules/arpa_inet: + * modules/byteswap, modules/configmake, modules/fcntl: + * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes: + * modules/localcharset, modules/netinet_in, modules/poll: + * modules/stdbool, modules/stdint, modules/sys_select: + * modules/sys_socket, modules/sys_stat, modules/sysexits: + +2006-09-06 Jim Meyering + + Make generated files be read-only. + * modules/alloca-opt (Makefile.am): Work also when $@ is read-only. + Ensure that each generated file is now read-only. + * modules/argz: Likewise. + * modules/arpa_inet: Likewise. + * modules/byteswap: Likewise. + * modules/configmake: Likewise. + * modules/fcntl: Likewise. + * modules/fnmatch: Likewise. + * modules/getopt: Likewise. + * modules/glob: Likewise. + * modules/inttypes: Likewise. + * modules/netinet_in: Likewise. + * modules/poll: Likewise. + * modules/stdbool: Likewise. + * modules/stdint: Likewise. + * modules/sys_select: Likewise. + * modules/sys_socket: Likewise. + * modules/sys_stat: Likewise. + * modules/sysexits: Likewise. + * modules/localcharset: Same as above, but continue using temporary + file named "t-$@" (why different?) rather than the "$@-t" used + everywhere else. + + * modules/sysexits (Makefile.am): Replace literal occurrences + of "sysexit.h" more readable, and more consistent, "$@". + +2006-09-06 Bruno Haible + + * modules/striconv: New file. + * modules/xstriconv: New file. + * MODULES.html.sh (Internationalization functions): Add striconv, + xstriconv. + +2006-09-06 Bruno Haible + + * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD. + * modules/iconvme (Makefile.am): Likewise. Also handle the case of + not using libtool correctly. + +2006-09-06 Bruno Haible + + * lib/striconv.h: New file. + * lib/striconv.c: New file, merging iconvme.c with GNU gettext's + iconvstring.c. + * lib/xstriconv.h: New file. + * lib/xstriconv.c: New file. + +2006-09-06 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Initialize also + lib_..._LDFLAGS. + +2006-09-05 Ralf Wildenhues + + * lib/argz_.h: Sync from Libtool. + + 2006-09-04 George Bosilca + and Ralf Wildenhues + + * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus. + +2006-09-05 Davide Angelocola + + * modules/trim: New file. + +2006-09-05 Davide Angelocola + + * lib/trim.h: New file. + * lib/trim.c: New file. + +2006-09-05 Bruno Haible + + * MODULES.html.sh (String handling): Add trim. + +2006-09-04 Karl Berry + + * config/srclist.txt (signed.m4, gettext.m4): changes not propagated + until next release. + +2006-09-03 Bruno Haible + + * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries + correctly. + +2006-09-01 Paul Eggert + + * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG, + not gl_GETLOADAVG. Omit unneeded semicolons. + Problems reported by Ralf Wildenhues in + . + (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define. Put + at the end, which is the usual gnulib style. + + * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead + of doing all the work ourselves. + * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for + sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H. + +2006-09-01 Paul Eggert + + * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG. + Problem reported by Ralf Wildenhues in + . + + * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by + HAVE_STRUCT_STATFS_F_FSTYPENAME. + +2006-09-01 Paul Eggert + + * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in + yesterday's patch by changing test -n to test -z. + +2006-08-31 Paul Eggert + + * modules/getloadavg (Files): Add m4/getloadavg.m4. + (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as + the former is now obsolescent. + + * modules/chdir-long (Depends-on): Add fcntl. + +2006-08-31 Paul Eggert + + * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is + obsolescent, and programs should use gnulib instead. + * m4/getloadavg.m4: New file, with contents taken from Autoconf + but with prefixes changed. + +2006-08-31 Paul Eggert + + * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h + or stdbool.h, because they might not exist while configuring. + + * lib/chdir-long.c: Include , for O_DIRECTORY. + Don't include unistd.h or limits.h; not needed, since chdir-long.h + does that for us. + (O_DIRECTORY): Remove. + +2006-08-31 Eric Blake + + * gnulib-tool: Don't let emacs change spaces to TAB. + +2006-08-31 Bruno Haible + + * gnulib-tool: When calling func_import more than once, do it in a + subshell. + Reported by Eric Blake . + +2006-08-31 Bruno Haible + + * gnulib-tool (nl): Remove variable. + (sed_transform_lib_file): Use more robust test for config-h module. + (func_import): Fix typo in 2006-08-25 patch. + +2006-08-31 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was + specified, augment Makefile.am variables instead of assigning them. + +2006-08-30 Paul Eggert + + Work around a bug in both the Linux and SunOS 64-bit kernels: + nanosleep mishandles sleeps for longer than 2**31 seconds. + Problem reported by Frank v Waveren in + . + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME. + Check for nanosleep bug. + (LIB_NANOSLEEP): Append clock_gettime library if needed. + +2006-08-30 Paul Eggert + + Work around a bug in both the Linux and SunOS 64-bit kernels: + nanosleep mishandles sleeps for longer than 2**31 seconds. + Problem reported by Frank v Waveren in + . + * lib/nanosleep.c (BILLION): New constant. + (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions. + (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new + implementation. + +2006-08-30 Paul Eggert + + * modules/nanosleep (Depends-on): Add gettime. + +2006-08-30 Paul Eggert + and Simon Josefsson + and Oskar Liljeblad + + * MODULES.html.sh (Support for building documentation): Add gpl, lgpl. + * gnulib-tool (func_import): New license type 'unmodifiable license + text'. + * modules/fdl: Use it. Longer description. + * module/gpl, module/lgpl: New files. + +2006-08-30 Jim Meyering + + * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid + shadowing the parameter. + +2006-08-29 Ralf Wildenhues + + Sync from Libtool: + + 2006-08-28 Ralf Wildenhues + + * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code + sharing with gnulib. Report by Eric Blake. + +2006-08-29 Paul Eggert + + * modules/isapipe: New file. + * MODULES.html.sh (File descriptor based Input/Output): Add isapipe. + +2006-08-29 Paul Eggert + + * modules/configmake (Makefile.am): Add a comment, and omit + the CONFIGMAKE_ prefix from generated macro names. Suggested + by Bruno Haible. + +2006-08-29 Paul Eggert + + * m4/isapipe.m4: New file. + +2006-08-29 Paul Eggert + + * lib/isapipe.c, lib/isapipe.h: New files. + +2006-08-29 Jim Meyering + + * modules/configmake (Makefile.am): Make configmake.h depend on + Makefile. Otherwise, a stale configmake.h could hang around. + +2006-08-29 Eric Blake + + * lib/error.c (error_at_line, print_errno_message): Match libc, after + resolution of upstream bug 3044. + +2006-08-29 Bruno Haible + + * modules/localcharset (Depends-on): Add configmake. + (Makefile.am): Remove setting of LIBDIR through DEFS. + +2006-08-29 Bruno Haible + + * lib/localcharset.c: Include configmake.h in order to get LIBDIR + defined. + +2006-08-28 Paul Eggert + + * modules/fcntl: New file. + * modules/chdir-safer (Depends-on): Add fcntl. + * modules/fts: Likewise. + * modules/mkdir-p: Likewise. + + * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H. + This undoes the most recent change, since we're now addressing the + problem in a different way. + + * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name + into output, since the output might be called Makefile.am even + if $makefile_name is something different. + (func_import): Use $makefile_am rather than + ${makefile_name-Makefile.am}, to fix a bug where makefile_name was + empty. + + * modules/inttypes (Files): Add m4/inttypes-h.m4. + +2006-08-28 Paul Eggert + + * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here... + * m4/stdint.m4 (gl_STDINT_H): ... from here. This undoes the most + recent change to stdint.m4, since we're now addressing the problem in a + different way. + +2006-08-28 Paul Eggert + + * m4/fcntl_h.m4: New file. + +2006-08-28 Paul Eggert + + * lib/fcntl_.h: New file. + * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have + the fcntl module. + * lib/dirchownmod.c: Likewise. + * lib/fts.c: Likewise. + + * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]: + Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else. + * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define + just before including , to avoid circular inclusion. + +2006-08-28 Jim Meyering + + * doc/visibility.texi: Actually read and correct the grammar of the + sentence affected by yesterday's change. + +2006-08-28 Eric Blake + + * modules/inttypes (Makefile.am): Fix sed error when inttypes.h + needs wrapper. + +2006-08-28 Eric Blake + + * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif. + +2006-08-28 Eric Blake + + * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning. + +2006-08-28 Bruno Haible + + * modules/c-strstr: New file, from GNU gettext. + * MODULES.html.sh (String handling): Add c-strstr. + +2006-08-28 Bruno Haible + + * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX* + macros. + Reported by Eric Blake. + +2006-08-28 Bruno Haible + + * lib/vasnprintf.c (EOVERFLOW): Remove definition. + (VASNPRINTF): Return a string of length > INT_MAX without failing. + * lib/vasprintf.c: Include errno.h, limits.h. + (EOVERFLOW): New fallback definition. + (vasprintf): Test here whether the string length is > INT_MAX. + * lib/vsnprintf.c: Include errno.h, limits.h. + (EOVERFLOW): New fallback definition. + (vsnprintf): Fix bug when generated string was too long for the buffer. + Test here whether the string length is > INT_MAX. + +2006-08-28 Bruno Haible + + * lib/inttypes_.h (SCNX*): Remove definitions. + Reported by Eric Blake. + +2006-08-28 Bruno Haible + + * lib/c-strstr.h: New file, from GNU gettext. + * lib/c-strstr.c: New file, from GNU gettext. + +2006-08-28 Bruno Haible + + * gnulib-tool: Reorder some statements. + +2006-08-28 Bruno Haible + + * gnulib-tool: New option --makefile-name. + (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use + $makefile_name. + (func_import): Write $makefile_name to the cache file, and read it from + there unless explicitly specified. Use $makefile_name as file name + instead of Makefile.am. Adjust the recommendations accordingly. + +2006-08-28 Bruno Haible + + * gnulib-tool (func_verify_module): Check against misapplying patch. + +2006-08-28 Bruno Haible + + * gnulib-tool (func_relativize, func_relconcat): New functions. + Give an error if --local-dir is given with --update. + Remove trailing slashes from $local_gnulib_dir. + (func_import): Store the relativized $local_gnulib_dir in + gnulib-cache.m4, and read it from there if not specified explicitly. + +2006-08-28 Bruno Haible + + * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir + is the current directory. Respect also $local_gnulib_dir. + +2006-08-28 Bruno Haible + Simon Josefsson + + BeOS portability. + * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros. + +2006-08-27 Jim Meyering + + * doc/visibility.texi: Remove duplicate word: "pointer". + +2006-08-26 Bruno Haible + + * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h. + Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4. + (Makefile.am): Create inttypes.h from inttypes_.h. + * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H. + + * modules/imaxabs: New file. + + * modules/imaxdiv: New file. + +2006-08-26 Bruno Haible + + * m4/inttypes.m4: New file. + * m4/_inttypes_h.m4: Remove file. + * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST + PRI_MACROS_BROKEN. + * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H. + + * m4/imaxabs.m4: New file. + + * m4/imaxdiv.m4: New file. + +2006-08-26 Bruno Haible + + * lib/inttypes_.h: New file. + * lib/inttypes.h: Remove file. + * lib/stdint_.h: Include through its absolute filename. + + * lib/imaxabs.c: New file. + + * lib/imaxdiv.c: New file. + +2006-08-25 Paul Eggert + + New config-h module, so that "make" output needn't be cluttered + by -DHAVE_CONFIG_H. + * MODULES.html.sh (Support for building libraries and executables): + Add config-h. + * modules/config-h: New file. + * gnulib-tool (nl, sed_transform_lib_file): New vars. + (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if + the config-h module is used. + + New configmake module, so that "make" output needn't be cluttered + by fluff like '-DLIBDIR=\"/usr/local/lib\"'. + * MODULES.html.sh (Support for building libraries and executables): + Add configmake. + * modules/configmake: New file. + +2006-08-25 Paul Eggert + + * m4/config-h.m4: New file. + +2006-08-24 Paul Eggert + + * config/srclist.txt: Add elisp-comp. + +2006-08-24 Paul Eggert + + * MODULES.html.sh (Support for building libraries and executables): + Add elisp-comp. + * build-aux/elisp-comp: New file. + * modules/elisp-comp: New file. + +2006-08-24 Bruno Haible + + * gnulib-tool (func_create_testdir): Use non-default values of + sourcebase and m4base. + +2006-08-24 Bruno Haible + + * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix + HTML structure. + +2006-08-23 Paul Eggert + + * modules/openat (Depends-on): Add lchown. + +2006-08-23 Bruno Haible + + * gnulib-tool (func_import, func_create_testdir): Emit an invocation + of gl_LOCK_EARLY instead of gl_LOCK. + +2006-08-23 Bruno Haible + + * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads + on OSF/1 to no. + Reported by Stephen Cartwright . + +2006-08-23 Bruno Haible + + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs + as unusable. + + * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK. + (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation. + (gl_LOCK): New macro. + +2006-08-22 Simon Josefsson + + * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes + to md5 module. + +2006-08-22 Simon Josefsson + + * MODULES.html.sh: Add "Support for maintaining and release + projects". + + * build-aux/gnupload: New file, from coreutils. + +2006-08-22 Paul Eggert + + Avoid the need for AC_LIBSOURCES in m4 macros. + * modules/arcfour (EXTRA_DIST): Add arcfour.h. + * modules/arctwo (EXTRA_DIST): Add arctwo.h. + * modules/check-version (EXTRA_DIST): Add check-version.h. + * modules/crc (EXTRA_DIST): Add crc.h. + * modules/des (EXTRA_DIST): Add des.h. + * modules/gc (EXTRA_DIST): Add gc.h. + * modules/getdelim (EXTRA_DIST): Add getdelim.h. + * modules/getline (EXTRA_DIST): Add getline.h. + * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h. + * modules/hmac-md5 (EXTRA_DIST): Add hmac.h. + * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h. + * modules/md2 (EXTRA_DIST): Add md2.h. + * modules/md4 (EXTRA_DIST): Add md4.h. + * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h. + * modules/read-file (EXTRA_DIST): Add read-file.h. + * modules/readline (EXTRA_DIST): Add readline.h. + * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h, + rijndael-api-fst.h. + +2006-08-22 Paul Eggert + + * m4/rijndael.m4 (gl_ARCFOUR): + * m4/arctwo.m4 (gl_ARCTWO): + * m4/check-version.m4 (gl_CHECK_VERSION): + * m4/crc.m4 (gl_CRC): + * m4/des.m4 (gl_DES): + * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1): + * m4/gc.m4 (gl_GC): + * m4/getdelim.m4 (gl_FUNC_GETDELIM): + * m4/getline.m4 (gl_FUNC_GETLINE): + * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): + * m4/hmac-md5.m4 (gl_HMAC_MD5): + * m4/hmac-sha1.m4 (gl_HMAC_SHA1): + * m4/md2.m4 (gl_MD2): + * m4/md4.m4 (gl_MD4): + * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): + * m4/read-file.m4 (gl_FUNC_READ_FILE): + * m4/readline.m4 (gl_FUNC_READLINE): + * m4/rijndael.m4 (gl_RIJNDAEL): + Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/ + to get the necessary .h files and whatnot. + +2006-08-22 Paul Eggert + + * config/srclist.txt: Remove gnupload, since coreutils now syncs from + gnulib rather than the other way around. + * config/srclistvars.sh (COREUTILS): Remove. + +2006-08-22 Jim Meyering + + * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/. + + * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST. + +2006-08-22 Eric Blake + + * modules/regexprops-generic: New file. + * MODULES.html.sh (Support for building documentation): List it. + +2006-08-22 Eric Blake + + * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning. + * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise. + * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise. + * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise. + +2006-08-22 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES + and lib_LTLIBRARIES like the other lib_* variables. + +2006-08-22 Bruno Haible + + * build-aux/x-to-1.in: New file, from GNU gettext. + +2006-08-22 Bruno Haible + + * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if or + exists. + +2006-08-22 Bruno Haible + + * lib/readutmp.h: Skip most definitions if neither nor + exists. + +2006-08-21 Paul Eggert + + BeOS portability. + * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't + exist. + Problem reported by Bruno Haible. + +2006-08-21 Paul Eggert + + Avoid the need for AC_LIBSOURCES in m4 macros. + * modules/acl (EXTRA_DIST): Add acl.h. + * modules/argmatch (Files): Add m4/argmatch.m4. + (configure.ac): Add gl_ARGMATCH. + (EXTRA_DIST): Renamed from lib_SOURCES, for + consistency with the other modules. Remove argmatch.c. + * modules/backupfile (EXTRA_DIST): Add backupfile.h. + * modules/c-strtod (EXTRA_DIST): Add c-strtod.h. + * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h. + * modules/canonhost (EXTRA_DIST): Add c-canonhost.h. + * modules/canonicalize (EXTRA_DIST): Add canonicalize.h. + * modules/chdir-long (EXTRA_DIST): Add chdir-long.h. + * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h. + * modules/cloexec (EXTRA_DIST): Add cloexec.h. + * modules/close-stream (EXTRA_DIST): Add close-stream.h. + * modules/closeout (EXTRA_DIST): Add closeout.h. + * modules/cycle-check (EXTRA_DIST): Add cycle-check.h. + * modules/dev-ino (EXTRA_DIST): Add dev-ino.h. + * modules/dirfd (EXTRA_DIST): Add dirfd.h. + * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES. Add + dirname.h; remove basename.c and stripslash.c. + * modules/exclude (EXTRA_DIST): Add exclude.h. + * modules/exitfail (EXTRA_DIST): Add exitfail.h. + * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h. + * modules/file-type (EXTRA_DIST): Add file-type.h. + * modules/filemode (EXTRA_DIST): Add filemode.h. + * modules/filenamecat (EXTRA_DIST): Add filenamecat.h. + * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h. + * modules/fpending (EXTRA_DIST): Add __fpending.h. + * modules/fprintftime (EXTRA_DIST): Add fprintftime.h. + * modules/fsusage (EXTRA_DIST): Add fsusage.h. + * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c. + * modules/getcwd (EXTRA_DIST): Add getcwd.h. + * modules/getdate (EXTRA_DIST): Add getdate.c. + * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h. + * modules/getpagesize (EXTRA_DIST): Add getpagesize.h. + * modules/getpass (EXTRA_DIST): Add getpass.h. + * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h. + * modules/group-member (EXTRA_DIST): Add group-member.h. + * modules/hard-locale (EXTRA_DIST): Add hard-locale.h. + * modules/hash (EXTRA_DIST): Add hash.h. + * modules/human (EXTRA_DIST): Add human.h. + * modules/inttypes (EXTRA_DIST): Add inttypes.h. + * modules/lchmod (EXTRA_DIST): Add lchmod.h. + * modules/lchown (EXTRA_DIST): Add lchown.h. + * modules/long-options (EXTRA_DIST): Add long-options.h. + * modules/lstat (EXTRA_DIST): Add lstat.h. + * modules/md5 (EXTRA_DIST): Add memcasecmp.h. + * modules/memcoll (EXTRA_DIST): Add memcoll.h. + * modules/mempcpy (EXTRA_DIST): Add mempcpy.h. + * modules/memrchr (EXTRA_DIST): Add memrchr.h. + * modules/memxor (EXTRA_DIST): Add memxor.h. + * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h. + * modules/mkdir-p (EXTRA_DIST): Add modechange.h. + * modules/mountlist (EXTRA_DIST): Add mountlist.h. + * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h. + * modules/pathmax (EXTRA_DIST): Add pathmax.h. + * modules/physmem (EXTRA_DIST): Add physmem.h. + * modules/posixtm (EXTRA_DIST): Add posixtm.h. + * modules/posixver (EXTRA_DIST): Add posixver.h. + * modules/quote (EXTRA_DIST): Add quote.h. + * modules/quotearg (EXTRA_DIST): Add quotearg.h. + * modules/readtokens (EXTRA_DIST): Add readtokens.h. + * modules/readutmp (EXTRA_DIST): Add readutmp.h. + * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c + regex_internal.h regexec.c. + * modules/safe-read (EXTRA_DIST): Add safe-read.h. + * modules/safe-write (EXTRA_DIST): Add safe-write.h. + * modules/same (EXTRA_DIST): Add same.h. + * modules/same-inode (EXTRA_DIST): Add same-inode.h. + * modules/save-cwd (EXTRA_DIST): Add save-cwd.h. + * modules/savedir (EXTRA_DIST): Add savedir.h. + * modules/sha1 (EXTRA_DIST): Add sha1.h. + * modules/sig2str (EXTRA_DIST): Add sig2str.h. + * modules/stat-macros (EXTRA_DIST): Add stat-macros.h. + * modules/stat-time (EXTRA_DIST): Add stat-time.h. + * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h. + * modules/strdup (EXTRA_DIST): Add strdup.h. + * modules/strftime (EXTRA_DIST): Add strftime.h. + * modules/strndup (EXTRA_DIST): Add strndup.h. + * modules/strnlen (EXTRA_DIST): Add strnlen.h. + * modules/strverscmp (EXTRA_DIST): Add strverscmp.h. + * modules/time_r (EXTRA_DIST): Add time_r.h. + * modules/timespec (EXTRA_DIST): Add timespec.h. + * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h. + * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h. + * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h. + * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h. + * modules/userspec (EXTRA_DIST): Add userspec.h. + * modules/utimecmp (EXTRA_DIST): Add utimecmp.h. + * modules/utimens (EXTRA_DIST): Add utimens.h. + * modules/xalloc (EXTRA_DIST): Add xalloc.h. + * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h. + * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h. + * modules/xreadlink (EXTRA_DIST): Add xreadlink.h. + * modules/xstrtod (EXTRA_DIST): Add xstrtod.h. + * modules/xstrtol (EXTRA_DIST): Add xstrtol.h. + * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h. + * modules/yesno (EXTRA_DIST): Add yesno.h. + +2006-08-21 Paul Eggert + + * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod. + + * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed. + * m4/dev-ino.m4, same-inode.m4: Remove. + + * m4/_inttypes_h.m4 (gl_INTTYPES_H): + * m4/acl.m4 (AC_FUNC_ACL): + * m4/backupfile.m4 (gl_BACKUPFILE): + * m4/c-strtod.m4 (gl_C99_STRTOLD): + * m4/canon-host.m4 (gl_CANON_HOST): + * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): + * m4/chdir-safer.m4 (gl_CHDIR_SAFER): + * m4/cloexec.m4 (gl_CLOEXEC): + * m4/close-stream.m4 (gl_CLOSE_STREAM): + * m4/closeout.m4 (gl_CLOSEOUT): + * m4/dirfd.m4 (gl_FUNC_DIRFD): + * m4/dirname.m4 (gl_DIRNAME): + * m4/exclude.m4 (gl_EXCLUDE): + * m4/exitfail.m4 (gl_EXITFAIL): + * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): + * m4/file-type.m4 (gl_FILE_TYPE): + * m4/filemode.m4 (gl_FILEMODE): + * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT): + * m4/fpending.m4 (gl_FUNC_FPENDING): + * m4/fprintftime.m4 (gl_FPRINTFTIME): + * m4/fts.m4 (gl_FUNC_FTS): + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): + * m4/getdate.m4 (gl_GETDATE): + * m4/gethrxtime.m4 (gl_GETHRXTIME): + * m4/getpagesize.m4 (gl_GETPAGESIZE): + * m4/getpass.m4 (gl_FUNC_GETPASS): + * m4/gettime.m4 (gl_GETTIME): + * m4/getugroups.m4 (gl_GETUGROUPS): + * m4/glob.m4 (gl_GLOB_SUBSTITUTE): + * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): + * m4/hard-locale.m4 (gl_HARD_LOCALE): + * m4/hash.m4 (gl_HASH): + * m4/idcache.m4 (gl_IDCACHE): + * m4/lchmod.m4 (gl_FUNC_LCHMOD): + * m4/lchown.m4 (gl_FUNC_LCHOWN): + * m4/long-options.m4 (gl_LONG_OPTIONS): + * m4/lstat.m4 (gl_FUNC_LSTAT): + * m4/md5.m4 (gl_MD5): + * m4/memcasecmp.m4 (gl_MEMCASECMP): + * m4/memcoll.m4 (gl_MEMCOLL): + * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): + * m4/memxor.m4 (gl_MEMXOR): + * m4/mkancesdirs.m4 (gl_MKANCESDIRS): + * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): + * m4/modechange.m4 (gl_MODECHANGE): + * m4/mountlist.m4 (gl_MOUNTLIST): + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): + * m4/openat.m4 (gl_FUNC_OPENAT): + * m4/pathmax.m4 (gl_PATHMAX): + * m4/physmem.m4 (gl_PHYSMEM): + * m4/posixtm.m4 (gl_POSIXTM): + * m4/posixver.m4 (gl_POSIXVER): + * m4/quote.m4 (gl_QUOTE): + * m4/quotearg.m4 (gl_QUOTEARG): + * m4/readtokens.m4 (gl_READTOKENS): + * m4/readutmp.m4 (gl_READUTMP): + * m4/regex.m4 (gl_REGEX): + * m4/safe-read.m4 (gl_SAFE_READ): + * m4/safe-write.m4 (gl_SAFE_WRITE): + * m4/same.m4 (gl_SAME): + * m4/save-cwd.m4 (gl_SAVE_CWD): + * m4/savedir.m4 (gl_SAVEDIR): + * m4/settime.m4 (gl_SETTIME): + * m4/sha1.m4 (gl_SHA1): + * m4/sig2str.m4 (gl_FUNC_SIG2STR): + * m4/stat-macros.m4 (gl_STAT_MACROS): + * m4/stat-time.m4 (gl_STAT_TIME): + * m4/stdio-safer.m4 (gl_FOPEN_SAFER): + * m4/stdlib-safer.m4 (gl_STDLIB_SAFER): + * m4/strdup.m4 (gl_FUNC_STRDUP): + * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): + * m4/strndup.m4 (gl_FUNC_STRNDUP): + * m4/strnlen.m4 (gl_FUNC_STRNLEN): + * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): + * m4/time_r.m4 (gl_TIME_R): + * m4/timespec.m4 (gl_TIMESPEC): + * m4/unistd-safer.m4 (gl_UNISTD_SAFER): + * m4/unlinkdir.m4 (gl_UNLINKDIR): + * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): + * m4/userspec.m4 (gl_USERSPEC): + * m4/utimecmp.m4 (gl_UTIMECMP): + * m4/utimens.m4 (gl_UTIMENS): + * m4/xalloc.m4 (gl_XALLOC): + * m4/xgetcwd.m4 (gl_XGETCWD): + * m4/xnanosleep.m4 (gl_XNANOSLEEP): + * m4/xreadlink.m4 (gl_XREADLINK): + * m4/xstrtod.m4 (gl_XSTRTOD): + * m4/yesno.m4 (gl_YESNO): + Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/ + to get the necessary .h files and whatnot. + +2006-08-21 Mark D. Baushke + Bruno Haible + + * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2 + /bin/sh understanding of '!' conditional negation. + +2006-08-21 Jim Meyering + + * modules/openat (Depends-on): Really alphabetize. + + * modules/acl (Depends-on): Add error and quote. + + * check-module (find_included_lib_files): Add at-func.c to the + ok-to-include-more-than-once white list. + + * modules/openat (Depends-on): Add lstat. Alphabetize. + +2006-08-21 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Emit a pkgdata_DATA variable only if some snippets add contents to it. + Reported by Martin Lambers . + +2006-08-21 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already + specify an installation location, don't emit a noinst_LIBRARIES or + noinst_LTLIBRARIES assignment. + +2006-08-21 Bruno Haible + + BeOS portability. + * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since + BeOS has mbrtowc() but no . + +2006-08-21 Bruno Haible + + BeOS portability. + * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if doesn't + exist. + +2006-08-21 Bruno Haible + + BeOS portability. + * lib/mbchar.h: Include only if it exists. + +2006-08-20 Paul Eggert + + Remove files that are no longer needed by their respective modules. + * m4/obstack.m4: Remove. + * m4/strerror_r.m4: Remove. + * m4/uint32_t.m4: Remove. + * m4/uintptr_t.m4: Remove. + * m4/ullong_max.m4: Remove. + * m4/xstrtoimax.m4: Remove. + * m4/xstrtoumax.m4: Remove. + + * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require + gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib + dependencies now capture this. + + * m4/cycle-check.m4 (gl_CYCLE_CHECK): + Do not use AC_LIBSOURCES, since gnulib modules now do this. + * m4/fsusage.m4 (gl_FSUSAGE): Likewise. + * m4/human.m4 (gl_HUMAN): Likewise. + * m4/inttostr.m4 (gl_INTTOSTR): Likewise. + * m4/xstrtol.m4 (gl_XSTRTOL): Likewise. + + * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE. + + * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require + gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require + stdint. + * m4/human.m4 (gl_HUMAN): Likewise. + * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise. + * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise. + * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise. + * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise. + * m4/xstrtol (gl_XSTRTOL): Likewise. + + * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG -> + AC_TYPE_LONG_LONG_INT. + * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise. + * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise. + * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long. + * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise. + + * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend + on stdbool. + + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove. + (gl_PREREQ_XSTRTOUL): Remove. + + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt. + + * m4/posixver.m4: Fix comment since head -1 now works even in POSIX + mode. + +2006-08-20 Paul Eggert + + Add and change modules to make it easier for coreutils to use + gnulib-tool. + * modules/backupfile (Files): Remove m4/d-ino.m4. + (Depends-on): Add d-ino. + * modules/cycle-check (Depends-on): Add stdint. + (lib_SOURCES): Add cycle-check.h. + * modules/d-ino: New module. + * modules/d-type: New module. + * modules/error (Files): Remove m4/strerror_r.m4. + * modules/filemode (Files): Add m4/st_dm_mode.m4. + * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4, + m4/inttypes_h.m4, m4/uintmax_t.m4. + (Depends-on): Add stdint. + (lib_SOURCES): Add fsusage.h. + * modules/getcwd (Files): Remove d-ino.m4. + (Depends-on): Add d-ino. + * modules/getndelim2 (Depends-on): Add stdint. + * modules/glob (Files): Remove m4/d-type.m4. + (Depends-on): Add d-type. + * modules/host-os: New module. + * modules/human (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4, + m4/inttypes_h.m4, m4/uintmax_t.m4. + * Depends-on: Add stdint. + (lib_SOURCES): Add human.h. + * modules/inttostr (Files): Remove m4/intmax_t.m4, + m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4, + m4/uintmax_t.m4, m4/ulonglong.m4. + (Depends-on): Add stdint. + (EXTRA_DIST): Add inttostr.h. + * modules/lchmod: New module. + * modules/link-follow: New module. + * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4. + (Depends-on): Add lchmod. + * modules/mkstemp (Files): Remove m4/ulonglong.m4, + m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4. + (Depends-on): Add stdint. + * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4, + m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4. + (Depends-on): Add stdint. + (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK. + * modules/perl: New module. + * modules/regex (Depends-on): Add stdint. + * modules/rmdir-errno: New module. + * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4, + m4/intmax_t.m4. + (Depends-on): Add stdint. + * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4, + m4/uintmax_t.m4. + (Depends-on): Add stdint. + * modules/unlink-busy: New module. + * modules/utimecmp (Depends-on): Add stdint. + * modules/uptime: New module. + * modules/winsz-ioctl: New module. + * modules/winsz-termios: New module. + * modules/xnanosleep (Depends-on): Add nanosleep. + * modules/ullong_max: Remove. + * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4. + (configure.ac): Remove gl_XSTRTOIMAX; no action needed now. + * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4, + m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4. + (Depends-on): Add inttypes. + (lib_SOURCES): Add xstrtol.h. + * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4. + (configure.ac): Remove gl_XSTRTOUMAX; no action needed now. + * MODULES.html.sh: Move 'assert' into the assert section. + Move 'dummy' into the linking section. + Remove ullong_max. + Add section for compatibility checks for POSIX:2001 functions, + and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy, + winsz-ioctl, and winsz-termios into it. + Add lchmod. + Add top-level Misc section and put host-os, perl, and uptime + into it. + +2006-08-20 Paul Eggert + + * lib/cycle-check.h: Include unconditionally, since we + now assume the stdint module. Do not include inttypes.h. + * lib/fsusage.h: Likewise. + * lib/getndelim2.c: Likewise. + * lib/human.h: Likewise. + * lib/inttostr.h: Likewise. + * lib/obstack.c: Likewise. + * lib/regex_internal.h: Likewise. + * lib/tempname.c: Likewise. + * lib/utimecmp.c: Likewise. + * lib/xstrtol.h: Likewise. + + * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT. + + * lib/strtoimax.c: Adjust to macro name changes in Autoconf, + e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT. + * lib/xtime.h: Likewise. + +2006-08-19 Paul Eggert + + * modules/openat (Files): Add lib/fchmodat.c. + Fixes problem reported by Jay Youngman. + +2006-08-19 Paul Eggert + + * lib/fchmodat.c: New file, from coreutils. This was inadvertently + omitted in the 2006-08-17 update. Problem reported by Jay Youngman. + +2006-08-18 Paul Eggert + Bruno Haible + + * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists + and is a script that invokes bison. Tighten the code. Add comments. + +2006-08-18 Jim Meyering + + * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for + CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via + gettime.c. Gabor Z. Papp reported that gethrxtime-using programs + failed to link due to unresolved clock_gettime on a linux-2.4.x system. + +2006-08-18 Bruno Haible + + * modules/bison-i18n: New file. + * MODULES.html.sh (Internationalization functions): Add it. + +2006-08-18 Bruno Haible + + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for + sys/statvfs.h. When getmntinfo was found, check its declaration and + set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it. + +2006-08-18 Bruno Haible + + * m4/bison-i18n.m4: New file, from bison. + +2006-08-18 Bruno Haible + + * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h. + (ME_DUMMY): Treat "kernfs" as a dummy. + (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement. + +2006-08-17 Paul Eggert + + Update from coreutils. + + 2006-08-15 Jim Meyering + + * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES. + + 2006-01-17 Jim Meyering + + * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT. + + 2006-01-11 Jim Meyering + + * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c. + Check for the lchmod function. + +2006-08-17 Paul Eggert + + Update from coreutils. + + * lib/__fpending.h: Add copyright notice. + * lib/fprintftime.h: Likewise. + * lib/savedir.c: Use (C) in copyright notice. + * lib/savedir.h: Likewise. + + 2006-08-15 Jim Meyering + + * lib/at-func.c: New file, with the logic of all emulated at-functions. + * lib/openat-priv.h: Include and define ENOSYS, + in support of the EXPECTED_ERRNO macro. + * lib/openat.c (fstatat, unlinkat, fchownat): Remove function + definitions. Instead, define the appropriate symbols and include + "at-func.c". + * lib/mkdirat.c (mkdirat): Likewise. + * lib/fchmodat.c (fchmodat): Likewise. + (ENOSYS): Remove definition. + * lib/openat.c: Don't include , now that "openat-priv.h" does + it. Don't include "unistd--.h" -- it wasn't ever used. + + 2006-01-17 Jim Meyering + + Rewrite fts.c not to change the current working directory, + by using openat, fstatat, fdopendir, etc.. + + * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h". + (HAVE_OPENAT_SUPPORT): Define. + [_LIBC] (fchdir): Don't undef or define; no longer used. + (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir. + Now, this `function' always succeeds, and consumes its file descriptor + parameter -- so callers must not close such FDs. Update callers. + (diropen_fd, opendirat, cwd_advance_fd): New functions. + (diropen): Add parameter, SP. Adjust all callers. + Implement using diropen_fd, rather than open. + (fts_open): Initialize new member, fts_cwd_fd. + Remove fts_rft-setting code. + (fts_close): Close fts_cwd_fd, if necessary. + (__opendir2): Define in terms of opendir or opendirat, + depending on whether the FST_NOCHDIR flag is set. + (fts_build): Since fts_safe_changedir consumes its FD, and since + this code must do `closedir(dirp)', dup the dirfd(dirp) argument, + and close the dup'd file descriptor upon failure. + (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat. + (fts_safe_changedir): Tweak semantics to reflect that this function + now calls cwd_advance_fd and hence consumes its FD argument. + * lib/fts_.h [struct FTS] (fts_cwd_fd): New member. + [struct FTS] (fts_rft): Remove now-unused member. + [struct FTS] (fts_cycle.state): Improve comment. + + * lib/openat.c (openat_needs_fchdir): New function. + * lib/openat.h (openat_needs_fchdir): Declare it. + +2006-08-16 Paul Eggert + + * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too. + Problem and fix reported by Pádraig Brady in + . + +2006-08-15 Paul Eggert + + * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK. + +2006-08-15 Paul Eggert + + * lib/memcoll.c (memcoll): Optimize for the common case where the + arguments are bytewise equal. + +2006-08-15 Paul Eggert + + * doc/regexprops-generic.texi: Add a copyright notice. + +2006-08-15 Bruno Haible + + * modules/tmpdir (License): Change to LGPL. + +2006-08-15 Bruno Haible + + * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a + module. + +2006-08-14 Simon Josefsson + + * config/srclist.txt: Add gnupload. + +2006-08-14 Paul Eggert + + Change copyright notice from LGPL 2 to GPL 2, since that's the + standard form used in the gnulib repository. + * tests/test-lock.c: Likewise. + * tests/test-stdint.c: Likewise. + * tests/test-tls.c: Likewise. + + * users.txt: Add bison, diffutils, libprelude, prelude-lml, + prelude-manager. User shorter URLs for GNU projects, without '?'. + Add copyright notice. + + * check-module: Add copyright notice. Output a copyright + notice if "--version" is specified. + * modules/COPYING: New file. + * tests/test-getaddrinfo.c: Add copyright notice. + * tests/test-verify.c: Likewise. + +2006-08-14 Paul Eggert + + Change copyright notice from LGPL 2 to GPL 2, since that's the + standard form used in the gnulib repository. + * lib/lock.c: LGPL -> GPL. + * lib/lock.h: Likewise. + * lib/strnlen1.c: Likewise. + * lib/strnlen1.h: Likewise. + * lib/tls.c: Likewise. + * lib/tls.h: Likewise. + * lib/tmpdir.c: Likewise. + + * lib/TODO: Remove; this belongs only in coreutils. + +2006-08-14 Paul Eggert + + Add copyright notices to long-enough files that lack them, since + otherwise the files aren't clearly free. Use the same notice that + getdate.texi already uses. + * doc/alloca-opt.texi: Add copyright notice. + * doc/alloca.texi: Likewise. + * doc/ctime.texi: Likewise. + * doc/functions.texi: Likewise. + * doc/gcd.texi: Likewise. + * doc/gnulib-tool.texi: Likewise. + * doc/inet_ntoa.texi: Likewise. + * doc/visibility.texi: Likewise. + + * doc/getdate.texi: Update FDL version from 1.1 to 1.2. + * doc/quote.texi: Add copyright notice. + + * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS + 4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B. SunOS 4.1.3 + was Solaris 1.1A. Remove space before B in Solaris 1.1.1B. + Mention SunOS 5.11. Mention that everything before SunOS 5.7 + is now obsolete, and give a pointer to the Sun list. + Add copyright notice. + +2006-08-14 Paul Eggert + + * config/srclistvars.sh: Add copyright notice. + +2006-08-14 Eric Blake + + Import the following change from libc: + + 2006-08-12 Ulrich Drepper + + Upstream bug 2997. + * lib/misc/error.c: Add space between program name and message if file + name is missing. + +2006-08-12 Karl Berry + + * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4): + remove, these originate in gnulib now. + +2006-08-11 Ralf Wildenhues + + * doc/Makefile (standards.info standards.html standards.dvi): + Also depend on make-stds.texi. + +2006-08-11 Paul Eggert + + * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE -> + HAVE_PIPE. Fix a file descriptor leak when fd_safer fails. + + * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits + in wchar_t. Problem reported by Eric Blake. + + * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when + LEN is smaller than SIZE. Suggested by Bruno Haible. + Also, help the compiler to keep LEN in a register. + +2006-08-11 Eric Blake + + * users.txt: Sort. Add tar. + +2006-08-11 Bruno Haible + + * users.txt: New file. + +2006-08-11 Bruno Haible + + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include and + before . Needed for OSF/1 and BSD/OS. + +2006-08-10 Paul Eggert + + * modules/snprintf (Depends-on): Remove minmax. + (Maintainer): Add self and Bruno. + +2006-08-10 Paul Eggert + + * lib/.cppi-disable: Add snprintf.h, socket_.h. + * lib/snprintf.c: Include and . + (EOVERFLOW): Define if the system does not. + Do not include "minmax.h"; it wasn't used. + (snprintf): Don't assume size_t promotes to an unsigned type. + Fix bug when generated string was too long for the buffer: the + buffer's contents are supposed to be the initial prefix of the + output. Don't assume vasnprintf returns EOVERFLOW if the size + exceeds INT_MAX; do the check ourselves. + + Import the following changes from libc: + + 2006-06-02 Jakub Jelinek + + * lib/posix/regex_internal.c (re_string_skip_chars): If no character + has been converted at all, set *last_wc to WEOF. If mbrtowc failed, + set wc to the byte which couldn't be converted. + (re_string_reconstruct): Don't clear valid_raw_len before calling + re_string_skip_chars. If wc is WEOF after re_string_skip_chars, set + tip_context using re_string_context_at. + + 2006-05-02 Ulrich Drepper + + * lib/posix/regex.h: g++ still cannot handled [restrict]. + + 2006-04-21 Ulrich Drepper + + * lib/posix/regex.h: Remove special handling for VMS. + +2006-08-10 Jim Meyering + + * modules/same-inode: New module. + * modules/dev-ino: New module. + * modules/cycle-check: Depend on these modules, rather than simply + including their .h files. + (Makefile.am): Don't list cycle-check.[ch] here, now that they're + required via m4/cycle-check.m4. + * modules/same: Depend on new same-inode module, rather than + including same-inode.h. + * modules/chdir-safer: New file. + + * modules/chown (Depends-on): Add stat-macros. + +2006-08-10 Jim Meyering + + * m4/cycle-check.m4: New file. + Require gl_STRUCT_DEV_INO and gl_SAME_INODE. + * m4/dev-ino.m4, m4/same-inode.m4: New files. + +2006-08-10 Eric Blake + + * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck + in from original proposal. + +2006-08-10 Eric Blake + and Ralf Wildenhues + + * gnulib-tool (func_import): Detect unexpanded macros in gnulib + namespace. + +2006-08-10 Bruno Haible + + * gnulib-tool (func_create_testdir): Detect unexpanded macros here + as well. + +2006-08-09 Paul Eggert + + Sync from coreutils. + + 2006-07-19 Mike Frysinger + + * lib/mountlist.c [ME_REMOTE]: Filter out cifs. + Reported by Toralf Förster in . + +2006-08-09 Paul Eggert + + * modules/restrict: Remove; no longer needed now that we assume + Autoconf 2.59 or later. + * MODULES.html.sh: Remove 'restrict'. + * modules/argp (Depends-on): Remove 'restrict'. + * modules/base64 (Depends-on): Likewise. + * modules/gc (Depends-on): Likewise. + * modules/getaddrinfo (Depends-on): Likewise. + * modules/glob (Depends-on): Likewise. + * modules/inet_ntop (Depends-on): Likewise. + * modules/inet_pton (Depends-on): Likewise. + * modules/memxor (Depends-on): Likewise. + * modules/regex (Depends-on): Likewise. + * modules/strtok_r (Depends-on): Likewise. + * modules/time_r (Depends-on): Likewise. + +2006-08-09 Paul Eggert + + * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT. + * m4/gc.m4 (gl_PREREQ_GC): Likewise. + * m4/glob.m4 (gl_PREREQ_GLOB): Likewise. + * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise. + * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise. + * m4/memxor.m4 (gl_MEMXOR): Likewise. + * m4/restrict.m4: Remove; no longer needed. All remaining uses of + gl_C_RESTRICT replaced by AC_C_RESTRICT. + + Merge from coreutils. + * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not + gl_C_RESTRICT, now that we assume Autoconf 2.59 or later. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise. + * m4/time_r.m4 (gl_TIME_R): Likewise. + +2006-08-09 Karl Berry + + * config/srclist.txt: no more gettext-tools, per Bruno. + +2006-08-08 Eric Blake + + * modules/verror: New module. + * MODULES.html.sh: Document it. + +2006-08-08 Eric Blake + + * lib/verror.h, lib/verror.c: New files. + +2006-08-08 Eric Blake + + * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that + verror_at_line output complies with GNU Coding Standards even when + file is NULL. + +2006-08-07 Bruno Haible + + * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer + versions of AIX. + Reported by Ralf Wildenhues. + +2006-08-07 Bruno Haible + + * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets + in an AC_DEFUN. Needed so that the autoconf snippets can use + AC_REQUIRE. + +2006-08-06 Ralf Wildenhues + + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Initialize pkgdata_DATA. + * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than + overriding it. + +2006-08-06 Eric Blake + + * lib/error.h: Fold in some upstream changes from glibc. + * lib/error.c: Likewise. + +2006-08-04 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Make the mostlyclean-local rule depend on mostlyclean-generic. + Reported by Jim Meyering. Solution suggested by Ralf Wildenhues. + +2006-07-31 Bruno Haible + + * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for , + , . + +2006-07-30 Bruno Haible + + * modules/readlink (License): Change to LGPL. + +2006-07-30 Bruno Haible + + * modules/javaversion (Makefile.am): Distribute javaversion.java and + javaversion.class. Also install javaversion.class in $(pkgdatadir) and + set PKGDATADIR to point to it. + +2006-07-30 Bruno Haible + + * modules/csharpexec (configure.ac): Comment out macro invocation. + * modules/javaexec (configure.ac): Likewise. + * modules/javacomp-script (configure.ac): Likewise. + + * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE. + +2006-07-30 Bruno Haible + + * modules/clean-temp (Depends-on): Add linkedhash-list, remove + linked-list. + +2006-07-30 Bruno Haible + + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume exists. + +2006-07-30 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps + get removed. + +2006-07-29 Bruno Haible + + Make it possible for gnulib-tool to work with locally modified or + augmented gnulib repositories. + * gnulib-tool (func_usage): Document --local-dir option. + (local_gnulib_dir): New variable. + Handle --local-dir option. + (func_lookup_file): New function. + (func_all_modules, func_verify_module): Look also in $local_gnulib_dir. + (func_get_description, func_get_filelist, func_get_description, + func_get_filelist, func_get_dependencies, func_get_autoconf_snippet, + func_get_automake_snippet, func_get_include_directive, + func_get_license, func_get_maintainer): Use func_lookup_file. + (func_import, func_create_testdir): Use func_lookup_file. + +2006-07-29 Bruno Haible + + * modules/setenv (Depends-on): Add unistd. + +2006-07-29 Bruno Haible + + * lib/setenv.c: Undo unintended modification done on 2006-02-27. + +2006-07-29 Bruno Haible + + * lib/localcharset.c: Assume , , exist. + +2006-07-29 Bruno Haible + + * gnulib-tool (import, update): If there is no Makefile.am, look at + aclocal.m4, instead of bailing out. + +2006-07-29 Bruno Haible + + * gnulib-tool (func_usage): Revert most of the 2006-07-15 change. + Categorize the options by when they are useful. + +2006-07-29 Bruno Haible + + * gnulib-tool (func_usage): Document option --no-libtool. + Handle option --no-libtool. + (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update + for changed semantics of $libtool variable. + (func_import): Likewise. If libtool is not used, show this through + an option --no-libtool. + (func_create_testdir): Update. + +2006-07-29 Bruno Haible + + * gnulib-tool (func_import): Extend error message about missing + --doc-base. + +2006-07-29 Bruno Haible + + * gnulib-tool (func_import): Don't create the $docbase directory if + there is no file to store there. + +2006-07-29 Bruno Haible + + * gnulib-tool (autoconf_minversion): If a --dir option is given and + relevant, look for configure.ac there, not in the current directory. + Also use a simple search for AC_PREREQ, not "autoconf --trace". + +2006-07-29 Bruno Haible + + * gnulib-tool (SORT): New variable. + (func_usage): Undocument --assume-autoconf option. + Remove --assume-autoconf option handling. + (autoconf_minversion): Determine from the contents of configure.ac. + (func_import): Remove autoconf_minversion handling. + Suggested by Eric Blake. + +2006-07-29 Bruno Haible + + * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option. + +2006-07-29 Bruno Haible + + * config/srclist.txt (*setenv.[ch]): Remove rules. + +2006-07-28 Yoann Vandoorselaere + + * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too. + +2006-07-28 Yoann Vandoorselaere + + * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before + arpa/inet.h. + +2006-07-28 Simon Josefsson + + * modules/inet_ntop (Depends-on): Depend on arpa_inet. + * modules/inet_pton (Depends-on): Likewise. + +2006-07-28 Simon Josefsson + + * m4/netinet_in_h.m4: New file. + +2006-07-28 Simon Josefsson + + * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h + #include's. + +2006-07-28 Simon Josefsson + + * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h + #include's. + +2006-07-28 Paul Eggert + + * lib/modechange.c (mode_compile): Numeric modes now affect setuid and + setgid on directories only if they set these bits. + * lib/modechange.h: Remove obsolete comment about masks. + +2006-07-28 Eric Blake + + * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89 + macro expansion. + +2006-07-28 Bruno Haible + + * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*. + +2006-07-28 Bruno Haible + + * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl. + +2006-07-28 Bruno Haible + + * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, + iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit): + Define fallbacks. + Avoids link error on FreeBSD 4.x. + Reported by Yoann Vandoorselaere . + + * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character + encoding. + * lib/mbswidth.c (iswcntrl): Likewise. + +2006-07-27 Bruno Haible + + * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the + test. + +2006-07-27 Bruno Haible + + * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if + __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is + defined. + +2006-07-26 Eric Blake + + * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe. + +2006-07-26 Eric Blake + + * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms + like mingw that lack mkstemp. + * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to + avoid compilation warning on mingw. + +2006-07-26 Bruno Haible + + * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros + INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX, + INT_FAST*_MIN, INTPTR_MIN. + +2006-07-25 Bruno Haible + + * modules/version-etc (Depends-on): Add stdarg. + +2006-07-25 Bruno Haible + + * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of + complex commands. + +2006-07-25 Bruno Haible + + * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be + defined in or config.h. + +2006-07-24 Paul Eggert + + * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros. + (gl_STDIO_SAFER): Remove. + +2006-07-24 Paul Eggert + + * MODULES.html.sh (File stream based Input/Output): + Add fopen-safer, tmpfile-safer; remove stdio-safer. + * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer. + * modules/fopen-safer, modules/tmpfile-safer: New files. + * modules/stdio-safer: Remove. + +2006-07-24 Bruno Haible + + * modules/tmpdir: New file. + * MODULES.html.sh (File system functions): Add it. + +2006-07-24 Bruno Haible + + * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io, + getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr. + +2006-07-24 Bruno Haible + + * modules/clean-temp: New file. + +2006-07-24 Bruno Haible + + * m4/tmpdir.m4: New file, from GNU gettext. + +2006-07-24 Bruno Haible + + * lib/tmpdir.h: New file, from GNU gettext. + * lib/tmpdir.c: New file, from GNU gettext. + +2006-07-24 Bruno Haible + + * lib/clean-temp.h: New file, from GNU gettext. + * lib/clean-temp.c: New file, from GNU gettext. + +2006-07-23 Eric Blake + + * modules/stdio-safer (Files): Add tmpfile-safer.c. + (Depends-on): Add binary-io. + +2006-07-23 Eric Blake + + * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c. + +2006-07-23 Eric Blake + + * lib/tmpfile-safer.c: New file. + * lib/stdio-safer.h (fopen_safer): Add prototype. + * lib/stdio--.h (tmpfile): Make safer. + +2006-07-23 Bruno Haible + + * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro. + (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before, + gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node, + gl_linked_remove_at): Use it. + +2006-07-22 Yoann Vandoorselaere + and Simon Josefsson + + * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined. + + * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE. + +2006-07-22 Paul Eggert + + * modules/close-stream: New file. + * modules/closeout (Description): Make it clear that it exits + with a diagnostic on error. + (Depends-on): Add close-stream. Remove fpending, stdbool. + * MODULES.html.sh (File stream based Input/Output): Add close-stream. + +2006-07-22 Paul Eggert + + * m4/close-stream.m4: New file. + +2006-07-22 Paul Eggert + + * lib/close-stream.c, lib/close-stream.h: New files. + +2006-07-22 Bruno Haible + + Merge from GNU gettext 0.15. + + 2006-05-01 Bruno Haible + + * build-aux/javacomp.sh.in: Update for changed javacomp.m4. + + 2006-07-22 Bruno Haible + + * modules/javaversion: New file. + * MODULES.html.sh (Java): Add javaversion. + + 2006-03-12 Bruno Haible + + * build-aux/javaexec.sh.in: Update for changed javaexec.m4. + + 2005-12-04 Bruno Haible + + * build-aux/csharpexec.sh.in: Add support for 'clix' launcher + (untested). + + 2006-06-21 Bruno Haible + + Avoid warnings from recent versions of mcs. + * build-aux/csharpcomp.sh.in (options_mcs): Don't use options + -o, -L, -r any more. Use options documented since mcs-1.0 + instead. Similarly for -g. + + 2005-12-04 Bruno Haible + + * build-aux/csharpcomp.sh.in: Suffix for resources is + .resources, not .resource. + + 2005-07-09 Bruno Haible + + * build-aux/csharpcomp.sh.in (options_csc): For -l option, + add a .dll suffix. + Reported by Mark Junker . + + 2006-07-22 Bruno Haible + + * modules/gettext: Upgrade to gettext-0.15. + (Files): Remove m4/isc-posix.m4. Add m4/lock.m4, + m4/visibility.m4. + Replace m4/inttypes.m4 with m4/inttypes-h.m4. + +2006-07-22 Bruno Haible + + Merge from GNU gettext 0.15. + + 2006-03-25 Bruno Haible + + * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro. + + 2006-07-21 Bruno Haible + + * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to + "1.1". + + 2006-05-09 Bruno Haible + + * javacomp.m4 (gt_JAVACOMP): On Cygwin, set + CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR + for the conftestver execution. + + 2006-05-01 Bruno Haible + + * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an + optional target-version argument. Verify that the compiler + groks source of the specified source-version, or add -source + option as necessary. Verify that the compiler produces + bytecode in the specified target-version, or add -target and + -source options as necessary. Make the result of the test + available as variable CONF_JAVAC. Also log error output in + config.log. + + 2006-03-11 Bruno Haible + + * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x. + + 2006-05-09 Bruno Haible + + * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set + CLASSPATH_SEPARATOR to a semicolon. + + 2006-03-12 Bruno Haible + + * javaexec.m4 (gt_JAVAEXEC): Make the result of the test + available as variable CONF_JAVA, for subsequent autoconf + tests. Also log error output in config.log. + + 2006-07-19 Bruno Haible + + * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume + that getline works on glibc2 systems. Needed to avoid trouble + in relocatable.c. + Reported by Nils Magnus Larsgard . + + 2005-12-04 Bruno Haible + + * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix' + launcher (untested). + + 2005-12-04 Bruno Haible + + * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS. + + 2006-07-22 Bruno Haible + + * gettext.m4: Update from GNU gettext-0.15. + * nls.m4: Likewise. + * po.m4: Likewise. + * inttypes-pri.m4: Likewise. + * inttypes-h.m4: Renamed from inttypes.m4. + (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H. + +2006-07-22 Bruno Haible + + Merge from GNU gettext 0.15. + + 2005-07-05 Bruno Haible + + * printf-args.c (printf_fetchargs): Work around broken + definition of wint_t on mingw. + + 2005-02-12 Bruno Haible + + * xallocsa.h: Add extern "C" for C++. + + 2006-05-17 Bruno Haible + + Cygwin portability. + * progreloc.c (WIN32_NATIVE): Renamed from WIN32. + + 2006-04-30 Bruno Haible + + * progreloc.c: Include if available. + (find_executable): Use _NSGetExecutablePath when possible. + + 2006-05-06 Charles Wilson + + * progreloc.c (maybe_executable) [CYGWIN]: Use the access() + function. + + 2005-12-29 Bruno Haible + + * progreloc.c (set_program_name_and_installdir): Fix + compilation error. + + 2005-12-04 Bruno Haible + + Cygwin portability. + * progreloc.c: Include also on Cygwin. + (find_executable): Add support for Cygwin. + (set_program_name_and_installdir): Handle also platforms with + nonempty EXEEXT. + + 2006-07-11 Bruno Haible + + * javacomp.c: Fix a comment. + Reported by Jim Meyering. + + 2006-04-30 Bruno Haible + + * javacomp.h (compile_java_class): Add source_version, + target_version arguments. + * javacomp.c: Rewritten to choose only a compiler that + respects the specified source_version and target_version. + + 2006-06-27 Bruno Haible + + Assume correct S_ISDIR macro. + * mkdtemp.c: Remove test of STAT_MACROS_BROKEN. + + 2006-07-22 Bruno Haible + + * javaversion.h: New file, from GNU gettext. + * javaversion.c: New file, from GNU gettext. + * javaversion.java: New file, from GNU gettext. + * javaversion.class: New file, from GNU gettext. + + 2006-05-17 Bruno Haible + + Cygwin portability. + * javaexec.c (execute_java_class): Test for jview program + also on Cygwin. + + 2006-04-09 Bruno Haible + + * fatal-signal.c: Don't include string.h. + (at_fatal_signal): Use a copying loop instead of memcpy. + + 2005-12-04 Bruno Haible + + * csharpexec.c: Add support for 'clix' launcher (untested). + (execute_csharp_using_sscli): New function. + (execute_csharp_program): Call it. + + 2006-06-21 Bruno Haible + + Avoid warnings from recent versions of mcs. + * csharpcomp.c (compile_csharp_using_mono): Don't use options + -o, -L, -r any more. Use options documented since mcs-1.0 + instead. Similarly for -g. + + 2005-07-09 Bruno Haible + + * csharpcomp.c (compile_csharp_using_sscli): For -l option, + add a .dll suffix. + Reported by Mark Junker . + + 2006-06-17 Bruno Haible + + * config.charset: Update for NetBSD 3.0. + + 2006-05-17 Bruno Haible + + Cygwin portability. + * localcharset.c (WIN32_NATIVE): Renamed from WIN32. + + 2006-05-16 Bruno Haible + + * localcharset.c [CYGWIN]: Include . + (get_charset_aliases): For Cygwin, return the same CPxxx + aliases list as under WIN32. + (locale_charset) [CYGWIN]: Try to retrieve the encoding from + the environment variables. Fall back to GetACP(). + + 2006-04-05 Bruno Haible + + * config.charset: Update Juan Manuel Guerrero's address. + + 2005-02-12 Bruno Haible + + * allocsa.h: Add extern "C" for C++. + + 2005-02-10 Bruno Haible + + * allocsa.h (sa_alignof): Define differently with AIX xlc, to + avoid a bug of this compiler on AIX 3.2.5 dealing with enums. + + 2006-07-22 Bruno Haible + + * gettext.h: Update to GNU gettext-0.15. + +2006-07-22 Bruno Haible + + * config/srclist.txt: Resync printf-args.c, vasnprintf.c, + localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4, + lib-prefix.m4, longdouble.m4, ssize_t.m4. + +2006-07-21 Eric Blake + + * modules/stdlib-safer: New file. + * MODULES.html.sh (File stream based Input/Output): Add + stdlib-safer. + +2006-07-21 Eric Blake + + * lib/stdlib-safer.h: New file from coreutils, required by + stdlib--.h. + +2006-07-20 Paul Eggert + + * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'. + +2006-07-20 Bruno Haible + + * gnulib-tool: Recognize new option --assume-autoconf. + (autoconf_minversion): New variable. + (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4. + +2006-07-20 Bruno Haible + + * MODULES.html.sh (func_all_modules): Add a missing func_begin_table. + +2006-07-19 Derek R. Price + + * lib/getaddrinfo.h: Don't define unimplemented AI_* flags. + Reindent and repaginate. + +2006-07-19 Derek Price + + * doc/gnulib.texi (Libtool and Windows): Eliminate passive voice. + Correct grammar. + +2006-07-17 Bruno Haible + + * modules/list: New file. + * modules/array-list: New file. + * modules/carray-list, modules/carray-list-tests: New files. + * modules/linked-list, modules/linked-list-tests: New files. + * modules/avltree-list, modules/avltree-list-tests: New files. + * modules/rbtree-list, modules/rbtree-list-tests: New files. + * modules/linkedhash-list, modules/linkedhash-list-tests: New files. + * modules/avltreehash-list, modules/avltreehash-list-tests: New files. + * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files. + * modules/oset: New file. + * modules/array-oset: New file. + * modules/avltree-oset, modules/avltree-oset-tests: New files. + * modules/rbtree-oset, modules/rbtree-oset-tests: New files. + * tests/test-carray_list.c: New file. + * tests/test-linked_list.c: New file. + * tests/test-avltree_list.c: New file. + * tests/test-rbtree_list.c: New file. + * tests/test-linkedhash_list.c: New file. + * tests/test-avltreehash_list.c: New file. + * tests/test-rbtreehash_list.c: New file. + * tests/test-avltree_oset.c: New file. + * tests/test-rbtree_oset.c: New file. + * MODULES.html.sh (Container data structures): New section. + +2006-07-17 Bruno Haible + + * m4/gl_list.m4: New file. + +2006-07-17 Bruno Haible + + * lib/gl_list.h: New file. + * lib/gl_list.c: New file. + * lib/gl_array_list.h: New file. + * lib/gl_array_list.c: New file. + * lib/gl_carray_list.h: New file. + * lib/gl_carray_list.c: New file. + * lib/gl_linked_list.h: New file. + * lib/gl_linked_list.c: New file. + * lib/gl_anylinked_list1.h: New file. + * lib/gl_anylinked_list2.h: New file. + * lib/gl_avltree_list.h: New file. + * lib/gl_avltree_list.c: New file. + * lib/gl_anyavltree_list1.h: New file. + * lib/gl_anyavltree_list2.h: New file. + * lib/gl_rbtree_list.h: New file. + * lib/gl_rbtree_list.c: New file. + * lib/gl_anyrbtree_list1.h: New file. + * lib/gl_anyrbtree_list2.h: New file. + * lib/gl_anytree_list1.h: New file. + * lib/gl_anytree_list2.h: New file. + * lib/gl_linkedhash_list.h: New file. + * lib/gl_linkedhash_list.c: New file. + * lib/gl_anyhash_list1.h: New file. + * lib/gl_anyhash_list2.h: New file. + * lib/gl_avltreehash_list.h: New file. + * lib/gl_avltreehash_list.c: New file. + * lib/gl_rbtreehash_list.h: New file. + * lib/gl_rbtreehash_list.c: New file. + * lib/gl_anytreehash_list1.h: New file. + * lib/gl_anytreehash_list2.h: New file. + + * lib/gl_oset.h: New file. + * lib/gl_oset.c: New file. + * lib/gl_array_oset.h: New file. + * lib/gl_array_oset.c: New file. + * lib/gl_avltree_oset.h: New file. + * lib/gl_avltree_oset.c: New file. + * lib/gl_rbtree_oset.h: New file. + * lib/gl_rbtree_oset.c: New file. + * lib/gl_anytree_oset.h: New file. + +2006-07-16 Paul Eggert + + * m4/mkancesdirs.m4: New file. + * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c, + dirchownmod.h. Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER; + no longer needed. Require gl_FUNC_LCHOWN, since dirchownmod.c needs + it. + +2006-07-16 Paul Eggert + + * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c: + * lib/mkancesdirs.h: New files. + * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h, + unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h, + save-cwd.h. Instead, include dirchownmod.h and mkancesdirs.h. + (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE, + MODE_BITS. Remove options VERBOSE_FMT_STRING, CWD_ERRNO. All + callers changed. Revamp internals significantly, by not + attempting to create directories that are temporarily more + permissive than the final results. Do not attempt to use + save_cwd/restore_cwd; it isn't worth it for mkdir and install. + This removes some race conditions, fixes some bugs, and simplifies + things. Use new dirchownmod function to do owner and mode changes. + * lib/mkdir-p.h: Likewise. + * lib/modechange.c (octal_to_mode): New function. + (struct mode_change): New member mentioned. + (make_node_op_equals): New arg mentioned. All callers changed. + (mode_compile): Keep track of which mode bits the user has explicitly + mentioned. + (mode_adjust): New arg DIR, so that we implement the X op correctly. + New arg PMODE_BITS, to keep track of which mode bits the user + mentioned; it treats S_ISUID and S_ISGID speciall. + All callers changed. + * lib/modechange.h: Likewise. + +2006-07-16 Paul Eggert + + * MODULES.html.sh: Add mkancestors. + * modules/mkancesdirs: New module. + * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h, + lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4. + The chdir-safer and afs files are now orphans; I'll remove them + unless someone speaks up. + Add lib/dirchownmod.c, lib/dirchownmod.h. + (Depends-on): Remove alloca, chown, save-cwd, dirname. + Add lchown, mkancesdirs. + (Maintainer): Add self. + +2006-07-15 Karl Berry + + * gnulib-tool: help message wording/arrangement. + +2006-07-14 Simon Josefsson + + * doc/gnulib.texi (Libtool and Windows): New section. + +2006-07-12 Simon Josefsson + + * modules/gendocs (License): Fix license, approved by Karl. + +2006-07-12 Eric Blake + + * MODULES.html.sh: Add gendocs. + +2006-07-11 Eric Blake + + * modules/fdl: New module, to install doc/fdl.texi. + * MODULES.html.sh: Add new section for documentation modules. + * gnulib-tool: Avoid space-tab. + (--doc-base): New option, to manage files from doc. + +2006-07-11 Eric Blake + + * m4/absolute-header.m4: Fix comments to match recent change. + +2006-07-11 Eric Blake + + * gnulib-tool: List --doc-base before --tests-base. + +2006-07-11 Derek R. Price + + * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/. + +2006-07-11 Bruno Haible + + * README: Mention where to put documentation. + +2006-07-10 Ralf Wildenhues + + * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos. + +2006-07-10 Paul Eggert + + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change + to stdint.m4. + +2006-07-10 Paul Eggert + + * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to + absolute-header.m4. Also, set ABSOLUTE_STDINT_H to a string + "no/such/file/stdint.h" when there is no such file, so that + the resulting C code can be parsed by dodgy compilers. + Problems reported by Bob Proulx. + +2006-07-10 Derek R. Price + + * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h: + Ignore the obsolescent !HAVE_DIRENT_H case. Consolidate NAMLEN + macros into the GNU _D_EXACT_NAMLEN. + * lib/savedir.c: Likewise. + (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen. + +2006-07-10 Derek R. Price + and Paul Eggert + + * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4: + * m4/savedir.m4: + Ignore the obsolescent !HAVE_DIRENT_H case. Consolidate NAMLEN + macros into the GNU _D_EXACT_NAMLEN. + +2006-07-09 Paul Eggert + + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <> + around the absolute name, to work around a problem with the HP-UX + 11.23 native C compiler, reported by Bob Proulx. + +2006-07-09 Paul Eggert + + * doc/maintain.texi, make-stds.texi: Sync from + . + +2006-07-09 Paul Eggert + + * build-aux/depcomp, build-aux/install-sh: Sync from Automake. + +2006-07-09 Jim Meyering + + * m4/glob.m4: Remove a doubled word in a comment. + +2006-07-09 Jim Meyering + + * lib/argp-pv.c: Remove a doubled word in a comment. + * lib/check-version.c (check_version): Likewise. + * lib/javacomp.c (compile_java_class): Likewise. + +2006-07-08 Paul Eggert + + * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4, + for the benefit of people using Autoconf 2.60. If you want to + support older Autoconf versions you can copy m4/onceonly_2_57.m4 + (or m4/onceonly.m4, if pre-2.57) manually. + +2006-07-08 Jim Meyering + + * m4/link-follow.m4: Remove one of two adjacent "whether"s in a + comment. + * m4/getopt.m4: Remove one of two adjacent "your"s in a comment. + * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a + comment. + +2006-07-08 Jim Meyering + + * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment. + +2006-07-07 Simon Josefsson + + * tests/test-crc.c: Change expected crc value, the test vector + were probably computed using the old broken crc.c? + +2006-07-06 Simon Josefsson + + * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is + now the canonical place for the M4 file). + + * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it + from the sys_socket dependency now. + + * modules/inet_pton (Files): Ditto. + + * modules/inet_ntop (Files): Ditto. + +2006-07-06 Ralf Wildenhues (tiny change) + + * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL, + not gl_PREREQ_GETUSERSHELL. + +2006-07-06 Ralf Wildenhues + + * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE + with only one argument, for Autoconf 2.60. + * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may + expand to nothing, so add a shell command to avoid syntax error. + * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise. + +2006-07-06 Ralf Wildenhues + + * lib/strtod.c (strtod): cast the argument of tolower to unsigned char. + +2006-07-06 Paul Eggert + + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl; + no longer needed. Check for isblank decl. + * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl. + * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead + of existence. + +2006-07-06 Paul Eggert + + * lib/getloadavg.c: Use __VMS, not VMS. + * lib/getopt.c: Likewise. + * lib/getpagesize.h: Likewise. + * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while + and probably does not work. + +2006-07-06 Paul Eggert + + * lib/.cppi-disable: Add wcwidth. + * lib/fnmatch.c (ISBLANK): Remove. All uses changed to isblank. + (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro. + (ISGRAPH): Remove. All uses changed to isgraph. + (FOLD) [!defined _LIBC]: Remove special case. + * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower. + * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not + HAVE_ISBLANK. + * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special + case. + +2006-07-06 Jim Hyslop (tiny change) + + * lib/getaddrinfo.c: Changes to compile under MSVC6: changed + '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside + brackets. Other minor changes to suppress some compiler + warnings. + +2006-07-06 Derek R. Price + and Paul Eggert + + * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead + of invoking obsolescent AC_HEADER_DIRENT macro. + * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise. + * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise. + * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise. + * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise. + * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise. + * m4/glob.m4 (gl_PREREQ_GLOB): Likewise. + * m4/savedir.m4 (gl_SAVEDIR): Likewise. + * m4/readdir.m4: Remove; no longer needed. + +2006-07-06 Derek R. Price + and Paul Eggert + + * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]: + Don't worry about this obsolete case any more. + (HAVE_DIR): Remove. All uses removed; we now assume you can read + directories. + * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't + worry about this obsolete case any more. + * lib/fts.c: Likewise. + * lib/getcwd.c: Likewise. + * lib/glob.h: Likewise. + * lib/savedir.c: Likewise. + +2006-07-05 Paul Eggert + + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE + rather than AC_CHECK_DECLS for strtoimax and strtoumax. + * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer + needed. + All uses removed. + * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise. + * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise. + * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer + needed. + * m4/getdate.m4 (gl_GETDATE): Likewise. + * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise. + * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise. + * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. + * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise. + * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise. + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. + * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer + needed. + +2006-07-05 Paul Eggert + + * lib/memcasecmp.c: Include . + (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX. + * lib/strtod.c (strtod): Don't assume isspace works on negative chars. + Don't assume isdigit succeeds only on '0' through '9'. + +2006-07-05 Eric Blake + + * modules/getaddrinfo (Depends-on): Add snprintf. + +2006-07-05 Eric Blake + + * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET + to avoid 'header present but could not be compiled' on cygwin. + +2006-07-05 Eric Blake + + * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if + missing from netdb.h. + * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf. + +2006-07-05 Derek R. Price + + * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC; + no longer needed. + * m4/exclude.m4 (gl_EXCLUDE): Likewise. + * m4/getdate.m4 (gl_GETDATE): Likewise. + * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise. + * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise. + * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. + * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise. + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. + +2006-07-05 Derek R. Price + + * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed. + All uses of is_space replaced by isspace. + * lib/exit.h: Don't talk about STDC_HEADERS. + * lib/fnmatch.c (ISASCII): Remove; no longer needed. All uses removed. + (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT): + (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed. All uses + replaced by isprint etc. + * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise. + * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise. + * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise. + * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise. + * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise. + * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise. + +2006-07-05 Bruno Haible + + * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether + the function exists, before testing against AIX. + Reported by Martin Lambers . + +2006-07-04 Paul Eggert + + * modules/cycle-check (lib_SOURCES): Add same-inode.h. + From Mark D. Baushke. + +2006-07-04 Paul Eggert + + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes + to the absolute name, not just one, to bypass Sun C 5.8's + "warning: #include of /usr/include/... may be non-portable". + +2006-07-04 Eric Blake + + * modules/dirname-tests: New test module. + * tests/test-dirname.c: New file, replacing dirname.c + TEST_DIRNAME section that was recently deleted. + +2006-07-04 Bruno Haible + + Assume ANSI C header files and functions. + * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros. + (mbsnwidth): Use isprint, iscntrl instead. + +2006-07-03 Paul Eggert + + Merge from coreutils. + * MODULES.html.sh: Add xstrtold. + * modules/xstrtold: New file. + * modules/cycle-check (Files): Add lib/same-inode.h. + * modules/dirname (Files): Add m4/double-slash-root.m4. + * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4. + * modules/mkdir-p (Files): Add lib/same-inode.h. + * modules/same (Files): Add lib/same-inode.h. + +2006-07-03 Paul Eggert + + * m4/absolute-header.m4: Renamed from full-header-path.m4. + This is to keep the terminology clean; POSIX talks about + "absolute pathnames", not "full pathnames", but the GNU + Coding Standards say to use "path" for something else; + so use "absolute" to keep both sides happy. + (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH. + Set gl_absolute_header, not gl_full_header_path. + Set gl_cv_absolute_
, not gl_full_path_
. + Define ABSOLUTE_
, not FULL_PATH_
. + All uses changed. + + Merge from coreutils. + + 2006-06-30 Paul Eggert + + * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES. + Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't + want to require the building of c-strtod.o. + * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer + needs -lm directly. + * m4/xstrtod.m4 (gl_XSTRTOLD): New macro. + + 2006-06-19 Paul Eggert + + * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's + --as-needed option if available. Problem reported by Albert Chin in + . + However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11 + cc merely issues a bunch of annoying warnings for --as-needed + (this problem was reported by Bob Proulx). Also, try linking with + -lm to detect a bug in binutils 2.16 (this problem was reported + by Ralf Wildenhues). + + 2006-06-18 Jim Meyering + + Test for a bug that causes glibc's getcwd to suffer a failed assertion. + * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and + macro. + * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null, + also check for glibc-2.4's abort-inducing bug. + + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo. + Low-probability clean-up should be to use rmdir to get rid of + the just-created directory, not unlink. + + * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make + configure fail, and request a bug report to inform us about it. + Add a comment that, barring reports to the contrary, in 2007 we'll + assume ftruncate is universally available. + + 2006-04-17 Paul Eggert + + * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration. + + 2006-03-12 Jim Meyering + + * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list. + * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise. + * m4/same.m4 (gl_SAME): Likewise. + * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise. + + 2006-03-11 Eric Blake + + * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT. + * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT. + * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h. + (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define. + +2006-07-03 Paul Eggert + + * lib/stdint_.h: Include after @FULL_PATH_STDINT_H@, for + MacOS X 10.4.6. Don't mention . Problems + reported by Mark D. Baushke, one in + . + + Merge from coreutils. + + * lib/.cppi-disable: Add stdint_.h. + * lib/.cvsignore: Add stdint.h. + + 2006-06-30 Paul Eggert + + * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support + both double and long double versions. + (XSTRTOD): Renamed from xstrtod. Use DOUBLE internally. + * lib/xstrtold.c: New file. + * lib/xstrtod.h (xstrtold): New decl. + + 2006-05-22 Paul Eggert + + * lib/filemode.c (setst): Remove. + (strmode): Rewrite to avoid setst. This makes the code shorter, + (arguably) clearer, and the generated code is a bit smaller on my + Debian GNU/Linux stable x86 host. + + 2006-04-17 Paul Eggert + + * lib/filemode.c: Include "filemode.h" first, to test the interface. + Assume that filemode.h includes sys/types.h and sys/stat.h. + (HAVE_ST_DM_MODE): New macro, moved here from ls.c. + (ftypelet): Reorder to put common cases first, for efficiency. + Add 'P', 'w'. Remove 'M', since it's now the caller's responsibility + to do 'M'. + (strmode): Renamed from mode_string, and now stores 12 bytes instead + of 10, for compatibility with FreeBSD. All callers changed. + (filemodestring): Now stores 12 bytes instead of 10, and sets file + types that can't be deduced solely from st_mode. First arg is now a + const pointer. + * lib/filemode.h (HAVE_DECL_STRMODE): Include for strmode. + (strmode): Renamed from mode_string. + (filemodestring): New decl. + * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy. + (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never + needed. + (S_ISPORT, S_ISWHT): New macros, if not already defined. + + 2006-04-12 Paul Eggert + + * lib/fsusage.c: Don't include or , since + fsusage.h now does that. Include fsusage.h first, to test interface. + Prefer statvfs if it works, since it's blessed by POSIX. Attempt + at most one method (the old code could have generated decls that + didn't conform to C89, not that this was ever exercised). + * lib/fsusage.h: Include and if they exist. + + 2006-03-19 Jim Meyering + + Work even in a chroot where d_ino values for entries in "/" + don't match the stat.st_ino values for the same names. + * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode + number, iterate through all entries again, using lstat instead. + Reported by Kenshi Muto in http://bugs.debian.org/355810, and by + Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656. + + * lib/getcwd.c (__getcwd): Clarify a comment. + Use memcpy in place of a call to strcpy. + + 2006-03-12 Jim Meyering + + * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair + matches that of the current directory (which we're about to chdir ".." + out of), then save the dev-ino of the parent, instead. + + * lib/same-inode.h (SAME_INODE): New file/macro. + * lib/chdir-safer.c (SAME_INODE): Remove definition. + Include "same-inode.h", instead. + * lib/same.c: Likewise. + * lib/cycle-check.h: Include "same-inode.h". + (CYCLE_CHECK_REFLECT_CHDIR_UP): Define. + * lib/cycle-check.c (SAME_INODE): Remove definition. + * lib/root-dev-ino.h: Include "same-inode.h". + + 2006-03-11 Eric Blake + + * lib/same.c (same_name): s/base_name/last_component/ + * lib/backupfile.c (check_extension, numbered_backup): Likewise. + * lib/filenamecat.c (file_name_concat): Likewise. + + 2006-03-11 Eric Blake , + Paul Eggert + + * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4. + [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a + drive prefix. + (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on + platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE. + (last_component): New method. + * lib/dirname.c (dir_len): Determine when drive letters need a + subsequent slash. Preserve // when it is special. + (dir_name): Don't append dot when drive letter is absolute. + [TEST_DIRNAME]: Move into a full-blown gnulib test. + * lib/basename.c (base_name): New semantics - malloc the result. + Preserve // when it is special. Preserve relative files that look + like drive letters. + (base_len): Preserve // when it is special. + (last_component): New method, similar to old base_name semantics. + * lib/stripslash.c (strip_trailing_slashes): Use last_component, not + base_name. Strip redundant slashes from ///. + +2006-07-03 Jim Meyering + + * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this + macro is used before the first cycle_check call. + +2006-07-03 Eric Blake + + * modules/dirname (Depends-on): Add xstrndup. + +2006-07-02 Paul Eggert + + * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for + test cases, so that config.log is a bit easier to follow. + +2006-07-02 Paul Eggert + + * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if + both are 64 bits, since this seems to be the tradition, and this + prevents gcc -Wformat from warning about usages with PRIuMAX. If + we ever run into a host that prefers long long to long in this + case, we'll need another configure-time test. Problem reported by + Jim Meyering. + +2006-07-02 Eric Blake + + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS. + +2006-07-01 Paul Eggert + + * modules/inttypes (Depends-on): No longer depends on stdint. + * modules/stdint (Description): Say more about assumptions. + Say that the fast types might differ. Say macros are used. + (Files): Remove m4/size_max.m4, m4/wchar_t.m4. Add m4/longlong.m4. + (Makefile.am): Revise list of substituted symbols to match + new stdint.m4. + * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4. + (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T. + * tests/test-stdint.c (verify_same_types) + [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that + the code conforms to C99/C89. + Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T. + Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T. + +2006-07-01 Paul Eggert + + * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60, + but fix a bug, by requiring at least 64 bits. + * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise. + * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call + AC_TYPE_LONG_LONG_INT. This macro is obsolete and will go soon. + * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise. + + * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h + changes. Make 2.59 a prerequisite. Check and substitute for + HAVE_LONG_LONG_INT. Rely on Autoconf to check for stdint.h and + inttypes.h. Do not use special include files; just use the + defaults. Check for sys/inttypes.h and sys/bitypes.h in the usual + way now. Remove no-longer-needed tests for HAVE_LONG_64BIT, + HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t, + uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t, + int_least32_t, int_least64_t, uint_least8_t, uint_least16_t, + uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t, + int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t, + uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t, + uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, + UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, + INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, + UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX, + UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX, + UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, + UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX, + INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN, + INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX, + UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, + INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, + SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, + WINT_MAX. Check for C99 conformance more strictly, by detecting + bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9. On the other hand do + not check for things that C99 does not require, e.g., int8_t. If + a test isn't needed unless isn't working, and is + unlikely to be needed for any other reason, then don't do it + unless isn't working. Do not check for ptrdiff_t or + size_t, since we assume C89 freestanding at least. Do not check + for sig_atomic_t, wchar_t, or wint_t, since the code now does + the right thing even if the types are not defined. Instead use: + (gl_STDINT_TYPE_PROPERTIES): New macro. + (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove. Don't bother + testing whether clashes, as Autoconf does this for + us now. All uses removed. + (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND): + (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2): + (gl_CHECK_TYPE_SAME): + Remove; no longer needed. + (gl_STDINT_BITSIZEOF): Don't bother to check whether the type + exists, since we'll return 0 anyway in that case. + (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros. + +2006-07-01 Paul Eggert + + * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid + possible collision with system files. + (, , ) [defined __cplusplus && ! defined + __STDC_CONSTANT_MACROS)]: Do not include, since we don't need + WCHAR_MIN and WCHAR_MAX in this case. + (): Do not include; no longer needed. + (): Include if @HAVE_SYS_TYPES_H@, not if + (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)). + (): Include if @HAVE_SYS_INTTYPES_H@ && + !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__) + && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)). + (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined + __c99]: Define, to work around IRIX incompatibility. + (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ && + !defined(__c99))]: Include in this case too, since it's harmless + now. + () [@HAVE_INTTYPES_H@]: Include, since it's no longer + dangerous to do so. + (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) && + @HAVE_INTTYPES_H@]: Do not include, since we now include . + (_STDINT_MIN, _STDINT_MAX): New macros. + (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t): + (uint64_t, int_least8_t, uint_least8_t, int_least16_t): + (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t): + (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t): + (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t): + (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now + macros, not typedefs; this simplifies things quite a bit. + Use long int for all types narrower than int64_t. + (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C): + Define in terms of long long int or int64_t or long int, + not int64_t or int32_t. This saves some compile-time testing. + (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX): + (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX): + (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX): + (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX): + (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX): + (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN): + (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX): + (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX): + (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN): + (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX): + (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX): + (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX): + undef any previous version and define our own version, for + simplicity and consistency with the new macros for types. + (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX): + (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX): + Simplify definitions by using _STDINT_MIN and _STDINT_MAX + where appropriate. Rely on new symbols @PTRDIFF_T_SUFFIX@, + @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@, + @WINT_T_SUFFIX@ to keep things simple here. + (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C): + Simplify by assuming typical 8/16/32/64 host, since we're + already doing that elsewhere anyway. + Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@, + and assume long long int is 64 bits if available. This + speeds up 'configure'. + +2006-07-01 Eric Blake + + * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM. + Reported by Andreas Buening. + +2006-07-01 Eric Blake + + * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy. + +2006-06-30 Jim Hyslop (tiny change) + + * lib/getaddrinfo.c: fixed typo + +2006-06-29 Jim Meyering + + * modules/strftime (Maintainer): Add my name, since with the + FPRINTFTIME changes strftime.c has forked from glibc. + +2006-06-29 Eric Blake + + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE. + +2006-06-29 Eric Blake + + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file. + +2006-06-29 Eric Blake + + * lib/stat_.h: New file. + +2006-06-29 Eric Blake + + * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about + unused static function. + +2006-06-29 Eric Blake + + * doc/functions.texi (Function Portability): Document missing lstat + on mingw. + +2006-06-29 Eric Blake + + * MODULES.html.sh: Add sys_stat. + * modules/sys_stat: New module. + * modules/mkstemp (Depends-on): Add sys_stat. + +2006-06-29 Derek R. Price + + * m4/strftime.m4: Don't call AC_FUNC_STRFTIME. + +2006-06-29 Derek R. Price + + * m4/c-bs-a.m4: Removed. + +2006-06-29 Derek R. Price + + * lib/strftime.c: Assume strftime() exists. + +2006-06-29 Derek Price + + * modules/c-bs-a: Removed - \a is C89. + * MODULES.html.sh: Remove c-bs-a. + +2006-06-29 Bruno Haible + + * modules/wcwidth (License): Change to LGPL. + +2006-06-28 Simon Josefsson + + * tests/test-getaddrinfo.c: Test getnameinfo too. Call WSAStartup + on _WIN32. + + * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by + getnameinfo. + +2006-06-28 Simon Josefsson + + * m4/getaddrinfo.m4: Look for getnameinfo prototypes too. + +2006-06-28 Simon Josefsson + + * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the + functions there. It will succeed on Windows XP, but on Windows + 2000 and (presumably) earlier, it will fail, and use the internal + re-implementation. + (use_win32_p): New function. + (getaddrinfo): Use strtoul on servname, to support numeric ports. + Support AI_NUMERICSERV to disable getservbyname. + (getnameinfo): New function, only supports + NI_NUMERICHOST|NI_NUMERICSERV for now. + + * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW + only have some of them. Add AI_NUMERICSERV. Add prototype for + getnameinfo. + +2006-06-28 Eric Blake + + * modules/wcwidth: New file. + * modules/mbchar (Depends-on): Add wcwidth. + * modules/mbswidth (Depends-on): Add wcwidth. + * MODULES.html.sh: Add wcwidth. + +2006-06-28 Eric Blake + + * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here... + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file. + +2006-06-28 Eric Blake + + * lib/xvasprintf.h: Fix comments. + +2006-06-28 Eric Blake + + * lib/mbchar.h (wcwidth): Include wcwidth.h. + * lib/mbswidth.c (wcwidth): Move from here... + * lib/wcwidth.h: ...to this new file. + +2006-06-28 Derek R. Price + + * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement. + + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since + it's obsolete. + * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise. + +2006-06-28 Derek R. Price + + * lib/savedir.c (CLOSEDIR): Remove. All uses changed to closedir. + Autoconf 2.60 says this stuff was obsolete. + +2006-06-28 Bruno Haible + + * modules/wcwidth (Files): Add m4/wchar_t.m4. + +2006-06-28 Bruno Haible + + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and + gt_TYPE_WCHAR_T. + +2006-06-28 Bruno Haible + + * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback + declaration for wcwidth. + * lib/mbswidth.c: Restore the includes of and . + +2006-06-28 Bruno Haible + + * lib/mkdtemp.c [MINGW]: Include . + (mkdir): Define using _mkdir. + +2006-06-28 Bruno Haible + + * lib/getaddrinfo.h: Fix POSIX URL. + * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of + _WIN32. + (use_win32_p): Make static. + (getaddrinfo): Reject service name if it is empty or does not consist + solely of decimal digits, or if its value is > 65535. + (getnameinfo): Remove useless casts. + +2006-06-27 Simon Josefsson + + * modules/sys_select: New file, suggested by Bruno Haible, Paul + Eggert and Martin Lambers. + +2006-06-27 Simon Josefsson + + * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul + Eggert and Martin Lambers. + +2006-06-27 Bruno Haible + + * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the + result to 0, not to empty. + Reported by Martin Neitzel . + +2006-06-27 Bruno Haible + + * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef. + +2006-06-26 Simon Josefsson + + * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is + present. + +2006-06-26 Paul Eggert + + * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid + bug in IBM C V6 for AIX. Problem reported by Larry Jones in + . + +2006-06-26 Mark D. Baushke + + * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD. + +2006-06-26 Bruno Haible + + * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H. + +2006-06-26 Bruno Haible + + * m4/stdint.m4 (gl_STDINT_H): Test also for . + +2006-06-26 Bruno Haible + + * m4/stdint.m4 (gl_STDINT_H): Don't include when using the + SGI C compiler in pre-C99 mode. + Suggested by Mark D. Baushke and Larry Jones. + +2006-06-26 Bruno Haible + + * lib/stdint_.h: Include if necessary for WCHAR_MIN or + WCHAR_MAX. + Reported by Mark D. Baushke and Larry Jones. + +2006-06-26 Bruno Haible + + * lib/stdint_.h: Don't include when using the SGI C compiler + in pre-C99 mode. + Suggested by Mark D. Baushke and Larry Jones. + +2006-06-23 Simon Josefsson + Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS. + Emit mostlyclean-local rule. + (func_emit_tests_Makefile_am): Likewise. + * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS. + +2006-06-23 Mark D. Baushke + + * lib/stdint_.h: Treat BSD/OS like OpenBSD. + +2006-06-23 Bruno Haible + + * tests/test-stdint.c: Update to match ISO C 99 Technical + Corrigendum 1. + +2006-06-23 Bruno Haible + + * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD. + +2006-06-23 Bruno Haible + + * lib/stdint_.h: Treat IRIX like OpenBSD. + +2006-06-23 Bruno Haible + + * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to + ISO C 99 Technical Corrigendum 1. + +2006-06-22 Simon Josefsson + + * m4/sockpfaf.m4: Include winsock2.h too, to make it work under + MinGW. + +2006-06-22 Paul Eggert + + * lib/glob.c (collated_compare): Remove 'const' uses that weren't + needed. Some compiler complained about some of them. Problem reported + by Larry Jones in + . + +2006-06-21 Simon Josefsson + + * tests/test-getaddrinfo.c: New file. + + * modules/getaddrinfo-tests: New file. + + * MODULES.html.sh: Add inet_pton. + + * modules/inet_pton: New file. + +2006-06-21 Simon Josefsson + + * m4/getaddrinfo.m4: Don't define WINVER. Look for gethostbyname in + -lws2_32 too. Fixes getaddrinfo on Windows 2000, with the price + of using the (limited) gnulib implementation on Windows XP. + + * m4/inet_pton.m4: New file. + +2006-06-21 Simon Josefsson + + * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return + variable. + + * lib/socket_.h: Don't define WINVER. + + * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but + slightly modified to work in gnulib. + +2006-06-21 Simon Josefsson + + * doc/gnulib.texi (Windows sockets): Add. + +2006-06-21 Paul Eggert + + * lib/read-file.c (fread_file): Start with buffer allocation of + 0 bytes rather than 1 byte; this simplifies the code. + Don't invoke feof; it's not needed. Refactor to avoid duplicate + code to free buffer and save/restore errno. + (internal_read_file): Remove unused local. + +2006-06-20 Paul Eggert + + * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210 + . + Problem reported by Denis Excoffier in + . + +2006-06-19 Yoann Vandoorselaere + + * modules/sys_socket, modules/socklen: Include sys/types since + FreeBSD 4.x's sys/socket.h needs it. + +2006-06-19 Simon Josefsson + + * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it. + +2006-06-19 Paul Eggert + + * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare. + +2006-06-19 Bruno Haible + + * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H + and FULL_PATH_INTTYPES_H in angle brackets. + Reported by Mark D. Baushke . + +2006-06-17 Eric Blake + + * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares + errno. + +2006-06-17 Bruno Haible + + * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include + . + +2006-06-17 Bruno Haible + + * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test + whether errno is declared. Assume declares errno. + +2006-06-17 Bruno Haible + + * lib/stdint_.h [FreeBSD >= 5]: Don't include . + +2006-06-17 Bruno Haible + + * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a + problem on Solaris 2.5.1. + +2006-06-16 Eric Blake + + * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno. + * lib/unicodeio.c [!defined errno]: Likewise. + * lib/strtol.c [!defined errno]: Likewise. + * lib/strtod.c [!defined errno]: Likewise. + +2006-06-15 Eric Blake + + * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror. + +2006-06-15 Eric Blake + + * config/srclist.txt (ssize_t.m4): Lose sync. + +2006-06-15 Bruno Haible + + * modules/stdint (Files): Include m4/full-header-path.m4, + m4/size_max.m4, m4/wchar_t.m4. + (Makefile.am): Many more substitutions. + * modules/stdint-tests: New file. + * tests/test-stdint.c: New file. + +2006-06-15 Bruno Haible + + * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h. + (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES, + gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS, + gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED, + gl_CHECK_TYPE_SAME): New macros. + +2006-06-15 Bruno Haible + + * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling. + +2006-06-15 Bruno Haible + + * lib/stdint_.h: Rewritten to be fully auto-configured. + Fixes bug on HP-UX/IA64. + +2006-06-11 Paul Eggert + + * lib/getdate.y (__attribute__): Don't define if already defined. + Problem reported by Larry Jones. + * lib/utimens.c (__attribute__): Likewise. + +2006-06-04 Paul Eggert + + * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun + reported by Andreas Schwab. + +2006-05-30 Ralf Wildenhues + Bruno Haible + + * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a + check for the declaration of strnlen and a run test that exposes the + AIX 5.1 strnlen bug. In the failure case, #define strndup to + rpl_strndup. + +2006-05-30 Ralf Wildenhues + Bruno Haible + + * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition. + +2006-05-28 Ralf Wildenhues + + * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a + compile test, for Tru64 4.0D. + +2006-05-28 Karl Berry + + * config/srclist.txt (printf-args.c): lose sync. + +2006-05-26 Martin Lambers + + * lib/getpass.c: Updates the test for the native W32 API, and adds + missing includes, thus fixing compilation warnings. + +2006-05-25 Sergey Poznyakoff + + * lib/exclude.c (exclude_fnmatch): New function. + (excluded_file_name): Call exclude_fnmatch. + * lib/exclude.h (excluded_file_name): New prototype + +2006-05-25 Paul Eggert + + * lib/tempname.c (small_open, large_open): New macros. + (__open, __open64) [!_LIBC]: Remove. + (__gen_tempname): Use small_open and large_open instead of __open + and __open64. This fixes a portability bug on HP-UX 11.11i + reported by Simon Wing-Tang in + . + +2006-05-24 Bruno Haible + + * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for + TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement. + Reported by Thorsten Maerz via + Aaron Stone . + +2006-05-19 Paul Eggert + + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use + gl_ rather than jm_. Link, don't run, so that cross-compiles are + allowed. Check that resulting type is arithmetic. Move AC_REQUIRE + and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're + not really conditional on the cache. + (gl_PREREQ_NANOSLEEP): Check for sys/select.h. + +2006-05-19 Paul Eggert + + * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include . + Use the usual Autoconf way to include and/or sys/time.h. + (my_usleep): Don't mishandle maximum value. + +2006-05-19 Jim Meyering + + * lib/getugroups.c: Correct an outdated comment. From Bruno Haible. + +2006-05-17 Bruno Haible + + Cygwin portability. + * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'. + +2006-05-17 Bruno Haible + + * lib/stdint_.h: Fix recognition of Cygwin. + +2006-05-15 Bruno Haible + + * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based + on libtool patch by Ralf Wildenhues. + +2006-05-14 Paul Eggert + + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky + test for C99 conformance; (bool) 0.5 is an integer constant + expression, but (bool) -0.5 is not. Problem reported by Fedor + Sergeev in . + +2006-05-11 Simon Josefsson + + * m4/xvasprintf.m4: Fix obvious typo. + +2006-05-11 Jim Meyering + + * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/. From + James Lemley. + +2006-05-10 Simon Josefsson + + * lib/md4.c: Typo fix, update copyright years. + (K1, K2): Don't use L because it turn computations into 64-bit on + 64-bit platforms. + +2006-05-10 Paul Eggert + + * lib/crc.c (crc32_update): Remove unnecessary L suffix. + * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent + unwanted sign propagation, e.g., on hosts with 64-bit int. + There still are some problems with reeelly weird theoretical hosts + (e.g., 33-bit int) but it's not worth worrying about now. + * lib/sha1.c (rol): Likewise. + (K1, K2, K3, K4): Remove unnecessary L suffix. + +2006-05-10 Bruno Haible + + * lib/des.c: Cast to avoid warnings. + +2006-05-09 Bruno Haible + + * modules/xvasprintf (Files): Add m4/xvasprintf.m4. + (Depends-on): Depend also on xsize, stdarg. + (configure.ac): Add gl_XVASPRINTF. + +2006-05-09 Bruno Haible + + * m4/xvasprintf.m4: New file. + +2006-05-09 Bruno Haible + + * lib/xvasprintf.c: Include limits.h, string.h, xsize.h. + (EOVERFLOW): Define fallback value. + (xstrcat): New function. + (xvasprintf): Recognize the special case of a string concatenation. + +2006-05-08 Eric Blake + + * gnulib-tool (func_version): Base copyright year on CVS date. + (func_emit_copyright_notice): New function. + (func_emit_lib_Makefile_am): Use it. + (func_emit_tests_Makefile_am): Likewise. + (func_import): Likewise. + +2006-05-08 Bruno Haible + + * modules/stdarg: New file. + * MODULES.html.sh (func_all_modules): Add section for . + +2006-05-08 Bruno Haible + + * m4/stdarg.m4: New file, from GNU gettext. + +2006-05-08 Bruno Haible + + * config/srclist.txt (build-aux/config.rpath): different from latest + release. + +2006-05-08 Bruno Haible + + * build-aux/config.rpath: Add support for Sun C 5.9 on Linux. + +2006-05-05 Jim Meyering + + * m4/warning.m4: New file, derived from bison's file by the same name. + +2006-05-03 Bruno Haible + + * lib/stdint_.h: Shorter URL. + * lib/inttypes.h: Likewise. + +2006-05-02 Paul Eggert + + * modules/inttypes (Maintainer): Change from Derek Price to 'all'. + +2006-05-02 Paul Eggert + + * lib/verify.h: Document the internals better. Most of this change + was written by Bruno Haible. + +2006-05-02 Paul Eggert + + * doc/verify.texi: New file, partly based on a proposal by + Bruno Haible. + +2006-05-02 Bruno Haible + + * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next + test from here... + * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here. + +2006-04-29 Bruno Haible + + * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd. + Suggested by Oskar Liljeblad . + +2006-04-29 Bruno Haible + + * gnulib-tool: Make --update option actually work. + +2006-04-29 Bruno Haible + + * doc/gcd.texi: New file. + * doc/gnulib.texi: Include it. + +2006-04-25 Paul Eggert + + * lib/getdate.y (get_date): When adding relative date, start with the + initial time, not with the result of the first mktime call. + +2006-04-25 Bruno Haible + + * gnulib-tool (func_import): Output the include directives in three + blocks, sorted separately. + Reported by Ben Pfaff . + +2006-04-24 Paul Eggert + + * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype + to define main with arguments, for C++. Reported by Eric Blake. + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): + Prefer 'int main ()' to 'int main (void)', for C++. + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise. + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type + for 'main', for C99 and C++. + +2006-04-24 Paul Eggert + + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit. + Don't assume that exit status -1 is valid. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise. + * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise. + * m4/readdir.m4 (GL_FUNC_READDIR): Include . + * m4/rename.m4 (vb_FUNC_RENAME): Likewise. + * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE, + not AC_TRY_RUN. Use return, not exit. Don't assume that + functions can be used without declaring them, or that you can + exit with status -1. + * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise. + +2006-04-24 Karl Berry + + * config/srclist.txt (longdouble.m4): sync lost. + +2006-04-24 Eric Blake + + * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning. + +2006-04-24 Bruno Haible + + * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the + poll() implementation in AIX. + Reported by Ralf Wildenhues . + +2006-04-24 Bruno Haible + + * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets + assigned exactly once. + +2006-04-23 Claudio Fontana + Bruno Haible + + * modules/gettext (Makefile.am): Add a -I flag for . + * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value + for AM_CPPFLAGS. + +2006-04-23 Bruno Haible + + * modules/copy-file: Depend on unistd. + * modules/execute: Likewise. + * modules/fatal-signal: Likewise. + * modules/findprog: Likewise. + * modules/mkdtemp : Likewise. + * modules/pipe: Likewise. + * modules/wait-process: Likewise. + +2006-04-23 Bruno Haible + + * lib/fwriteerror.c (fwriteerror): Call fclose also when an error + condition was already detected. + Reported by Ben Pfaff . + +2006-04-23 Bruno Haible + + * lib/copy-file.c: Include unconditionally. + * lib/execute.c: Likewise. + * lib/fatal-signal.c: Likewise. + * lib/findprog.c: Likewise. + * lib/mkdtemp.c: Likewise. + * lib/pipe.h: Likewise. + * lib/pipe.c: Likewise. + * lib/wait-process.h: Likewise. + +2006-04-23 Bruno Haible + + * gnulib-tool (func_usage): Fix --import description. Document + --update. + (func_import): Create temporary file in a temporary directory, if + --dry-run is specified. Silence errors from 'grep' when there are no + m4 files in $m4dir. + (func_create_testdir): Silence errors from 'grep' when there are no + m4 files in $m4dir. + Reported by Karl Berry . + +2006-04-20 Bruno Haible + + * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than + one argument, so that the code will be portable to Autoconf 2.60. + * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise. + * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise. + * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise. + +2006-04-19 Derek Price + Eric Blake + + * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use + rather than "/full/path.h". Update comment to match. Shorten & + generalize m4_translit call via AS_TR_CPP. + +2006-04-19 Derek Price + Eric Blake + + * lib/inttypes.h: Correct grammar in comment. + +2006-04-18 Derek Price + Paul Eggert + + * modules/inttypes: New file. + * modules/strtoimax, modules/strtoumax: Depend on inttypes. + +2006-04-18 Derek Price + Paul Eggert + + * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4: + New files. + +2006-04-18 Derek Price + Paul Eggert + + * lib/inttypes.h: New file. + * lib/strtoimax.c: Assume . + +2006-04-15 Paul Eggert + + * lib/utimens.c (futimens): glibc futimesat messes up if /proc + isn't mounted. Problem reported by Kir Kolyshkin. + +2006-04-13 Paul Eggert + + * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if + RE_ENABLE_I18N is not defined. Problem reported by Mark D. Baushke via + Derek R. Price. + * lib/regex.h (RE_DUP_MAX): Update comment to match current + implementation. + +2006-04-12 Eric Blake + + * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this + is now done automatically by the corresponding Autoconf macro. + +2006-04-11 Paul Eggert + + * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and + time_r.h. + +2006-04-09 Paul Eggert + + Merge regex changes from libc, removing some of our + POSIX-conformance changes that were rejected and redoing them in a + less-intrusive way. + + * lib/regcomp.c (re_compile_internal, init_dfa): + Length arg is now size_t, not Idx. All uses changed. + (peek_token): Forward decl now says internal_function. + (__re_error_msgid, __re_error_msgid_idx): + Now static rather than extern with attribute_hidden. + (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn. + For some reason libc prefers K&R style defns for external functions. + (regerror) [!defined _LIBC]: Likewise. + (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp): + (seek_collating_symbol_entry, lookup_collation_sequence_value): + (build_range_exp, build_collating_symbol): + Use K&R-style defn. + (re_compile_fastmap): Use '\0' to memset, not 0. + (utf8_sb_map): Make the calculations more obvious. + (init_dfa, parse_bracket_exp, build_charclass_op): + Call calloc and cast result, as glibc does. + (init_word_char, fetch_token, peek_token, peek_token_bracket): + (build_range_exp, build_collating_symbol): + Now internal functions. + + * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers. + + * lib/regex.h (__USE_GNU_REGEX): New macro. Don't depend on + _REGEX_SOURCE any more; depend on _GNU_SOURCE instead. + Don't depend on VMS; depend on __VMS instead, for POSIX + namespace cleanness. + (regoff_t): Define to ssize_t, not long int. + + Remove the REG_ macros named below. Instead, make the old names + (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if + __USE_GNU_REGEX. + (REG_BACKSLASH_ESCAPE_IN_LISTS): + (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS): + (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS): + (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE): + (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT): + (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS): + (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES): + (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING): + (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD): + (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE): + (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS): + (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK): + (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP): + (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON): + (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC): + (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED): + (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED): + (REG_NREGS): + Remove. All uses replaced by the old RE_* names. + (RE_BACKSLASH_ESCAPE_IN_LISTS): + (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS): + (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS): + (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE): + (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT): + (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS): + (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES): + (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING): + (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD): + (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE): + (RE_CONTEXT_INVALID_DUP, RE_NO_SUB): + Don't bother having these macros be independent of each others' + values, since they no longer exist in the POSIX name space. + + Rename the following member names back to their old names, + unless !__USE_GNU_REGEX. All uses changed back. + (buffer): Renamed from re_buffer. + (allocated): Renamed from re_allocated. + (used): Renamed from re_used. + (syntax): Renamed from re_syntax. + (fastmap): Renamed from re_fastmap. + (translate): Renamed from re_translate. + (can_be_null): Renamed from re_can_be_null. + (regs_allocated): Renamed from re_regs_allocated. + (fastmap_accurate): Renamed from re_fastmap_accurate. + (no_sub): Renamed from re_no_sub. + (not_bol): Renamed from re_not_bol. + (not_eol): Renamed from re_not_eol. + (newline_anchor): Renamed from re_newline_anchor. + (num_regs): Renamed from rm_num_regs. + (start): Renamed from rm_start. + (end): Renamed from rm_end. + + (free_state): Move up a bit. + + * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]: + #define to be empty. + (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2 + when that is what is intended. + (SBC_MAX): Define to UCHAR_MAX + 1, not 256. + (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed. + (MAX): New macro. + (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove. + All uses changed back to re_malloc, etc. It's now the caller's + responsibility to check for overflow; all callers changed. + (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc): + (re_x2nrealloc): Remove. + (free_state): Remove decl. + + * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2): + (re_set_registers, re_exec): + Use K&R-style defn. + + 2006-01-31 Roland McGrath + + * lib/regcomp.c (calc_eclosure_iter): Remove dead variables. + Reported by Mike Frysinger . + + 2006-01-15 Andreas Jaeger + + [BZ #1950] + * lib/regex_internal.c (re_string_reconstruct): Adjust for + build_wcs_upper_buffer change. + (build_wcs_upper_buffer): Change return type. + + 2005-12-10 Ulrich Drepper + + * lib/regex_internal.h: Include if available. + + 2005-12-06 Paolo Bonzini + + * lib/regex_internal.h (SIZE_MAX): Provide a default definition. + + 2005-10-14 Ulrich Drepper + + * lib/regcomp.c: Adjust for changed secondary hash function. + + 2005-09-30 Ulrich Drepper + + * lib/regex.h: Pretty printing. + Clean up namespace a bit. + + 2005-09-30 Jakub Jelinek + + * lib/regexec.c (update_cur_sifted_state, check_arrival, + check_arrival_add_next_nodes): Avoid using uninitialized variable. + + 2005-09-06 Paul Eggert + Ulrich Drepper + + [BZ #1302] + * lib/regex_internal.h (bitset_t): Renamed from bitset. All uses + changed. + (bitset_word_t): Renamed from bitset_word. All uses changed. + + 2005-09-22 Ulrich Drepper + + [BZ #281] + * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *. + * lib/regcomp.c: Remove unnecessary uses of + unsigned RE_TRANSLATE_TYPE. + * lib/regex_internal.h: Likewise. + * lib/regex_internal.c: Likewise. + * lib/regexec.c: Likewise. + Based on a patch by Stepan Kasal . + + 2005-09-07 Ulrich Drepper + + * lib/regexec.c (find_recover_state): Remove unnecessary + initialization. + (transit_state_bkref): Make DFA a const pointer. + (get_subexp): Likewise. + (check_arrival): Likewise. + (update_cur_sifted_state): Likewise. + (re_search_internal): Likewise. + (prune_impossible_nodes): Likewise. + (acquire_init_state_context): Likewise. + (proceed_next_node): Likewise. + (set_regs): Likewise. + (free_fail_stack_return): Likewise. + (check_arrival_expand_ecl): Mark DFA parameter as const. + (check_arrival_expand_ecl_sub): Likewise. + (check_subexp_limits): Likewise. + (sub_epsilon_src_nodes): Likewise. + (add_epsilon_src_nodes): Likewise. + (merge_state_array): Likewise. + (update_regs): Likewise. + (build_trtable): Likewise. + (sift_states_backward): Mark MCTX parameter as const. + (build_sifted_states): Likewise. + (update_cur_sifted_state): Likewise. + (sift_states_mkref): Likewise. + (check_arrival_expand_ecl): Mark eclosure as const. + (check_dst_limits_calc_pos_1): Likewise. + * lib/regex_internal.h (re_match_context_t): Make dfa a const + pointer. + + 2005-09-06 Ulrich Drepper + + * lib/regexec.c (merge_state_with_log): Define dfa as const pointer. + (transit_state_sb): Likewise. + (transit_state_mb): Likewise. + (sift_states_iter_mb): Likewise. + (check_arrival_add_next_nodes): Likewise. + (check_node_accept_bytes): Change first parameter to pointer-to-const. + [_LIBC] (re_search_2_stub): Use mempcpy. + + * lib/regex_internal.c (re_string_reconstruct): Avoid calling + mbrtowc for very simple UTF-8 case. + + * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg + a pointer-to-const. + (re_acquire_state_context): Likewise. + * lib/regex_internal.h: Adjust prototypes. + + * lib/regex.c: Prevent using C++ compilers. + + * lib/regex_internal.c (re_acquire_state): Minor code rearrangement. + (re_acquire_state_context): Likewise. + +2006-04-09 Paul Eggert + + * modules/regex (Depends-on): Add ssize_t. + +2006-04-09 Paul Eggert + + * m4/regex.m4 (gl_REGEX): Check for new glibc interface to + translation table. + +2006-04-09 Paul Eggert + + * doc/gnulib-tool.texi (Modified imports): pathname -> file name. + +2006-03-29 Mark D. Baushke + Bruno Haible + + * lib/stdint_.h: On OpenBSD, don't redefine types already included in + and . + +2006-03-25 Ralf Wildenhues + + * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define + `__error_t_defined', so argp.h will not typedef the former. + +2006-03-25 Paul Eggert + + * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP, + REG_SYNTAX_EMACS, and REG_IGNORE_CASE. Settle for the traditional + glibc names. Even if glibc is changed to conform to POSIX, the + traditional names will be available anyway, since regex depends on + the extensions module. Also, fix a longstanding typo in the + implementation of Spencer ERE test #75 from grep 2.3. Problems + reported by Emanuele Giaquinta. Also, change sense of cached + variable, so that the message makes sense. + +2006-03-24 Simon Josefsson + + * lib/base64.c: Fix problems reported by Eric Blake , + including some doc fixes. + (base64_encode_alloc): Fix +1 bug on allocation failures. + +2006-03-24 Ralf Wildenhues + + * lib/base64.c (base64_encode): Do not read past end of array with + unsanitized input on systems with CHAR_BIT > 8. + +2006-03-24 Eric Blake + + * lib/time_r.c (copy_string_result): Remove, as it is no longer used. + +2006-03-22 Karl Berry + + * config/srclist.txt (*setenv.[ch]): get from coreutils. + * config/srclistvars.sh (COREUTILS): new var. + +2006-03-17 Jim Meyering + + * m4/regex.m4 (gl_REGEX): Fix typo in last change: + s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/. + +2006-03-16 Paul Eggert + + * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code + no longer needs it. Instead, check that regoff_t is as least + as wide as ptrdiff_t. + + Don't define _REGEX_WIDE_OFFSETS unless using the included regex, + so that our regex.h stays compatible with the installed regex. + This is helpful for installers who configure --without-included-regex. + Problem reported by Emanuele Giaquinta. + +2006-03-16 Paul Eggert + + * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]: + Typedef to long int, not to off_, as POSIX will likely change + in that direction. + +2006-03-15 Eric Blake + + * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT. + +2006-03-13 Sergey Poznyakoff + + * lib/argp-help.c (validate_uparams): Fix typo + * lib/argp-parse.c (argp_default_options): Consistently begin help + messages with a lowercase letter. + +2006-03-11 Paul Eggert + + * lib/time_r.h (asctime_r, ctime_r): Remove. These functions can + overrun buffers and shouldn't be used (much as gets shouldn't be + used). + * lib/time_r.c (asctime_r, ctime_r): Likewise. + +2006-03-08 Simon Josefsson + + * m4/gc-random.m4: Permit 'no' as variable values and fix warnings, + suggested by Ralf Wildenhues . + +2006-03-08 Simon Josefsson + + * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of + $target, suggested by Ralf Wildenhues . + +2006-03-08 Simon Josefsson + + * lib/gc-gnulib.c (randomize): Don't open files called 'no', they + signal that configure disabled the device. + +2006-03-08 Simon Josefsson + + * build-aux/maint.mk: Fix refresh-po, to handle no translated + languages. + +2006-03-07 Simon Josefsson + + * modules/getopt (Depends-on): Add unistd. + + * modules/unistd: New file. + +2006-03-07 Simon Josefsson + + * modules/gc-random: New file. + +2006-03-07 Simon Josefsson + + * m4/unistd_h.m4: New file. + +2006-03-07 Simon Josefsson + + * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the + test to be side-effect free by storing the result in the cache + variable gl_cv_lib_readline, and moving the assignment of + LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT. + From Ralf Wildenhues . + +2006-03-07 Simon Josefsson + + * m4/gc-random.m4: New file, mostly from gc.m4. Warn instead of + error on missing devices (the functions will return an error). + + * m4/gc.m4: Move random stuff to gc-random.m4 + +2006-03-07 Simon Josefsson + + * lib/unistd_.h: New file. + +2006-03-07 Simon Josefsson + + * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM. + +2006-03-07 Paul Eggert + + * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file. + Problem reported by Juan Manuel Guerrero. + +2006-03-07 Paul Eggert + + * lib/c-stack.c: Include unistd.h unconditionally, since we now assume + the unistd module. + * lib/getlogin_r.c: Likewise. + * lib/getlogin_r.h: Likewise. + * lib/glob.c: Likewise. + * lib/pagealign_alloc.c: Likewise. + * lib/unistd_.h: Remove; no longer needed. + +2006-03-07 Paul Eggert + + * MODULES.html.sh (Support for systems lacking POSIX:2001): + Add unistd. + * modules/c-stack (Depends-on): Add unistd. + * modules/getlogin_r: Likewise. + * modules/glob: Likewise. + * modules/pagealign_alloc: Likewise. + * modules/unistd (Files): Remove lib/unistd_.h. + (EXTRA_DIST): Remove. + (unistd.h): Create using 'echo' rather than 'cp', so that we don't + need unistd_.h. + (MOSTLYCLEANFILES): Remove unistd.h-t. + +2006-03-03 Simon Josefsson + + * build-aux/maint.mk: Add several syntax checks from CoreUtils. + +2006-03-03 Simon Josefsson + + * build-aux/maint.mk: Add refresh-po rule, based on ideas from + libidn and bison. + +2006-03-03 Simon Josefsson + + * build-aux/maint.mk: Add indent target. + +2006-03-03 Ralf Wildenhues (tiny change) + + * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use + our replacement poll.h in any case, to avoid a differing + declaration from a system header. Seen on AIX. + +2006-03-01 Simon Josefsson + + * lib/readline.c: Fix typo, tiny patch from Stepan Kasal + . + +2006-03-01 Paul Eggert + + * modules/gettime (Depends-on): Add extensions module. + * modules/nanosleep (Depends-on): Likewise. + * modules/settime (Depends-on): Likewise. + +2006-03-01 Paul Eggert + + * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS, + not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled + pedantically. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + * m4/timespec.m4 (gl_TIMESPEC): Likewise. + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test", + not "==". Reported by Ralf Wildenhues. + +2006-03-01 Karl Berry + + * doc/Copyright/request-*: new files, synced from gnuorg. + +2006-03-01 Karl Berry + + * config/srclist.txt (Copyright/*): new entries. + +2006-02-28 Simon Josefsson + + * lib/getopt.c: Protect #include of unistd.h, for MSVS. + +2006-02-27 Simon Josefsson + + * lib/base64.h: Indent #define's. From Jim Meyering + . + +2006-02-27 Jim Meyering + + Revert the change of 2006-02-24, so these files can continue + to be sync'd from gettext. + * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion + of `config.h'. + +2006-02-26 Paul Eggert + + * modules/intprops: New file. + * MODULES.html.sh (Numeric conversion functions ): + Add intprops. + * modules/getloadavg (Files): Remove lib/intprops.h. + (Depends-on): Add intprops. + * modules/human: Likewise. + * modules/inttostr: Likewise. + * modules/openat: Likewise. + * modules/sig2str: Likewise. + * modules/userspec: Likewise. + * modules/utimecmp: Likewise. + * modules/xnanosleep: Likewise. + * modules/xstrtol: Likewise. + +2006-02-24 Ralf Wildenhues (tiny changes) + + * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES. + * modules/lock-tests (TESTS): Use $(EXEEXT). + * modules/tls-tests: Likewise. + * modules/argp-tests: Likewise. + (check_PROGRAMS): New var, replacing... + (noinst_PROGRAMS, test_argp_SOURCES): Remove. + +2006-02-24 Ralf Wildenhues + + * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of + `config.h'. + +2006-02-24 Paul Eggert + + * lib/glob.c: Say "invalid" rather than "illegal" in comments. + +2006-02-22 Ralf Wildenhues + + Sync from coreutils. + * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and + gl_CHDIR_SAFER. + +2006-02-22 Jim Meyering + + Sync from coreutils. + * m4/chdir-safer.m4: New file. + +2006-02-20 Paul Eggert + + * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where + AT_FDCWD exceeds INT_MAX. + * lib/openat.h (AT_FDCWD): Likewise. + +2006-02-17 Eric Blake + + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error. + +2006-02-16 Simon Josefsson + + * modules/getaddrinfo (Depends-on): Add sys_socket. + +2006-02-15 Simon Josefsson + + * build-aux/maint.mk: Add dsyntax-check rule. + +2006-02-15 Eric Blake + + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using + winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes + 'present but cannot compile' warnings on cygwin. + * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET. Don't + use ws2tcpip.h if sys/socket.h works. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET. + (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present. + +2006-02-14 Simon Josefsson + + * modules/maintainer-makefile (Files): Rename. + + * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk + and (the local) Makefile.cfg to maint-cfg.mk. + + * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former + to the latter. + + * modules/maintainer-makefile: New module. + + * build-aux/Makefile.maint: New file, from GNU CoreUtils, although + severaly stripped to make it possible to build it up from scratch + with reliable tests. + + * build-aux/GNUmakefile: New file, from GNU CoreUtils with some + fixes to permit overriding the default actions when configure and + makefile are not available. + +2006-02-14 Paul Eggert + + Sync from coreutils. + * modules/lstat (Depends-on): Don't depend on xalloc. + (License): Change from GPL to LGPL, since this is now simply a + replacement for a libc function. + +2006-02-14 Jim Meyering + + Sync from coreutils. + + Eliminate the unwelcome (albeit unlikely) possibility of xmalloc + failure on deficient systems, and simplify gnulib lgpl dependencies. + * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the + xmalloc/lstat combination. Based on a patch from Bruno Haible. + + * lib/xalloc-die.c: Remove unused definition of N_. + +2006-02-14 Jim Meyering + + Sync from coreutils. + * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke + AC_CHECK_FUNCS(getmntent) unconditionally so that tests of + $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not + double-quote uses of that variable, to accommodate the rare case in + which getmntent is available in none of the libraries checked. This + happens at least on FreeBSD 5.0. + +2006-02-13 Simon Josefsson + + * gnulib-tool (Usage): Fix --import, from + karl@freefriends.org (Karl Berry). + +2006-02-13 Sergey Poznyakoff + + * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12 + +2006-02-07 Sergey Poznyakoff + + * lib/argp-namefrob.h: Restore changes accidentally lost during the + "autoupdate" on 2005-12-12. + +2006-02-07 Paul Eggert + + * modules/closeout (Depends-on): Remove atexit. + +2006-02-07 Paul Eggert + + * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero + ints to 0 or 1, as this isn't true for the stdbool.h substitute. + +2006-02-05 Paul Eggert + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define + __EXTENSIONS__ if this causes compilation to fail. Problem + reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7 + c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED. + +2006-01-27 Paul Eggert + + * lib/fnmatch.c (L_): Renamed from L, to work around a bug in + Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in + . + All uses changed. + +2006-01-26 Simon Josefsson + + * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo + prototype is visible on mingw32. + + * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set, + for mingw32. + + * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for + mingw32). + +2006-01-26 Paul Eggert + + * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too. Don't + attempt to open for write; this always fails, at least on POSIX + hosts. This reinstates the 2006-01-09 change, which was + inadvertently removed. + +2006-01-26 Bruno Haible + + * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :". + Reported by Paul Eggert. + +2006-01-26 Bruno Haible + Paul Eggert + + * lib/stdbool_.h (_Bool) + [(! (defined __cplusplus || defined __BEOS__) + && !defined __GNUC__ + && !(defined __HP_cc || defined __xlc__ + || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1)) + || defined __sgi))]: + #define to signed char in these cases too; this simplifies + the code (so that we don't have to worry about HP-UX, AIX, SunPRO, + etc., separately) and makes it more conservative. + +2006-01-25 Simon Josefsson + + * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and + -lws2_32. Protect sys/socket.h and netdb.h #include's. Include + ws2tcpip.h with WINVER=0x0501. All for mingw32. + +2006-01-25 Sergey Poznyakoff + + * lib/argp-namefrob.h: Bugfix. Remove stray # + +2006-01-25 Paul Eggert + + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too, + so that we test the test. + Check for yet another HP-UX cc bug involving *bool |= bool. + +2006-01-25 Karl Berry + + * config/srclist.txt (vasnprintf.c): sync lost. + +2006-01-25 Jim Meyering + + Sync from the stable (b5) branch of coreutils: + + * lib/fts.c (fts_children): Don't let close() clobber errno from + failed fchdir(). + + * lib/fts.c (fts_stat): When following a symlink-to-directory, + don't necessarily interpret stat-fails+lstat-succeeds as indicating + a dangling symlink. That can also happen at least for ELOOP. + The fix: return FTS_SLNONE only when the stat errno is ENOENT. + FYI, this bug predates the inclusion of fts.c in coreutils. + + * lib/fts.c (fts_open): Put new maxarglen declaration and uses + in their own block, so pre-c99 compilers don't object. + + Avoid the double-free (first in fts_read, second in fts_close) that + would occur when an `active' directory is made inaccessible (e.g., + via chmod a-x) during a traversal. + * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur + before returning. Reproduce this failure by + mkdir -p a/b; cd a; chmod a-x . b + Reported by Stavros Passas. + +2006-01-25 Jim Meyering + + * lib/fileblocks.c: Remove more useless parentheses. + * lib/readutmp.h: Likewise. + +2006-01-25 Bruno Haible + + * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid + warnings. + Reported by Paul Eggert. + +2006-01-25 Bruno Haible + + * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get + rid of a trap command. For Solaris sh. + Reported by Mark D. Baushke . + +2006-01-24 Simon Josefsson + + * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by + Bruno. + +2006-01-24 Karl Berry + + * config/srclist.txt (argp-namefrob.h): sync lost. + +2006-01-24 Jim Meyering + + * modules/openat (Files): Add lib/intprops.h. + From Mark D. Baushke. + +2006-01-24 Jim Meyering + + * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]). + Reported by Mark D. Baushke. + +2006-01-24 Jim Meyering + + * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'. + +2006-01-24 Bruno Haible + + * modules/strnlen (Maintainer): Change from glibc to all. + +2006-01-24 Bruno Haible + + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs. + Patch by Paul Eggert. + +2006-01-24 Bruno Haible + + * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler + already has it. + Report and patch by Albert Chin-A-Young on + 2005-11-26. + + * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as + 'signed char' to avoid problems with the built-in _Bool type. + Reported by Paul Eggert on 2005-11-26. + +2006-01-24 Bruno Haible + + * gnulib-tool (func_import): Avoid constructing complicated sed + expressions inside backquote. + Report and solution by Mark D. Baushke . + +2006-01-23 Ulrich Drepper + + These changes imported from libc. + * lib/getopt.c: Use __fxprintf instead of inline stream orientation + test and two separate function calls. + * lib/strndup.c (__strndup): Add libc_hidden_def. + +2006-01-23 Simon Josefsson + + * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS. + Remove the test_*_SOURCES variable: automake infers it by default. + * modules/tls-tests: Likewise. + +2006-01-23 Paul Eggert + + Work around porting bugs reported by Dieter in + . + * lib/getopt.c (_NOPROTO): Remove; no longer needed. + Include and in all environments; it's safe now. + Include "getopt.h" first, to check interface. + (getenv): Declare only if defined HAVE_DECL_GETENV && + !HAVE_DECL_GETENV. + * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype. + (__strndup): Revert to K&R-style function dfns, the glibc style. + * lib/strnlen.c: Don't claim it's taken from glibc; it's not. + (strnlen, __strnlen): Remove #defines and #undefs; not needed. + Include strnlen.h first, to get prototype properly. + (strnlen): Renamed from __strnlen. + Remove weak alias. + +2006-01-23 Paul Eggert + + * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl. + +2006-01-23 Paul Eggert + + * config/srclist.txt: Adjust to reflect glibc reorganization. + This affects only comments. + +2006-01-22 Ralf Wildenhues (tiny change) + + * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp. + Reported by Bruce Korb . + +2006-01-22 Paul Eggert + + * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;" + to pacify gcc -Wswitch-default. + +2006-01-22 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the + temporary buffer for sprintf, take into account the precision also + for 'd', 'i', 'u', 'o', 'x', 'X'. + +2006-01-21 Sergey Poznyakoff + + * modules/argp-tests: New module + * tests/test-argp.c: New file + * tests/test-argp-2.sh: New file + +2006-01-21 Sergey Poznyakoff + + * lib/argp-help.c (usage_long_opt): Do not print DOC options. + (__argp_base_name): Removed + * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a + typo. + (__argp_base_name): Provide macro definition or extern declaration + depending on the configuration + +2006-01-20 Simon Josefsson + + * modules/inet_ntop (Depends-on): Depend on sys_socket. + +2006-01-20 Simon Josefsson + + * lib/inet_ntop.h: Unconditionally include sys/socket.h. + +2006-01-20 Paul Eggert + + * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore + rather than -Xlinker -z -Xlinker ignore, as it's more portable. + Suggested by Bruno Haible. + +2006-01-20 Karl Berry + + * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out + until changes propagate, I guess. + +2006-01-19 Simon Josefsson + + * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32. + +2006-01-19 Simon Josefsson + + * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly. + +2006-01-19 Simon Josefsson + + * gnulib-tool: Set check_PROGRAMS. + + * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests, + modules/des-tests, modules/gc-arcfour-tests, + modules/gc-arctwo-tests, modules/gc-des-tests, + modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests, + modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests, + modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests, + modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests, + modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests, + modules/md5-tests, modules/readline, modules/rijndael-tests: Use + check_PROGRAMS instead of noinst_PROGRAMS to be able to remove + test_*_SOURCES. + +2006-01-18 Simon Josefsson + + * modules/socklen (Depends-on): Depend on sys_socket. + +2006-01-18 Simon Josefsson + + * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests, + modules/des-tests, modules/gc-arcfour-tests, + modules/gc-arctwo-tests, modules/gc-des-tests, + modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests, + modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests, + modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests, + modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests, + modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests, + modules/md5-tests, modules/readline, modules/rijndael-tests: Add + $(EXEEXT) to automake TESTS variable, for mingw32. + +2006-01-17 Simon Josefsson + + * modules/socklen (Include): Need sys/socket.h. + +2006-01-17 Bruno Haible + + * modules/ssize_t (Include): Add . + +2006-01-16 Paul Eggert + + * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as + it's not portable and it doesn't work with cross-compiles. + Problem reported by Bruno Haible. Fix missing-$ typo in + 'test "gl_cv_ignore_unused_libraries" ...' that prevented + -zignore from being used with Sun's C compiler. + +2006-01-12 Simon Josefsson + + * lib/base64.c: Fix warning, reported by Bruno Haible + and patch by Paul Eggert . + +2006-01-12 Bruno Haible + + * modules/ldd: New file. + * build-aux/ldd.sh.in: New file. + * MODULES.html.sh (Support for building libraries and executables): Add + ldd. + +2006-01-12 Bruno Haible + + * m4/ldd.m4: New file. + +2006-01-12 Bruno Haible + + * gnulib-tool (func_import, func_create_testdir): Don't go into an + endless loop while replacing $auxdir with build-aux. + +2006-01-11 Simon Josefsson + + * lib/stdint_.h (SIZE_MAX): Add missing (. + +2006-01-11 Paul Eggert + + Sync from coreutils. + * lib/md5.c: Fix commentary typos. + (alignof, UNALIGNED_P): No need for a GCC-specific version. + * lib/md5.h (__attribute__): Remove; unused. + * lib/sha1.c: Fix commentary to match md5 better. + * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer, + so that we don't need to worry about alignment. All uses changed. + This merges the 2005-10-28 md5 change into sha1. + +2006-01-11 Jim Meyering + + Sync from coreutils. + * lib/md5.c (OP): Fix spacing. + +2006-01-11 Bruno Haible + + Ensure automatic ordering between gl_LOCK and gl_ARGP. + * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK. + (gl_LOCK): New macro, requiring gl_LOCK_BODY. + +2006-01-11 Bruno Haible + + Ensure automatic ordering between gl_LOCK and gl_ARGP. + * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into + the "early" section as well. + +2006-01-11 Bruno Haible + + Avoid "ar: no archive members specified" error on MacOS X. + * gnulib-tool (func_modules_add_dummy): New function. + (func_import, func_create_testdir): Invoke it. + +2006-01-11 Bruno Haible + + * gnulib-tool (func_import, func_create_testdir): Replace build-aux + with $auxdir in AC_CONFIG_FILES statements. + +2006-01-11 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Initialize also noinst_HEADERS to empty. + +2006-01-11 Bruno Haible + + * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New + variables. + (func_create_megatestdir): Call aclocal, autoconf, automake here, not + autoreconf. + +2006-01-11 Bruno Haible + + * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make + overridable by the user. + Reported by Ralf Wildenhues . + +2006-01-10 Simon Josefsson + + * modules/sys_socket: New file. + +2006-01-10 Simon Josefsson + + * m4/sys_socket_h.m4: New file. + +2006-01-10 Simon Josefsson + + * lib/socket_.h: New file. + +2006-01-10 Paul Eggert + + * modules/readutmp (Maintainer): Add myself. + +2006-01-10 Paul Eggert + + * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing + the 2002-12-31 change. Problem and fix reported by Bruno Haible. + People who are still concerned with buggy memcmp implementations + can invoke gl_FUNC_MEMCMP themselves. + +2006-01-10 Paul Eggert + + * lib/regex_internal.h (BITSET_WORD_BITS): + Work around a bug in 64-bit PGC (before version 6.1-2), where the + preprocessor mishandles large unsigned values as if they were signed. + Problem reported by Claudio Fontana in + . + +2006-01-10 Jim Meyering + + Avoid the double-free (first in fts_read, second in fts_close) that + would occur when an `active' directory is made inaccessible (e.g., + via chmod a-x) during a traversal. + * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur + before returning. Reproduce this failure by + mkdir -p a/b; cd a; chmod a-x . b + Reported by Stavros Passas. + + Sync from coreutils. + * lib/sha1.c: Tweak grammar in a comment. + +2006-01-10 Jim Meyering + + * m4/fpending.m4: Also include , for Dragonfly. + Patch by Joerg Sonnenberger. + +2006-01-10 Bruno Haible + + * modules/readutmp: Depend on module free. + * modules/strtok_r: Depend on module restrict. + +2006-01-10 Bruno Haible + + * modules/gettext (configure.ac): Add an invocation of + AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool. + +2006-01-10 Bruno Haible + + * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked. + Reported by Werner Lemberg . + +2006-01-10 Bruno Haible + + * lib/localcharset.c: Update from GNU gettext. + +2006-01-10 Bruno Haible + + * lib/argp.h (__const): Remove macro. Use const instead. + * lib/argp-fmtstream.h (__const): Likewise. + * lib/glob_.h (__const): Remove macro. + * lib/glob-libc.h: Use const instead of __const. + +2006-01-10 Bruno Haible + + * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR + variable. + Needed to avoid an automake error regarding the 'gettext' module. + +2006-01-09 Simon Josefsson + + * modules/inet_ntop (Depends-on): Add restrict. + +2006-01-09 Simon Josefsson + + * modules/gc-rijndael-tests (License): Put under LGPL. + + * modules/gc-des-tests (License): Likewise. + + * modules/gc-arcfour-tests (License): Likewise. + + * modules/gc-arctwo-tests (License): Likewise. + + * modules/gc-pbkdf2-sha1-tests (License): Likewise. + + * modules/gc-hmac-sha1-tests (Files): Likewise. + + * modules/gc-hmac-md5-tests (License): Likewise. + + * modules/gc-sha1-tests (License): Likewise. + + * modules/gc-md5-tests (License): Likewise. + + * modules/gc-md4-tests (License): Likewise. + + * modules/gc-md2-tests (License): Likewise. + + * modules/gc-tests (License): Likewise. + + * modules/des-tests (License): Likewise. + + * modules/md4-tests (License): Likewise. + + * modules/md2-tests (License): Likewise. + +2006-01-09 Paul Eggert + + Sync from coreutils: + + * MODULES.html.sh (build_lib): New section, with new lib-ignore module. + * modules/lib-ignore: New file. + * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h, + chdir-safer.m4, lchmod.m4. + * modules/openat: Add mkdirat.c, openat-priv.h. + +2006-01-09 Paul Eggert + + Sync from coreutils. + * m4/lib-ignore.m4: New file. + * m4/lchmod.m4: New file. + +2006-01-09 Paul Eggert + + Sync from coreutils. + * lib/chdir-long.c (cdb_free): Don't bother trying to open directory + for write access: POSIX says that must fail. + * lib/fts.c (diropen): Likewise. + * lib/save-cwd.c (save_cwd): Likewise. + * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as + well, for minor improvements on hosts that lack O_DIRECTORY. + * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]: + Don't try O_WRONLY unless O_RDONLY failed wth EACCES. + Fall back on chown if open failed with EACCES. + + * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]: + Report an error at compile-time if only a 1-second nominal clock + resolution is found. + + * lib/lchmod.h: New file. + * lib/mkdir-p.c: Include lchmod.h, lchown.h. + (make_dir_parents): Use lchown rather than chown, and + lchmod rather than chmod. + + * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are + dummies too. Problem with "none" reported by Bob Proulx. Problem with + "proc" reported by n0dalus. + + * lib/mountlist.c: Include . + (dev_from_mount_options) + [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: + New function. It no longer assumes "dev=" has the System V meaning + on Linux (since it doesn't). It also parses "dev=" more carefully. + (read_file_system_list) + [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it. + MOUNTED_GETMNTENT2 is new here; the code didn't used to look for + dev= in that case. + + * lib/posixtm.h (PDS_PRE_2000): New macro. + * lib/posixtm.c (year): Arg is now syntax_bits rather than + allow_century. All usages changed. Reject dates outside the range + 1969-1999 if PDS_PRE_2000 is used. + +2006-01-09 Paul Eggert + + Sync from coreutils. + * doc/getdate.texi (General date syntax): Invalid dates are rejected. + (Time of day items): Mention the possibility of leap seconds. + Problem reported by Dr. David Alan Gilbert. + +2006-01-09 Jim Meyering + + Sync from coreutils. + + * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006. + + * lib/chdir-safer.h, lib/chdir-safer.c: New files. + + * lib/modechange.c (mode_compile): Reject an invalid mode string + that starts with an octal digit. From Andreas Gruenbacher. + + * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open + and dup to open_safer and dup_safer, respectively. + (openat_permissive): Fix typo in comment. + + * lib/openat.c: Don't include , , , + "gettext.h"; either no longer needed or are guaranteed by openat.h. + (_): Remove; no longer needed. + (openat): Renamed from rpl_openat; no need for rpl_openat + since openat.h renames openat for us. + Replace most of the body with a call to openat_permissive, + to avoid duplicate code. + Port to (probably hypothetical) environments were mode_t is + wider than int. + (openat_permissive): Require mode arg, so that we can check + types better. Put it just after flags. Change cwd failure + indicator from pointer-to-bool to pointer-to-errno-value. + All callers changed. + Invoke openat_save_fail and/or openat_restore_fail if + cwd_errno is null, so that openat can call us. + (openat_permissive, fdopendir, fstatat, unlinkat): + Simplify errno handling to avoid some duplicate code, + as it's OK to set errno on success. + * lib/openat.h: Revamp code so that function macros depend on + __OPENAT_PREFIX only, not also on AT_FDCWD. + (openat_ro): Remove. Caller changed to use openat_permissive. + (openat_permissive): Now a macro, if not a function. + (openat_restore_fail, openat_save_fail): Now always functions, + since mkdirat needs them even if __OPENAT_PREFIX is defined. + + * lib/openat-priv.h: New file, defining macros used by mkdirat.c + and openat.c. + * lib/mkdirat.c: Include openat-priv.h. + Remove definitions of macros defined therein. + * lib/openat.c: Likewise. + + * lib/mkdirat.c (mkdirat): New file and function. + * lib/openat.h (mkdirat): Declare. + + * lib/openat.c (fdopendir): Don't change errno when returning non-NULL. + + * lib/openat.h (openat_permissive): Declare. + (openat_ro): Define. + + * lib/openat.c (EXPECTED_ERRNO): New macro. + (openat_permissive): New function -- used in remove.c rewrite. + (all functions): Set errno just before returning, only if there + was an actual failure. + Use EXPECTED_ERRNO rather than comparing against only ENOTDIR. + + Emulate openat-family functions using Linux's procfs, if possible. + Idea and some code based on Ulrich Drepper's glibc changes. + + * lib/openat.c: (BUILD_PROC_NAME): New macro. + Include , , "alloca.h" and "intprops.h". + (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s, + before falling back on save_cwd and restore_cwd. + (fdopendir, fstatat, unlinkat): Likewise. + + * lib/openat.c (fstatat, unlinkat): Perform the syscall directly, + skipping the save_cwd...restore_cwd overhead, if FILE is absolute. + + * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t, + as second argument to va_arg. Otherwise, some versions of gcc + warn that `if this code is reached, the program will abort'. + +2006-01-09 Jim Meyering + + Sync from coreutils. + * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c. + Require openat-priv.h. + +2006-01-09 Bruno Haible + + * modules/strnlen (Include): Use strnlen.h. + +2006-01-09 Bruno Haible + + * m4/stdint.m4 (gl_STDINT_H): Also test for . + +2006-01-09 Bruno Haible + + * lib/sysexit_.h (EX_OK): New macro. + Suggested by Martin Lambers . + +2006-01-09 Bruno Haible + + * lib/stdint_.h: On Linux libc4 and libc5, include and + don't define _STDINT_H_NEED_SIGNED_INT_TYPES. + +2006-01-09 Bruno Haible + + * lib/stdint_.h (SIZE_MAX): Write the value without involving negative + numbers. + +2006-01-09 Bruno Haible + + * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in. + * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in. + * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in. + * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in. + +2006-01-09 Bruno Haible + + * build-aux/javacomp.sh.in: New file, moved from lib/. + * modules/javacomp-script (Files): Update. + (configure.ac): Add AC_CONFIG_FILES invocation. + (EXTRA_DIST): Remove variable. + + * build-aux/javaexec.sh.in: New file, moved from lib/. + * modules/javaexec (Files): Update. + (configure.ac): Add AC_CONFIG_FILES invocation. + (EXTRA_DIST): Remove javaexec.sh.in. + + * build-aux/csharpcomp.sh.in: New file, moved from lib/. + * modules/csharpcomp-script (Files): Update. + (configure.ac): Add AC_CONFIG_FILES invocation. + (EXTRA_DIST): Remove variable. + + * build-aux/csharpexec.sh.in: New file, moved from lib/. + * modules/csharpexec (Files): Update. + (configure.ac): Add AC_CONFIG_FILES invocation. + (EXTRA_DIST): Remove csharpexec.sh.in. + +2006-01-09 Andreas Gruenbacher + + Sync from coreutils. + + Add POSIX ACL support + * lib/acl.h (copy_acl, set_acl): Add declarations. + * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL + systems other than Linux. + (chmod_or_fchmod): New function: use fchmod when possible, + and chmod otherwise. + (file_has_acl): Add a POSIX ACL implementation, with a + Linux-specific subcase. + (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and + S_ISVTX from one file to another. Fall back to fchmod/chmod when + acls are unsupported. + (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and + S_ISVTX to a defined value. Fall back to fchmod/chmod when acls + are unsupported. + +2006-01-09 Andreas Gruenbacher + + Sync from coreutils. + * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests. + +2006-01-07 Bruno Haible + + * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to + gl_EARLY. + +2006-01-04 Paul Eggert + + * lib/strftime.c (tzname): Don't declare if it is already #defined. + Problem reported for Mingw by Mark Junker. + +2006-01-04 Paul Eggert + + * README: Gnulib normally doesn't generate a tarball. + +2006-01-03 Paul Eggert + + * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use + long int, not int, for nanosecond counts, so that people who are + used to POSIX struct timespec won't be surprised. Reported by Jim + Meyering. + +2005-12-28 Bruno Haible + + * build-aux/config.rpath: Update from GNU gettext. + +2005-12-16 Jim Meyering + + * modules/fprintftime: New module. + * MODULES.html.sh (Date and time ): Add fprintftime. + +2005-12-16 Jim Meyering + + * m4/fprintftime.m4: New file. + +2005-12-16 Jim Meyering + + * lib/fprintftime.c, lib/fprintftime.h: New files. + +2005-12-15 Simon Josefsson + + * modules/socklen (configure.ac): Fix M4 macro name, to align with + new m4/socklen.m4. + +2005-12-10 Sergey Poznyakoff + + * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and + HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME + +2005-12-10 Sergey Poznyakoff + + * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump + * lib/argp-help.c (fill_in_uparams): Check if the constructed + struct uparams is valid. Fall back to the default values if it is + not. + +2005-12-09 Sergey Poznyakoff + + * modules/argp (Files): Add argp-pin.c + (Depends-on): dirname + (lib_SOURCES): Add argp-pin.c + +2005-12-09 Sergey Poznyakoff + + * m4/argp.m4: Check if program_invocation_name and + program_invocation_short_name are declared and define appropriate + macros if they are not. + +2005-12-09 Sergey Poznyakoff + + * lib/argp-help.c (__argp_base_name): New function + (__argp_short_program_name): Rewrite using __argp_base_name + * lib/argp-namefrob.h: Define program_invocation_name and + program_invocation_short_name if requested + (__argp_base_name): Add prototype + * lib/argp-parse.c (argp_def): Use gettext wrappers + (argp_default_parser): Use __argp_base_name + * lib/argp-pin.c: New file. Defines program_invocation_name and + program_invocation_short_name on systems that lack them. + +2005-12-07 Paul Eggert + + * m4/stat-time.m4 (gl_STAT_TIME): Add check for + TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3 + porting problem reported by Georg Schwarz in + . + +2005-12-07 Paul Eggert + + * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for + TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3 + porting problem reported by Georg Schwarz in + . + +2005-12-05 Bruno Haible + + * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix. + * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise. + Reported by Mark Junker . + +2005-12-02 Paul Eggert + + * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T. + Use implementation from Albert Chin, with some + comments/corrections by Stepan Kasal and myself. + +2005-12-02 Bruno Haible + + * gnulib-tool (func_import): Accept GPLed build tool modules when + --lgpl is given. + * modules/csharpcomp-script: New file. + * modules/csharpcomp: Depend on it. + * modules/javacomp-script: New file. + * modules/javacomp: Depend on it. + Suggested by Simon Josefsson. + +2005-12-01 Paul Eggert + + * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch + statement, to work around an HP-UX 10.20 compiler bug reported by + Peter O'Gorman. + +2005-11-29 Paul Eggert + + * modules/savedir (Depends-on): Add openat. + +2005-11-29 Paul Eggert + + * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare. + (uintmax_t) [defined uintmax_t]: Do not declare. + (SIZE_MAX) [defined SIZE_MAX]: Do not define. + This works around a problem if intmax_t.m4 and/or uintmax_t.m4 + and/or size_max.m4 are also used. Problem reported by Mark D. Baushke. + (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the + sake of portability to weird hosts that C allows (though we don't + know of any practical examples). + + * lib/savedir.h (fdsavedir): New decl. + * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter + contains most of the former guts of savedir. + (savedir): Use savedirstream. + Include "openat.h". + +2005-11-25 Paul Eggert + + * modules/obstack (Files): Add m4/ulonglong.m4. + Problem reported by Davide Angelocola. + +2005-11-15 Paul Eggert + + * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as + coreutils no longer futzes with rounding modes. + +2005-11-14 Jim Meyering + + * lib/mkstemp-safer.c: Include , required for possible + replacement of mkstemp. + +2005-11-10 Simon Josefsson + + * lib/readline.c: Remove EOL. + +2005-11-10 Paul Eggert + + * modules/gethrxtime (Depends-on): Add gettime. + +2005-11-10 Paul Eggert + + * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME + or gettimeofday; no longer needed. + +2005-11-10 Paul Eggert + + * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time / + time business. + (gethrxtime) [! (HAVE_NANOUPTIME + || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME) + || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling + our own approximation. + +2005-11-08 Eric Blake + + * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. + +2005-11-08 Eric Blake + + * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. + +2005-11-04 Bruno Haible + + * gnulib-tool: Implement --update mode. + +2005-10-30 Paul Eggert + + Fix porting problem reported by Theodoros V. Kalamatianos. + * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]: + Don't assume that futimes failing means we must fail. + +2005-10-30 Paul Eggert + + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local + variables to suggest the intended function of the PATH_MAX check. + +2005-10-30 Kean Johnston + + Trivial changes to support SCO systems. + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well + as PATH_MAX. + * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems, + where __ptr is null when no I/O is pending. + +2005-10-29 Paul Eggert + + * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir + leave errno alone. Problem reported by Dmitry V. Levin. + +2005-10-28 Simon Josefsson + + * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c: + Test more. + + * tests/test-gc-md2.c, tests/test-md2.c: New files. + + * modules/md2, modules/md2-tests: New files. + +2005-10-28 Simon Josefsson + + * m4/inet_ntop.m4: More tests. + + * m4/gc-md2.m4, md2.m4: New file. + +2005-10-28 Simon Josefsson + + * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add + "restrict" keywords, as per POSIX. Protect the function + declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP. + Don't use K&R prototypes. Check the sprintf return values. + Re-define EAFNOSUPPORT if not present. Indent. + + * lib/md5.h, md5.c: Simplify buffer handling visavi alignment, + suggested by Bruno Haible . + + * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value. + + * lib/gc.h: Add MD2 and RMD160 length defines. Add prototypes. + + * lib/gc-libgcrypt.c: Add MD2 (which is not available through + libgcrypt). + + * lib/gc-gnulib.c: Add MD2. Implement gc_hash_* API. + + * lib/md2.h, lib/md2.c: New files. + +2005-10-28 Paul Eggert + + * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave + errno alone. Problem reported by Frederic Jolliton. + +2005-10-27 Paul Eggert + + * modules/verify (License): Change from GPL to LGPL. This is a + tiny module and there are apparently near-equivalents that are + under the BSD license. + +2005-10-24 Simon Josefsson + + * modules/sha1: Relicense to LGPL. + +2005-10-24 Simon Josefsson + + * lib/md4.h: Shrink buffer size, now that we changed the type. + +2005-10-23 Simon Josefsson + + * gnulib-tool (func_import): Fix --tests-base. + +2005-10-22 Simon Josefsson + + * modules/arcfour (Depends-on): Need stdint. + +2005-10-22 Simon Josefsson + + * m4/gc.m4: Don't be fooled by --disable-*random-device parameters, + suggested by Bruno Haible . Fix error messages. + +2005-10-22 Simon Josefsson + + * lib/md4.h, md4.c: Simplify buffer handling visavi alignment, + suggested by Bruno Haible . + +2005-10-22 Simon Josefsson + + * lib/crc.h: Include stddef.h, for size_t. + +2005-10-22 Simon Josefsson + + * lib/arcfour.h, arcfour.c: Use fixed size indices in the + arcfour_context struct (simplify test vector testing in GNU + Shishi). + +2005-10-21 Simon Josefsson + + * modules/des, modules/des-tests: New files. + + * modules/gc-des, modules/gc-des-tests: New files. + + * tests/test-des.c, tests/test-gc-des.c: New file. + +2005-10-21 Simon Josefsson + + * modules/arctwo, modules/arctwo-tests: New files. + + * tests/test-arctwo.c: New file. + + * modules/gc-arctwo, modules/gc-arctwo-tests: New files. + + * tests/test-gc-arctwo.c: New file. + +2005-10-21 Simon Josefsson + + * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by + Bruno Haible . + + * m4/gc-des.m4: New file. + +2005-10-21 Simon Josefsson + + * m4/arctwo.m4: New file. + + * m4/gc-arctwo.m4: New file. + +2005-10-21 Simon Josefsson + + * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one + block. + +2005-10-21 Simon Josefsson + + * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible + . + + * lib/hmac-sha1.c (hmac_sha1): Likewise. + + * lib/crc.c (crc32_update): Actually use crc parameter, suggested by + Bruno Haible . + + * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible + . + +2005-10-21 Simon Josefsson + + * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB. + +2005-10-21 Simon Josefsson + + * lib/gc-gnulib.c: Support ARCTWO in CBC mode. + +2005-10-21 Simon Josefsson + + * lib/des.h, lib/des.c: New files. + + * lib/gc-gnulib.c: Support DES.c + +2005-10-21 Simon Josefsson + + * lib/arctwo.h, lib/arctwo.c: New files. + + * lib/gc-gnulib.c: Support ARCTWO. + +2005-10-21 Simon Josefsson + + * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro, + suggested by Ralf Wildenhues . + +2005-10-21 Simon Josefsson + + * gnulib-tool (func_import, func_create_testdir): Define automake + conditional GL_COND_LIBTOOL if libtool is used (to be used by modules + Makefile.am snippet), + suggested by Bruno Haible . + + * modules/gc (Makefile.am): Use it. + +2005-10-21 Bruno Haible + + * gnulib-tool (func_import, func_create_testdir): Add quoting to last + patch. + +2005-10-19 Simon Josefsson + + * tests/test-gc-rijndael.c: New file. + + * modules/gc-rijndael, modules/gc-rijndael-test: New files. + +2005-10-19 Simon Josefsson + + * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer + interface too. + +2005-10-19 Simon Josefsson + + * tests/test-gc-arcfour.c: New file. + + * modules/gc-arcfour, modules/gc-arcfour-tests: New files. + +2005-10-19 Simon Josefsson + + * modules/gc-md4, modules/gc-md4-tests: New file. + + * tests/test-gc-md4.c: New file. + +2005-10-19 Simon Josefsson + + * m4/gc-md4.m4: New file. + +2005-10-19 Simon Josefsson + + * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4, + gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal + . + +2005-10-19 Simon Josefsson + + * m4/gc-arcfour.m4: New file. + + * m4/gc-rijndael.m4: New file. + +2005-10-19 Simon Josefsson + + * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4. + +2005-10-19 Simon Josefsson + + * lib/gc-gnulib.c: Support ARCFOUR. + +2005-10-19 Simon Josefsson + + * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES + support. + + * lib/gc.h: Add ECB enum type. + + * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h. + +2005-10-18 Simon Josefsson + + * tests/test-md5.c: New file. + + * modules/md5-tests: New file. + +2005-10-18 Simon Josefsson + + * tests/test-md4.c: New file. + + * modules/md4, modules/md4-tests: New files. + +2005-10-18 Simon Josefsson + + * m4/md4.m4: New file. + +2005-10-18 Simon Josefsson + + * lib/md4.h, lib/md4.c: New files, based on md5.?. + +2005-10-17 Stepan Kasal + + * gnulib-tool (func_create_testdir): Omit the second check whether + BUILT_SOURCES in nonempty. + +2005-10-17 Simon Josefsson + + * tests/test-rijndael.c: New file. + +2005-10-17 Simon Josefsson + + * modules/sha1: Depend on stdint instead of md5. + + * modules/md5: Depend on stdint, remove uint32_t. + +2005-10-17 Simon Josefsson + + * modules/gc-sha1-tests: New file. + + * tests/test-gc-sha1.c: New file. + +2005-10-17 Simon Josefsson + + * m4/md5.m4: Remove call to uint32_t.m4. + +2005-10-17 Simon Josefsson + + * lib/sha1.c: Use uint32_t instead of md5_uint32.t + + * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from + md5.h. + + * lib/md5.c: Use uin32_t. Fix non-gcc UNALIGNED_P macro. + + * lib/md5.h: Use stdint.h and uint32_t. Doc fix. + +2005-10-17 Simon Josefsson + + * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions. + +2005-10-17 Simon Josefsson + + * lib/gc.h, gc-libgcrypt.c: Add ciphers. + +2005-10-17 Simon Josefsson + + * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert. + + * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes. + +2005-10-17 Bruno Haible + + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so + that it can also be used in a test. + +2005-10-16 Bruno Haible + + * gnulib-tool (func_emit_tests_Makefile_am): Also define + TESTS_ENVIRONMENT, so that individual tests can augment it. + + * gnulib-tool (func_create_testdir): Use an intermediate target for + building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain + macros, like $(ALLOCA_H), which cannot be passed through the command + line. + +2005-10-15 Simon Josefsson + + * modules/rijndael-tests: New file. + + * modules/rijndael: New file. + +2005-10-15 Simon Josefsson + + * m4/rijndael.m4: New file. + +2005-10-15 Simon Josefsson + + * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files. + + * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files. + +2005-10-14 Simon Josefsson + + * tests/test-arcfour.c: New file. + + * modules/arcfour, modules/arcfour-tests: New files. + +2005-10-14 Simon Josefsson + + * m4/arcfour.m4: New file. + +2005-10-14 Simon Josefsson + + * lib/arcfour.h, lib/arcfour.c: New files. + +2005-10-14 Roland McGrath + + Import from libc. [BZ #1331] + * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed + macro argument. + Reported by Matej Vela . + +2005-10-14 Paul Eggert + + * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't + include ; no longer needed. + +2005-10-14 Paul Eggert + + * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h. + +2005-10-14 Jakub Jelinek + and Ulrich Drepper + + Import from libc. + * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf + instead of inline stream orientation test and two separate + function calls. Pay no attention to USE_IN_LIBIO. + +2005-10-13 Simon Josefsson + + * modules/gc-hmac-md5-tests: New file. + + * tests/test-gc-hmac-sha1.c: New file. + + * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests. + + * modules/gc-hmac-md5-tests: New file. + + * tests/test-gc-md5.c: New file. + + * modules/gc-md5-tests: New file. + +2005-10-13 Simon Josefsson + + * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation. + Move memory allocation outside of loop. + +2005-10-13 Paul Eggert + + * lib/mkdir-p.c (make_dir_parents): Don't report an error if an + intermediate directory is in a read-only file system. Problem + reported by Eric Blake. + +2005-10-13 Oskar Liljeblad + + * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol. + +2005-10-12 Simon Josefsson + + * tests/test-hmac-sha1.c: New file. + + * modules/hmac-sha1-tests: New file. + + * modules/hmac-sha1: New file. + +2005-10-12 Simon Josefsson + + * modules/gc-sha1: New file. + +2005-10-12 Simon Josefsson + + * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files. + + * tests/test-gc-pbkdf2-sha1.c: New file. + +2005-10-12 Simon Josefsson + + * modules/gc-md5, modules/gc-hmac-md5: New files. + + * modules/gc (Files): Remove md5, memxor and hmac files. + +2005-10-12 Simon Josefsson + + * m4/gc-pbkdf2-sha1.m4: New file. + + * m4/gc-hmac-sha1.m4: New file. + + * m4/gc-sha1: New file. + + * m4/hmac-sha1.m4: New file. + +2005-10-12 Simon Josefsson + + * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files. + + * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5. + +2005-10-12 Simon Josefsson + + * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types, + suggested by Bruno Haible . + +2005-10-12 Simon Josefsson + + * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1. + +2005-10-12 Simon Josefsson + + * lib/gc-pbkdf2-sha1.c: New file. + + * lib/gc.h: Add gc_pbkdf2_sha1 prototype. + +2005-10-12 Simon Josefsson + + * lib/gc-libgcrypt.c (gc_hmac_sha1): New function. + + * lib/gc-gnulib.c (gc_hmac_sha1): New function. + +2005-10-12 Simon Josefsson + + * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and + GC_USE_HMAC_MD5, respectively. + + * lib/gc-libgcrypt.c (gc_md5): Fix assert call. + (gc_md5): Fix typo. + + * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype. + + * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto. + + * lib/gc-gnulib.c (gc_hash_buffer): Ditto. + +2005-10-12 Bruno Haible + + * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H. + Reported by Stepan Kasal . + +2005-10-11 Simon Josefsson + + * tests/test-crc.c: New file. + + * modules/crc, modules/crc-tests: New files. + +2005-10-11 Simon Josefsson + + * m4/crc.m4: New file. + +2005-10-11 Simon Josefsson + + * lib/gc.h: Add gc_hash and gc_hash_buffer. + + * lib/gc-gnulib.c (gc_hash_buffer): Add. Reorder #include's. + + * lib/gc-libgcrypt.c (gc_hash_buffer): Add. + +2005-10-11 Simon Josefsson + + * lib/crc.h, lib/crc.c: New files. + + * lib/gc.h (gc_hash_buffer): Add doc. + +2005-10-11 Bruno Haible + + * modules/c-strcasestr: New file. + * MODULES.html.sh (String handling ): Add c-strcasestr. + +2005-10-11 Bruno Haible + + * modules/c-strcase: New file. + * MODULES.html.sh (String handling ): Add c-strcase. + +2005-10-11 Bruno Haible + + * lib/strcasecmp.c: Include limits.h. + (strcasecmp): Avoid integer overflow on exotic platforms. + * lib/strncasecmp.c: Include limits.h. + (strncasecmp): Avoid integer overflow on exotic platforms. + Reported by Paul Eggert. + +2005-10-11 Bruno Haible + + * lib/c-strcasestr.h: New file, from GNU gettext. + * lib/c-strcasestr.c: New file, from GNU gettext. + +2005-10-11 Bruno Haible + + * lib/c-strcase.h: New file, from GNU gettext. + * lib/c-strcasecmp.c: New file, from GNU gettext. + * lib/c-strncasecmp.c: New file, from GNU gettext. + +2005-10-10 Paul Eggert + + * modules/mempcpy (License): GPL -> LGPL. + * modules/strchrnul (License): Likewise. + * modules/sysexits (License): Likewise. + +2005-10-08 Simon Josefsson + + * config/srclist.txt: Bug 1423 is closed, but 1439 remains. + +2005-10-07 Simon Josefsson + + * m4/memxor.m4: Remove gl_C_RESTRICT call. + +2005-10-06 Simon Josefsson + + * tests/test-hmac-md5.c: New file. + + * modules/hmac-md5-tests: New file. + + * modules/hmac-md5: New file. + +2005-10-06 Simon Josefsson + + * m4/hmac-md5.m4: New file. + + * m4/memxor.m4: Require gl_C_RESTRICT. + +2005-10-06 Simon Josefsson + + * lib/memxor.c (memxor): Avoid casts and warnings. + +2005-10-06 Simon Josefsson + + * lib/hmac-md5.c: New file. + + * lib/hmac.h: New file. + +2005-10-06 Paul Eggert + + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool + promotes to int, not unsigned int, to catch the AIX 5.3 + compiler bug. + +2005-10-05 Simon Josefsson + + * modules/memxor: New file. + + * modules/iconv (Files): Move config.rpath to havelib, it is used + there. + + * modules/havelib (Files): Add config.rpath. + +2005-10-05 Simon Josefsson + + * m4/memxor.m4: New file. + +2005-10-05 Simon Josefsson + + * lib/memxor.c (memxor): Fix compiler error. + + * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also + . + + * lib/memxor.h, lib/memxor.c: New files. + + * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H, + we assume all systems have it, suggested by Jim Meyering + . Remove HAVE_SYS_SOCKET_H test too, to see if + any systems lack sys/socket.h; mingw32 is known to lack it, but we + don't support it yet anyway. Also remove HAVE_NETDB_H test, for + same reasons. + +2005-10-05 Simon Josefsson + + * config/srclist.txt: Add glibc bug 1423 for md5.h. + +2005-10-05 Paul Eggert + + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for + sys/socket.h, netdb.h, sys/types.h; the checks areno longer + needed, since the source code now assumes these .h files. + +2005-10-05 Derek Price + + * lib/getdelim.c (SIZE_MAX): New macro, if not already defined. + +2005-10-05 Bruno Haible + + * modules/stdint (License): Change to LGPL. + +2005-10-04 Simon Josefsson + + * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark + D. Baushke" . + +2005-10-04 Bruno Haible + + * lib/verify.h (verify_true): Provide alternative definition for C++. + +2005-10-03 Paul Eggert + + * lib/getdelim.c: Include getdelim.h first. Include . + (SSIZE_MAX): New macro, if not already defined. + (getdelim): Fix buffer overrun on 64-bit hosts with lines longer + than 2 GiB. + +2005-10-02 Paul Eggert + + Sync from coreutils. + * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir. + * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely + defines ULONG_MAX_LT_ULLONG_MAX. Thomas M.Ott reports that + ULLONG_MAX doesn't work with 2.7.2.1. + +2005-10-02 Paul Eggert + + * modules/xreadlink (Makefile.am): Remove lib_SOURCES. + From Ben Pfaff. + + * modules/exclude (Depends-on): Depend on verify. + * modules/strtoimax (Depends-on): Likewise. + * modules/utimecmp (Depends-on): Likewise. + +2005-10-02 Paul Eggert + + * lib/exclude.c: Include verify.h. + (verify): Remove. All callers changed to use verify.h's version. + * lib/strtoimax.c: Likewise. + * lib/utimecmp.c: Likewis.e + + Sync from coreutils. + * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h, + getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h. + * lib/.cvsignore: Add fts.h, search.h, t-fpending. + * lib/settime.c (settime): Fix { typo in previous patch. Also, don't + bother returning ENOSYS if settimeofday or stime fails; just let + them return whatever errno they want to return. + * lib/utimens.c: Include unistd.h, for dup2. + (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if. + (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1. + +2005-10-02 Jim Meyering + + Sync from coreutils. + * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes + from glibc-2.2.5 that fails for read-only files. + +2005-10-02 Jim Meyering + + Sync from coreutils. + * lib/fts-cycle.c [HAVE_CONFIG_H]: Include . + * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not + `#if HAVE_CONFIG_H'. + * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR. + Remove AT_FDCWD test. + Do not consume the fd unless successful. + * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR. + * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif + block, so that we don't even try to compile it if settimeofday is + available. This works around a compilation failure on OSF1 V5.1, + due to stime requiring a `long int*' while tv_sec is `int'. + +2005-10-02 Alfred M. Szmidt + + Sync from coreutils. + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path... + against `yes', rather than just testing for nonempty. + +2005-10-01 Simon Josefsson + + * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD + and Darwin. + + * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo + as an (POSIX) extension. Check for sys/types.h, sys/socket.h, and + netdb.h too, needed by getaddrinfo.h. Check if getaddrinfo, + freeaddrinfo and gai_strerror are declared by the POSIX headers. + Check if struct addrinfo is declared. + +2005-10-01 Simon Josefsson + + * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h. + Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO. Protect + AI_* and EAI_* definitions. Protect function declarations. + +2005-10-01 Jim Meyering + + Sync from coreutils. + + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these + libraries [inet nsl socket xnet]. Nelson Beebe reported that with + native cc on Solaris 7, getaddrinfo.c requires -lsocket. + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname + in the inet and nsl libraries. Required on Solaris 5.7. + +2005-10-01 Jim Meyering + + Sync from coreutils. + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname + in the inet and nsl libraries. Required on Solaris 5.7. + +2005-10-01 Eric Blake (tiny change) + + * lib/getdelim.c (getdelim): Remove unused variables. + +2005-09-29 Paul Eggert + + * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int, + so that the code works even with ancient cpp. Portability problem + with GCC 2.7.2.1 reported by Thomas M.Ott. + +2005-09-27 Paul Eggert + + * modules/regex (Depends-on): Add strcase. + + * modules/gethostname (Licence): Change from GPL to LGPL, since + gethostname.c is a trivial implementation of a standard library + function. + * modules/poll (License): Change from GPL to LGPL, since it's + derived from LGPL code. + +2005-09-27 Jim Meyering + + * lib/getcwd.c: Change #ifdefHAVE_CONFIG_H to #ifdef + HAVE_CONFIG_H. + + * lib/intprops.h (signed_type_or_expr__): Define. + (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound + for unsigned types. + +2005-09-26 Paul Eggert + + * lib/verify.h (verify_expr): Remove, replacing with: + (verify_true): New macro that returns true instead of void. + (verify_type__): Remove. + (verify): Use verify_true rather than verify_type__. + +2005-09-26 Bruno Haible + + * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H + is necessary. + (lib_SOURCES): Remove mbchar.c. + * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary. + (Files): Add m4/mbrtowc.m4. + * modules/mbiter: Likewise. + * modules/mbuiter: Likewise. + +2005-09-26 Bruno Haible + + * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't + compile mbchar.c if they are not both present. + * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC. + * m4/mbiter.m4 (gl_MBITER): Likewise. + * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE. + * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise. + * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise. + +2005-09-25 Jim Meyering + + * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c + also uses socklen_t. + +2005-09-24 Paul Eggert + + * lib/utimens.c (ENOSYS): Define if not already defined. + (futimens): Support having a null PATH if the file descriptor + is nonnegative. + + * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure): + Remove. + (__attribute): Define to empty unless GCC 3.1 or later. + This works around a core dump on OpenBSD 3.4, which has GCC + 2.95.3, which dumps core when given __attribute__(()). It also + simplifies other tests, since we really don't want to bother with + worrying about which ancient version of GCC supported what. + Original problem reported by Yoann Vandoorselaere, with part of + the fix suggested by Derek Price. + +2005-09-24 Jim Meyering + + * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type + so we can once again use a positive bitfield width of 1 -- now we + don't have to explain why we were using a bitfield width of 2. + +2005-09-23 Paul Eggert + + * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp, + and similarly for the other external symbols. Problem reported + by James Gallager. + + * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux + bug reported by Jim Meyering. + + * m4/utimens.m4 (gl_UTIMENS): Check for futimesat. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change; + not needed, since socklen is a prerequisite module. + +2005-09-23 Paul Eggert + + * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include . + Problem reported by Eric Blake. + (getaddrinfo): Initialize se so that it's not garbage. + Redo internal storage allocation so that it doesn't make unportable + assumptions about alignment. + Fix a memory leak. + + * lib/utimens.c (futimens): Use futimesat if available. + Prefer it to futimes since it doesn't have the futimes bug. + + * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove. + (verify): Don't use the __LINE__ trick, as it doesn't work in general. + Instead, declare a function that returns a pointer to an array, + and use verify_type__ to declare the size of the array. + Problem and germ of a solution reported by Bruno Haible. + (verify_type__): Use 2, not 1, for bitfield size, to avoid + a warning with Irix 6.5 cc. Problem reported by Bruno Haible. + +2005-09-23 Jim Meyering + + Sync from coreutils. + Correct build failure (socklen_t not defined) on at least + mips-sgi-irix6.5 and alphaev67-dec-osf5.1. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T. + +2005-09-23 Jim Meyering + + * modules/getaddrinfo (Depends-on): Add socklen. + +2005-09-23 Bruno Haible + + * tests/test-verify.c: New file. + +2005-09-22 Paul Eggert + + Sync from coreutils. + + * modules/argmatch (Depends-on): Add verify. + * modules/getloadavg (Depends-on): Depend on fcntl-safer, not + unistd-safer. + * modules/save-cwd (Depends-on): Likewise. + + * modules/openat (Files): Add lib/openat-die.c. + (Depends-on): Remove error, exitfail. + Add dirname. + + * modules/verify: New file. + * MODULES.html.sh (Diagnostics ): New section, + with "verify" module. + +2005-09-22 Paul Eggert + + Sync from coreutils. + + * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4: + * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4: + * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4: + * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4: + * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4: + * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4: + * m4/userspec.m4, xgetcwd.m4, xreadlink.m4: + Don't bother checking for string.h, stdlib.h, unistd.h. + * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require + AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat + module's job. + * m4/jm-macros.m4 (gl_MACROS): Likewise. + * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT. + + * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro. + (gl_GETDATE): Use it. + + * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h. + +2005-09-22 Paul Eggert + + Sync from coreutils. + + * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h, + stat-time.h. + * lib/argmatch.h: Include verify.h + (ARGMATCH_VERIFY): Use verify rather than rolling our own. + (ARGMATCH_ASSERT): Remove; unused. + * lib/canonicalize.c: Assume STDC_HEADERS. + * lib/exclude.c: Include "strcase.h". + * lib/regex_internal.h [!defined _LIBC]: Likewise. + * lib/getusershell.c: Include stdio--.h rather than stdio.h + and stdio-safer.h. + (getusershell): Call fopen, not fopen_safer. + * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h. + Do not include unistd-safer.h. + (save_cwd): Don't call fd_safer; no longer needed + now that we include fcntl--.h. + + * lib/getdate.y (relative_time): New type. + (RELATIVE_TIME_0): New constant. + (parser_control): Use relative_time instead of doing it ourselves. + (%union): Add new relative_time rel member. + (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT): + Now typeless. + (relunit, relunit_snumber): Now of type rel. + (zone, rel, relunit, get_date): Adjust to above changes. + + * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h. + Do not include unistd-safer.h. + (getloadavg): Don't call fd_safer; no longer needed + now that we include fcntl--.h. + + * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined. + (make_dir_parents): Treat ENOSYS like EEXIST. + + Improve quality of diagnostics on restore_cwd failure. + * lib/mkdir-p.h (make_dir): Remove. All uses replaced by mkdir. + (make_dir_parents): Last arg is now int * (for errno), not bool *. + * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise. + Rewrite "mkdir -p" algorithm to avoid the need for "stat" + each time through the loop. Do not diagnose restore_cwd failure; + that is the caller's job (and perhaps the caller does not care). + + * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove. + (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP. + If the file already exists but is not a directory, don't bother + to try to make its parents. + Close potential file descriptor leak if we can't chdir("/") (!). + Don't always return true if chdir($PWD) fails; return true only + if the requested action was done successfully (except for the + chdir($PWD)). + Don't log final directory unless we actually made it. + Refactor to avoid duplicate code to fix up permissions. + Don't attempt to fix up parent permissions if chdir($PWD) fails. + + * lib/strftime.c (my_strftime): Rewrite the previous change slightly, + to make it a bit faster and (I hope) clearer. + * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z. + Fix bug in formats like %2N. + + * lib/verify.h: New file. + +2005-09-22 Paul Eggert + + Sync from coreutils. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h. + +2005-09-22 Jim Meyering + + Sync from coreutils. + + * m4/lstat.m4 (gl_FUNC_LSTAT): + Use AC_LIBSOURCES to require lstat.c and lstat.h. + Remove obsolete comment. + * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ. + * m4/xstrtod.m4: Likewise. + + * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c. + +2005-09-22 Jim Meyering + + Sync from coreutils. + + * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case. + + * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just + the .tm_year member, since otherwise gcc-4.0 would now warn about + tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday. + + * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in + order to avoid an unsuppressible warning from gcc on 64-bit systems. + + * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that + the command "date -d'2005-03-27 +1 day'" succeeds once again, even + when run in a time zone for which daylight savings time is in effect + for the starting date. + + * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD) + stop us from restricting permissions of just-created absolute-named + directories. + * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing + to restore initial working directory. + * lib/mkdir-p.c (make_dir_parents): New parameter: + different_working_dir, to tell caller if/when we change the working + directory and are unable to return to the initial one. + * lib/mkdir-p.h (make_dir_parents): Update prototype. + * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to + `return false'. This fixes a bug introduced on 2004-07-30. + + * lib/openat.c (fdopendir): Be sure to close the supplied + file descriptor before returning. This makes our replacement + implementation a little closer to Solaris's, where fdopendir + ties the file descriptor to the returned DIR* pointer. + * lib/openat.c (unlinkat): New function. + * lib/openat.h (unlinkat): Add prototype. + * lib/openat-die.c (openat_save_fail): Rename from openat_save_die. + (openat_restore_fail): Rename from openat_restore_die. + * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming. + + Provide an alternative to exiting immediately upon save_cwd or + restore_cwd failure. Now, an application can arrange e.g., + to perform a longjump in that case. + * lib/openat.c: Include dirname.h. + Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash. + (rpl_openat, fdopendir, fstatat): Call openat_save_die + and openat_restore_die rather than calling error directly. + Don't include "error.h" or "exitfail.h"; they're no longer needed. + + * lib/openat-die.c (openat_save_die, openat_restore_die): New file. + * lib/openat.h (openat_save_die, openat_restore_die): Declare and + define. + + * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface: + size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm, + int utc, int nanoseconds); + Background: + date should not have to allocate a megabyte of virtual memory to + handle a format argument like +%1048575T. When implemented with + strftime, it must allocate such a buffer, use strftime to fill it + in, print it, then free it. + With fprintftime, it simply prints everything and exits. + With no need for memory allocation, that's one fewer way to fail. + * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the + optional field width, not before, so we accept %9:z, not %:9z. + (my_strftime): Be sure to use L_('x') for literals. + + * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c: + * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c: + * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c: + * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c: + * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c: + * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c: + * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c: + * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c: + * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c: + * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c: + * lib/xgethostname.c, lib/xreadlink.c: + Assume HAVE_UNISTD_H, i.e., include unconditionally. + + * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c: + * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c: + * lib/openat.h, lib/save-cwd.c, lib/tempname.c: + Assume HAVE_FCNTL_H (i.e., include unconditionally, + and don't include ). + +2005-09-22 Eric Blake (tiny change) + + Sync from coreutils. + + * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin. + [__linux__]: Allocate a big enough buffer for /proc/loadavg. + [!LDAV_DONE]: Avoid unused variable warning. + +2005-09-21 Bruno Haible + + * lib/unicodeio.h (unicode_to_mb): New declaration. + +2005-09-20 Derek Price + + * lib/getaddrinfo.c: Don't include included from + getaddrinfo.h. + +2005-09-20 Bruno Haible + + * gnulib-tool: Remove trailing slashes from the values specified for + --source-base, --m4-base, --tests-base, --aux-dir. + Suggested by Simon Josefsson . + +2005-09-20 Bruno Haible + + * gnulib-tool (func_all_modules, func_modules_transitive_closure, + func_modules_to_filelist, func_import, func_create_testdir): Make all + sorting results locale-independent, so that gnulib-cache.m4 doesn't + change when gnulib-tool is invoked in a different locale. + +2005-09-19 Simon Josefsson + + * m4/socklen.m4: Fix typo. + +2005-09-19 Ralf Wildenhues + + Use a consistent style for including . + * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c, + lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c, + lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c, + lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c, + lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c, + lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c, + lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c, + lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c, + lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c, + lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c, + lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c, + lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c, + lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c, + lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c, + lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, + lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c, + lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c, + lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c, + lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c, + lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c, + lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c, + lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c, + lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, + lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c, + lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c, + lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c, + lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c, + lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c, + lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c, + lib/xstrtoumax.c, lib/yesno.c: + Standardize inclusion of config.h. + * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h, + lib/inttostr.h: Removed inclusion of config.h from header files. + * lib/inttostr.c: Adjusted in-tree users. + * lib/timespec.h: Remove superfluous warning to include config.h. + * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c, + lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c, + lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c, + lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of + config.h with HAVE_CONFIG_H. + +2005-09-19 Jim Meyering + + * modules/pathmax (License): Change to LGPL. + +2005-09-19 Derek Price + + * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h. + +2005-09-19 Bruno Haible + + * gnulib-tool (import): Provide default for --tests-base. + +2005-09-19 Bruno Haible + + * doc/quote.texi: New file, extracted from gnulib.texi. + * doc/ctime.texi: New file, extracted from gnulib.texi. + * doc/inet_ntoa.texi: New file, extracted from gnulib.texi. + * doc/gnulib-tool.texi: New file, extracted from gnulib.texi. + * doc/gnulib.texi: Include them. + +2005-09-18 Bruno Haible + + Portability fix. + * gnulib-tool (func_readlink): New function. + (func_ln_if_changed): Use it. + +2005-09-18 Bruno Haible + + * gnulib-tool: Support --with-tests also with --import. + (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase. + (func_import): Use variables $testsbase and $inctests. Emit a + gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am. + Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and + SUBDIRS += $testsdir. + (func_create_testdir): Update. + +2005-09-18 Bruno Haible + + * gnulib-tool: Revise --dry-run implementation. Use variable $doit + instead of $dry_run. + (func_cp_if_changed, func_mv_if_changed): Remove functions. + (func_ln_if_changed): Don't handle dry-run here. + (func_import): In dry-run mode, detect more precisely which actions + would be performed, and don't use "...ing" verbs. + +2005-09-18 Bruno Haible + + * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize. + (func_import): Use join on two temporary files instead of three nested + loops, in order to determine which files are new or old. + +2005-09-18 Bruno Haible + + * gnulib-tool (func_import): Comment out code that spits out the + new files with --dry-run. + +2005-09-18 Bruno Haible + + * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten. + +2005-09-16 Paul Eggert + + * lib/stat-time.h: New file. + * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP): + (MTIME_CMP, TIMESPEC_NS): Remove. Now done by stat-time.h, + in a different way. + (timespec_cmp): New function. + * lib/utimecmp.c: Include stat-time.h. + (SYSCALL_RESOLUTION): Depend on whether various struct stat + members exist, not on the obsolescent ST_MTIM_NSEC. + (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS. + +2005-09-16 Paul Eggert + + * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c. + +2005-09-16 Paul Eggert + + * MODULES.html.sh (File system functions): Add stat-time. + * modules/stat-time: New file. + * modules/timespec (Files): Remove m4/st_mtim.m4; this + is now done in a different way, by the stat-time module. + * modules/utimecmp (Depends-on): Add stat-time. + +2005-09-15 Paul Eggert + + * m4/st_mtim.m4: Remove. Superseded by... + * m4/stat-time.m4: New file. + * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE. + Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed. + +2005-09-15 Derek Price + + * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here. + +2005-09-15 Derek Price + + * lib/regex_internal.h: Blank `pure' for GNUC < 3. + * lib/regex_internal.c: Ditto, using this... + (__GNUC_PREREQ): ...new macro. + * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1 + using... + (__GNUC_PREREQ): ...this new macro. + + * lib/strstr.h: Include string.h. Define strstr as a macro here. + +2005-09-15 Derek Price + Paul Eggert + + * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous + changes, consolidating in... + * lib/regex_internal.h: ...this file. + +2005-09-13 Jim Meyering + + * lib/canon-host.c: Filter through gnu indent and reword comments + slightly. + * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing. + +2005-09-13 Derek Price + + * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation + failure. + Reported by Jim Meyering . + +2005-09-12 Ralf Wildenhues (tiny change) + + * lib/base64.c: Typo. + (base64_encode): Put b64str in initialized data section. + +2005-09-12 Paul Eggert + + Merge glibc and coreutils changes into gnulib, plus a few + extra fixes. + * lib/md5.c: Use #error rather than a string. + (CYCLIC): New macro, from glibc source. Use it instead of rol. + * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already. + (__attribute__): Define to empty for non recent-GCC. + (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block): + (__md5_process_bytes, __md5_read_ctx, __md5_stream): + Renamed from their non-__ counterparts, with new macros replacing + them if not _LIBC. Add __THROW attribute. + (rol): Remove. + (struct md5_ctx): Align buffer if using GCC. + * lib/sha1.h (struct sha1_ctx): Likewise. + * lib/sha1.c (SWAP): Renamed from the NOTSWAP. All uses changed. + The old name was backwards. + (NOTSWAP): Remove; not used. + (rol): New macro, moved here from md5.h. + (sha1_process_block): Remove a FIXME that doesn't make sense. + +2005-09-12 Derek Price + + Return usable errors from canon-host. + * lib/canon-host.h: New file. + * lib/canon-host.c (canon_host): Wrap... + (canon_host_r): ...this new function, which now relies exclusively on + getaddrinfo. + (ch_strerror): New function. + (last_cherror): New global. + * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test + interface. + (getaddrinfo): Add AI_CANONNAME functionality. Don't do arithmetic on + void *. + (freeaddrinfo): Free ai->ai_canonname when set. + +2005-09-12 Derek Price + + Make canon-host require getaddrinfo. + * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies. + AC_LIBSOURCE canon-host.h. Call... + (gl_PREREQ_CANON_HOST): ...this new function, which requires + gl_GETADDRINFO. + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed. + +2005-09-12 Derek Price + + * modules/canon-host: Add canon-host.h. Depend on getaddrinfo. Make + LGPL. + * modules/getaddrinfo: Add link to opengroup spec. Depend on strdup. + +2005-09-12 Derek Price + + * lib/gai_strerror.c: Include config.h when available. Include + getaddrinfo.h before other headers to test interface. + Reported by Larry Jones . + +2005-09-12 Derek Price + Paul Eggert + + * modules/glob (Files): Add glob-libc.h. + +2005-09-12 Derek Price + Paul Eggert + + * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c, + glob_.h, glob-libc.h. + (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed. + +2005-09-12 Derek Price + Paul Eggert + + * lib/glob-libc.h: Renamed from glob_.h. The new version is + taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB' + protecting things that should be done only in gnulib contexts. + * lib/glob_.h: New file, containing only the glob things needed for + gnulib. + (GLOB_PREFIX): Remove. All uses changed to look for __GLOB_GNULIB. + (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed. + (glob, globfree, glob_pattern_p): Now defined simply in terms of + rpl_glob, rpl_globfree, rpl_glob_pattern_p. + (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer + and to respect the namespace rules better. + +2005-09-08 Simon Josefsson + + * modules/socklen: New file. + +2005-09-08 Simon Josefsson + + * m4/socklen.m4: New file. + +2005-09-08 Paul Eggert + + * modules/utimens (Files): Add m4/utimbuf.m4, since + m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF. + Reported by Sergey Poznyakoff. + +2005-09-08 Paul Eggert + + * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function + definitions, since that's the preferred style in glibc. + Fix a minor spacing issue, and update copyright notice to match + glibc's. + +2005-09-08 Paul Eggert + + * config/srclist.txt: Remove glibc bug 1061; it's been fixed. + +2005-09-06 Simon Josefsson + + * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not + TCSETATTR. Reported by Derek Price . + +2005-09-06 Paul Eggert + + * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall + warning. + +2005-09-06 Paul Eggert + + * config/srclist.txt: Add glibc bug 1302. + +2005-09-05 Paul Eggert + + Change bitset word type from unsigned int to unsigned long int, + as this has better performance on typical 64-bit hosts. + Port bitset code to hosts with unusual word sizes. + * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp): + (build_collating_symbol): + Prefer bitset to re_bitset_ptr_t in prototypes, when the actual + argument is a bitset. This is merely a style issue, but it makes + it clearer that an entire array is expected. + (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps): + * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op): + Port to the case where bitset_word is not the same as unsigned int. + * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain): + (bitset_not, bitset_merge, bitset_set_all, bitset_mask): + Likewise. + * lib/regexec.c (check_dst_limits_calc_pos_1, + check_subexp_matching_top): + (build_trtable, group_nodes_into_DFAstates): + Likewise. + * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8): + Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS. + * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise. + * lib/regexec.c (group_nodes_into_DFAstates): Likewise. + * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff. + * lib/regcomp.c (optimize_subexps, lower_subexp): + Work even if bitset_word has holes in its bitwise representation. + * lib/regex_internal.h (BITSET_WORD_BITS): Likewise. + * lib/regexec.c (check_dst_limits_calc_pos_1, + check_subexp_matching_top): + Likewise. + * lib/regex_internal.c (re_string_reconstruct): + Don't assume UCHAR_MAX == 255. + * lib/regex_internal.h (bitset_set_all): Likewise. + * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS. + All uses changed. + (BITSET_WORDS): Renamed from BITSET_UINTS. All uses changed. + (bitset_word): New type, replacing 'unsigned int' for bitset uses. + All uses changed. + (BITSET_WORD_MAX): New macro. + (bitset_set, bitset_clear, bitset_contain, bitset_empty): + (bitset_set_all, bitset_copy): Now inline functions, not macros. + (bitset_empty, bitset_copy): + Prefer sizeof (bitset) to multiplying it out ourselves. + (bitset_not_merge): Remove; unused. + (bitset_contain): Return bool, not unsigned int with one bit on. + All callers changed. + * lib/regexec.c (build_trtable): Don't assume bitset has no stricter + alignment than re_node_set; do this by defining a new internal + type struct dests_alloc and using it to allocate memory. + +2005-09-05 Bruno Haible + + * gnulib-tool (func_import): Fix comparison in handling of symbolic + links. + +2005-09-04 Martin Lambers (tiny change) + + * modules/size_max (Makefile.am): Add size_max.h + +2005-09-04 Derek Price + + * gnulib-tool (func_import): Fix reversed $symbolic logic. + +2005-09-03 Simon Josefsson + + * gnulib-tool: Fix typo. + +2005-09-03 Simon Josefsson + + * config/srclist.txt: Add glibc bug 1293. + +2005-09-03 Derek Price + + * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error. + From Larry Jones . + +2005-09-02 Simon Josefsson + + * modules/socklen: New file. + +2005-09-02 Simon Josefsson + + * modules/havelib: New module. + + * modules/gettext, modules/iconv, modules/lock, modules/readline: + Use havelib. + +2005-09-02 Paul Eggert + + Check for arithmetic overflow when calculating sizes, to prevent + some buffer-overflow issues. These patches are conservative, in the + sense that when I couldn't determine whether an overflow was possible, + I inserted a run-time check. + * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New + macros. + (SIZE_MAX) [!defined SIZE_MAX]: New macro. + (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc): + (re_xnrealloc, re_x2nrealloc): New inline functions. + * lib/regcomp.c (init_dfa, analyze, build_range_exp, + parse_bracket_exp): + (build_equiv_class, build_charclass): Check for arithmetic overflow + in size expression calculations. + * lib/regex_internal.c (re_string_realloc_buffers): + (build_wcs_upper_buffer, re_node_set_add_intersect): + (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last): + (re_dfa_add_node, register_state): Likewise. + * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal): + (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival): + (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry): + (match_ctx_add_subtop, match_ctx_add_sublast): Likewise. + +2005-09-02 Paul Eggert + + * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4, + m4/ulonglong.m4. Problem reported by Martin Lambers. + +2005-09-02 Bruno Haible + + Support for lib vs. lib64 distinction on biarch platforms. + * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro. + (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'. + * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise. + +2005-09-02 Bruno Haible + + * gnulib-tool (import): In the other first-use case, provide defaults + as well. + +2005-09-02 Bruno Haible + + * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have + patches not yet found in the latest gettext release. + +2005-09-01 Paul Eggert + + * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX, + to avoid a collision with bits/local_lim.h in glibc. + All uses changed. Problem reported by Dmitry V. Levin in + . + + * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability + bugs in int versus size_t comparisons. + (re_string_context_at): Fix bug where the code assumed that + Idx is signed. + + Use bool where appropriate. + * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int. + All callers changed. + (calc_eclosure_iter): Likewise, for ROOT arg. + (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg. + (build_charclass_op): Likewise, for NON_MATCH arg. + * lib/regex_internal.c (re_string_allocate, re_string_construct): + (re_string_construct_common): Likewise, for ICASE arg. + * lib/regexec.c (re_search_2_stub, re_search_stub): + Likewise, for RET_LEN arg. + (check_matching): Likewise, for FL_LONGEST_MATCH arg. + (set_regs): Likewise, for FL_BACKTRACK arg. + * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8): + (duplicate_node_closure, calc_inveclosure, calc_eclosure): + (calc_eclosure_iter, parse_bracket_exp): + Use bool for internal variables that are booleans. + * lib/regexec.c (re_search_internal, check_matching, + proceed_next_node): + (set_regs, build_sifted_states, sift_states_bkref): + (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub): + (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates): + (find_collation_sequence_value): + Likewise. + * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last): + (re_node_set_compare): + Return bool, not int. All callers changed. + * lib/regexec.c (check_halt_node_context, check_dst_limits): + (build_trtable, check_node_accept): Likewise. + * lib/regex_internal.h: Include stdbool.h. + + Fix bugs uncovered when converting to bool. + * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation + failure instead of charging ahead blindly. + * lib/regex_internal.c (register_state): Likewise. + * lib/regexec.c (re_search_2_stub): Use simpler method than boolean + for freeing internal storage. + (group_nodes_into_DFA_states): Use unsigned int, not int, for + bitset pieces used as boolean, to avoid undefined behavior + on hosts that do int overflow checking. + +2005-09-01 Paul Eggert + + * config/srclist.txt: Add glibc bugs 1285-1287. + +2005-09-01 Jim Meyering + + * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of + CHOWN_MODIFIES_SYMLINK, which is used by lchown.c. + Require gl_STAT_MACROS, too. + +2005-09-01 Bruno Haible + + * gnulib-tool (import): In the first-use case, provide defaults. + +2005-09-01 Bruno Haible + + * gnulib-tool (func_import): Remove the .tmp files. + +2005-09-01 Bruno Haible + + * gnulib-tool (func_import): Fix handling of symbolic links. + +2005-08-31 Paul Eggert + + On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the + old glibc regex code mishandles strings longer than 2**31 bytes. + This patch fixes this when the regex code is used in gnulib + (i.e., outside glibc). + + This patch should not affect the use of the regex code inside + glibc. No doubt this problem also needs to be handled for glibc + as well, but the result will be an incompatible change to the + glibc ABI, and the old ABI will have to be supported too. That + can be the the subject for another patch. + + * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro, + governing whether the rest of this patch is active. By default, + the macro is disabled and the patch has no effect. + (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int. + (__re_idx_t, __re_size_t, __re_long_size_t): New types. + (struct re_pattern_buffer, re_search, re_search_2, re_match): + (re_match_2, re_set_registers): Use the new types. + * lib/regex_internal.h (Idx, re_hashval_t): New types. + (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX): + New macros. + (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers): + (re_string_context_at, bin_tree_t, re_dfastate_t): + (struct re_state_table_entry, state_array_t, re_sub_match_last_t): + (re_sub_match_top_t, re_match_context_t, re_sift_context_t): + (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t): + (re_string_char_size_at, re_string_wchar_at): + (re_string_elem_size_at): + Use the new types and macros to port to 64-bit hosts. + Use unsigned types for internal values, so that the code + mostly works even for arrays larger than SSIZE_MAX. + * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node): + (search_duplicated_node, calc_eclosure_iter, fetch_number): + (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp): + (build_equiv_class, build_charclass, re_compile_fastmap_iter): + (free_dfa_content, create_initial_state, optimize_utf8, analyze): + (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure): + (calc_inveclosure, parse_dup_op, build_range_exp): + (build_collating_symbol, parse_bracket_exp, build_charclass_op): + (fetch_number, create_token_tree, mark_opt_subexp): + Likewise. + * lib/regex_internal.c (re_string_construct_common, + create_ci_newstate): + (create_cd_newstate, re_string_allocate, re_string_construct): + (re_string_realloc_buffers, build_wcs_upper_buffer): + (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer): + (re_string_reconstruct, re_string_peek_byte_case): + (re_string_fetch_byte_case, re_string_context_at): + (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2): + (re_node_set_init_copy, re_node_set_add_intersect): + (re_node_set_init_union, re_node_set_merge, re_node_set_insert): + (re_node_set_insert_last, re_node_set_compare, re_node_set_contains): + (re_node_set_remove_at, re_dfa_add_node, calc_state_hash): + (re_acquire_state, re_acquire_state_context, register_state): + Likewise. + * lib/regex.c (match_ctx_init, match_ctx_add_entry, + search_cur_bkref_entry): + (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init): + (re_search_internal, re_search_2_stub, re_search_stub) + (re_copy_regs, check_matching, check_halt_state_context, update_regs): + (push_fail_stack, sift_states_iter_mb, build_sifted_states): + (update_cur_sifted_state, check_dst_limits): + (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos): + (check_subexp_limits, sift_states_bkref, merge_state_array): + (check_subexp_matching_top, get_subexp, get_subexp_sub): + (find_subexp_node, check_arrival, check_arrival_add_next_nodes): + (check_arrival_expand_ecl, check_arrival_expand_ecl_sub): + (expand_bkref_cache, check_node_accept_bytes): + (group_nodes_into_DFAstates, check_node_accept, regexec, re_match): + (re_search, re_match_2, re_search_2, prune_impossible_nodes): + (acquire_init_state_context, check_halt_node_context): + (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return): + (sift_states_backward, clean_state_log_if_needed): + (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log): + (find_recover_state, transit_state_sb, transit_state_mb): + (transit_state_bkref, build_trtable, match_ctx_clean): + Likewise. + * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned, + to work around an assumption that REG_MISSING is negative. + + * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]: + (seek_collating_symbol_entry) [defined _LIBC]: + (lookup_collation_sequence_value) [defined _LIBC]: + (build_range_exp, build_collating_symbol) [defined _LIBC]: + Use prototypes rather than old-style function definitions. + * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]: + (transit_state_sb) [0]: + (find_collation_sequence_value) [defined _LIBC]: Likewise. + + * lib/regexec.c (re_search_internal): Simplify update of rm_so and + rm_eo. + + * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char): + (optimize_subexps, lower_subexp): + Don't assume 1<<31 has defined behavior on hosts with 32-bit int, + since the signed shift might overflow. Use 1u<<31 instead. + * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain): + Likewise. + * lib/regexec.c (check_dst_limits_calc_pos_1, + check_subexp_matching_top): Likewise. + + * lib/regcomp.c (optimize_subexps, lower_subexp): + Use CHAR_BIT rather than 8, for clarity. + * lib/regexec.c (check_dst_limits_calc_pos_1): + (check_subexp_matching_top): Likewise. + * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't + have to worry about portability issues when shifting it left. + Remove no-longer-needed test for table_size > 0. + * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are + in a word, as the resulting behavior is undefined. + * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise; + in one case, a <= should have been an <, and in another case the + whole test was missing. + * lib/regex_internal.h (BYTE_BITS): Remove. All uses changed to + the standard name CHAR_BIT. + * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1; + this is not true on one's complement and signed-magnitude hosts. + + * lib/regex_internal.h (re_sub_match_top_t): Remove unused member + next_last_offset. + (struct re_dfa_t): Remove unused member states_alloc. + * lib/regcomp.c (init_dfa): Don't initialize unused members. + +2005-08-31 Paul Eggert + + * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define + _REGEX_LARGE_OFFSETS). Test for regoff_t/off_t bug in 64-bit + and large-file glibc and in 32-bit large-file Solaris. + +2005-08-31 Paul Eggert + + * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer + lengths fit in regoff_t; this isn't true if regoff_t is the same + width as size_t. + * lib/regex.c (re_search_internal): 5th arg is LAST_START + (= START + RANGE) instead of RANGE. This avoids overflow + problems when regoff_t is the same width as size_t. + All callers changed. + (re_search_2_stub): Check for overflow when adding the + sizes of the two strings. + (re_search_stub): Check for overflow when adding START + to RANGE; if it occurs, substitute the extreme value. + +2005-08-31 Paul Eggert + + * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284. + +2005-08-31 Jim Meyering + + * lib/regcomp.c (search_duplicated_node): Make first pointer arg + a pointer-to-const. + * lib/regex_internal.c (create_ci_newstate, create_cd_newstate): + (register_state): Likewise. + * lib/regexec.c (search_cur_bkref_entry, check_dst_limits): + (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos): + (group_nodes_into_DFAstates): Likewise. + +2005-08-31 Jim Meyering + + * check-module: Add a FIXME comment. + +2005-08-31 Eric Blake + + * modules/unistd-safer (Files): Add unistd--.h. + * modules/stdio-safer (Files): Add stdio--.h. + +2005-08-31 Derek Price + + * lib/getdelim.c (getdelim): Return EOF on EOF. + Reported by Larry Jones . + +2005-08-31 Bruno Haible + + Avoid unnecessary diffs in the generated lib/Makefile.am. + * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into + the generated files. + (func_import): Don't set cmd. + +2005-08-31 Bruno Haible + + * lib/strstr.c: Include , for NULL. + * lib/strcasestr.c: Likewise. + Reported by Yoann Vandoorselaere . + +2005-08-31 Bruno Haible + + * gnulib-tool: New option --macro-prefix. + (func_import): Use macro_prefix. + (import): Handle option --macro-prefix. + +2005-08-31 Bruno Haible + + * gnulib-tool (import): Rename most ac_* variables to cached_*. + Also use new variables cached_lgpl, cached_libtool. + +2005-08-31 Bruno Haible + + * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of + always instantiating them. + +2005-08-31 Bruno Haible + + * gnulib-tool (func_import): Read the previous cached settings + from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were + earlier added by gnulib but are now dropped. Warn when a gnulib file + overwrites a non-gnulib file. + +2005-08-31 Bruno Haible + + * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and + gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for + projects that don't keep autogenerated files in CVS. Put into + actioncmd only the specified modules, not the transitive closure. + +2005-08-31 Bruno Haible + + * gnulib-tool (func_import): Fix defaulting of $libname and $libtool. + Create directories that shall be filled. + (import): Don't look for gl_* macros in configure.ac. Recurse across + all directories containing a gnulib-cache.m4 files, if meaningful. + +2005-08-31 Bruno Haible + + * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL. + (import): Set seen_libtool when we see gl_LIBTOOL. + +2005-08-31 Bruno Haible + + * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit + declaration macro definitions from generated gnulib.m4. + +2005-08-30 Oskar Liljeblad + + * lib/iconvme.h: Add prototype for iconv_alloc. + +2005-08-29 Simon Josefsson + + * lib/iconvme.c: Fix errno. + +2005-08-29 Bruno Haible + + * gnulib-tool: Enclose all occurrences of $destdir in "...", so + that it works when the directory contains spaces. + +2005-08-29 Bruno Haible + + * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist. + +2005-08-29 Bruno Haible + + * gnulib-tool (func_import): Emit more comments into gnulib.m4. + Emit more advice. + +2005-08-29 Bruno Haible + and Stepan Kasal + + * check-module: If more parameters are given, check each of them + separately; add more exceptions, as noted by Jim Meyering. + (check_module): New procedure. + (%exempt_header): Now contains all exceptions. + +2005-08-29 Ben Pfaff + + * modules/byteswap (Makefile.am): Fix rule to not assume GNU make. + +2005-08-29 Oskar Liljeblad + + * lib/iconvme.c: Split iconv_string into iconv_alloc. + +2005-08-28 Bruno Haible + + * m4/gnulib-tool.m4: New file. + +2005-08-27 Jim Meyering + + * modules/unistd-safer (Files): Add pipe-safer.c. + * modules/fcntl-safer (Files): Add creat-safer.c. + +2005-08-27 Jim Meyering + + * m4/stdlib-safer.m4: New file. From coreutils. + * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h. + * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the + AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ. + * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c. + Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list. + +2005-08-27 Jim Meyering + + * lib/fopen-safer.c: Merge minor changes from coreutils. + * lib/dup-safer.c: Likewise. + * lib/fd-safer.c: Likewise. + + Merge from coreutils. + * lib/stdio--.h: New file. + * lib/stdlib--.h: New file. + * lib/mkstemp-safer.c: New file. + + GNU tar needs these. + * lib/pipe-safer.c: New file. + * lib/creat-safer.c: New file. + * lib/fcntl--.h (creat): Define to creat_safer. + * lib/fcntl-safer.h: Include and declare creat_safer. + * lib/unistd--.h (pipe): Define to pipe_safer. + * lib/unistd-safer.h: Declare pipe_safer. + +2005-08-26 Simon Josefsson + + * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno + Haible . + +2005-08-26 Paul Eggert + + * lib/regex_internal.h: Remove all references to + RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89 + or better. + (bitset_not, bitset_merge, bitset_not_merge): + (bitset_mask, re_string_allocate, re_string_construct): + (re_string_reconstruct, re_string_destruct, re_string_elem_size_at): + (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case): + (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1): + (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect): + (re_node_set_init_union, re_node_set_merge, re_node_set_insert): + (re_node_set_insert_last, re_node_set_compare, re_node_set_contains): + (re_node_set_remove_at, re_dfa_add_node, re_acquire_state): + (re_acquire_state_context): + Remove unnecessary forward decls. + (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at): + Put __attribute at function definition, + now that the function decl has been removed. + * lib/regex_internal.c (re_string_peek_byte_case): + (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains): + Likewise. + +2005-08-25 Stepan Kasal + + * m4/regex.m4: Add AC_PREREQ(2.50). + (gl_REGEX): If --with-included-regex was given, skip the autodetection. + +2005-08-25 Simon Josefsson + + * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and + __fsetlocking. + +2005-08-25 Simon Josefsson + + * lib/getpass.c: Add WIN32 implementation. Conditionalize use of + termios.h, tcgetattr, tcsetattr and __fsetlocking. Remove some + GLIBC specific code. + +2005-08-25 Paul Eggert + + Make regex safe for g++. This fixes one real bug (an "err" + that should have been "*err"). g++ problem reported by + Sam Steingold. + * lib/regex_internal.h (re_calloc): New macro, consistent with + re_malloc etc. All callers of calloc changed to use re_calloc. + * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t, + not int. All callers changed. + * lib/regcomp.c (re_compile_fastmap_iter): Don't use + alloca (mb_cur_max); just use an array of size MB_LEN_MAX. + * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc. + (find_recover_state): Change "err" to "*err"; this fixes what + appears to be a real bug. + (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t + versus int. + +2005-08-25 Paul Eggert + + * modules/regex (Depends-on): Add malloc, since the code + assumes that !malloc(0) means failure. + +2005-08-25 Paul Eggert + + * lib/regexec.c (set_regs): Don't alloca with an unbounded size. + + alloca modernization/simplification for regex. + * lib/regex.c: Remove portability cruft for alloca. This no longer + needs to be at the start of the file, and can be moved into + regex_internal.h and simplified. + * lib/regex_internal.h: Include . + (__libc_use_alloca) [!defined _LIBC]: New macro. + * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code + now works outside glibc. + +2005-08-25 Paul Eggert + + * config/srclist.txt: Add glibc bugs 1241, 1245. + +2005-08-25 Jim Meyering + + * lib/open-safer.c: Include . + Otherwise, we'd lose LARGEFILE support in any file using + e.g. "fcntl--.h" + +2005-08-25 Bruno Haible + + * m4/minmax.m4: Require autoconf 2.52. + (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead + of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust + alternatives of translit over the alphabet. + Based on a patch from Stepan Kasal . + +2005-08-24 Simon Josefsson + + * tests/test-getpass.c: New file. + +2005-08-24 Paul Eggert + + * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing + for GNU regex features. + +2005-08-24 Paul Eggert + + * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX. + * lib/regex.h (regerror): Likewise. + + * lib/regex.c: Do not include , as POSIX no longer + requires this. (The code never needed it.) + + * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c: + All uses of recently-renamed identifiers changed to use the new, + POSIX-compliant names. The code will build and run just fine + without these changes, but it's better to eat our own dog food + and use the standard-conforming names. + + * lib/regex.h: Fix a multitude of POSIX name space violations. + These changes have an effect only for programs that define + _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they + do not change anything for programs compiled in the normal way. + Also, there is no effect on the ABI. + + (_REGEX_SOURCE): New macro. + Do not include if _XOPEN_SOURCE and VMS are both + defined and _GNU_SOURCE is not; this fixes a name space violation. + + Rename the following macros to obey POSIX requirements. + The old names are still visible as macros if _REGEX_SOURCE is defined. + (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from + RE_BACKSLASH_ESCAPE_IN_LISTS. + (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM. + (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES. + (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS. + (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS. + (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS. + (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE. + (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL. + (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE. + (REG_INTERVALS): renamed from RE_INTERVALS. + (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS. + (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT. + (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES. + (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS. + (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS. + (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR. + (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES. + (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from + RE_UNMATCHED_RIGHT_PAREN_ORD. + (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING. + (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS. + (REG_DEBUG): renamed from RE_DEBUG. + (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD. + (REG_IGNORE_CASE): renamed from RE_ICASE. This renaming is a bit + unusual, since we can't clash with the POSIX REG_ICASE. + (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE. + (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP. + (REG_NO_SUB): renamed from RE_NO_SUB. + (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS. + (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK. + (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK. + (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK. + (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP. + (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP. + (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP. + (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED. + (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED. + (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON. + (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC. + (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from + RE_SYNTAX_POSIX_MINIMAL_BASIC. + (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED. + (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from + RE_SYNTAX_POSIX_MINIMAL_EXTENDED. + (REG_DUP_MAX): renamed from RE_DUP_MAX. No need to undef it. + (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED. + (REG_REALLOCATE): Renamed from REGS_REALLOCATE. + (REG_FIXED): Renamed from REGS_FIXED. + (REG_NREGS): Renamed from RE_NREGS. + + (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values + of other REG_* macros, since POSIX says the user is allowed to + #undef these macros selectively. + + (reg_errcode_t): Update comment stating what other tables need + to be consistent. + + Rename the following enum values to obey POSIX requirements. + The old names are still visible as macros. + (_REG_ENOSYS): Renamed from REG_ENOSYS. Define even if _XOPEN_SOURCE + is not defined, since GNU is supposed to be a superset of POSIX as + much as possible, and since we want reg_errcode_t to be a signed + type for implementation consistency. + (_REG_NOERROR): Renamed from REG_NOERROR. + (_REG_NOMATCH): Renamed from REG_NOMATCH. + (_REG_BADPAT): Renamed from REG_BADPAT. + (_REG_ECOLLATE): Renamed from REG_ECOLLATE. + (_REG_ECTYPE): Renamed from REG_ECTYPE. + (_REG_EESCAPE): Renamed from REG_EESCAPE. + (_REG_ESUBREG): Renamed from REG_ESUBREG. + (_REG_EBRACK): Renamed from REG_EBRACK. + (_REG_EPAREN): Renamed from REG_EPAREN. + (_REG_EBRACE): Renamed from REG_EBRACE. + (_REG_BADBR): Renamed from REG_BADBR. + (_REG_ERANGE): Renamed from REG_ERANGE. + (_REG_ESPACE): Renamed from REG_ESPACE. + (_REG_BADRPT): Renamed from REG_BADRPT. + (_REG_EEND): Renamed from REG_EEND. + (_REG_ESIZE): Renamed from REG_ESIZE. + (_REG_ERPAREN): Renamed from REG_ERPAREN. + (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE): + (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN): + (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND): + (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants. + + (_REG_RE_NAME, _REG_RM_NAME): New macros. + (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE. All uses + changed. But support the old name if the new one is not defined + and if _REGEX_SOURCE. + + Change the following member names in struct re_pattern_buffer. + The old names are still supported if !_REGEX_SOURCE. + The new names are always supported, regardless of _REGEX_SOURCE. + (re_buffer): Renamed from buffer. + (re_allocated): Renamed from allocated. + (re_used): Renamed from used. + (re_syntax): Renamed from syntax. + (re_fastmap): Renamed from fastmap. + (re_translate): Renamed from translate. + (re_can_be_null): Renamed from can_be_null. + (re_regs_allocated): Renamed from regs_allocated. + (re_fastmap_accurate): Renamed from fastmap_accurate. + (re_no_sub): Renamed from no_sub. + (re_not_bol): Renamed from not_bol. + (re_not_eol): Renamed from not_eol. + (re_newline_anchor): Renamed from newline_anchor. + + Change the following member names in struct re_registers. + The old names are still supported if !_REGEX_SOURCE. + The new names are always supported, regardless of _REGEX_SOURCE. + (rm_num_regs): Renamed from num_regs. + (rm_start): Renamed from start. + (rm_end): Renamed from end. + + (re_set_syntax, re_compile_pattern, re_compile_fastmap): + (re_search, re_search_2, re_match, re_match_2, re_set_registers): + Prepend __ to parameter names. + + Undo yesterday's changes. + +2005-08-24 Paul Eggert + + * config/srclist.txt: Remove glibc bug 1233 and add 1236, which + supersedes it. Add glibc bugs 1237, 1238, 1240. Comment out + lib/regex.c. + +2005-08-24 Jim Meyering + + Sync from coreutils. + * m4/fcntl-safer.m4: New file. + + * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source + and object files for this module. + +2005-08-24 Jim Meyering + + Sync from coreutils. + * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files. + +2005-08-24 Jim Meyering + + * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line, + now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h. + +2005-08-24 Jim Meyering + + * modules/fcntl-safer: New module. + * modules/fts (Depends-on): Add fcntl-safer. + * MODULES.html.sh (File descriptor based Input/Output): + Add fcntl-safer. + +2005-08-24 Bruno Haible + + Support for unit test modules. + * modules/README: Mention tests modules. + * modules/TEMPLATE-TESTS: New file. + * gnulib-tool: New options --extract-tests-module, --with-tests and + --tests-base (unused for the moment). + (testsbase, inctests): New variables. + (func_all_modules): Exclude TEMPLATE-TESTS and *-tests. + (func_verify_module): Exclude TEMPLATE-TESTS. + (func_verify_nontests_module, func_verify_tests_module): New functions. + (func_get_dependencies): Add implicit dependency for tests modules. + (func_get_tests_module): New function. + (func_modules_transitive_closure): When --with-tests was specified, + include the unit tests as well, unless explicitly avoided. + (func_emit_lib_Makefile_am): Ignore the tests modules here. + (func_emit_tests_Makefile_am): New function. + (func_create_testdir): When --with-tests was specified, emit a + tests/ directory. + * MODULES.html.sh (Future developments): Update. + +2005-08-24 Bruno Haible + + * modules/tls-tests: New file. + * tests/test-tls.c: New file, from GNU gettext. + +2005-08-24 Bruno Haible + + * modules/lock-tests: New file. + * tests/test-lock.c: New file, from GNU gettext. + +2005-08-24 Bruno Haible + + * lib/lock.h: Add multiple inclusion guard. + * lib/tls.h: Add multiple inclusion guard. + +2005-08-24 Bruno Haible + + * gnulib-tool: Add support for the --aux-dir option to + --create-testdir, --create-megatestdir, --test, --megatest. + (func_create_testdir, func_create_megatestdir): Optionally emit a + AC_CONFIG_AUX_DIR directive. + (create-testdir, create-megatestdir, test, megatest): Provide a + default value for $auxdir. + +2005-08-24 Bruno Haible + + * gnulib-tool (import): Use compound statement instead of subshell + where possible. + +2005-08-24 Bruno Haible + + * gnulib-tool (import): Change --aux-dir default to "build-aux". + +2005-08-24 Bruno Haible + + * gnulib-tool (func_version): Update. + +2005-08-24 Bruno Haible + + * gnulib-tool (func_import, func_create_testdir, + func_create_megatestdir): Quote all autoconf macro arguments. + +2005-08-24 Bruno Haible + + * gnulib-tool (func_create_megatestdir): Call autoreconf without the + option --force, because --force causes the aclocal.m4 of each + subdirectory to be newer than the corresponding config.h.in. + +2005-08-23 Paul Eggert + + * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used. + All contents moved to gl_REGEX. + (gl_REGEX): Don't bother checking whether lib/regex.c exists; + assume that it does. + +2005-08-23 Paul Eggert + + * lib/regex.h (REG_NOSYS) + [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]: + Define, since POSIX requires it as of 2001. + (_REG_ENOSYS) + [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]: + New private symbol, used to keep the enum signed in all cases. + * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James + Youngman in + . + + * lib/regex_internal.c (re_string_skip_chars, register_state): + (calc_state_hash): + Remove forward decls; no longer needed now that we use prototypes. + * lib/regexec.c (acquire_init_state_context, check_halt_node_context): + (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes): + (clean_state_log_if_needed): Likewise. + +2005-08-23 Paul Eggert + + * config/srclist.txt: Add glibc bugs 1231-1233. + +2005-08-20 Paul Eggert + + Fix problems reported by Sam Steingold in + . + * lib/regexec.c (sift_states_bkref): Fix portability bug: the code + assumed that reg_errcode_t is a signed type, which is not + necessarily true if _XOPEN_SOURCE is not defined. + * lib/regex_internal.c (calc_state_hash): Put 'inline' before type, + since some compilers warn about it otherwise. + +2005-08-20 Paul Eggert + + * lib/regcomp.c (create_initial_state): Remove duplicate decl. + (init_word_char, create_initial_state, duplicate_node_closure): + (fetch_token, peek_token_bracket, build_range_exp): + (build_collating_symbol): Remove forward decls; no longer needed + now that we use prototypes. + + * lib/regcomp.c: + (re_compile_pattern, re_set_syntax, re_compile_fastmap): + (re_compile_fastmap_iter, regcomp, regerror, regfree): + (re_compile_internal, init_dfa, init_word_char, free_workarea_compile): + (create_initial_state, optimize_utf8, analyze, postorder, preorder): + (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next): + (link_nfa_nodes, duplicate_node_closure, search_duplicated_node): + (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter): + (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp): + (parse_branch, parse_expression, parse_sub_exp, parse_dup_op): + (build_range_exp, build_collating_symbol, parse_bracket_exp): + (parse_bracket_element, parse_bracket_symbol, build_equiv_class): + (build_charclass, build_charclass_op, fetch_number, create_tree): + (create_token_tree, mark_opt_subexp, duplicate_tree): + Use prototypes rather than old-style definitions. + + * lib/regex_internal.c: + (re_string_allocate, re_string_construct, re_string_realloc_buffers): + (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer): + (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer): + (re_string_reconstruct, re_string_peek_byte_case): + (re_string_fetch_byte_case, re_string_destruct, re_string_context_at): + (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2): + (re_node_set_init_copy, re_node_set_add_intersect): + (re_node_set_init_union, re_node_set_merge, re_node_set_insert): + (re_node_set_insert_last, re_node_set_compare, re_node_set_contains): + (re_node_set_remove_at, re_dfa_add_node, calc_state_hash): + (re_acquire_state, re_acquire_state_context, register_state): + (create_ci_newstate, create_cd_newstate, free_state): + Likewise. + * lib/regexec.c (regexec, re_match, re_search, re_match_2, + re_search_2): + (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers): + (re_search_internal, prune_impossible_nodes): + (acquire_init_state_context, check_matching, static): + (check_halt_node_context, check_halt_state_context, proceed_next_node): + (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return): + (update_regs, sift_states_backward, build_sifted_states): + (clean_state_log_if_needed, merge_state_array): + (update_cur_sifted_state, add_epsilon_src_nodes): + (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1): + (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref): + (sift_states_iter_mb, transit_state, merge_state_with_log, static): + (find_recover_state, check_subexp_matching_top, transit_state_mb): + (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node): + (check_arrival, check_arrival_add_next_nodes): + (check_arrival_expand_ecl, check_arrival_expand_ecl_sub): + (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates): + (check_node_accept_bytes, check_node_accept, extend_buffers): + (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry): + (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast): + (sift_ctx_init): + Likewise. + + * lib/regex_internal.h: + (re_string_allocate, re_string_construct, re_string_reconstruct): + (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer): + (build_upper_buffer, re_string_translate_buffer, re_string_destruct): + (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at): + (re_string_context_at, re_string_peek_byte_case): + (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES + is defined, since we now use prototypes always. + + * lib/regex.h (_RE_ARGS): Remove. No longer needed, since we assume + C89 or better. All uses removed. + +2005-08-20 Paul Eggert + + * config/srclist.txt: Add glibc bugs 1220-1227. + +2005-08-20 Jim Meyering + + * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration + of unused local, dfa. + +2005-08-20 Bruno Haible + + * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE. + +2005-08-19 Paul Eggert + + * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert): + (re_node_set_insert_last, re_dfa_add_node): + Rename local variables to avoid GCC shadowing warnings. + +2005-08-19 Paul Eggert + + * lib/regex_internal.c (re_acquire_state, re_acquire_state_context) + [defined lint]: Suppress bogus uninitialized-variable warnings. + + * lib/regcomp.c (duplicate_node): Return new index, not an error code, + and let the caller return REG_ESPACE if out of space. This + removes an uninitialied-variable warning with GCC 4.0.1, and also + avoids taking the address of a local variable. All callers + changed. + +2005-08-19 Paul Eggert + + * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c, + $LIBCSRC/posix/regexec.c. + Add glibc bug 1217 for regcomp.c. + +2005-08-19 Jim Meyering + + * lib/regexec.c (proceed_next_node): Redo local variables to + avoid GCC shadowing warnings. + +2005-08-18 Bruno Haible + + * lib/strstr.c (strstr): Fix return value in multibyte case. + * lib/strcasestr.c (strcasestr): Likewise. + +2005-08-17 Paul Eggert + + * lib/regex.h: Remove useless space-before-tab. From coreutils. + +2005-08-17 Jim Meyering + + Make the %s format (seconds since the epoch) work for a negative + number and when used with a zero-padded field width, e.g. %015s. + + * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding' + label so that it precedes the code to set `digits'. Otherwise, + %0Ns wouldn't work. Before this change, `date -d @-22 +%05s' would + print `00-22'. Now, it prints `-0022', as it should. + +2005-08-17 Bruno Haible + + * modules/strstr (Files): Add m4/mbrtowc.m4. + (Depends-on): Add mbuiter. + +2005-08-17 Bruno Haible + + * modules/strcasestr: New file. + * MODULES.html.sh (String handling, based on ANSI C 89): Add + strcasestr. + +2005-08-17 Bruno Haible + + * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar. + +2005-08-17 Bruno Haible + + * modules/mbuiter: New file. + * MODULES.html.sh (Extended multibyte and wide character utilities): + Add mbuiter. + +2005-08-17 Bruno Haible + + * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always. + (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC. + +2005-08-17 Bruno Haible + + * m4/strcasestr.m4: New file. + +2005-08-17 Bruno Haible + + * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function. + * lib/strstr.c: Completely rewritten, with multibyte locale support. + +2005-08-17 Bruno Haible + + * lib/strcasestr.h: New file. + * lib/strcasestr.c: New file. + +2005-08-17 Bruno Haible + + * lib/strcasecmp.c: Use mbuiter.h. + +2005-08-17 Bruno Haible + + * lib/mbuiter.h: New file. + +2005-08-16 Paul Eggert + + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results + of gl_GETOPT_SUBSTITUTE. That way, if both gl_GETOPT_SUBSTITUTE + and gl_GETOPT are both invoked via different paths (as happens + with GNU tar CVS because it uses both argp and getopt), the former + wins. + +2005-08-16 Bruno Haible + + * modules/tls: New file. + * MODULES.html.sh (Multithreading): Add tls. + +2005-08-16 Bruno Haible + + * modules/strnlen1: New file. + * MODULES.html.sh (String handling): Add strnlen1. + +2005-08-16 Bruno Haible + + * modules/strcase (Files): Add m4/mbrtowc.m4. + (Depends-on): Add strnlen1, mbchar. + +2005-08-16 Bruno Haible + + * modules/mbiter: New file. + * MODULES.html.sh (Extended multibyte and wide character utilities): + Add mbiter. + +2005-08-16 Bruno Haible + + * modules/mbfile: New file. + * MODULES.html.sh (Extended multibyte and wide character utilities): + Add mbfile. + +2005-08-16 Bruno Haible + + * modules/mbchar: New file. + * MODULES.html.sh (Extended multibyte and wide character utilities): + New section. + +2005-08-16 Bruno Haible + + * m4/tls.m4: New file, from GNU gettext. + +2005-08-16 Bruno Haible + + * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function + always. + (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC. + +2005-08-16 Bruno Haible + + * m4/mbiter.m4: New file. + +2005-08-16 Bruno Haible + + * m4/mbfile.m4: New file. + +2005-08-16 Bruno Haible + + * m4/mbchar.m4: New file. + +2005-08-16 Bruno Haible + + * lib/tls.h: New file, from GNU gettext. + * lib/tls.c: New file, from GNU gettext. + +2005-08-16 Bruno Haible + + * lib/strnlen1.h: New file. + * lib/strnlen1.c: New file. + +2005-08-16 Bruno Haible + + * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field. + (mbi_init): Update. + (mbi_avail, mbi_advance): Let the iteration end before the terminating + NUL byte, not after it. + +2005-08-16 Bruno Haible + + * lib/strcase.h (strcasecmp): Add note in comments. + * lib/strncasecmp.c: Use code from strcasecmp.c. + * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant. + (strcasecmp): Work correctly in multibyte locales. + +2005-08-16 Bruno Haible + + * lib/mbiter.h: New file. + +2005-08-16 Bruno Haible + + * lib/mbfile.h: New file. + +2005-08-16 Bruno Haible + + * lib/mbchar.h: New file. + * lib/mbchar.c: New file. + +2005-08-16 Bruno Haible + + * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after + the valid ones. Makes the comparison operations transitive: + cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0. + * lib/strcasecmp.c (strcasecmp): Use mb_casecmp. + +2005-08-15 Simon Josefsson + + * modules/ssize_t (License): Change to 'unlimited'. + + * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license. + +2005-08-15 Paul Eggert + + * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h. + Add comments for each pending glibc patch. + +2005-08-15 Bruno Haible + + * lib/regex.h (__restrict_arr): Don't define to __restrict if + __cplusplus is defined. + +2005-08-14 Jim Meyering + + Sync from coreutils. + + * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir): + Use the hash-table-based cycle-detection code not just when + FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL. + Reported by James Youngman in + . + * lib/fts_.h: Mention that with FTS_LOGICAL, we use + FTS_TIGHT_CYCLE_CHECK. + * lib/fts.c (fts_cross_check) [FTS_DEBUG]: + s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG, + once again. + * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own. + * lib/fts.c (fd_safer): Remove decl. + Include fcntl--.h rather than unistd-safer.h + (fts_safe_changedir): Don't call fd_safer; no longer needed + now that we include fcntl--.h. + +2005-08-12 Simon Josefsson + + * modules/getndelim2: Use ssize_t module. + * modules/getnline: Likewise. + * modules/safe-read: Likewise. + * modules/xreadlink: Likewise. + + * modules/ssize_t: New file. + +2005-08-12 Simon Josefsson + + * m4/readline.m4: Look for termcap, curses or ncurses if required. + +2005-08-12 Simon Josefsson + + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + ssize_t. + +2005-08-12 Simon Josefsson + + * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add + readline, getdelim and check_version. + (Support for systems lacking ISO C 99: Sizes of integer types): + Add size_max. + +2005-08-12 Bruno Haible + + * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first. + +2005-08-11 Simon Josefsson + + * modules/readline: New file. + + * modules/strnlen (Files): Add strnlen.h. + +2005-08-11 Simon Josefsson + + * m4/readline.m4: New file. + +2005-08-11 Simon Josefsson + + * lib/readline.h, readline.c: New file. + +2005-08-11 Simon Josefsson + + * doc/gnulib.texi (Initial import, Finishing touches): Mention + gl_AVOID. + +2005-08-11 Bruno Haible + + * lib/strnlen.h (strnlen): Change parameter name to match comment. + +2005-08-10 Stepan Kasal + + * m4/onceonly_2_57.m4: Really require Autoconf 2.57. + +2005-08-10 Simon Josefsson + + * tests/test-iconvme.c: New file. + +2005-08-10 Simon Josefsson + + * m4/strnlen.m4: New file. + + * m4/strndup.m4: Don't check for strnlen declaration, done in + strnlen.m4. + +2005-08-10 Simon Josefsson + + * lib/strndup.c: Use strnlen.h. + + * lib/strnlen.h: New file. + +2005-08-08 Ralf Wildenhues (tiny change) + + * README: Typos. + +2005-08-02 Simon Josefsson + + * modules/readline: New file. + +2005-08-02 Simon Josefsson + + * modules/getdelim: New file. + + * modules/getline: Rewrite, don't use getndelim2. + +2005-08-02 Simon Josefsson + + * m4/getline.m4: Separate out getdelim stuff into separate module. + + * m4/getdelim.m4: New file. + +2005-08-02 Simon Josefsson + + * lib/getline.h, getline.c: Rewrite. + + * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc. + +2005-07-31 Bruno Haible + + * lib/lock.h (gl_lock_initializer): New macro. + (gl_lock_define_initialized): Use it. + (gl_rwlock_initializer): New macro. + (gl_rwlock_define_initialized): Use it. + (gl_recursive_lock_initializer): New macro. + (gl_recursive_lock_define_initialized): Use it. + +2005-07-30 Karl Berry + + * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib. + Report from Ben Pfaff, regarding getopt. + +2005-07-26 Paul Eggert + + Add support to getopt for Emacs, which doesn't use LIBOBJS in the + normal way. + * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro. + (gl_GETOPT_SUBSTITUTE): Use it. Invoke gl_PREREQ_GETOPT. + (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros. + (gl_GETOPT): Use the new macros. Most of the implementation + is moved to the new macros. This is for programs like Emacs + that don't want all the functionality of gl_GETOPT. + +2005-07-26 Bruno Haible + + * m4/lock.m4: Update from GNU gettext. + +2005-07-26 Bruno Haible + + * lib/lock.h: Update from GNU gettext. + * lib/lock.c: Update from GNU gettext. + +2005-07-25 Paul Eggert + + * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the + obsolescent AC_TRY_RUN. Include the default includes files, for + 'exit'. + +2005-07-24 Bruno Haible + + * modules/visibility: New file. + * MODULES.html.sh (Misc): Add visibility. + +2005-07-24 Bruno Haible + + * m4/visibility.m4: New file. + +2005-07-24 Bruno Haible + + * doc/visibility.texi: New file. + +2005-07-22 Bruno Haible + + * modules/alloca-opt (Makefile.am): Remove explicit dependency on + $(ALLOCA_H), redundant through BUILT_SOURCES. + * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H), + redundant through BUILT_SOURCES. + * modules/byteswap (Makefile.am): Remove explicit dependency on + $(BYTESWAP_H), redundant through BUILT_SOURCES. + * modules/fnmatch (Makefile.am): Remove explicit dependency on + $(FNMATCH_H), redundant through BUILT_SOURCES. + * modules/getopt (Makefile.am): Remove explicit dependency on + $(GETOPT_H), redundant through BUILT_SOURCES. + * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H), + redundant through BUILT_SOURCES. + * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H), + redundant through BUILT_SOURCES. + * modules/stdbool (Makefile.am): Remove explicit dependency on + $(STDBOOL_H), redundant through BUILT_SOURCES. + * modules/stdint (Makefile.am): Remove explicit dependency on + $(STDINT_H), redundant through BUILT_SOURCES. + * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES. + Remove explicit dependency on $(SYSEXITS_H). + Reported by Alexandre Duret-Lutz . + +2005-07-18 Simon Josefsson + + * lib/check-version.c (check_version): Accept identical versions too. + +2005-07-18 Bruno Haible + + * modules/lock: New file. + * MODULES.html.sh (Multithreading): New section. + +2005-07-18 Bruno Haible + + * m4/lock.m4: New file, from GNU gettext. + +2005-07-18 Bruno Haible + + * lib/lock.h: New file, from GNU gettext. + * lib/lock.c: New file, from GNU gettext. + +2005-07-18 Bruno Haible + + * lib/lock.h (gl_once_t): New type. + (gl_once_define, gl_once): New macros. + * lib/lock.c (fresh_once): New variable. + (glthread_once, glthread_once_call, glthread_once_singlethreaded): New + functions. + +2005-07-16 Simon Josefsson + + * doc/gnulib.texi (Library version handling): Add ELF symbol collision + workaround, suggested by Bruno. + +2005-07-15 Paul Eggert + + * modules/xalloc (Depends-on): Add xalloc-die. + * modules/xvasprintf (Depends-on): Add xalloc-die. + +2005-07-15 Paul Eggert + + * lib/quotearg.c: Add translator comment suggested by Bruno Haible, + with a minor change. + +2005-07-15 Bruno Haible + + * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug. + When using lib/poll.c, define poll as rpl_poll. + +2005-07-14 Paul Eggert + + * modules/argp (Depends-on): Remove unlocked-io. + +2005-07-14 Derek Price + + * m4/glob.m4 (gl_GLOB): Cache glob interface check result. Add check + for glob symlink bug. + +2005-07-14 Bruno Haible + + * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO. + Instead, test for *_unlocked function declarations directly. + +2005-07-11 Simon Josefsson + + * modules/size_max: New file. + + * modules/xsize: Depend on size_max module for size_max.m4. + +2005-07-11 Simon Josefsson + + * lib/size_max.h: New file. + +2005-07-11 Paul Eggert + + * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the + copyright symbol and the year. + * lib/version-etc.c (COPYRIGHT_YEAR): New constant. + (version_etc_va): Use parameterized copyright notice. + Reword to conform to the current GNU coding standards. + +2005-07-11 Karl Berry + + * doc/gnulib.texi (Quoting): new node. + (Initial import): more info, from Patrice. + +2005-07-11 Bruno Haible + + * gnulib-tool (func_usage): Document option --avoid. + (Command line options): Handle --avoid. + (func_acceptable): New function. + (func_modules_transitive_closure): Use it. + +2005-07-11 Bruno Haible + + * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site. + Reported by Jim Meyering. + +2005-07-10 Bruno Haible + + * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t. + Needed when size_t is smaller than 'unsigned int'. + Reported by Paul Eggert. + +2005-07-09 Sergey Poznyakoff + + * modules/argp (Depends-on): Add unlocked-io + +2005-07-09 Sergey Poznyakoff + + * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary + block of defines. + +2005-07-08 Paul Eggert + + * config/srclist.txt: Comment out regcomp.c, since we have a porting + fix now. + +2005-07-08 Eric Blake (tiny change) + and Paul Eggert + + * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value + in wint_t, not wchar_t. Remove now-unnecessary cast. + +2005-07-07 Paul Eggert + + * modules/regex (Files): Add lib/regex_internal.c, + lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4. + (Depends-on): Add extensions. + (Makefile.am): Remove lib_SOURCES; now done by m4 code. + +2005-07-07 Paul Eggert + + * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on + pathconf. + * m4/same.m4 (gl_SAME): Likewise. + Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase. + + * m4/regex.m4: Adjust to new libc regex implementation. + (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for + all the .c and .h parts of (the new) regex. + Quote the m4 stuff better. + Check for RE_ICASE bug of old gnulib. + Check for REG_STARTEND of recent libc. + Rename local variables from jm_* to gl_*. + Quote operand of "test -f". + Say "recent enough" version of libc, not "version 2". + (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a + prerequisite module. Remove AC_HEADER_STDC; no longer needed. + Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll. + Remove check for btowc, isascii. + Require AM_LANGINFO_CODESET. + +2005-07-07 Paul Eggert + + * lib/regex.c, regex.h: Sync from libc. + * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h: + * lib/regexec.c: + New files, synced from libc, except that regex_internal.h + currently has a small porting fix. + +2005-07-07 Paul Eggert + + * config/srclist.txt: Add regcomp.c, regex.c, regex.h, + regex_internal.c, regexec.c. + Add regex_internal.h too, but as a comment, since the libc version + is currently broken in gnulib mode. + +2005-07-06 Paul Eggert + + Support programs like Emacs that use gnulib but not gettext. + * MODULES.html.sh (Internationalization functions): Add gettext-h. + * modules/gettext-h: New file. + * modules/gettext (Files): Remove lib/gettext.h. + (Depends-on): Add gettext-h. + (Makefile.am): Remove lib_SOURCES. + * modules/argmatch, modules/c-stack, modules/closeout: + * modules/copy-file, modules/csharpcomp, modules/csharpexec: + * modules/execute, modules/file-type, modules/getaddrinfo: + * modules/getopt, modules/human, modules/javacomp: + * modules/javaexec, modules/mkdir-p, modules/obstack: + * modules/openat, modules/pagealign_alloc, modules/pipe: + * modules/quotearg, modules/regex, modules/rpmatch: + * modules/unicodeio, modules/userspec, modules/version-etc: + * modules/wait-process, modules/xalloc-die, modules/xmemcoll: + * modules/xsetenv: + Depend on gettext-h, not gettext. + +2005-07-05 Paul Eggert + + * gnulib-tool (func_import): Add support for 'public domain' license. + * modules/alloca, modules/atexit, modules/memmove: + Now public domain, not GPL. + * modules/dup2, modules/getpagesize, modules/malloc, modules/memset: + * modules/realloc, modules/strerror, modules/strtod: + Now LGPL, not GPL. + +2005-07-05 Bruno Haible + + * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current + autoconf CVS. Needed for mingw. + +2005-07-03 Paul Eggert + + Remove the dependency of the strftime module on the tzset module. + * modules/strftime (Depends-on): Remove dependency on tzset. + +2005-07-03 Paul Eggert + + Remove the dependency of the strftime module on the tzset module. + * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require + gl_FUNC_TZSET_CLOBBER. + +2005-07-03 Paul Eggert + + Remove the dependency of the strftime module on the tzset module. + * lib/strftime.c (my_strftime) + [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]: + Copy the input structure, to work around some of the bug with + Solaris 2.5.1 and Solaris 2.6. If you still care about these old + Solaris releases, you should also use the tzset module, but we won't + require it as a dependency any more since we don't want LGPLed code + to depend on GPLed code. + +2005-07-02 Jim Meyering + + * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4: + * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4: + * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4: + Don't check for fcntl.h, and don't test for HAVE_FCNTL_H. + +2005-07-02 Jim Meyering + + * lib/backupfile.c (backup_args): Change a `0' to NULL. + +2005-07-01 Paul Eggert + + * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 + declares only 'struct timespec;' (!). + +2005-07-01 Jim Meyering + + * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c: + * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c: + * lib/save-cwd.c, tempname.c: + Assume HAVE_FCNTL_H (i.e., include unconditionally, + and don't include ). + +2005-06-29 Jim Meyering + + * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded + type name. Use the variable name instead. + * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname): + Likewise. + +2005-06-28 Simon Josefsson + + * modules/check-version (Files): Add check-version.m4. + +2005-06-28 Simon Josefsson + + * m4/check-version.m4: New file, suggested by Jim Meyering + . + +2005-06-28 Simon Josefsson + + * lib/check-version.h, lib/check-version.c: New files. + +2005-06-28 Simon Josefsson + + * lib/base64.c (base64_encode): Indent. Rename 'b64' to avoid + collision with global variable. Better indentation. Don't + increment buffer pointer beyond buffer end. Based on comments + from Paul Eggert . + + * lib/base64.h: Indent. + +2005-06-28 Simon Josefsson + + * doc/gnulib.texi (Library version handling): New section. + +2005-06-28 Jim Meyering + + * check-module (find_included_lib_files): Hard-code another + pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h + but modules/fts-lgpl (correctly) does not list those files. + + * modules/canonicalize (Files): Add lib/pathmax.h. + +2005-06-25 Simon Josefsson + + * modules/check-version: New file. + +2005-06-24 Paul Eggert + + * lib/canon-host.c (canon-host): Append trailing "," to 0 in + initializer of struct addrinfo, as an indication that we don't + care how many members the structure has. + +2005-06-24 Derek Price + and Bruno Haible + + Remove stat module & update lstat. + * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of + AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. + * m4/stat.m4: Remove this file. + +2005-06-24 Derek Price + and Bruno Haible + + Remove stat module & update lstat. + * lib/stat.c: Remove this file... + (slash_aware_lstat): ...moving this content and its support... + * lib/lstat.c (rpl_lstat): ...into here. + * lib/lstat.h: New file. + +2005-06-24 Derek Price + and Bruno Haible + + Remove stat module & update lstat. + * config/srclist.txt (libc sources): Remove stat. + +2005-06-24 Derek Price + and Bruno Haible + + Remove stat module & update lstat. + * MODULES.html.sh (stat): Remove. + * MODULES.html: Regenerated. + * modules/lstat (Description): Correct function name. + (Files): Add "lstat.h". + (Depends-on): Remove stat, add xalloc, stat-macros. + * modules/stat: Remove this file. + (Include): Add "lstat.h", remove . + +2005-06-23 Paul Eggert + + * lib/mktime.c: Include even if !DEBUG. (From glibc.) + (ranged_convert): Don't save conversion in a temporary struct. + This causes a warning with GCC 4.0.0, and anyway in the typical + case it's not worth the extra 100 bytes or so of code. + (ranged_convert, __mktime_internal): When calling a function via a + pointer P, use P () rather than (*P) (), as we now assume C89 or + better. + +2005-06-22 Paul Eggert + + * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and + "who -r" failed to give output. Problem reported by Tim Waugh. + + * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant. + (xcalloc): Use it to avoid needless tests. + Problem reported by Jim Meyering. + +2005-06-20 Derek Price + + * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be + unnecessary for Autoconfs > 2.59c. + +2005-06-16 Sergey Poznyakoff + + * lib/argp.h (__option_is_short): Check upper limit of + __key. Isprint() requires its argument to have the value + of an unsigned char or EOF. + +2005-06-16 Jim Meyering + + * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1) + when either N or S is zero. + +2005-06-16 Derek Price + + * m4/bison.m4: Declare YACC & YFLAGS precious. + +2005-06-10 Paul Eggert + + * lib/fnmatch.c (fnmatch): If there is an encoding error in a + multibyte string or pattern, fall back on unibyte matching. + Problem reported by James Youngman. + +2005-06-08 Bruno Haible + + * modules/csharpcomp: New file. + * MODULES.html.sh (C#): Add csharpcomp. + +2005-06-08 Bruno Haible + + * m4/csharpcomp.m4: New file, from GNU gettext. + +2005-06-08 Bruno Haible + + * lib/csharpcomp.h: New file, from GNU gettext. + * lib/csharpcomp.c: New file, from GNU gettext. + * lib/csharpcomp.sh.in: New file, from GNU gettext. + +2005-06-08 Bruno Haible + + * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc + warning on mingw. + +2005-06-07 Derek Price + + Sync from CVS. + * lib/glob_.h: Indent nested #ifdef. + +2005-06-02 Paul Eggert + + Sync from coreutils. + Use "file name" when talking about file names, instead of "filename" + or "path", as per the GNU coding standards. + * lib/mkdir-p.c: Renamed from makepath.c. + (make_dir_parents): Renamed from make_path. All callers changed. + * lib/mkdir-p.h: Likewise. All includers changed. + * lib/filenamecat.c: Renamed from path-concat.c. + (file_name_concat): Renamed from path_concat. All callers changed. + [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT. + * lib/filenamecat.h: Likewise. All includers changed. + * lib/acl.c: Don't use "path" or "filename" to mean "file name" + in comments or local variable names. + * lib/basename.c: Likewise. + * lib/canonicalize.c, canonicalize.h: Likewise. + * lib/dirname.c, dirname.h: Likewise. + * lib/euidaccess.c: Likewise. + * lib/exclude.c: Likewise + * lib/fnmatch_.h, fnmatch_loop.c: Likewise. + * lib/fsusage.c, fsuage.h: Likewise. + * lib/fts.c, fts_.h: Likewise. + * lib/getcwd.c: Likewise. + * lib/getloadavg.c: Likewise. + * lib/mkstemp.c: Likewise. + * lib/mountlist.c, mountlist.h: Likewise. + * lib/openat.c, openat.h: Likewise. + * lib/readlink-stub.c: Likewise. + * lib/readutmp.c, readutmp.h: Likewise. + * lib/rename.c: Likewise. + * lib/rmdir.c: Likewise. + * lib/same.c: Likewise. + * lib/savedir.c: Likewise. + * lib/stripslash.c: Likewise. + * lib/tempname.c: Likewise. + * lib/xreadlink.c: Likewise. + * lib/exclude.c (excluded_file_name): Renamed from excluded_filename. + All uses changed. + * lib/exclude.h: Likewise. + + * lib/euidaccess.c (getuid, getgid, getuid, getegid) + [!defined _POSIX_VERSION]: Remove decls; not needed these days. + * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam) + [!defined _POSIX_VERSION]: Remove decls; not needed these days. + * lib/pathmax.h: Include unconditionally, since other + files have been getting away with it for years (MORE/BSD 4.3 + is extinct now). + * lib/userspec.c (getpwnam, getgrnam, getgrgid) + [!defined _POSIX_VERSION]: Remove decls; not needed these days. + + * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]: + Define to 256, not 255, as per modern POSIX. + +2005-06-02 Paul Eggert + + Sync from coreutils. + Use "file name" when talking about file names, instead of "filename" + or "path", as per the GNU coding standards. + * MODULES.html.sh: mkdir-p renamed from makepath. + filenamecat renamed from path-concat. + * modules/filenamecat: Renamed from modules/path-concat. + (Files): filenamecat.h and filenamecat.c renamed from + path-concat.h and path-concat.c. + (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT. + (Include): filenamecat.h, not path-concat.h. + * modules/mkdir-p: Renamed from modules/makepath. + (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and + makepath.c. + (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH. + (Include): mkdir-p.h, not makepath.h. + +2005-06-02 Paul Eggert + + Sync from coreutils. + * m4/mkdir-p.m4: Renamed from makepath.m4. + (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH. All uses changed. + Rename files from makepath.c to mkdir-p.c, and from + makepath.h to mkdir-p.h. + * m4/filenamecat.m4: Renamed from path-concat.m4. + (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT. All uses changed. + Rename files from path-concat.c to filenamecat.c, + and from path-concat.h to filenamecat.h. + * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean + "file name" in local variables or comments. + * m4/rename.m4: Likewise. + +2005-06-01 Bruno Haible + + * modules/csharpexec: New file. + * MODULES.html.sh (C#): New section. + +2005-06-01 Bruno Haible + + * m4/csharp.m4: New file, from GNU gettext. + * m4/csharpexec.m4: New file, from GNU gettext. + +2005-06-01 Bruno Haible + + * lib/csharpexec.h: New file, from GNU gettext. + * lib/csharpexec.c: New file, from GNU gettext. + * lib/csharpexec.sh.in: New file, from GNU gettext. + +2005-05-31 Derek Price + Paul Eggert + + Sync from cvs. + * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment. + +2005-05-31 Derek Price + Paul Eggert + + Sync from cvs. + * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment. + +2005-05-29 Derek Price + + * config/srclist.txt (glob_.h, glob.c): Add these files. + +2005-05-29 Derek Price + + * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section. + * modules/glob: New file. + * modules/getlogin_r: Add link to POSIX spec in description. + +2005-05-29 Derek Price + Paul Eggert + + * m4/glob.m4: New file. + +2005-05-29 Derek Price + Paul Eggert + + * lib/glob_.h, lib/glob.c: New files. + +2005-05-27 Paul Eggert + + * modules/fts (Files): Remove m4/inttypes-pri.m4. + * modules/fts-lgpl (Depends-on): Remove gettext. + +2005-05-27 Paul Eggert + + * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h, + and don't require gt_INTTYPES_PRI. + +2005-05-27 Paul Eggert + + * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return. + + * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts; + the configuration hassle isn't worth it. + Include inttypes.h and stdint.h unconditionally if FTS_DEBUG. + (LONGEST_MODIFIER, PRIuMAX): Remove. + +2005-05-27 Bruno Haible + + * lib/getlogin_r.h: Remove second include of . + +2005-05-26 Paul Eggert + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define + _POSIX_PTHREAD_SEMANTICS for Solaris. + +2005-05-25 Derek Price + + * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section. + +2005-05-25 Derek Price + Paul Eggert + + * modules/getlogin_r, m4/getlogin_r.m4: New files. + * lib/getlogin_r.c, getlogin_r.h: New files. + +2005-05-25 Bruno Haible + Derek Price + + * lib/getlogin_r.h: Simplify API documentation. + +2005-05-23 Derek Price + + * modules/minmax (Files): Add m4/minmax.m4. + (configure.ac): Add gl_MINMAX. + +2005-05-22 Paul Eggert + + * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function, + so that unistd-safer.h (GPL'ed code) need not be included. + +2005-05-22 Bruno Haible + + * m4/minmax.m4: New file. + Based on a patch by Derek Price . + +2005-05-22 Bruno Haible + + * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs. + (INT64_MIN): Fix definition. + Suggested by Paul Eggert . + + * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from + NEED_SIGNED_INT_TYPES. + + * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from + HAVE_SYSTEM_INTTYPES. + +2005-05-22 Bruno Haible + + * lib/minmax.h: Include only when it defines MIN, MAX. + Also include if it defines MIN, MAX. + Based on a patch by Derek Price . + +2005-05-21 Jim Meyering + + * modules/fts (Files): Add m4/inttypes-pri.m4. + (Depends-on): Add lstat and remove gettext. Alphabetize. + +2005-05-20 Paul Eggert + + New fts module. + * lib/fts.c: Don't include "cycle-check.h" or "hash.h". + (setup_dir, free_dir): New functions. + (enter_dir, leave_dir): Define trivial + alternatives of _LGPL_PACKAGE. Move to fts-cycle.c if !_LGPL_PACKAGE. + (HT_INITIAL_SIZE, ENTER_DIR): Remove. All uses removed. + (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir. + (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir): + Move to fts-cycle.c. + (fts_open): Use setup_dir. + (fts_close): Use free_dir. + (fts_read): Have just one copy of the ENTER_DIR code rather than three. + This adds a label and some gotos, but the alternatives were messier. + Check for memory allocation failure when entering a dir. + (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code. + * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro. + (FTS): New member fts_cycle, that is a union that contains the + old active_dir_ht and cycle_state. All uses changed to mention + fts_cycle.ht and fts_cycle.state. + * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of + fts.c, with the following changes: + (setup_dir, free_dir): New functions. + (enter_dir): Now returns bool. Return true if successful, false + if memory exhausted. All callers changed. + Do not bother partly cleaning up on + memory allocation failure; that is free_dir's job. + However, free ad if hash_insert fails, to avoid memory leak. + (enter_dir, leave_dir): Accommodate change to FTS by inspecting + fts->fts_options to see which union member to use. + +2005-05-20 Paul Eggert + + * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS. + (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros. + +2005-05-20 Paul Eggert + + * MODULES.html.sh (File system functions): Add fts, fts-lgpl. + +2005-05-20 Jim Meyering + + * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]: + Now a macro, to pacify GCC. + +2005-05-20 Eric Blake (tiny change) + + * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs + of -1. + +2005-05-20 Eric Blake (tiny change) + + * lib/chown.c (rpl_chown): Return -1 on failure. + +2005-05-18 Paul Eggert + + * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]): + Don't check for stddef.h. + * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we + don't use its results. + Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h, + since we include them unconditionally. Don't require + AM_STDBOOL_H, since stdbool is a prerequisite. + Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t + since we assume C89 or better. + Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT, + as we don't use their results. + Don't check for fchdir, memmove, memset, strrchr, as we use + them unconditionally. + * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define + GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it. + +2005-05-18 Paul Eggert + + * lib/canonicalize.c: Include canonicalize.h first, to test interface. + Include unconditionally, since we assume C89 now. + All uses of PTR_INT_TYPE replaced by ptrdiff_t. + * lib/fts.c: Include fts_.h first, to check interface. + Do not include intprops.h; no longer needed. + Include cycle-check.h and hash.h, since fts_.h no longer does. + Remove unnecessary casts of closedir to void. + (fts_build): Use a simpler method (not involving TYPE_SIGNED) to + decide whether to decrement nlinks. + * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed. + (FTS): Use struct hash_table * instead of Hash_table, so that + we no longer need to include hash.h here. + +2005-05-18 Jim Meyering + + * modules/dirfd (License): Change to LGPL. Most of the code + is already in the public domain. + +2005-05-18 Jim Meyering + + * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list. + Reported by Yoann Vandoorselaere. + +2005-05-17 Jim Meyering + + * m4/fts.m4: New file, from coreutils. + +2005-05-17 Jim Meyering + + * lib/fts.c, lib/fts_.h: New files, from coreutils. + +2005-05-14 Paul Eggert + + Sync from coreutils. + * m4/unlinkdir.m4: New file. + +2005-05-14 Paul Eggert + + Sync from coreutils. + * lib/unlinkdir.c, lib/unlinkdir.h: New files. + * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h, + lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h: + White space changes only. + * lib/makepath.c (make_path): Port to hosts where leading "//" is + special. + * lib/yesno.c: Include getline.h, not ctype.h. + (yesno): Don't remove leading white space; POSIX doesn't allow it. + Use getline to remove arbitrary restriction on response length. + +2005-05-14 Paul Eggert + + * config/srclist-update: Spell out "Street" in FSF postal + mail address; this is the style the FSF seems to prefer. + + * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh, + build-aux/missing, build-aux/mkinstalldirs: Sync from Automake; + this updates FSF postal mail address. + + Sync from coreutils. + * modules/unlinkdir: New file. + * modules/yesno (Depends-on): Add getline. + * MODULES.html.sh (File system functions): Add unlinkdir. + +2005-05-13 Paul Eggert + + * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c, + lib/strsep.h: + Change the initial comment to refer to GPL, not LGPL. + gnulib-tool will change it to LGPL as needed. + + * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c, + lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c, + lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h, + lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h, + lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c, + lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c, + lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c, + lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h, + lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h, + lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c, + lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h, + lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c, + lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset, + lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h, + lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c, + lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h, + lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c, + lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h, + lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c, + lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h, + lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c, + lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h, + lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c, + lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h, + lib/full-write.c, lib/full-write.h, lib/fwriteerror.c, + lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h, + lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h, + lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h, + lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h, + lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c, + lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c, + lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h, + lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h, + lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c, + lib/getusershell.c, lib/group-member.c, lib/group-member.h, + lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h, + lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c, + lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h, + lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c, + lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h, + lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c, + lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h, + lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c, + lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h, + lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c, + lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c, + lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c, + lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c, + lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c, + lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c, + lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c, + lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h, + lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c, + lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c, + lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h, + lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c, + lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h, + lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c, + lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c, + lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c, + lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c, + lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h, + lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c, + lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c, + lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c, + lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c, + lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c, + lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h, + lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h, + lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h, + lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c, + lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c, + lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h, + lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c, + lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c, + lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c, + lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c, + lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h, + lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h, + lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h, + lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h, + lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h, + lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h, + lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c, + lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c, + lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h, + lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h, + lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c, + lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h, + lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, + lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h, + lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c, + lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, + lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h, + lib/yesno.c, lib/yesno.h: + Update FSF postal mail address. + +2005-05-13 Paul Eggert + + * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c, + tests/test-memmem.c, tests/test-stpncpy.c: + Update FSF postal mail address. + +2005-05-13 Bruno Haible + + * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t, + int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX, + UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, + INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN, + INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C): + Add support for 64-bit integers in the MSVC compiler. + +2005-05-12 Sergey Poznyakoff + + * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST + +2005-05-12 Eric Blake (tiny change) + + * gnulib-tool (func_import): Sort and uniquify recommended includes. + +2005-05-11 Paul Eggert + + * doc/getdate.texi (General date syntax): Don't say that date + date --iso-8601=ns generates acceptable dates; it doesn't yet. + Problem reported by Nic Ferrier. + +2005-05-10 Yoann Vandoorselaere + + * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are + specified in ai_socktype. Fix invalid ai_protocol + check. ai_protocol is usually set to 0 or depending on + ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP. Checking for + SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid. Set + ai_socktype / ai_protocol in the returned addrinfo structure. + +2005-05-10 Simon Josefsson + + * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from + Yoann Vandoorselaere . + +2005-05-10 Karl Berry + + * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address + (from http://www.gnu.org/licenses). + * doc/COPYING.LIB: also rename to COPYING.LESSER. + * doc/COPYING.DOC: remove; per rms, only needed in doc files, so + fdl.texi suffices. + +2005-05-10 Karl Berry + + * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB. + (COPYING.DOC): remove. + + * config/srclist-update: new FSF address. + +2005-05-10 Derek Price + + * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when + possible. + +2005-05-09 Yoann Vandoorselaere + Bruno Haible + + * modules/inet_ntop: New file. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + inet_ntop. + +2005-05-09 Yoann Vandoorselaere + Bruno Haible + + * m4/inet_ntop.m4: New file. + +2005-05-09 Yoann Vandoorselaere + Bruno Haible + + * lib/inet_ntop.h: New file. + * lib/inet_ntop.c: New file, from glibc with modifications. + +2005-05-09 Paul Eggert + + * modules/time_r (License): Change to LGPL. + * modules/extensions (License): Change to LGPL. Actually, + the license is more permissive than that, but currently gnulib-tool + doesn't know how to handle more-permissive licenses. + + * modules/stat-macros (Depends-on): Don't depend on stat-macros (!). + Problem reported by Dave Love. + +2005-05-08 Jim Meyering + + * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing + blank. + +2005-05-06 Paul Eggert + + * modules/argmatch (Depends-on): Add stdbool. + * modules/backupfile (Depends-on): Likewise. + * modules/chdir-long (Depends-on): Likewise. + * modules/closeout (Depends-on): Likewise. + * modules/cycle-check (Depends-on): Likewise. + * modules/dirname (Depends-on): Likewise. + * modules/fnmatch (Depends-on): Likewise. + * modules/fsusage (Depends-on): Likewise. + * modules/fwriteerror (Depends-on): Likewise. + * modules/getcwd (Depends-on): Likewise. + * modules/getloadavg (Depends-on): Likewise. + * modules/hard-locale (Depends-on): Likewise. + * modules/makepath (Depends-on): Likewise. + * modules/mountlist (Depends-on): Likewise. + * modules/nanosleep (Depends-on): Likewise. + * modules/posixtm (Depends-on): Likewise. + * modules/quotearg (Depends-on): Likewise. + * modules/readtokens (Depends-on): Likewise. + * modules/readtokens0 (Depends-on): Likewise. + * modules/readutmp (Depends-on): Likewise. + * modules/save-cwd (Depends-on): Likewise. + * modules/strftime (Depends-on): Likewise. + * modules/userspec (Depends-on): Likewise. + * modules/utimecmp (Depends-on): Likewise. + * modules/xgetcwd (Depends-on): Likewise. + * modules/xnanosleep (Depends-on): Likewise. + * modules/xstrtod (Depends-on): Likewise. + * modules/yesno (Depends-on): Likewise. + +2005-05-05 Paul Eggert + + * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid + needless checks. + +2005-05-01 Paul Eggert + + Merge from coreutils. Among other things, + add bulletproofing for cases where stdin, stdout, or stderr are closed. + * lib/fd-safer.c: New file. + * lib/fcntl-safer.h, open-safer.c: Remove. + * lib/chdir-long.c: Fix comment "fetish" -> "coreutils". + * lib/dup-safer.c: Include unistd-safer.h first. + Don't include errno.h. + (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work. + * lib/file-type.h: Don't assume invoker included sys/stat.h first. + * lib/file-type.c: Rely on file-type.h change. + * lib/getloadavg.c: Include unistd-safer.h. + (getloadavg): Use safer open. + * lib/getusershell.c: Include "stdio-safer.h". + (getusershell): Use safer fopen. + * lib/long-options.c (long_options): Use NULL rather than 0. + * lib/modechange.h (mode_free): Remove; all callers changed to invoke + 'free'. + * lib/modechange.c: Likewise. + xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed. + (MODE_DONE): New constant. + (struct mode_change): Remove 'next' member. + (make_node_op_equals): New function; like the old one of the + same name, except it allocates an array. + (mode_compile, mode_create_from_ref): Use it. + (mode_compile): Allocate result as an array, not a linked list. + Parse octal string ourself, so that we catch mistakes like "+0". + (mode_adjust): Arg is an array, not a linked list. + * lib/modechange.c: Include stat-macros.h, xalloc.h. + (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR): + (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU): + (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS): + Remove. This is now stat-macros.h's job. + (talloc): Remove. All callers replaced by xalloc, so that + our invokers don't have to worry about reporting memory failures. + (make_node_op_equals): Remove. + (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING): + New constants. + (struct mode_change): Moved here from modechange.h. + (mode_append_entry): Remove. + (mode_compile): Remove MASKED_OPS arg, since it encouraged + apps to have incorrect behavior. Use simpler algorithm for head + and tail. Don't futz with umask; that's now the job of mode_adjust. + Detect more invalid usages rather than having somewhat-random behavior. + Don't insert an "a=" action, as that leads to incorrect behavior. + (mode_compile, mode_create_from_ref): Return NULL on error instead + of an enum, since now there's only one way to have an error. All + callers changed. + (mode_adjust): Accept new arg UMASK_VALUE, and interpret it + at the correct time. Simplify calculation of "+u" and its ilk. + Don't mishandle "+X". + (mode_free): Remove "register" and localize decls. + * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING): + (struct mode_change): Move to modechange.c; callers don't + need to see this stuff. + (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL): + (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove. + (mode_change, mode_adjust): Reflect the new signatures noted above. + * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros + that might redefine system include files. + (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro. + (my_usleep): Use NULL rather than (void *) 0. + (rpl_nanosleep) [!defined SA_NOCLDSTOP]: + Use siginterrupt to specify that system calls should be interrupted. + (rpl_nanosleep): Move initialization of suspended closer to call of + my_usleep. + * lib/readutmp.h (read_utmp): New arg OPTIONS. All uses changed. + * lib/readutmp.c: Likewise. Include signal.h, stdbool.h. + (desirable_utmp_entry): New function. + (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation + using x2nrealloc, to simplify logic. + (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in + size calculation. Do not assume utmp file is a regular file. + * lib/readutmp.h (UT_PID): Moved here from ../src/who.c. + (READ_UTMP_CHECK_PIDS): New constant. + * lib/save-cwd.c: Include unistd-safer.h. + (save_cwd): Use fd_safer. + * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove. + [!_LIBC] Include "stat-macros.h" instead. + * lib/unistd-safer.h (fd_safer): New decl. + +2005-05-01 Paul Eggert + + * modules/getloadavg (Depends-on): Add unistd-safer. + * modules/getusershell (Depends-on): Add stdio-safer. + * modules/lstat (Depends-on): Remove xalloc. + * modules/mkstemp (Depends-on): Add stat-macros. + * modules/modechange (Depends-on): Remove xstrtol. + Add stat-macros, xalloc. + * modules/save-cwd (Depends-on): Add unistd-safer. + * modules/stdio-safer (Makefile.am): Remove lib_SOURCES. + * modules/unistd-safer (Files): Add lib/fd-safer.c + (Makefile.am): Remove lib_SOURCES. + + * MODULES.html.sh (Enhancements for POSIX:2001 functions): + Remove fcntl-safer; unistd-safer supersedes it. + +2005-05-01 Paul Eggert + + * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require + AC_HEADER_STAT. + * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise. + (gl_PREREQ_CHOWN): Remove. + * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling + it. Don't require AC_HEADER_STAT. + (gl_PREREQ_LSTAT): Remove. + * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once. + Don't require AC_HEADER_STAT. + * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT. + (gl_PREREQ_RMDIR): Remove. + * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't + mention stat-macros.h or AC_HEADER_STAT, since we'll make + the stat-macros module a prerequisite. + * m4/file-type.m4 (gl_FILE_TYPE): Likewise. + * m4/filemode.m4 (gl_FILEMODE): Likewise. + * m4/makepath.m4 (gl_MAKEPATH): Likewise. + * m4/modechange.m4 (gl_MODECHANGE): Likewise. + * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for + variable names. + * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from + fetish_FUNC_RMDIR_NOTEMPTY. All uses changed. Use gl_ for + variable prefixes. + * m4/fcntl-safer.m4: Remove. + * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ. + * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise. + Invoke gl_PREREQ_FD_SAFER. + (gl_PREREQ_FD_SAFER): New macro. + * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt. + * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE. + Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible. + Remove duplicate call to AC_LIBOBJ(readutmp). + (gl_PREREQ_READUTMP): Remove. All uses inlined. + + * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for + MAP_ANON. Problem reported by Moriyoshi Koizumi to bug-cvs. + +2005-05-01 Paul Eggert + + * MODULES.html.sh (Misc): Add byteswap. + +2005-05-01 Oskar Liljeblad + + * modules/getcwd (Depends-on): Add extensions. + * modules/openat (Depends-on): Likewise. + +2005-05-01 Oskar Liljeblad + + * modules/byteswap: New file. + +2005-05-01 Oskar Liljeblad + + * m4/byteswap.m4: New file. + +2005-05-01 Oskar Liljeblad + + * lib/byteswap_.h: New file. + +2005-04-25 Karl Berry + + * m4/gettext.m4: Update from GNU gettext 0.14.4. + +2005-04-25 Albert Chin + + * lib/regex.c: Include , as a workaround to a Compaq Desktop + Toolkit C bug. + +2005-04-21 Oskar Liljeblad + + * gnulib-tool (Options): Add -s for --symlink/--symbolic. + (func_ln_if_changed): Remove forcibly for no error message + in case file does not exist. + +2005-04-19 Simon Josefsson + + * gnulib-tool (Options): Make --symlink mean --symbolic. + +2005-04-18 Oskar Liljeblad + + * doc/gnulib.texi (Initial import): Fix. Mention --aux-dir. + +2005-04-16 Simon Josefsson + + * modules/getpass-gnu (Makefile.am): Don't mention getpass.h. + +2005-04-15 Simon Josefsson + + * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES. + +2005-04-15 Simon Josefsson + + * gnulib-tool: Rename --symlink to --symbolic. + +2005-04-15 Oskar Liljeblad + + * gnulib-tool: Add -s, --symlink option to gnulib-tool to make + symbolic links to files instead of copying/moving. Add --aux-dir, + specifying directory relative --dir where auxiliary build tools + are placed. + +2005-04-14 Bruno Haible + + * modules/allocsa (License): Change to LGPL. + Requested by Yoann Vandoorselaere . + +2005-04-13 Paul Eggert + + * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so + that "UTC +1 second" continues to work. Problem reported + by Dmitry V. Levin. + (relunit_snumber): New rule. + (relunit): Use it. + +2005-04-12 Paul Eggert + + * lib/getdate.y (universal_time_zone_table): New constant. + (time_zone_table): Remove GMT, UT, UTC entries; they're now in + universal_time_zone_table. + (lookup_zone): Prefer universal_time_zone_table to + local_time_zone_table, so that "GMT" time stamps are allowed in + London during the summer. Problem reported by Ian Abbott. + +2005-04-12 Jim Meyering + + * lib/human.c (humblock): Set *options even when returning due to + xstrtoumax conversion failure. Thanks to a used-uninitialized + warning from gcc-4. + +2005-04-09 Jim Meyering + + * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's + -Wuninitialized: initialize tm0.tm_year. + +2005-04-04 Paul Eggert + + * lib/getdate.y (parser_control): rels_seen is now a boolean, not a + count, since there's no maximum. All uses changed. + Add member dsts_seen. + (local_zone): Accumulate dsts_seen rather than relying on tm_isdst + not being INT_MAX. + (get_date): Initialize dsts_seen, and check that it doesn't go over 1. + Use pc_rels_seen to decide whether a date is absolute. + + * lib/getdate.y (number): Don't overwrite year. + (get_date): Initialize pc.year.digits to 0, not 4, to enable above + check. + +2005-04-02 Simon Josefsson + + * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny + patch from Yoann Vandoorselaere . + +2005-03-28 Eric Blake (tiny change) + + * m4/getcwd-path-max.m4: Return success on systems such as Cygwin + where no absolute path name can be longer than PATH_MAX. + +2005-03-27 Jim Meyering + + * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated. + +2005-03-26 Paul Eggert + + * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): + "one's complement" -> "ones' complement" in comment, as per Knuth. + "value of type" -> "type or expression" in comment. + * lib/mktime.c, strftime.c: Propagate intprops.h comment nits. + +2005-03-26 Jim Meyering + + Comment nits. + * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'. + Correct typos: s/or/of/. + +2005-03-26 Jim Meyering + + * modules/check-include-files: Move to ../ and rename to... + * check-module: ...this. + +2005-03-25 Jim Meyering + + * modules/xvasprintf (Files): Add xalloc.h. + +2005-03-23 Paul Eggert + + * modules/gettext (Files): config/config.rpath -> + build-aux/config.rpath + * modules/iconv (Files): Likewise. + Problem reported by Oskar Liljeblad. + +2005-03-23 Jim Meyering + + * modules/check-include-files: New script to check for + missing dependencies, multiple includes, etc. + + * modules/c-strtold (Depends-on): Add xalloc. + * modules/c-strtod (Depends-on): Add xalloc. + * modules/hash (Depends-on): Add xalloc. + (Files): Remove lib/xalloc.h. + + * modules/gethrxtime (Files): Add lib/gethrxtime.h. + * modules/userspec (Files): Add lib/inttostr.h. + +2005-03-23 Jim Meyering + + * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'. + +2005-03-22 Jim Meyering + + * modules/stat-macros: New module. + * modules/canonicalize, modules/euidaccess, modules/file-type, + * modules/filemode, modules/lchown, modules/makepath, + * modules/rmdir, modules/stat: Depend on new stat-macros module + rather than listing lib/stat-macros.h manually. + Don't add stat-macros.h to lib_SOURCES or list it in Files: section. + +2005-03-22 Jim Meyering + + * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro. + +2005-03-22 Bruno Haible + + * config/srclist.txt: Replace target directory 'config' with + 'build-aux'. + * config/config.guess, config.sub, config.rpath, depcomp, install-sh: + * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to + ../build-aux/. + +2005-03-21 Paul Eggert + + * modules/chdir-long (Depends-on): Add mempcpy. + + * modules/acl, modules/backupfile, modules/c-strtod, + modules/c-strtold, modules/canon-host, modules/canonicalize, + modules/cloexec, modules/closeout, modules/dirfd, modules/dirname, + modules/exclude, modules/exitfail, modules/file-type, + modules/filemode, modules/fpending, modules/fsusage, modules/getcwd, + modules/getdate, modules/getline, modules/getpagesize, + modules/getpass, modules/getugroups, modules/group-member, + modules/hard-locale, modules/hash, modules/human, modules/idcache, + modules/inttostr, modules/long-options, modules/makepath, + modules/md5, modules/memcasecmp, modules/memcoll, + modules/modechange, modules/mountlist, modules/path-concat, + modules/pathmax, modules/physmem, modules/posixtm, modules/posixver, + modules/quote, modules/quotearg, modules/readtokens, modules/readutmp, + modules/safe-read, modules/safe-write, modules/same, modules/savedir, + modules/settime, modules/sha1, modules/sig2str, modules/strdup, + modules/strftime, modules/strndup, modules/strverscmp, + modules/timespec, modules/unlocked-io, modules/userspec, + modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol, + modules/yesno: + Remove lib_SOURCES line from Makefile.am section, as this is now + done automatically by the corresponding Autoconf macro. + +2005-03-21 Jim Meyering + + Changes imported from coreutils. + + * lib/cycle-check.c: Don't include xalloc.h. + + * lib/path-concat.c: Don't include assert.h. + (path_concat): Remove assertion that would have triggered + for ABASE starting with more than one slash. + Reported by Andreas Schwab. + + * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT + properly when ABASE is an absolute file name. + Correct the description of this function. + Include . + Add an assertion and a test driver. + This fixes a bug introduced on 2004-07-02. + Andreas Schwab reported the resulting failure of cp --parents: + http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html + +2005-03-21 Jim Meyering + + * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR. + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl. + +2005-03-21 Jim Meyering + and Paul Eggert + + * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4, + m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4, + m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4, + m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4, + m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4, + m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4, + m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4, + m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4, + m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4, + m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4, + m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4, + m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4, + m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4, + m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4, + m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4, + m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4: + Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files + for these modules. + +2005-03-18 Paul Eggert + + * lib/strftime.c (my_strftime): If the underlying strftime returns 0 + (which shouldn't happen), generate nothing instead of returning 0 + immediately, so that nstrftime (NULL, ...) doesn't return 0. + +2005-03-16 Bruno Haible + + * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of + HAVE_LONGLONG_64BIT. + +2005-03-16 Bruno Haible + + * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of + HAVE_LONGLONG_64BIT. + +2005-03-16 Bruno Haible + + * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of + HAVE_LONGLONG_64BIT. + +2005-03-15 Paul Eggert + + * lib/strftime.c (my_strftime): Prepend space to format so that we can + reliably distinguish strftime failure from empty output on POSIX + hosts. + +2005-03-15 Paul Eggert + + * lib/iconvme.c (SIZE_MAX): New macro, if not already defined. + (iconv_string): Don't guess a size-zero buffer, as that might cause + buffer overrun. Instead, avoid multiplying by MB_LEN_MAX if the + result would be 'too large', where 'too large' is (heuristically) + the square root of SIZE_MAX, divided by MB_LEN_MAX to allay + overflow concerns. This will prevent some unwanted malloc failures + when the inputs are very large. + +2005-03-15 Karl Berry + + * config/srclist.txt (config.rpath): from gettext. + * config/config.rpath: update. + +2005-03-15 Bruno Haible + + * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not' + to 'negate'. + + * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p + variable. + + * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc + results. + +2005-03-14 Simon Josefsson + + * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love + . + +2005-03-14 Paul Eggert + + * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT, + TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from + intprops.h. + * lib/strtol.c: Likewise. + +2005-03-14 Jim Meyering + + * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT + && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[] + to be nonzero so that we (and caller) can detect the difference + between a valid zero-length expansion and an error return, even + when the underlying strftime fails before writing anything into + that location. + +2005-03-14 Bruno Haible + + * m4/lib-link.m4, gettext.m4, nls.m4, po.m4: + Update from GNU gettext 0.14.3. + +2005-03-10 Jim Meyering + + * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir. + +2005-03-10 Jim Meyering + + * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long + so that this module works on systems without fchdir. + +2005-03-09 Paul Eggert + + Factor int-properties macros into a single file, except for + glibc-related files. + * lib/intprops.h: New file. + * lib/getloadavg.c: Include it instead of limits.h. + (INT_STRLEN_BOUND): Remove. + * lib/human.c: Include intprops.h. + (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself. + * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than + 302/1000. + * lib/inttostr.h: Include intprops.h instead of limits.h. + (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove. + * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros, + for consistency with intprops.h. + (time_t_is_integer, twos_complement_arithmetic): Use them. + * lib/sig2str.h: Include , intprops.h. + (INT_STRLEN_BOUND): Remove. + * lib/strftime.c (TYPE_SIGNED): Remove. + (INT_STRLEN_BOUND): Switch to same implementation as intprops.h. + * lib/strtol.c: Adjust comments to match intprops.h. + * lib/userspec.c: Include intprops.h. + (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove. + * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise. + * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT + instead of rolling our own expressions. + * lib/xstrtol.c: Include xstrtol.h first, to test interface. + + * lib/strftime.c: Include . Use bool where appropriate, + instead of int. + (my_strftime): Do not mishandle years close to INT_MAX, by doing + the right thing even if adding 1900 would overflow. Similarly + for tm_mon + 1 and tm_yday + 1. + Make %Y always equivalent to %C%y, and similarly for %G and %g. + (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional. + (DO_SIGNED_NUMBER): New macro. + (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1. + +2005-03-07 Bruno Haible + + * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions. + +2005-03-07 Bruno Haible + + * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks. + +2005-03-04 Derek R. Price + + * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions. + (func_import): Only replace files via --import when they have actually + changed. + +2005-03-03 Derek R. Price + + * m4/mmap-anon.m4: New file. + * m4/pagealign_alloc.m4: New file. + +2005-03-03 Derek R. Price + Bruno Haible + + * modules/pagealign_alloc: New file. + * MODULES.html.sh (Memory management functions): Add pagealign_alloc. + +2005-03-03 Derek R. Price + Bruno Haible + + * lib/pagealign_alloc.h: New file. + * lib/pagealign_alloc.c: New file. + +2005-03-03 Bruno Haible + + * m4/inttypes.m4, isc-posix.m4, once-only.m4: + Use an all-permissive copyright notice, recommended by RMS. + +2005-03-02 Bruno Haible + + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because + of AIX, the replacement has to be done only after is + included, therefore not in config.h. stpncpy.h does the replacement, + and stpncpy.c uses it. + +2005-03-02 Bruno Haible + + * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that + stpncpy.c uses it. + +2005-03-01 Paul Eggert + + Remove workaround for bug in Linux kernel 2.6.8 or thereabouts. + The workaround isn't strictly needed for POSIX conformance, and + it's too much of a pain to configure and maintain. We'll ask + people to fix their kernels instead. + * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h. + (NANOSLEEP_BUG_WORKAROUND): Remove. + (xnanosleep): Remove the workaround. + +2005-03-01 Paul Eggert + + * modules/gettime (Makefile.am): Remove lib_SOURCES line. + Reported by Derek Price. + (Include): Add "timespec.h". + + * modules/xnanosleep (Depends-on): Remove gethrxtime. + +2005-03-01 Paul Eggert + + * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting + to detect nanosleep bug. + +2005-03-01 Bruno Haible + + * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed. + +2005-02-26 Paul Eggert + + * modules/gethrxtime: New file. + * modules/xnanosleep (Files): Add m4/xnanosleep.m4. + (Depends-on): Add gethrxtime. + (configure.ac): Add gl_XNANOSLEEP. + (Makefile.am): Remove lib_SOURCES line. + +2005-02-25 Paul Eggert + + * m4/gethrxtime.m4, m4/xnanosleep.m4: New files. + * m4/gettime.m4 (gl_GETTIME): Check for nanotime. + +2005-02-25 Paul Eggert + + * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files. + * lib/timespec.h (gettime): Return void, since it always + succeeds now. All uses changed. + * lib/gettime.c (gettime): Likewise. + [HAVE_NANOTIME]: Prefer nanotime. + Assume gettimeofday succeeds, as POSIX requires. + Assime time () succeeds, since other code already does. + * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h. + (timespec_subtract): Remove. + (NANOSLEEP_BUG_WORKAROUND): New constant. + (xnanosleep): Use gethrxtime rather than gettime; this simplifies + things considerably. Use it only on GNU/Linux hosts, since the + workaround shouldn't be needed elsewhere. + +2005-02-24 Bruno Haible + + * modules/gettext (Files): Add m4/glibc2.m4. + +2005-02-24 Bruno Haible + + * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4: + * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4: + * m4/progtest.m4: + Update from GNU gettext 0.14.2. + * m4/glibc2.m4: New file, from GNU gettext 0.14.2. + +2005-02-24 Bruno Haible + + * lib/localcharset.c: Update from GNU gettext 0.14.2. + * lib/config.charset: Update from GNU gettext 0.14.2. + +2005-02-24 Bruno Haible + + * lib/gettext.h: Update from GNU gettext 0.14.2. + +2005-02-23 Simon Josefsson + + * m4/iconvme.m4: New file. + +2005-02-23 Jim Meyering + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's + change. + Thanks to Bruno Haible for catching it. + +2005-02-22 Simon Josefsson + + * modules/iconvme: New file. + + * MODULES.html.sh: Add iconvme. + +2005-02-22 Simon Josefsson + + * lib/iconvme.h, lib/iconvme.c: New files, from libc. + +2005-02-22 Simon Josefsson + + * config/srclist.txt: Sync iconvme.h, iconvme.c from libc. + +2005-02-22 Jim Meyering + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo: + s/ifndef/ifdef/. + +2005-02-20 Neil Conway + + * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is + returned by OSX/Darwin if the specified buffer is not large + enough for the hostname. + +2005-02-03 Sergey Poznyakoff + + * lib/argp-help.c (__argp_help): Create a fake struct argp_state and + pass it to _help, otherwise the latter coredumps trying to + dereference state.root_argp. + +2005-02-03 Paul Eggert + + * modules/chdir-long (Depends-on): Add memrchr. + * modules/memrchr (Files): Add lib/memrchr.h. + (Include): "memrchr.h". + +2005-02-03 Paul Eggert + + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h. + +2005-02-03 Paul Eggert + + * lib/memrchr.h: New file. + * lib/chdir-long.c: Include it. + * lib/memrchr.c [!defined _LIBC]: Include it rather than + Don't bother including stddef.h. + +2005-02-01 Paul Eggert + + * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double + inclusion. + Include , for dev_t. + (ME_DUMMY, ME_REMOTE): Move from here.... + * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here. + (ME_DUMMY): Count "subfs" as a dummy. Problem reported by + Dmitry V. Levin. + Include mountlist.h first, to test the interface. + +2005-01-29 Bruno Haible + + * lib/progname.c (program_name): Initialize. + Needed when linking statically on MacOS X. + +2005-01-28 Paul Eggert + + Sync from coreutils. + * modules/getloadavg (Files): Remove m4/getloadavg.m4. + (Depends-on): Add c-strtod. + (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG. + +2005-01-28 Paul Eggert + + Sync from coreutils. + * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove. + + Remove files that are specific to coreutils. + * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove. + +2005-01-28 Bruno Haible + + * modules/javacomp: New file. + * MODULES.html.sh (Java): Add javacomp. + +2005-01-28 Bruno Haible + + * m4/javacomp.m4: New file, from GNU gettext. + +2005-01-28 Bruno Haible + + * lib/javacomp.sh.in: New file, from GNU gettext. + * lib/javacomp.h: New file, from GNU gettext. + * lib/javacomp.c: New file, from GNU gettext. + +2005-01-26 Simon Josefsson + + * lib/gai_strerror.c: Use GPL in header. + +2005-01-26 Bruno Haible + + * modules/javaexec: New file. + * MODULES.html.sh (Java): Add javaexec. + +2005-01-26 Bruno Haible + + * m4/javaexec.m4: New file, from GNU gettext. + +2005-01-26 Bruno Haible + + * lib/javaexec.sh.in: New file, from GNU gettext. + * lib/javaexec.h: New file, from GNU gettext. + * lib/javaexec.c: New file, from GNU gettext. + +2005-01-24 Sergey Poznyakoff + + * modules/lchown (Depends-on): Remove lchown.h + +2005-01-24 Sergey Poznyakoff + + * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H + must be defined if the header file was not found, in order + to provide a replacement. Reported by Todd Vierling + +2005-01-24 Sergey Poznyakoff + + * lib/argp-help.c (hol_entry_help): Avoid using non-constant + initializers for struct pentry_state. + (__argp_error): Check return value of __asprintf + (__argp_failure): Translate error message + + * lib/argp-parse.c: Removed braces around the expansion of N_() + +2005-01-23 Paul Eggert + + * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4, + backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4, + c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4, + clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4, + dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4, + exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4, + file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4, + free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4, + getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4, + getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4, + getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4, + gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4, + group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4, + idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4, + link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4, + makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4, + memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4, + memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4, + modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4, + path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4, + posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4, + readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4, + restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4, + savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4, + sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4, + stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4, + strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4, + strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4, + strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4, + time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4, + uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4, + unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4, + utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4, + xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4, + xstrtol.m4, xstrtoumax.m4, yesno.m4: + Use an all-permissive copyright notice, recommended by RMS. + +2005-01-21 Paul Eggert + + * modules/chdir-long (Depends-on): Remove mempcpy. + +2005-01-21 Jim Meyering + + * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the + same value as for Solaris 9. + + * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on + component length. This included changing the parameter to be + of type `char *' rather than `char const *'. + * lib/chdir-long.h (chdir_long): Update prototype. + + * lib/openat.c (fdopendir, fstatat): New functions. + * lib/openat.h: Include headers required for use of DIR and struct + stat. + [AT_SYMLINK_NOFOLLOW]: Define. + (fdopendir, fstatat): Add prototypes. + +2005-01-21 Bruno Haible + + * modules/classpath: New file. + * MODULES.html.sh (Java): Add classpath. + +2005-01-21 Bruno Haible + + * lib/classpath.h: New file, from GNU gettext. + * lib/classpath.c: New file, from GNU gettext. + +2005-01-20 Simon Josefsson + + * modules/version-etc-fsf: New file. + +2005-01-20 Simon Josefsson + + * lib/version-etc-fsf.c: New file, with version_etc_copyright. + * lib/version-etc.c: Remove version_etc_copyright. + * lib/version-etc.h (version_etc_copyright): Use [] instead of * in + prototype, suggested by Paul Eggert . + +2005-01-20 Simon Josefsson + + * lib/base64.h (isbase64): Add. + + * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of + using a unsigned prototype, don't inline. + (base64_decode): Use it. + +2005-01-20 Paul Eggert + + * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume + it. + +2005-01-20 Paul Eggert + + * lib/save-cwd.c (save_cwd): Remove code to support the case + where fchdir is missing or flaky. + +2005-01-20 Paul Eggert + + * MODULES.html.sh (Command-line arguments): Add version-etc-fsf. + +2005-01-19 Paul Eggert + + * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h; + AC_LIBSOURCES now does this. + * MODULES.html.sh (Sizes of integer types ): New element, + with new ullong_max module. + +2005-01-19 Bruno Haible + + * modules/sh-quote: New file. + * MODULES.html.sh (Executing programs): Add sh-quote. + +2005-01-19 Bruno Haible + + * lib/sh-quote.h: New file, from GNU gettext. + * lib/sh-quote.c: New file, from GNU gettext. + +2005-01-18 Paul Eggert + + Merge from coreutils. + * m4/ullong_max.m4: New file. + * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX. + (gl_MACROS): Assume localeconv exists. + +2005-01-18 Paul Eggert + + Merge changes from coreutils, as described below in several + changelogs dated today. + + * lib/save-cwd.c: Include "save-cwd.h" before other include files. + (O_DIRECTORY): Remove; not needed here, since "." must be + a directory. All uses removed. + (save_cwd): Use __sgi || __sun, not sun || __sun. __sun is + universal on Suns, and we also need to test for IRIX. + Revamp code to use 'if' rather than '#if'. + Avoid unnecessary comparison of cwd->desc to 0. + + * lib/utimens.c (futimens): Robustify the previous patch, by checking + for known valid error numbers rather than observed invalid ones. + +2005-01-18 Paul Eggert + + * modules/ullong_max: New file. + + * modules/chdir-long, modules/openat: New files. + * modules/save-cwd (Depends-on): Depend on chdir-long. + (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES. + +2005-01-18 Jim Meyering + + Merge from coreutils. + * m4/chdir-long.m4, m4/openat.m4: New files. + * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c, + save-cwd.h. Add AC_LIBOBJ for save-cwd. + * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown + is sane and DOES follow symlinks. Besides, testing 20 different + systems found no broken chown implementations. + Prompted by a change in rsync's copy of this macro. + * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG. + + * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES. + + * m4/utimes.m4: Work around tests/touch/empty-file failure on a system + (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes' + NULL-means-set-to-current-time semantics. + Remove temporary file immediately, rather than waiting + for configure's at-exit trap code to do it. + +2005-01-18 Jim Meyering + + * lib/version-etc.c (version_etc_copyright): Update copyright date. + + * lib/utimens.c (futimens): Account for the fact that futimes + can also fail with errno == ENOSYS or errno == ENOENT. + Patch from Dmitry V. Levin. + + Change the name of the robust chdir function from chdir to chdir_long. + * lib/save-cwd.c: Include chdir-long.h rather than chdir.h. + (restore_cwd): Use chdir_long, not chdir. + * lib/chdir-long.c: Renamed from chdir.c. + * lib/chdir-long.h: Renamed from chdir.h. + [!defined PATH_MAX]: Define chdir_long to chdir on systems like the + Hurd. + +2005-01-18 Bruno Haible + + * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4: + * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4: + * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4: + * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: + * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4: + * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4: + * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4: + * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4: + * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4: + * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4: + * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4: + * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4: + * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4: + * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4: + Use an all-permissive copyright notice, recommended by RMS. + +2005-01-18 Bob Proulx + + * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to + simplify offsetof() macro construct to avoid compile failure with + native HP-UX 11.0 ANSI C compiler. + +2005-01-17 Bruno Haible + + * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming, + redundant because stpncpy.m4 takes care of it. + +2005-01-17 Bruno Haible + + * lib/progreloc.c: Include xalloc.h instead of xmalloc.h. + +2005-01-17 Bruno Haible + + * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be + used. + +2005-01-17 Bruno Haible + + * lib/fwriteerror.h (fwriteerror): Change specification to include + fclose. + * lib/fwriteerror.c: Include . + (fwriteerror): At the end, close the file stream. Record whether + stdout was already closed. + +2005-01-17 Bruno Haible + + * lib/execute.c (environ): Declare if needed. + * lib/pipe.c (environ): Likewise. + Reported by Michael Schloh von Bennewitz . + +2005-01-11 Sergey Poznyakoff + + * modules/argp: Depend on vsnprintf + +2005-01-10 Jim Meyering + + * modules/closeout (Depends-on): Add atexit. + +2005-01-06 Bruno Haible + + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here. + +2005-01-04 Paul Eggert + + * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional + definitions to be after all include files, to avoid collisions. + Problem reported by Bob Proulx. + +2005-01-04 Jim Meyering + + Changes imported from coreutils. + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX" + as the mkstemp template, use a temporary directory and an + 8.3-friendly template to avoid trouble on systems like DJGPP. + Reported by Juan M. Guerrero via Stepan Kasal. + * m4/(gl_FUNC_MKSTEMP): Include for the declaration of + close. Remove the temporary directory right away, rather than waiting + for configure's at-exit trap code to do it. + Suggestion from Stepan Kasal. + +2005-01-01 Simon Josefsson + + * gnulib-tool: Print #include directives when --import'ing. + +2004-12-28 Simon Josefsson + + * tests/test-base64.c: Include required header files. Remove + unused variables. + +2004-12-28 Paul Eggert + + * modules/error (Depends-on): Remove gettext. + +2004-12-28 Paul Eggert + + * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h"; + not needed. This removes a dependency on the gettext module. + [defined _LIBC]: Do not include ; not needed. + +2004-12-24 Paul Eggert + + * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro. + (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold). + +2004-12-24 Paul Eggert + + * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not + HAVE_DECL_STRTOLD. + +2004-12-23 Paul Eggert + + * modules/getdate (Depends-on): Remove alloca-opt. + +2004-12-23 Paul Eggert + + * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA. + +2004-12-23 Paul Eggert + + * lib/argp-parse.c: Include . + (alignof, alignto): New macros. + (parser_init): Don't assume that void * is aligned sufficiently + for struct option. + + * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no + need to extend the stack. + (YYINITDEPTH): New macro, so that the initial stack isn't overly + large. + +2004-12-22 Sergey Poznyakoff + + * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers. + +2004-12-19 Paul Eggert + + * modules/regex (lib_SOURCES): Remove regex.c, undoing previous + (2004-10-24) change. Apparently this was a false alarm. + + * modules/getdate: Depend on alloca-opt, not alloca. + +2004-12-19 Paul Eggert + + * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H. + Remove now-obsolete comment about AIX. + * lib/getdate.y: Include only if HAVE_ALLOCA. + (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA. + (YYMAXDEPTH): New macro. + +2004-12-18 Simon Josefsson + + * modules/alloca: Depend on alloca-opt, instead of duplicating it. + +2004-12-18 Bruno Haible + + * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction. + +2004-12-18 Bruno Haible + + * lib/fatal-signal.c (fatal_signals): Make non-const. + (init_fatal_signals): New function. + (uninstall_handlers, install_handlers): Ignore signals that were set to + SIG_IGN. + (at_fatal_signal): Call init_fatal_signals. + (init_fatal_signal_set): Likewise. Ignore signals that were set to + SIG_IGN. + Reported by Paul Eggert. + +2004-12-18 Bruno Haible + + * doc/alloca.texi: New file. + * doc/alloca-opt.texi: New file. + +2004-12-17 Jim Meyering + + * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'. + Otherwise, install-sh could exit with improper exit status when + exiting via a trapped interrupt. Thanks to a report from Bob Proulx. + +2004-12-16 Simon Josefsson + + * tests/test-base64.c: Add license. + +2004-12-15 Stepan Kasal + + * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command. + +2004-12-12 Paul Eggert + + * modules/getcwd (Files): Add m4/d-ino.m4. + Suggested by Mark D. Baushke. + +2004-12-08 Paul Eggert + + * lib/getdate.y (textint): New member "negative". + (time_zone_hhmm): New function. + Expect 14 shift-reduce conflicts, not 13. + (o_colon_minutes): New rule. + (time, zone): Use it to add support for +HH:MM, UTC+HH:MM. + (yylex): Set the "negative" member of signed numbers. + +2004-12-08 Paul Eggert + + * doc/getdate.texi (Time of day items, Time zone items): + Describe new formats +00:00, UTC+00:00. + +2004-12-07 Paul Eggert + + * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change: + spurious "-l"s. Problem reported by Stepan Kasal. + +2004-12-06 Paul Eggert + + * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug + in Autoconf 2.59. Problem reported by Mark D. Baushke. + +2004-12-04 Simon Josefsson + + * modules/getaddrinfo (License): Add LGPL, reported by Yoann + Vandoorselaere . + +2004-12-04 Paul Eggert + + Changes imported from coreutils. + * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale + exist. + * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist. + +2004-12-04 Paul Eggert + + Changes imported from coreutils. + * lib/hard-locale.c: Assume exists. + Include "strdup.h". + (GLIBC_VERSION): New macro. + (hard_locale): Assume setlocale exists. + Rewrite to avoid #ifdef. + Use strdup rather than malloc + strcpy. + * lib/human.c: Assume exists. + (human_readable): Assume localeconv exists. + +2004-12-04 Paul Eggert + + * modules/hard-locale (Depends-on): Add strdup. + +2004-12-01 Jakub Jelinek + + * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC, + convert T2, not T. (Imported from libc.) + +2004-11-30 Simon Josefsson + + * modules/restrict (License): Change to LGPL. + +2004-11-30 Simon Josefsson + + * m4/restrict.m4: Add copyright and copying conditions. + +2004-11-30 Simon Josefsson + + * m4/base64.m4: New file. + +2004-11-30 Simon Josefsson + + * MODULES.html.sh (Extra functions based on ANSI C 89): Add + base64. + + * tests/test-base64.c: New file. + + * modules/base64: New file. + +2004-11-30 Paul Eggert + + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): + Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working. + + * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h. + +2004-11-30 Paul Eggert + + * lib/getcwd.c (is_ENAMETOOLONG): New macro. + (__getcwd.c): Don't restore errno; glibc doesn't. + [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd + first, falling back to our code only if its results look suspicious. + Ensure that the resulting buffer is only as large as necessary. + + * lib/readutmp.c: Include readutmp.h first. + Include , since readutmp.h no longer does that. + * lib/readutmp.h: Don't include , + , ; not needed to establish interface. + (errno): Remove decl. + (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed. + (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME, + UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros. + +2004-11-28 Simon Josefsson + + * lib/base64.h, base64.c: New file. + +2004-11-27 Paul Eggert + + * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25. + +2004-11-26 Paul Eggert + + * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4. + (Depends-on): Remove pathmax, same. Add mempcpy. + (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD. + (Makefile.am): Append getcwd.h to lib_SOURCES. + (Include): Add getcwd.h. + (Maintainer): Change from Jim Meyering to "all, glibc", + since getdate now uses intended-for-glibc code. + * modules/xgetcwd (Files): Remove m4/getcwd.m4. + (Depends-on): Depend on getcwd. Do not depend on pathmax. + +2004-11-25 Paul Eggert + + Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using + HP's ANSI C compiler. + * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl. + Declaring int functions causes warnings on some modern systems and + shouldn't be needed to compile on ancient ones. + * lib/same.c (MIN) [defined MIN]: Don't define, since it's already + defined. + + * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but + with the following changes. + (__set_errno): Parenthesize properly. + Include . + (MIN, MAX, MATCHING_INO): New macros. + (__getcwd): Define with prototype, not K&R form. + Use heuristics to allocate default buffer on stack if possible. + If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2) + behavior, and to avoid the PATH_MAX limit when computing + ../../../../... + Use MATCHING_INO to compare inode number to file. + Check for arithmetic overflow in size calculations. + Fix bug in reallocation of dot array that caused getcwd to fail + on directories nested deeper than 75. + Be more careful about saving errno on error. + Do not use realloc; use only free+malloc, as this is a bit + more flexible and avoids a needless copy operation. + Do not inspect st_dev and st_ino for symbolic links; POSIX + doesn't specify the latter. + Check for closedir errors. + Avoid needless casts. + Use "#ifdef weak_alias" around weak_alias, to be like other + glibc code. + The following changes to getcwd.c have effect only when used in + gnulib; they have no effect inside glibc proper. + (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove, + as alloca isn't used. + (alloca, __alloca): Likewise. + [!_LIBC]: Include "getcwd.h", "mempcpy.h". + Include , , , + unconditionally, as gnulib assumes C89 or better. + Do not include . + (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove + no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or + better. + (NULL) [!defined NULL]: Remove; we assume C89 or better. + Include in a way that is compatible with modern Autoconf. + (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN): + New macros, if not already defined. + Include if _LIBC, not if __GNU_LIBRARY__. + Use "_LIBC", not "defined _LIBC", for consistency. + (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has + a mempcpy module. + (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros. + (GETCWD_RETURN_TYPE): Remove. All uses replaced by char *. + * lib/xgetcwd.c: David MacKenzie's old code was removed, so give + credit only to Jim Meyering and adjust the copyright dates. + Do not include , , , + , , "pathmax.h". + Instead, include "xgetcwd.h" (first) and "getcwd.h". + (INITIAL_BUFFER_SIZE): Remove. + (xgetcwd): Rely on getcwd, since we now depend on a reliable one. + +2004-11-25 Paul Eggert + + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from + GL_FUNC_GETCWD_PATH_MAX for consistency. All uses changed. + Use the _ONCE methods, for efficiency. + Check for fcntl.h. In test program, include + and if available. Remove old K&R cruft from + test program. Check for common errors in GNU/Linux, + OpenBSD, and Solaris. Just set gl_cv_func_getcwd_path_max; + don't do AC_LIBOBJ, as that's getcwd.m4's job. + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from + AC_FUNC_GETCWD_NULL. All used changed. Change cache variable + name accordingly. + (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros. Revamp to + accommodate new getcwd.c. + * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX. + * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY. + * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since + that's all we need now. + +2004-11-23 Sergey Poznyakoff + + * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally: + argp-parse.c depends on getopt internals, that means we should + always use our getopt, to be on the safe side. + * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in + order not to spoil the result of an eventual previous invocation + of gl_GETOPT_SUBSTITUTE. + +2004-11-23 Sergey Poznyakoff + + * lib/getopt_.h: Re-addition of __getopt_argv_const caused + redefinition warnings. To avoid them, include the defines + in `#if !defined __need_getopt ... #endif'. The only place + where __getopt_argv_const is used is in definitions + of getopt_long and getopt_long_only below, which are as well + protected by `#ifndef __need_getopt'. + [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef + __need_getopt after including and These + headers might have defined it. + +2004-11-23 Paul Eggert + + * m4/utimens.m4 (gl_UTIMENS): Check for futimes function. + +2004-11-23 Paul Eggert + + * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros. + (futimens): New function, which uses futimes if available. + (futimens, utimens): Support timespec==NULL, with same semantics + as utime and utimens. + * lib/utimens.h (futimens): New decl. + +2004-11-23 Jim Meyering + + * lib/getopt_.h: Remove trailing blanks. + +2004-11-23 Jim Meyering + + * lib/__fpending.c: Add comment. + +2004-11-22 Paul Eggert + + * modules/canonicalize (Depends-on): Add xreadlink. + Problem reported by James Youngman. + +2004-11-20 Paul Eggert + + * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID): + New macros. + (getopt, getopt_long, getopt_long_only, optarg, opterr, optind, + optopt): Use them instead of invoking ## directly; otherwise, the + symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt. + +2004-11-19 Bruno Haible + + * lib/strtok_r.c: Move comments from here... + * lib/strtok_r.h: ... to here. + +2004-11-17 Paul Eggert + + * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc + implementations that mishandle size_t overflow. + +2004-11-17 Paul Eggert + + * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc + might fail. Problem reported by Yoann Vandoorselaere. + * lib/calloc.c (rpl_calloc): Defend against buggy calloc + implementations that mishandle size_t overflow. + +2004-11-16 Paul Eggert + + * modules/canon-host (Depends-on): Add strdup. + +2004-11-16 Paul Eggert + + * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo. + +2004-11-16 Paul Eggert + + * lib/canon-host.c: Include "strdup.h". + (canon_host): Use getaddrinfo if available, so that IPv6 works. + Use strdup instead of malloc/strcpy to duplicate strings. + + * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit. + (human_space_before_unit): New constant. + * lib/human.c (human_readable): Support it. + + * lib/xgetcwd.c: Include , for PATH_MAX. + (xgetcwd): Set errno correctly when failing. + Work around Solaris 9 bug: getcwd sets errno==ERANGE even though + the failure is actually due to a PATH_MAX problem. + + Further getopt changes to make it more likely that glibc will + buy the changes back. + * lib/getopt.c (POSIXLY_CORRECT): New constant. + (getopt): Use it, so to preserve glibc semantic + * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const * + when compiling for libc. + * lib/getopt_.h (__getopt_argv_const): Bring it back. + (getopt_long, getopt_long_only): Use it. + + * lib/getopt.c (_getopt_initialize, _getopt_internal_r, + _getopt_internal): New arg POSIXLY_CORRECT. All callers changed. + (getopt): Argv is now char * const *, as per standard. + (_getopt_internal_r, _getopt_internal): Argv is now char **, + not char *__getopt_argv_const *. + * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only, + _getopt_long_only_r): Likewise. + * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise. + * lib/getopt_int.h (_getopt_internal, _getopt_internal_r, + _getopt_long_r, _getopt_long_only_r): Likewise. + * lib/getopt_.h (__getopt_argv_const): Remove. + (getopt): Argv is now char * const *, as per standard. + + * lib/getdate.y (tORDINAL): New token. + (day, relunit): Allow it for relative times. + (relative_time_table): Use tORDINAL for ordinals. + +2004-11-16 Paul Eggert + + * doc/getdate.texi (General date syntax): "next" is 1, not 2. + Document that "second" isn't allowed as an ordinal number. + +2004-11-16 Jim Meyering + + * modules/closeout (Depends-on): Add fpending. + +2004-11-15 Jim Meyering + + * lib/closeout.c: Include "__fpending.h" once again. + Include . + (close_stdout): Don't fail just because stdout was closed initially, + since some programs don't write to stdout in the normal course of + operation (other than --version and --help), and we don't want this + function to make e.g. `touch file >&-' fail. + But do fail if it was closed and someone has tried to write to it. + E.g., `printf foo >&-' must fail. + +2004-11-13 Jim Meyering + + * m4/jm-macros.m4: Do require gl_FUNC_FPENDING. + +2004-11-12 Simon Josefsson + + * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a + small doc fix is still pending. + +2004-11-11 Simon Josefsson + + * modules/strtok_r: New file. + + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + strtok_r. + +2004-11-11 Simon Josefsson + + * m4/strtok_r.m4: New file. + + * m4/getopt.m4: Replace opterr. + +2004-11-11 Simon Josefsson + + * lib/strtok_r.h, strtok_r.c: New file. + +2004-11-11 Paul Eggert + + * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead + of replacing opterr, getopt, etc. This should handle the + powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson. + +2004-11-11 Paul Eggert + + * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that + we can stop lying to compilers about the constness of argv when we + are compiled outside glibc. + (getopt, getopt_long, getopt_long_only): Use it. + * lib/getopt.c (_getopt_initialize, _getopt_internal_r, + _getopt_internal, getopt): Likewise. + * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only, + _getopt_long_only_r): Likewise. + * lib/getopt_int.h (_getopt_internal, _getopt_internal_r, + _getopt_long_r, _getopt_long_only_r): Likewise. + + * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]: + Include and , and if available. + Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for + the other external symbols. + (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style + declaration, since the above renaming now works around collisions. + +2004-11-11 Jim Meyering + + * lib/linebreak.c: Remove trailing blanks. + * lib/alloca_.h: Likewise. + * lib/acosl.c: Likewise. + * lib/euidaccess.c: Likewise. + * lib/allocsa.h: Likewise. + +2004-11-10 Simon Josefsson + + * m4/getaddrinfo.m4: New file. + +2004-11-10 Simon Josefsson + + * lib/getaddrinfo.h, lib/getaddrinfo.c: New files. + +2004-11-10 Simon Josefsson + + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + getaddrinfo. + + * modules/getaddrinfo: New file. + +2004-11-10 Paul Eggert + + * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV. + +2004-11-10 Paul Eggert + + * lib/mktime.c (SHR): New macro, which is a portable + substitute for >> that should work even on Crays. + (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it. + Problem reported by Mark D. Baushke in + . + * lib/getdate.y (SHR): Likewise. + (tm_diff): Use it. + * lib/strftime.c (SHR): Likewise. + (tm_diff): Use it. + * lib/quotearg.c (struct quoting_options): Use unsigned int for + quote_these_too, so that right shifts are well defined. All uses + changed. + +2004-11-10 Jim Meyering + + Ensure that no close failure goes unreported. + * lib/closeout.c (close_stdout): Always close stdout. I.e., don't + return early when it seems there's nothing to flush. + Don't include __fpending.h. + +2004-11-10 Jim Meyering + + * modules/closeout (Depends-on): Remove fpending. + +2004-11-10 Jim Meyering + + * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING. + +2004-11-09 Paul Eggert + + * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove. Move its body to + gl_FUNC_STRFTIME. + (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE + and AC_REQUIRE when possible, to avoid duplicate checks. + Check for . + +2004-11-09 Paul Eggert + + * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too. + +2004-11-09 Bruno Haible + + * m4/sockpfaf.m4: New file. + +2004-11-05 Bruno Haible + + * lib/readlink.c: Include stddef.h, needed for size_t on Woe32. + Reported by Mark D. Baushke . + +2004-11-04 Bruno Haible + + 2004-09-11 Bruno Haible + * allocsa.valgrind: New file. + 2004-02-06 Bruno Haible + * allocsa.h (sa_alignof): Define differently with HP-UX cc, to + avoid a bug of this cc on HP-UX 10.20 dealing with enums. + Reported by Christopher Seip . + +2004-11-04 Bruno Haible + + * modules/allocsa (Files): Add lib/allocsa.valgrind. + (Makefile.am): Distribute it. + +2004-11-03 Paul Eggert + + * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1 + with errno == ERANGE if the buffer is too small. + Problem reported by Mark D. Baushke. + +2004-11-03 Albert Chin + Paul Eggert + + * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t + equivalent, substitute $ac_type for equivalent type rather than + blindly using uint32_t *always* which won't work if uint32_t is not + available. Define _UINT32_T to work around typedef of uint32_t if + , , or used on Solaris + 2.5.1. + +2004-11-02 Paul Eggert + + * m4/jm-macros.m4: Sync from coreutils. + (gl_MACROS): Check for mbrlen, for pathchk. + (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk. + +2004-11-02 Paul Eggert + + * lib/xreadlink.c (MAXSIZE): New macro. + (xreadlink): Use it instead of SSIZE_MAX. Ensure initial buffer + size does not exceed MAXSIZE. Avoid cast. + As suggested by Mark D. Baushke in + , + if readlink fails with buffer size just under MAXSIZE, try again + with MAXSIZE. + +2004-11-02 Paul Eggert + + * config/srclist.txt: Add mktime.c; glibc bought all our changes. + +2004-11-02 Derek R. Price + and Paul Eggert + + * lib/getdate.y [!TEST]: Include , since we use sprintf now. + (get_date): Overparenthesize to avoid GCC warning. + +2004-11-02 Bruno Haible + + * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv() + returns void. + +2004-11-02 Bruno Haible + + * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv() + function returns void. + +2004-11-01 Paul Eggert + + * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of + fflush_unlocked, flockfile, funlockfile, funlockfile, + fputs_unlocked, putc_unlocked. + +2004-11-01 Paul Eggert + + * lib/getpass.c (fflush_unlocked, flockfile, funlockfile) + (funlockfile, fputs_unlocked, putc_unlocked): Don't define if + already declared. + +2004-10-29 Paul Eggert + + * modules/getdate (Files): Add doc/getdate.texi. + (Depends-on): Add setenv, xalloc. + +2004-10-29 Paul Eggert + + * lib/getdate.y: Add support for TZ="foo" within a date string. + Fix some bugs near time_t boundaries. Reject dates with + out-of-range components, e.g., "Sept 31". + Include , "setenv.h", "xalloc.h". + (ISDIGIT_LOCALE): Remove; unused. + Note that the TZ and time functions used here are not reentrant. + (mktime_ok, get_tz): New functions. + (TZBUFSIZE): New constant. + (get_date): Parse leading TZ="foo". Reject out-of-range components;. + This requires that we sometimes generate our own TZ="XXX..." setting. + +2004-10-29 Paul Eggert + + * doc/getdate.texi: New file, from coreutils with modifications for + the new TZ parsing. + +2004-10-27 Derek R. Price + + * lib/mktime.c (not_equal_tm): Remove redundant check. + +2004-10-24 Paul Eggert + + * modules/regex (lib_SOURCES): Add regex.c. + Reported by James Youngman in + . + +2004-10-24 Paul Eggert + + * lib/getdate.y: Use Bison 1.875 features, and some minor + code cleanups. This change does not affect semantics. + Don't include ; no longer needed. + Don't include unlocked-io.h; only the "#if TEST" code uses + stdio, and performance isn't crucial there. + (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by + Bison 1.875 features as described below. + All uses of "PC." replaced by "pc->". + (YYSTYPE): Add a forward declaration. + (yylex, yyerror): Use full prototypes in forward decls. + Use "%pure-parser" rather than obsolescent "%pure_parser". + Use %parse-param and %lex-param instead of obsolescent + YYPARSE_PARAM and YYLEX_PARAM. + (meridian_table, month_and_day_table, time_units_table, + relative_time_table, time_zone_table, military_table, + lookup_zone, lookup_word, get_date): + Use NULL instead of 0 where appropriate. + (to_hour): Avoid abort (), to avoid a dependency on + stdlib.h. + (yyerror, yylex): Now accepts parser_control * arg. + (main) [TEST]: Use '\0' rather than 0 for char. + +2004-10-22 Paul Eggert + + * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for . + +2004-10-22 Paul Eggert + + * lib/getpagesize.c (getpagesize): Don't assume exists. + It's now the caller's responsibility to handle the case where + !HAVE_GETPAGESIZE && !defined getpagesize. + + * lib/mktime.c (leapyear): Arg is long int, not int. + +2004-10-18 Paul Eggert + + * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc. + +2004-10-17 Paul Eggert + + * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was + missing. Problem reported by James Youngman. + +2004-10-16 Simon Josefsson + + * gnulib-tool: Fix comments. Fix parse problem. + (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES. + +2004-10-15 Paul Eggert + + * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD + implementation of getopt_long. Problem reported by Alexander Taler in: + http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html + +2004-10-15 Bruno Haible + + * gnulib-tool: Untabify. Initialize supplied_libname. + (func_usage): More homogenous output. + (func_modules_transitive_closure, func_modules_to_filelist, + func_emit_lib_Makefile_am): New functions. + (func_import): New function, extracted from big case statement. Use + func_get_license, func_modules_transitive_closure, + func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize + opt_lgpl. Don't use test -a, as it's not portable. + (func_create_testdir): Use func_modules_transitive_closure, + func_modules_to_filelist, func_emit_lib_Makefile_am. + +2004-10-15 Bruno Haible + + * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed. + +2004-10-15 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate + the portions belonging to each module. + Suggested by Derek Robert Price . + +2004-10-12 Simon Josefsson + + * lib/getpass.c (fflush_unlocked, flockfile, funlockfile) + (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map + to real functions. + +2004-10-11 Yoann Vandoorselaere + + * modules/vsnprintf: New file. + +2004-10-11 Yoann Vandoorselaere + + * m4/vsnprintf.m4: New file. + +2004-10-11 Yoann Vandoorselaere + + * lib/vsnprintf.h: New file. + * lib/vsnprintf.c: New file. + +2004-10-11 Bruno Haible + + * MODULES.html.sh (Support for systems lacking ISO C 99): Add + vsnprintf. + +2004-10-10 Paul Eggert + + * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only). + +2004-10-07 Bruno Haible + + * lib/snprintf.c (snprintf): Avoid a memory allocation if the result + fits into the provided buffer. + +2004-10-06 Paul Eggert + + * lib/diacrit.c, diacrit.h: Add GPL notice. + + * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL + notice. + * lib/atanl.c (atanl): Keep the code as similar to glibc as possible. + * lib/logl.c (logl): Keep the code as similar to glibc as possible. + This avoids a potential constant-folding bug. + +2004-10-05 Bruno Haible + + * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check + for the declaration of strsep. + +2004-10-05 Bruno Haible + + * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP. + +2004-10-04 Simon Josefsson + + * modules/memmem: New file. + * tests/test-memmem.c: New file. + * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem. + +2004-10-04 Simon Josefsson + + * m4/memmem.m4: New file. + +2004-10-04 Simon Josefsson + + * lib/memmem.h: New file. + * lib/memmem.c: New file, taken from glibc. + +2004-10-04 Simon Josefsson + + * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of + '#ifdef USE_UNLOCKED_IO'. + +2004-10-04 Simon Josefsson + + * config/srclist.txt: Add memmem from glibc. + +2004-10-04 Paul Eggert + + * modules/xalloc (Files, Makefile.am): Remove xstrdup.c. + + * modules/argmatch, modules/argp, modules/closeout, modules/error, + modules/exclude, modules/getdate, modules/getline, + modules/getndelim2, modules/getpass, modules/getpass-gnu, + modules/getusershell, modules/linebuffer, modules/md5, + modules/mountlist, modules/posixtm, modules/readtokens, + modules/readutmp, modules/regex, modules/sha1, + modules/version-etc, modules/yesno: + Remove dependency on unlocked-io. + +2004-10-04 Paul Eggert + + * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove. All uses removed. + + * m4/unlocked-io.m4: Add copyright notice. + (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO. + +2004-10-04 Paul Eggert + + * lib/xalloc.h (xmemdup): Renamed from xclone. All uses changed. + * lib/xmalloc.c (xmemdup): Likewise. + * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC, + XFREE): Remove these long-obsolescent macros. + * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c + * lib/xstrdup.c: Remove. + + * lib/regex.c (re_comp): Cast gettext return value to char *, + Problem reported by Martin Neitzel via Mark D. Baushke. + +2004-10-04 Paul Eggert + + * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y, + getndelim2.c, getpass.c, getusershell.c, linebuffer.c, + md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c, + regex.c, sha1.c, version-etc.c, yesno.c: + Include "unlocked-io.h" only if USE_UNLOCKED_IO. + * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now + the includer's responsibility. + + Sync from coreutils. + + * lib/modechange.c (mode_compile): Don't decrement a pointer that + points to the start of a string, as the C Standard says the + resulting behavior is undefined. + + * lib/backupfile.h (enum backuptype): Rename none -> no_backups, + simple -> simple_backups, numbered_existing -> + numbered_existing_backups, numbered -> numbered_backups + to avoid shadowing problems. All uses changed. + * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise. + * lib/backupfile.c (check_extension, numbered_backup): + Rename locals to avoid shadowing 'basename'. + * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than + once. + + * lib/.cppi-disable: Add getopt_.h, getopt_int.h. + * lib/.cvsignore: Add getopt.h. + +2004-10-04 Bruno Haible + + * modules/README: New file. + * gnulib-tool (func_all_modules, func_verify_module): modules/README is + not a module. + +2004-10-02 Jim Meyering + + * lib/dirfd.h, getpagesize.h: Add copyright notice. + +2004-10-01 Yoann Vandoorselaere + + * modules/strsep: New file. + +2004-10-01 Yoann Vandoorselaere + + * m4/strsep.m4: New file. + +2004-10-01 Yoann Vandoorselaere + + * lib/strsep.h: New file. + * lib/strsep.c: New file. + +2004-10-01 Simon Josefsson + + * lib/snprintf.c (snprintf): Handle size==0. + +2004-10-01 Simon Josefsson + Bruno Haible + + * lib/snprintf.c: Include , , . + (snprintf): Declare 'args'. + +2004-10-01 Paul Eggert + + * lib/snprintf.c: Remove comments as to why each header is needed. + +2004-10-01 Bruno Haible + + * MODULES.html.sh: Add strsep. + +2004-09-30 Simon Josefsson + + * modules/snprintf: New file. + +2004-09-30 Simon Josefsson + + * m4/snprintf.m4: New file. + +2004-09-30 Simon Josefsson + + * lib/snprintf.h, lib/snprintf.c: New files. + +2004-09-30 Sergey Poznyakoff + + * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL + (hol_entry_help): Never translate an empty string. + Do not translate option tag (opt->name) if OPTION_NO_TRANS is set + * lib/argp.h (OPTION_NO_TRANS): New option. + +2004-09-30 Paul Eggert + + * modules/argp (Maintainer): Replace Simon Josefsson + by Sergey Poznyakoff. + +2004-09-30 Paul Eggert + + * config/srclist.txt: Comment-out argp/argp.h, until we get the argp + changes merged back into glibc. + +2004-09-30 Paul Eggert + + * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf. + +2004-09-29 Oskar Liljeblad + + * lib/xvasprintf.c: Include xalloc.h. + (xvasprintf): Use xalloc_die, not xmalloc_die. + +2004-09-29 Bruno Haible + + * modules/alloca-opt: New file, derived from modules/alloca. + * modules/allocsa: Depend on alloca-opt instead of alloca. + * modules/setenv: Likewise. + * modules/vasnprintf: Likewise. + * MODULES.html.sh: Add alloca-opt. + +2004-09-28 Simon Josefsson + + * gnulib-tool: New parameter --lgpl, to asseert that modules are + LGPL, and to replace license template from GPL to LGPL. + +2004-09-28 Paul Eggert + + * modules/dummy: Change license to LGPL. + +2004-09-28 Paul Eggert + + * lib/dummy.c: Change copyright notice to FSF, and license to GPL. + +2004-09-24 Simon Josefsson + + * modules/minmax (License): Change from GPL to LGPL. + +2004-09-23 Simon Josefsson + + * gnulib-tool (--import): Typo. + +2004-09-23 Simon Josefsson + + * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default. + +2004-09-22 Bruno Haible + + * modules/*: Add 'License' field. + * gnulib-tool: Accept --extract-license option. + (func_get_license): New function. + +2004-09-21 Bruno Haible + + * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4. + Reported by Simon Josefsson. + +2004-09-20 Paul Eggert + + * modules/inttostr (Files): Add m4/longlong.m4, since it uses + gl_AC_TYPE_LONG_LONG. + +2004-09-20 Paul Eggert + + * config/srclist.txt: Add getsubopt.c, since libc bought our changes. + +2004-09-18 Simon Josefsson + and Paul Eggert + + * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal + calls with autoreconf. Define GL_LIB. + +2004-09-14 Karl Berry + + * config/srclist.txt: unsync setenv.c, sigh. + +2004-09-13 Paul Eggert + + * lib/argp-pvh.c (argp_program_version_hook): Provide initial value. + Problem reported by Bruno Haible in: + http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html + +2004-09-13 Paul Eggert + + * config/srclist.txt: Comment out argp-pvh.c. + +2004-09-11 Paul Eggert + + * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy, + in case some system header has #define'd it. Problem reported by + Soeren D. Schulze in + . + +2004-09-09 Karl Berry + + * regex.[ch]: delete from the root. These were supposed to be + synced with emacs cvs, but this has not happened for about + a year, and anyway nothing else uses emacs regex.[ch]. + bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700. + lib/regex[.ch] is untouched. + +2004-09-09 Bruno Haible + + * modules/vasnprintf (Files): Add m4/eoverflow.m4. + +2004-09-09 Bruno Haible + + * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with + modifications. + * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW. + +2004-09-08 Oskar Liljeblad + + * modules/xvasprintf: New file. + * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf. + +2004-09-08 Oskar Liljeblad + + * lib/xvasprintf.h: New file. + * lib/xvasprintf.c: New file. + * lib/xasprintf.c: New file. + +2004-09-08 Bruno Haible + + * m4/stdint.m4: New file, taken from GNU clisp with modifications. + +2004-09-08 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting + length is > INT_MAX. + * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any + more. + +2004-09-08 Bruno Haible + + * lib/stdint_.h: New file, taken from GNU clisp. + +2004-09-08 Bruno Haible + Oskar Liljeblad + + * modules/stdint: New file. + * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint. + +2004-08-19 Paul Eggert + + Import from coreutils. + * lib/userspec.c: Don't use , so that we don't use alloca on + strings on unbounded length. alloca's performance benefits aren't + that important here. + (V_STRDUP): Remove. + (parse_with_separator): New function, with most of the internals + of the old parse_user_spec. Allow user to omit both user and group, + for compatibility with FreeBSD. + Clone only the user name, not the entire spec. + Do not set *uid, *gid unless entirely successful. + Avoid memory leak in some failing cases. + Fix regression for USER.GROUP reported by Dmitry V. Levin in + + (parse_user_spec): Rewrite to use parse_with_separator. + +2004-08-19 Paul Eggert + + * modules/userspec: Don't depend on alloca. + +2004-08-19 Paul Eggert + + * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA. + +2004-08-17 Paul Eggert + + * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise, + readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check, + utimecmp, utimens, xnanosleep. Rename sha to sha1. + +2004-08-16 Simon Josefsson + + * gnulib-tool: Use sed instead of autoconf --trace, inspired by + libtoolize behaviour by "Gary V. Vaughan" . + Add --dry-run for --import. + Let user provided command line parameters override configure.ac + settings. + +2004-08-12 Simon Josefsson + + * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro, + as discussed with Paul Eggert in threads rooted at + + and + . + Before, the test was empty, and relied on ELIDE_CODE in source + code.) + (gl_PREREQ_GETOPT): New macro. + (gl_GETOPT): Use them. + +2004-08-12 Simon Josefsson + + * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack. + * lib/getopt_.h: Renamed from getopt.h. + +2004-08-12 Simon Josefsson + + * gnulib-tool: Add --source-base, --m4-base, --libtool options. + Change default library name from libfoo to libgnu. + Now, if you have a configure.ac that says: + gl_SOURCE_BASE(gl) + gl_M4_BASE(gl/m4) + gl_MODULES(error getopt etcetera) + gl_INIT + you can import all you need by running: + ../gnulib/gnulib-tool --import + + * modules/getopt (Files): Rename getopt.h to getopt_.h. + (Makefile.am): Rewrite, use logic from argz. + (Include): Use instead of "getopt.h". + +2004-08-12 Paul Eggert + + * modules/argp (Files): Add m4/unlocked-io.m4. + (Depends-on): Add extensions. + +2004-08-12 Paul Eggert + + * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody + uses HAVE_ARGP_H or HAVE_ARGP_PARSE. + Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS. + Check for program_invocation_name, program_invocation_short_name, + flockfile, funlockfile, features.h, _getopt_long_only_r. + +2004-08-12 Paul Eggert + + * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of + its complicated substitute. + * lib/argp-help.c: Include , for program_invocation_short_name + and program_invocation_name. + (__argp_basename) [!_LIBC]: Remove; the only use was + replaced by its body. + (__argp_short_program_name): Change condition from + !defined __argp_short_program_name to + ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME), + to match argp-namefrob.h. + (__argp_failure): Don't assume strerror_r returns char *. + * lib/argp-parse.c (N_): Define unconditionally. + (argp_default_options): Fill out initializers with 0 to avoid + gcc warnings. + +2004-08-12 Paul Eggert + + * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h), + getopt1.c. + +2004-08-11 Paul Eggert + + Merge from coreutils. + + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy. + + * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require + gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T. + +2004-08-11 Paul Eggert + + Merge from coreutils. + + * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing + wmemchr or wmemcpy. Problem reported by Robert Dahlem + for Reliant Unix 5.43. + + * lib/obstack.c: Include and if available. + (union fooround): Use uintmax_t, not long int. + The rest is a merge from libc: + [defined _LIBC]: Include . + (_obstack) [defined _LIBC]: Remove after 2.3.4. + + * lib/settime.c (settime): Recode to avoid warning with + Sun Forte C 6U2. + + * lib/strverscmp.c: Convert to UTF-8. + +2004-08-11 Paul Eggert + + * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4, + m4/uintmax_t.m4. + +2004-08-09 Paul Eggert + + * modules/xalloc-die: New file. + * modules/xalloc: Remove dependencies on error, gettext, exitfail. + + * modules/md5 (Files): Add m4/uint32_t.m4. + * modules/sha1: Renamed from modules/sha. + (Files): + Rename lib/sha.h to lib/sha1.h. + Rename lib/sha.c to lib/sha1.c. + Rename m4/sha.m4 to m4/sha1.m4. + (lib_SOURCES): Likewise. + (configure.ac): Rename gl_SHA to gl_SHA1. + (Include): sha.h -> sha1.h. + +2004-08-09 Paul Eggert + + * m4/uint32_t.m4, m4/uintptr_t.m4: New files. + * m4/sha1.m4: Renamed from sha.m4. + (gl_SHA1): Renamed from gl_SHA. All uses changed. + +2004-08-09 Paul Eggert + + * lib/obstack.h (obstack_empty_p): + Don't assume that chunk->contents is suitably aligned. + * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk): + Likewise. Problem reported by Benno in + . + + * lib/chown.c (rpl_chown): Work even if the file is writeable but not + readable. This could be improved further but it'd take some work. + +2004-08-08 Simon Josefsson + + * modules/xgethostname (Depends-on): Remove exit and error (not + used). + + * modules/getpass-gnu: Add getpass.h. + (Depends-on): Add stdbool. + * modules/getpass: Add getpass.h. + +2004-08-08 Simon Josefsson + + * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): + Check getpass declaration. + +2004-08-08 Simon Josefsson + + * lib/xgethostname.c: Don't include error.h (not used). + + * lib/getpass.h: Add. + * lib/getpass.c: Include getpass.h first. + +2004-08-08 Paul Eggert + + * lib/xalloc-die.c: New file. + * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove. + All uses removed. + * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted): + Likewise. Move inclusions of gettext.h, error.h, exitfail.h to + xalloc-die.c. + (_, N_, xalloc_die): Move to xalloc-die.c. + * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup, + so that we needn't mess with xalloc_msg_memory_exhausted. + + * lib/sha1.h: Renamed from sha.h. + (SHA1_H): Renamed from _SHA_H. + (sha1_ctx): Renamed from sha_ctx. + (sha1_init_ctx): Renamed from sha_init_ctx. + (sha1_process_block): Renamed from sha_process_block. + (sha1_process_bytes): Renamed from sha_process_bytes. + (sha1_finish_ctx): Renamed from sha_finish_ctx. + (sha1_read_ctx): Renamed from sha_read_ctx. + (sha1_stream): Renamed from sha_stream. + (sha1_buffer): Renamed from sha_buffer. + * lib/sha1.c: Likewise; renamed from sha.c. + Do not include . + Include rather than . + +2004-08-08 Bruno Haible + + * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from + FILESYSTEM_PREFIX_LEN. + * lib/progreloc.c: Likewise. + * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN. + +2004-08-06 Simon Josefsson + + * modules/progname (Depends-on): Don't depend on stdbool. + +2004-08-06 Simon Josefsson + + * modules/getsubopt: New file. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + getsubopt. + +2004-08-06 Paul Eggert + + More merge from coreutils. + + * m4/utimens.m4, m4/utimecmp.m4: New files. + * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4, + fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4, + prereq.m4, sha.m4: Import changes from coreutils. + +2004-08-06 Paul Eggert + + More merge from coreutils. + * modules/raise, modules/readtokens0, modules/utimens: + * modules/utimecmp, module/xnanosleep: New files. + * modules/strftime: Add lib/strftime.h. + Change include from to "strftime.h". + * modules/yesno: Add lib/yesno.h. + * modules/backupfile: Remove lib/addext.c. + * modules/euidaccess: Add stat-macros.h. + * modules/canonicalize, modules/euidaccess, + modules/filemode, modules/lchown, modules/makepath, + modules/rmdir, modules/stat: Likewise. + +2004-08-06 Paul Eggert + + Merge from tar. + * lib/argp-help.c (make_hol, hol_append): Don't assume that + SIZE_MAX is a valid preprocessor constant. + (__argp_basename): Change from "#ifndef _LIBC" + to "#ifndef __argp_short_program_name", so that + we don't compile these functions for tar. + + More merges from coreutils. + * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h: + * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c: + * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files. + * lib/addext.c: Remove; no longer needed. + * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h, + lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c, + lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c, + lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c, + lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y, + lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c, + lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c, + lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h, + lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c, + lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c, + lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h, + lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c, + lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c, + lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c, + lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c, + lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h, + lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c: + Import changes from coreutils. + +2004-08-05 Simon Josefsson + + * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it. + +2004-08-05 Simon Josefsson + + * m4/getsubopt.m4: New file. + +2004-08-05 Paul Eggert + + Merge from coreutils. + + * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4: + * m4/getcwd-path-max.m4: New files. + + * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming. + FILESYSTEM_PREFIX_LEN -> + FILE_SYSTEM_PREFIX_LEN. + FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX -> + FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX. + FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR -> + FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR. + + * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the + prerequisite modules now handle the DOS stuff. + Don't check for unistd.h. + +2004-08-05 Paul Eggert + + Merge from coreutils. + + * lib/.gdb-history: Remove; this doesn't belong here. + + * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c: + * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h: + * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c: + * lib/getcwd.c: New files. + + * lib/dirname.h: Include . + (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN, + for consistency with POSIX terminology. All uses changed. + (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros. + (strip_trailing_slashes): Use bool for booleans. + * lib/stripslash.c (strip_trailing_slashes): Likewise. + + * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it + sometimes returns a positive errno value even when it succeeds. + (print_errno_message) [!LIBC]: Fall back on strerror if + __strerror_r fails. + + * lib/path-concat.c (mempcpy): Don't define if a system header defines + it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h. + (longest_relative_suffix): New function. + (path_concat): Use it. Assume first argument is not NULL. + Port to DOS. Omit redundant separators. + Report an error instead of returning NULL. + Use mempcpy instead of memcpy. + (xpath_concat): Remove: not declared or used. + + * lib/same.h: Include + (same_name): Return bool, not int. + * lib/same.c (same_name): Likewise. + (errno): Don't declare; we assume C89 or better now. + + * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros, + if not already defined. + + * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now. + * lib/dup-safer.c (errno): Likewise. + +2004-08-05 Paul Eggert + + Merge from coreutils. + * modules/c-strtod, modules/c-strtold, modules/canonicalize: + * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files. + * modules/path-concat: Don't depend on strdup. + +2004-08-03 Simon Josefsson + + * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined. + * lib/progname.h: Don't include stdbool.h. + +2004-08-03 Paul Eggert + + * modules/fatal: Remove, as the "fatal" module wasn't used or working. + * MODULES.html.sh (func_all_modules): Remove fatal. + +2004-08-03 Paul Eggert + + * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working. + +2004-08-03 Paul Eggert + + * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or + working. + +2004-08-02 Simon Josefsson + + * lib/getsubopt.h: New file, with comments from Bruno Haible. + * lib/getsubopt.c: New file, from glibc, but slightly modified based on + suggestions from Paul Eggert . + +2004-08-01 Simon Josefsson + + * lib/xgetdomainname.c: Include stdlib.h, for free(). + +2004-07-19 Bruno Haible + + * MODULES.html.sh (func_all_modules): Add dummy. + +2004-07-16 Simon Josefsson + + * modules/dummy: New file. + +2004-07-16 Simon Josefsson + + * lib/dummy.c: New file. + +2004-07-16 Bruno Haible + + * lib/backupfile.h: Add extern "C" for C++. + * lib/closeout.h: Likewise. + * lib/copy-file.h: Likewise. + * lib/findprog.h: Likewise. + * lib/full-write.h: Likewise. + * lib/pathname.h: Likewise. + * lib/progname.h: Likewise. + * lib/stpcpy.h: Likewise. + * lib/stpncpy.h: Likewise. + * lib/strcase.h: Likewise. + * lib/strstr.h: Likewise. + * lib/xalloc.h: Likewise. + + * lib/mbswidth.h: Add extern "C" for C++. + Reported by Albert Chin-A-Young . + +2004-07-13 Robert Millan + + * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g. + +2004-07-09 Simon Josefsson + + * lib/getndelim2.c: Include stddef.h, for ptrdiff_t. (FreeBSD 4.9 + failed without this.) + +2004-07-09 Paul Eggert + + * modules/chown (Files): Add lib/fchown-stub.c, since + gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub). + +2004-07-09 Paul Eggert + + * lib/fchown-stub.c: New file. + +2004-06-24 Jim Meyering + + * lib/obstack.h (obstack_base): Cast to (void *), per documentation. + +2004-06-22 Paul Eggert + + * modules/argz: Omit "#include". + + * MODULES.html.sh (func_all_modules): Add calloc, to match + 2004-06-01 addition of calloc module. + +2004-06-22 Paul Eggert + + * m4/argz.m4: New file, which is autoupdated from libtool. + +2004-06-22 Paul Eggert + + * lib/argz.c, lib/argz_.h: New files, which are autoupdated from + libtool. + +2004-06-22 Paul Eggert + + * config/srclist-update: Don't insist on "USA." before the + close-comment, as libtool omits the period and puts the */ on a + separate line. + * config/srclist.txt: Add argz.c, argz_.h, argz.m4. + * config/srclistvars.sh: Add LIBTOOL (for eggert only). + +2004-06-22 Gary V. Vaughan + + * modules/argz: New file. + * MODULES.html.sh (func_all_modules): Add argz. + +2004-06-12 Jim Meyering + and Paul Eggert + + * modules/hash (Files): Add lib/xalloc.h. + * modules/pipe (Depends-on): Add wait-process. + * modules/stat (Depends-on): Add xalloc. + * modules/userspec (Files): Add lib/userspec.h. + * modules/xstrto + + Upgrade from gettext-0.13. + * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4, + m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4, + m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. + +2004-06-10 Jim Meyering + + * lib/calloc.c: New file. + +2004-06-06 Paul Eggert + + * lib/getdate.y (yylex): Allow space between sign and number. + Problem reported by Dan Jacobson. + +2004-06-01 Paul Eggert + + Merge from coreutils CVS. + + * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4, + makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4, + putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4, + strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4, + xstrtol.m4: Fix copyright date and/or serial number. + + * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h. + See if we need an fchown replacement. + (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro. + (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK, + and use the replacement function if we detect either defect. + + * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR, + gl_UTIMECMP. + +2004-06-01 Paul Eggert + and Jim Meyering + + Merge from coreutils CVS. + + * lib/stat-macros.h: New file, with contents from file-type.h + and coreutils' system.h. + * lib/file-type.c: Include "stat-macros.h". + * lib/file-type.h (file_type): Move all macro definitions to new file, + stat-macros.h. + + * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]: + Wrap old code with this conditional. + [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown + function that does not dereference symlinks. + * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown. + + * lib/xreadlink.c: Include xreadlink.h first, to catch .h file + dependency problems. + (xreadlink): Accept new arg SIZE, for efficiency. + All decls and uses changed. + * lib/xreadlink.h: Include , for size_t. + + * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h, + gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h. + + * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h, + sysexits.h. + +2004-06-01 Jim Meyering + + * m4/calloc.m4: New file. + +2004-05-31 Paul Eggert + + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI + C B3910B A.05.55 [Dec 04 2003]. Problem reported by Jim Meyering. + Also, fix a typo in a diagnostic. + +2004-05-30 Paul Eggert + + * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC + or AC_FUNC_REALLOC. + +2004-05-30 Paul Eggert + + * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these + macros to be defined. + (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if + the allocator returns NULL because the requested size is zero. + +2004-05-20 Paul Eggert + + * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this + var. Add comment explaining why libc still defines it. This + merges the following patch from glibc: + http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html + +2004-05-20 Andreas Schwab + + * m4/free.m4: Replace free if it not known to work, not the other + way round. + +2004-05-19 Paul Eggert + + * lib/obstack.c (_obstack): Remove unused variable. It hasn't been + present in glibc since revision 1.1 of this file. + * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast, + obstack_alignment_mask, obstack_alloc, obstack_base, + obstack_blank, obstack_blank_fast, obstack_chunk_size, + obstack_copy, obstack_copy0, obstack_finish, obstack_grow, + obstack_grow0, obstack_init, obstack_int_grow, + obstack_int_grow_fast, obstack_make_room, obstack_memory_used, + obstack_next_free, obstack_object_size, obstack_ptr_grow, + obstack_ptr_grow_fast, obstack_room): Remove declarations of + nonexistent functions. + +2004-05-18 Karl Berry + + * config/srclist.txt: break link for vasnprintf.c. + +2004-05-17 Paul Eggert + + Port obstack to the AS/400, where pointers are 16 bytes wide and + you cannot cast an integer to a valid pointer. This patch is + currently waiting to be integrated into glibc; see + . + + * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove. + All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN. + (__BPTR_ALIGN, __PTR_ALIGN): New macros. + (struct obstack): temp member is now a union of a pointer and + an integer, instead of an integer. All integer uses changed. + This does not affect the physical layout of struct obstack, + except on hosts (like the AS/400) where the size or alignment of + void * is greater than that of ptrdiff_t. + (obstack_finish) [! (defined __GNUC__ && defined __STDC__ && + __STDC__)]: Store temporary in pointer member of union, not + integer member. + * lib/obstack.c: Include , for offsetof. + (struct fooalign): Remove; it doesn't need a name. + (union fooround): Change double to long double, and add void *. + (DEFAULT_ALIGNMENT): Use offsetof to compute. + (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant, + not a macro. Hence the values are always int; so remove all + casts-to-int in uses. + +2004-05-17 Paul Eggert + + * config/srclist.txt: Break link for argp-help.c and argp-parse.c until + we can get this patch merged into glibc. + +2004-05-17 Derek R. Price + Paul Eggert + + * m4/argp: Depend on alloca. + +2004-05-17 Derek R. Price + Paul Eggert + + * lib/argp-help.c, argp-parse.c: Assume rather than + freecoding. + +2004-05-17 Bruno Haible + + * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a + precision that consists of a '.' followed by an empty digit string. + Patch by Tor Lillqvist . + +2004-05-16 Paul Eggert + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always, + for backward compatibility with older code. We need our own + alloca.h if _AIX is defined. Define HAVE_ALLOCA if we discover + it under some other name, and our alloca.h will define it. + +2004-05-16 Paul Eggert + Derek Price + + * lib/alloca.c: Include , to get our interface. + * lib/alloca_.h: Use __alloca on AIX, so that we don't have to + include first. Use C89 prototype for alloca; this + requires including for size_t. Use extern "C" if C++. + Use #elif for simplicity, since we can assume C89 now. + Don't try to source the system alloca.h since it will not be found + and to prevent recursively including its replacement. + * lib/fnmatch.c: Include instead of opencoding. + * lib/regex.c: Likewise. + +2004-05-16 Derek Price + Paul Eggert + + getline cleanup. This changes the getndelim2 API: both order of + arguments, and meaning of delim2 (now uses EOF, not 0, to indicate + no delimiter). + + * lib/getline.c: Don't include stddef.h or stdio.h, since our + interface does that. + (getline): Always use getdelim, so that we don't have two + copies of this code. + * lib/getndelim2.c: Include , , + if available. + (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined. + (GETNDELIM2_MAXIMUM): New macro. + (getndelim2): Reorder arguments. delim==EOF now means no delimiter, + instead of the old practice of delim2==0. All callers changed. + Return -1 on overflow, instead of returning junk. + Do not set *linesize unless allocation succeeds. + * lib/getndelim2.h: Do not include stddef.h; no longer needed, now + that we include sys/types.h. + * lib/getnline.h: Likewise. + * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro. + (getndelim2): Reorder arguments. + * lib/getnline.c (getnline, getndelim): + Don't discard the NMAX argument. + (getnline): Invoke getndelim, to avoid code duplication. + * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead + of (size_t) -1 by callers of the getnline family. + +2004-05-13 Paul Eggert + + * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC. + Check for gettimeofday. + * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC. + Check for settimeofday, stime. + +2004-05-13 Paul Eggert + + * lib/nanosleep.c (suspended): Change its type from int to + sig_atomic_t volatile. + (first_call): Make it private to rpl_nanosleep, and have it + be zero initially as that's a bit faster. + (my_usleep): Round up fractional times instead of truncating them, + as this is the usual meaning for 'sleep'. + + * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday' + doesn't work. + * lib/settime.c: Include , for stime (on Solaris 8, anyway). + (ENOSYS): Define if not defined. + (settime): Fall back on stime if it exists and settimeofday fails. + But don't bother with fallbacks if a method fails with errno == EPERM. + +2004-05-11 Jim Meyering + + Prior to this change, the save_cwd caller required read access to the + current directory on most systems (ones with the fchdir function). + + * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only + fails, try write-only, and finally, resort to using xgetcwd. + +2004-05-06 Paul Eggert + + * lib/obstack.c, obstack.h: Import changes from libc. + +2004-04-28 Bruno Haible + + * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it + also implicitly appends .exe to executables. + * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now + accepts Windows pathnames. + * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN): + Treat Cygwin like Windows, since it now accepts Windows pathnames. + * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN): + Treat Cygwin like Windows, since it now accepts Windows pathnames. + Reported by Derek Robert Price . + +2004-04-21 Karl Berry + + * config/srclist.txt (localcharset.c): break sync. + +2004-04-20 Paul Eggert + + * m4/host-os.m4: Add a copyright notice. + +2004-04-20 Jim Meyering + + Change UTILS_ to gl_ in AC_DEFINE'd names. + Change utils_- and jm_-prefixed variables, too. + * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from + UTILS_FUNC_MKDIR_TRAILING_SLASH. + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP. + + * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD. + Don't emit trailing blanks. + Also rename jm_-prefixed variables to have gl_ prefix. + + * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS. + Also rename jm_-prefixed variables to have gl_ prefix. + + * m4/jm-macros.m4: Reflect the renamings. + * m4/prereq.m4: Likewise. + +2004-04-20 Jim Meyering + + * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak + memory. + +2004-04-20 Jim Meyering + Bruno Haible + + * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak + memory when realloc fails. + +2004-04-19 Jim Meyering + + * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE, + now that readutmp.c may call `free (0)'. + +2004-04-19 Bruno Haible + + * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well. + * m4/inttypes_h.m4: Likewise. + * m4/stdint_h.m4: Likewise. + * m4/intmax_t.m4: Likewise. + * m4/uintmax_t.m4: Likewise. + +2004-04-18 Jim Meyering + + * m4/prereq.m4: Don't forbid jm_ prefix. + + * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4: + * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4: + * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4: + * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4: + * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4: + * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4: + * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4: + * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4: + * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4: + * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4: + * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4: + * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4: + * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4: + * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4: + * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4: + * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4, + * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4: + * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4: + Change jm_ to gl_ in AC_DEFINE'd names. Update all uses. + +2004-04-18 Jim Meyering + + * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc + failure, don't leak memory and do call END_UTMP_ENT. + +2004-04-16 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro. It is specific to + coreutils' stat program. + (gl_PREREQ): Don't require jm_PREREQ_STAT. + +2004-04-11 Paul Eggert + + * lib/inttostr.h: Include unconditionally, since we assume + C89. + (CHAR_BIT): Remove, since we assume C89. + Include if available, as per current Autoconf CVS advice. + +2004-03-31 Jim Meyering + + * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC. + Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC. + * m4/xalloc.m4: Likewise. + +2004-03-30 Paul Eggert + + Merge from coreutils. + + * m4/inttostr.m4: New file. + * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff. + Require AM_STDBOOL_H and gl_TIMESPEC instead. + Require gl_CLOCK_TIME. + * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE. + +2004-03-30 Paul Eggert + + * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int + not bool, to be more consistent with Unix conventions. + Suggested by Bruno Haible. + + Merge from coreutils. + + * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c: + * lib/umaxtostr.c: New files. + + * lib/getdate.h: Include stdbool.h, and timespec.h instead of + the usual dance. + (get_date): Change signature to support fractional time stamps. + All callers changed. + * lib/getdate.y: Include "getdate.h" first, as we can now + assume C89 and don't need to worry about 'const'. + Similarly, include "unlocked-io.h" near start, not in middle. + Include . + (textint.value): Use long int rather than int. + (textint.digits): Use size_t rather than int. + (BILLION, LOG10_BILLION): New constants. + (parser_control): New member rel_ns. Members day_ordinal, + time_zone, month, day, hour, minutes, rel_year, rel_month, + rel_day, rel_hour, rel_minutes, rel_seconds + are now long int, not int. Member seconds is now struct timespec, + not int. New member timespec_seen. Members dates_seen, days_seen, + local_zones_seen, rels_seen, times_seen, zones_seen are now size_t, + not int. + (%union.intval): Now long int, not int. + New member timespec. + (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens. + (seconds, signed_seconds, unsigned_seconds): New nonterminals. + (spec): Now is a timespec or an item list. + (timespec, items): New nonterminals. + (time, rel, relunit, number, get_date): + Add support for fractional seconds. + (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax. + (gmtime, localtime, mktime): Remove decls; not needed with C89. + (to_hour): First arg is now long int, not int. + (to_year): Returns long int, not int. + Don't treat year -70 like 70. + (tm_diff): Returns long int, not int. + (lookup_word): Use bool instead of int when appropriate. + (yylex): Use size_t for count, not int. + Detect overflow when parsing large integer constants. + Add support for fractions. + (get_date): Make pointers 'const' if possible. + Use more-portable code to detect integer overflow. + (main) [TEST]: Adjust to above changes. Test for localtime failure. + Don't use ctime; it's not reliable if the year has >4 digits. + + * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set. + This is for compatibility with BSD. + + * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define. + (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise. + From coreutils' system.h. + + * lib/userspec.c: Don't include "posixver.h". + (parse_user_spec): Fall back on USER.GROUP parsing, regardless + of POSIX version, as POSIX 1003.1-2001 allows that behavior as a + compatible extension. Simplify code by removing a boolean int + that was always nonzero if a string was nonnull. + +2004-03-30 Jim Meyering + + Merge from coreutils. + + Avoid a configure-time warning about sys/ucred.h on OSF V4.0. + * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since + on some systems one must include before it. + Reported by Christian Krackowizer. + +2004-03-30 Jim Meyering + + Merge from coreutils. + + * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h. + + * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading + an empty input stream. + + * lib/readtokens.c: Include . + (readtoken): Use `size_t' rather than int/long. + All callers adjusted. + Use `bool' rather than `int' where appropriate. + Use memset rather than an explicit loop. + Use x2nrealloc rather than xrealloc. + Allow the use of `\0' as a delimiter. + (readtokens): Likewise. + * lib/readtokens.h (readtoken, readtokens): Update prototypes. + +2004-03-30 Jim Meyering + + * m4/realloc.m4: Remove file, since now it does no more than + AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via + the `configure.ac' section of module/realloc. + * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC. + +2004-03-30 Bruno Haible + + * lib/getloadavg.c (getloadavg): Don't assume setlocale returns + nonnull. + +2004-03-29 Paul Eggert + + Merge changes to getloadavg.c from coreutils and Emacs. + + * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale): + Define to an expression, not to the empty string. + Include cloexec.h and xalloc.h. + (getloadavg): Restore LC_NUMERIC locale after setting it temporarily. + Use set_cloexec_flag rather than rolling our own. + * lib/cloexec.c, lib/cloexec.h: New files. + +2004-03-29 Paul Eggert + + * m4/cloexec.m4: New file. + +2004-03-18 Paul Eggert + + * lib/getopt.h: Sync with libc CVS. + +2004-03-18 Paul Eggert + Bruno Haible + + * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether declares + mbswidth. + +2004-03-18 Paul Eggert + Bruno Haible + + * lib/mbswidth.h: Include only if + HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have + . + * lib/mbswidth.c: Include and before . + +2004-03-09 Paul Eggert + + * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c: + Sync with libc CVS. + * lib/getopt_int.h: New file, also synced from libc. + +2004-03-09 Paul Eggert + + * config/srclistvars.sh: Add GNUWWWLICENSES for eggert. + * config/srclist.txt: Sync getopt with libc. Add getopt_int.h. + Bring back getopt.c, getopt.h, getopt1.c. + +2004-03-07 Paul Eggert + + * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK. + All uses changed. Check for sa_sigaction member; this fixes + a bug first reported by Jason Andrade in + . + +2004-03-07 Paul Eggert + + * lib/c-stack.c (SIGACTION_WORKS): New macro. Use it instead of long + '#if' expressions. Unlike the code it replaces, it does not + depend on (defined _SC_PAGESIZE). However, it does depend on + HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug + first reported by Jason Andrade in + . + +2004-02-25 Simon Josefsson + + * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared. + +2004-02-25 Simon Josefsson + + * lib/strdup.h: New file. + * lib/strdup.c: Include it. + * lib/path-concat.c: Include strdup.h. Drop strdup declaration. + * lib/userspec.c: Include strdup.h. Drop strdup declaration. + +2004-02-23 Karl Berry + + * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files + (from fencepost.gnu.org:/gd/gnuorg). + +2004-02-23 Karl Berry + + * config/srclistvars.sh (GNUORG) [karl]: redefine. + * config/srclist.txt: add maintain/standards documents. + +2004-02-18 Bruno Haible + + * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE. + Reported by Derek Robert Price . + +2004-02-16 Karl Berry + + * config/mkinstalldirs, install-sh: update from automake. + +2004-02-06 Karl Berry + + * m4/po.m4: update from gettext 0.14.1. + +2004-02-06 Karl Berry + + * lib/config.charset: update from gettext 0.14.1. + +2004-02-05 Paul Eggert + + Add comments and code, prompted by suggestions from Bruno Haible + for sh-quote. + * lib/quotearg.h (quotearg_alloc): New decl. Improve the comments + describing the enum quoting_style values. + * lib/quotearg.c (quotearg_alloc): New function. + (quotearg_buffer_restyled): Treat lone { and } as special. + Treat = as special. Work around bug with older shells + that "see" a '\' that is really the 2nd byte of a multibyte char. + Quote empty string with shell_quoting_style. + +2004-02-03 Bruno Haible + + * m4/pipe.m4: New file, from GNU gettext. + +2004-02-03 Bruno Haible + + * lib/pipe.h: New file, from GNU gettext. + * lib/pipe.c: New file, from GNU gettext. + +2004-01-27 Bruno Haible + + * m4/execute.m4: New file, from GNU gettext. + +2004-01-27 Bruno Haible + + * lib/execute.h: New file, from GNU gettext. + * lib/execute.c: New file, from GNU gettext. + * lib/w32spawn.h: New file, from GNU gettext. + +2004-01-24 Paul Eggert + + Merge from diffutils. + + * lib/file-type.c (file_type): Add typed memory objects. + * lib/file-type.h (S_TYPEISTMO): New macro. + + * lib/c-stack.h (c_stack_action): Remove argv argument. + * lib/c-stack.c (c_stack_action): Likewise. All uses changed. + (die): Don't calculate message unless segv_action returns. + (get_stack_location, min_address_from_argv, max_address_from_argv, + volatile stack_base, volatile_stack_size): Remove. + (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume + that every segmentation violation is a stack overflow. (Ouch!) + See Debian bug 136249 (still outstanding) for more info about why + HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels. + +2004-01-24 Paul Eggert + + Exit-status fix from coreutils. + + Use exit_failure consistently in place of EXIT_FAILURE, + so that program exit statuses are consistent on failure. + + * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]: + Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE. + * lib/argmatch.h: Comment fix to match the above. + * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]: + Now a macro referring to exit_failure, instead of a separate + variable. Include "exitfail.h" to get it. + * lib/xstrtol.h: Include "exitfail.h". + (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2. + + * lib/long-options.c (parse_long_options): Use prototype + for usage function arg. Pass it EXIT_SUCCESS rather than 0, + for clarity. + +2004-01-21 Jim Meyering + + * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal + so as not to conflict with a different-sized __mktime_internal + function in GNU libc. + * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise. + Problem building statically-linked `ls' reported by Michael Brunnbauer. + +2004-01-20 Karl Berry + + * config/config.guess: update from config. + + * config/srclistvars.sh: GNUWWWLICENSES for karl. + +2004-01-20 Bruno Haible + + Safer stack allocation. + * lib/setenv.c: Include allocsa.h. + (alloca): Remove fallback definition. + (freea): Remove macro. + (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa + instead of freea. + +2004-01-20 Bruno Haible + + * m4/eealloc.m4: New file, from GNU gettext. + +2004-01-20 Bruno Haible + + * m4/allocsa.m4: New file, from GNU gettext. + +2004-01-20 Bruno Haible + + * lib/xallocsa.h: New file, from GNU gettext. + * lib/xallocsa.c: New file, from GNU gettext. + +2004-01-20 Bruno Haible + + * lib/wait-process.c: On Windows, include windows.h. Needed on mingw. + +2004-01-20 Bruno Haible + + * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument. + * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE + specially. + +2004-01-20 Bruno Haible + + * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid() + patch. + +2004-01-20 Bruno Haible + + * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration. + +2004-01-20 Bruno Haible + + * lib/eealloc.h: New file. + +2004-01-20 Bruno Haible + + * lib/binary-io.h: Avoid warnings on Cygwin. + +2004-01-20 Bruno Haible + + * lib/allocsa.h: New file, from GNU gettext. + * lib/allocsa.c: New file, from GNU gettext. + +2004-01-18 Karl Berry + + * doc/gpl.texi, doc/lgpl.texi: new files. + +2004-01-18 Karl Berry + + * config/srclistvars.sh (GNUWWWLICENSES): new variable. + * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there. + +2004-01-15 Paul Eggert + + Merge from coreutils. + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t. + * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION. + (gl_DEFAULT_POSIX2_VERSION): Move + the documentation from 'configure' into 'config.hin', + so that 'configure --help' isn't burdened by it and + we don't have to worry about its formatting there. + Reword the documentation so that it's more succinct + and can be run together into a single paragraph. + * m4/same.m4 (gl_SAME): Check for pathconf. + +2004-01-15 Paul Eggert + + Merge from coreutils. + + * lib/posixver.c: Include posixver.h. + + * lib/same.c: Include , . + (_POSIX_NAME_MAX): Define if not defined. + (MIN): New macro. + (same_name): If file names are silently truncated, report + that the file names are the same if they are the same after + the silent truncation. + + * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the + conversion function. + * lib/xstrtod.c (xstrtod): Likewise. All callers changed to + include c-strtod.h and use c_strtod. Don't include stdlib.h; no + longer needed. + +2004-01-15 Jim Meyering + + Merge from coreutils. + + * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME + if no library is required. + * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX. + * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE. + * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58. + (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58. + * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW. + * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the + value, $ac_cv_search_crypt, if it's "none required". + * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro. + * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG, + not gl_FUNC_GETLOADAVG. + * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH, + gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS. + +2004-01-15 Jim Meyering + + Merge from coreutils. + + * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code. These + days, gcc-3.x does better all by itself. Patch from Dean Gaudet: + http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html + + * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new, + optional configure-time default. + + * lib/version-etc.c (version_etc_copyright): Update copyright date. + + * lib/xreadlink.c (xreadlink): Correct outdated comment. + +2004-01-15 Alexandre Duret-Lutz + + Merge from coreutils. + + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the + value, $ac_cv_search_nanosleep, if it's "none required". + +2004-01-14 Paul Eggert + + * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided + with like-named macro in fnmatch.c. + (EXT): Use an internal constant instead. + + Merge fnmatch patches from glibc. + * lib/fnmatch.c (mbsinit): Remove define. + Add libc_hidden_ver (__fnmatch, fnmatch). + * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate. + Adjust to renaming of collseq_table_lookup to __collseq_table_lookup. + +2004-01-14 Karl Berry + + * config/install-sh: update from automake. + +2004-01-13 Karl Berry + + * config/install-sh: update from automake. + +2004-01-09 Karl Berry + + * config/install-sh: update from automake. + +2004-01-05 Karl Berry + + * config/config.{sub,guess}: update from config. + +2003-12-31 Karl Berry + + * config/depcomp: update from automake. + +2003-12-14 Karl Berry + + * lib/config.charset: update from gettext-runtime. + +2003-12-03 Paul Eggert + + * lib/getgroups.c (getgroups): xmalloc takes one argument, not two. + Bug reported by Alfred M. Szmidt. + +2003-12-03 Bruno Haible + + * m4/gettext.m4: Upgrade from gettext-0.13. + * m4/po.m4: Upgrade from gettext-0.13. + * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here. + * m4/intmax.m4: New file, from gettext-0.13. + * m4/printf-posix.m4: New file, from gettext-0.13. + +2003-11-29 Karl Berry + + * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc. + +2003-11-25 Paul Eggert + Bruno Haible + + * lib/printf-parse.h: Don't include sys/types.h. + (ARG_NONE): New macro. + (char_directive): Change type of *arg_index fields to size_t. + * lib/printf-parse.c: Don't include sys/types.h. + (SSIZE_MAX): Remove macro. + (PRINTF_PARSE): Change the type of the arg_index variables to size_t. + Remove unnecessary overflow check. + * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index + fields. + +2003-11-25 Bruno Haible + + * modules/vasnprintf (Files): Remove m4/ssize_t.m4. + +2003-11-25 Bruno Haible + + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require + gt_TYPE_SSIZE_T. + +2003-11-24 Paul Eggert + + * modules/alloca: Remove dependency on xalloc. + +2003-11-24 Paul Eggert + + * lib/alloca.c: Remove dependency on xalloc module. + (xalloc_die): Remove. + (memory_full) [!defined emacs]: New macro. + [!defined emacs]: Don't include xalloc.h. + (alloca): Invoke memory_full, not xalloc_die, if malloc fails or + address arithmetic overflows. Change datatypes a bit to avoid + unnecessary casts. + +2003-11-22 Jim Meyering + + * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments: + s/size/size_t/. + +2003-11-21 Karl Berry + + * config/config.{sub,guess}: update from config. + +2003-11-18 Karl Berry + + * config/config.{sub,guess}: update from config. + + * config/(printf-{parse,args}.[ch]): sync broken, sigh. + +2003-11-17 Paul Eggert + + * README: Mention that S+T cannot overflow if S is the size of + an existing object and T is sufficiently small. + +2003-11-17 Jim Meyering + + On systems without utime and without a utimes function capable of + dealing with a NULL struct utimbuf* argument, this utime replacement + could -- in unusual circumstances -- leak a file descriptor. + * lib/utime.c: Include and . + (utime_null): Be sure to close `fd' and to preserve errno. + Reported by Geoff Collyer via Arnold Robbins. + +2003-11-17 Bruno Haible + + * modules/vasnprintf (Files): Add m4/ssize_t.m4. + (Depends-on): Add xsize. + +2003-11-17 Bruno Haible + + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T. + +2003-11-17 Bruno Haible + + * lib/vasnprintf.c (alloca): Remove fallback definition. + (freea): Remove definition. + (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes. + Reported by Paul Eggert. + +2003-11-16 Paul Eggert + Bruno Haible + + Protect against address arithmetic overflow. + * lib/printf-args.h: Include stddef.h. + (arguments): Change type of field 'count' to size_t. + * lib/printf-args.c (printf_fetchargs): Use size_t instead of + 'unsigned int' where appropriate. + * lib/printf-parse.h: Include sys/types.h. + (char_directive): Change type of *arg_index fields to ssize_t. + (char_directives): Change type of fields 'count', max_*_length to + size_t. + * lib/printf-parse.c: Include sys/types.h and xsize.h. + (SSIZE_MAX): Define fallback value. + (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t + instead of 'int' where appropriate. Check a_allocated, d_allocated + against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1. + * lib/vasnprintf.c: Include xsize.h. + (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate. + Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against + overflow. Avoid wraparound when converting a width or precision from + decimal to binary. + +2003-11-16 Bruno Haible + + Update from GNU gettext. + * lib/printf-parse.c: Generalize to it can be compiled for wide + strings. + (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros. + * lib/vasnprintf.c: Generalize to it can be compiled for wide strings. + (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF, + SNPRINTF): New macros. + Don't include if the file is used inside libintl. + (local_wcslen): New function, for Solaris 2.5.1. + (VASNPRINTF): Use it instead of wcslen. + +2003-11-16 Bruno Haible + + * lib/xsize.h (xmax): New function. + (xsum, xsum3, xsum4): Declare as "pure" functions. + +2003-11-12 Paul Eggert + + * modules/xalloc (Files): Undo latest change, since xalloc.h + no longer needs SIZE_MAX or PTRDIFF_MAX. + +2003-11-12 Paul Eggert + + * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or + gl_PTRDIFF_MAX. + +2003-11-12 Paul Eggert + + * lib/xstrtol.c (__xstrtol): Remove "break" immediately after + "return", to pacify some unknown compiler. Problem reported + by Joerg Schilling. + +2003-11-12 Paul Eggert + + * lib/xalloc.h: Do not include or . + (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for + the heuristic, rather than PTRDIFF_MAX and SIZE_MAX. This + heuristic is just as accurate as far as we know, and it removes a + dependency on size_max.m4 and ptrdiff_max.m4. + +2003-11-11 Bruno Haible + + * modules/xsize (Files): Add m4/size_max.m4. + * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4. + +2003-11-11 Bruno Haible + + * m4/size_max.m4: New file. + * m4/ptrdiff_max.m4: New file. + * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX. + * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro. + (gl_XALLOC): Invoke it. + +2003-11-11 Bruno Haible + + * lib/xsize.h (SIZE_MAX): Remove fallback definition. + * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are + defined. + +2003-11-10 Paul Eggert + + * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX && + PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have + rejected some allocations of exactly SIZE_MAX - 2 bytes. + From Bruno Haible. + [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX, + not (size_t) -1, since it's defined here. + +2003-11-09 Karl Berry + + * config/mkinstalldirs, depcomp, mdate-sh: update from automake. + +2003-11-06 Paul Eggert + + * lib/xalloc.h [HAVE_STDINT_H]: Include . + (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]: + Reject sizes of exactly SIZE_MAX bytes. + * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX + is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts. + +2003-11-05 Bruno Haible + + * lib/xsize.h: Include limits.h, to avoid a possible collision with + SIZE_MAX defined in on Solaris. + +2003-11-04 Jim Meyering + + * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd + variable names, rather than @VAR@. + * modules/poll: Likewise. + +2003-11-04 Bruno Haible + + * modules/xsize: New file. + * modules/linebreak: Depend on xsize. + * MODULES.html.sh (func_all_modules): Add xsize. + +2003-11-04 Bruno Haible + + * m4/xsize.m4: New file. + +2003-11-04 Bruno Haible + + * lib/xsize.h: New file. + * lib/linebreak.c: Include xsize.h. + (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc() + argument for overflow. + Suggested by Paul Eggert. + +2003-11-03 Karl Berry + + * config/config.{guess,sub}: update from config. + +2003-11-03 Jim Meyering + + * modules/userspec (lib_SOURCES): Add userspec.h. + (Include): Add "userspec.h". + Improve description. + +2003-11-03 Jim Meyering + + * lib/userspec.c: Include "userspec.h". + * lib/userspec.h: New file. + +2003-11-03 Bruno Haible + + * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid. + +2003-11-03 Bruno Haible + + * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if + available, to avoid (extremely rare) race condition. + Suggested by Paul Eggert. + +2003-11-02 Karl Berry + + * config/srclist.txt (vasprintf.c): sync broken, sigh. + +2003-10-31 Paul Eggert + + * lib/mountlist.h (struct mount_entry.me_type_malloced): New member. + * lib/mountlist.c (SIZE_MAX): Define if not defined already. + (read_filesystem_list): Set and use me_type_malloced. + Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or + whatever the type happens to be), for brevity and consistency. + Check for size calculation overflow on Alphas running OSF/1. + +2003-10-31 Jim Meyering + + * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized. + + * lib/linebuffer.c: Include for declaration of memset. + +2003-10-30 Paul Eggert + Bruno Haible + + * lib/vasprintf.c: Include , . + (vasprintf): Fail if the resulting length doesn't fit in an 'int'. + +2003-10-30 Paul Eggert + + * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to + netbsd*-gnu*. Suggested by Robert Millan. + +2003-10-29 Paul Eggert + + * modules/group-member: Depend on stdbool. + +2003-10-29 Paul Eggert + + * m4/xalloc.m4 (gl_XALLOC): Undo previous change. + +2003-10-29 Paul Eggert + + * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu. Add comments + to it, and to knetbsd*-gnu and kfreebsd*-gnu. Remove the '*' from + after the 'gnu' in these cases. This fixes some bugs in the + previous change, and is based on suggestions by Robert Millan. + +2003-10-29 Paul Eggert + + * lib/xalloc.h (xalloc_oversized): Now a macro, not a function, + so that it works even if SIZE_MAX < N. Do not include ; + no longer needed. + * lib/quotearg.c (quotearg_n_options): Use it. + * lib/group-member.c: Include . + (free_group_info): Arg is now const *; don't free arg. + (get_group_info): Now returns bool and accepts struct group_info *, + rather than returning a malloc'ed struct group_info *. + All uses changed. Check for overflow in internal size calculation. + + * lib/getusershell.c (readname): Simplify the code by using x2nrealloc + rather than xmalloc/xrealloc. + * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by + using x2realloc rather than xmalloc/xrealloc. Also, fix a C + conformance bug: the old code used a pointer after freeing the + storage that it addressed. + * lib/hash.c (hash_initialize): Simplify the code by using + xalloc_oversized rather than doing it by hand. + * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need + the buffer preserved. Use free and xmalloc instead. + * lib/quotearg.c (quotearg_n_options): Likewise. + Use a simpler test for size overflow. Don't use xalloc_oversized + because unsigned int might be wider than size_t (!); this suggests + that we should switch from unsigned int to size_t for slot numbers. + +2003-10-28 Paul Eggert + + * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and + GNU/KNetBSD. These implementations use glibc atop the FreeBSD and + NetBSD kernels. Requested by Richard Stallman. + +2003-10-27 Paul Eggert + + * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc + to allocate the returned structure. Do not allocate a subarray, + as x2nrealloc will do that. + (add_exclude): Use x2nrealloc to reallocate ex->exclude, + instead of xnrealloc. + (add_exclude_file): Use x2realloc instead of malloc + xnrealloc. + +2003-10-27 Bruno Haible + + * lib/stdbool_.h: Better support for BeOS. + +2003-10-26 Paul Eggert + + * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h + now uses inline. + +2003-10-26 Paul Eggert + + * lib/xalloc.h (xalloc_oversized): New static inline function, for + callers that want to do their own size-overflow checking. Include + , since xalloc_oversized returns bool. + * lib/xalloc.c (array_size_overflow): Remove. All callers changed + to use xalloc_oversized. + + Add two functions x2realloc, x2nrealloc, for programs that grow + arrays dynamically by doubling their sizes. + * lib/xalloc.h (x2realloc, x2nrealloc): New decls. + * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc): + New functions. + + Port to C99 semantics for 'inline' of external functions. + Bug reported by Bruno Haible. + * lib/xmalloc.c (xnmalloc_inline): New static inline function, + with the old contents of xnmalloc. + (xnmalloc, xmalloc): Use it. + (xnrealloc_inline): New static inline function, + with the old contents of xnrealloc. + (xnrealloc, xrealloc): Use it. + + * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for + that. + +2003-10-26 Karl Berry + + * config/srclist.txt (COPYING.DOC): no longer available from + /gd/gnuorg; don't know where the ultimate source is. + +2003-10-25 Paul Eggert + + Fix several address-calculation bugs in the hash modules, + plus some minor code cleanup. + + * lib/hash.h: Include , for bool. + * lib/hash.c: Don't include , since hash.h does it now. + * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used, + hash_get_n_entries, hash_get_max_bucket_length, + hash_get_entries, hash_do_for_each, hash_string, hash_initialize, + hash_rehash): Use size_t rather than unsigned. + * lib/hash.c (struct hash_table, hash_get_n_buckets, + hash_get_n_buckets_used, hash_get_n_entries, + hash_get_max_bucket_length, hash_table_ok, hash_print_statistics, + hash_get_entries, hash_do_for_each, hash_string, is_prime, + next_prime, hash_initialize, hash_rehash, hash_delete, hash_print): + Likewise. + (SIZE_MAX): Define if not defined. + (hash_get_max_bucket_length, hash_table_ok, hash_lookup, + hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each, + hash_print): + Use const * when possible. + (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P. + (check_tuning): Fix bug: if tuning parameters were very close to + 0 or 1, rounding errors could have caused subscript violations. + (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast. + (hash_initialize): Add 'fail:' label + to free table and return NULL, and use it to simplify code. + Use calloc rather than clearing the storage ourself. + (hash_initialize, hash_rehash): Check for arithmetic overflow in + buffer size calculations. + * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned. + Include , for size_t. + * lib/hash-pjw.c (hash_pjw): Likewise. + Switch to method described by Bruno Haible. + Include , for CHAR_BIT. + (SIZE_BITS): New macro. + +2003-10-23 Paul Eggert + + * m4/getline.m4 (AM_FUNC_GETLINE): + Don't include getndelim2.o twice into LIBOBJS; this breaks on some + hosts. Problem reported by Derek Robert Price in + . + This patch can be withdrawn after Autoconf 2.58 is required for gnulib. + * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise. + +2003-10-21 Paul Eggert + + * lib/getndelim2.c (getndelim2): When size calculation overflows, + ceiling the allocation at NMAX bytes rather than silently + discarding input bytes before NMAX is reached. This makes + a difference only if NMAX exceeds SIZE_MAX / 2. + + * lib/obstack.c: Merge from glibc. + [defined _LIBC]: Include , not "obstack.h". + Add libc_hidden_def (_obstack_newchunk). + (_obstack_free) [! defined _LIBC]: Remove. + [defined _LIBC]: Make a strong alias from obstack_free, rather than + a clone of the function body. + (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove. + [defined _LIBC && !defined USE_IN_LIBIO]: Include . + + * lib/obstack.h: Indenting cleanup, to make it easier to merge with + glibc. + (obstack_grow, obstack_grow0): Remove unnecessary parentheses around + arg to memcpy. + + * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg. + (obstack_ptr_grow_fast, obstack_int_grow_fast): + Don't use lvalue casts, as GCC plans to remove support for them + in GCC 3.5. Reported by Joseph S. Myers. This bug + was also present in the non-GCC version, indicating that this + code had always been buggy and had never been widely used. + (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank): + Use the fast variant of each macro, rather than copying the + definiens of the fast variant; that way, we'll be more likely to + catch future bugs in the fast variants. + +2003-10-20 Bruno Haible + + * modules/wait-process: New file. + * MODULES.html.sh (func_all_modules): Add wait-process. + +2003-10-20 Bruno Haible + + * m4/wait-process.m4: New file. + +2003-10-20 Bruno Haible + + * lib/wait-process.h: New file, from GNU gettext. + * lib/wait-process.c: New file, from GNU gettext. + +2003-10-19 Jim Meyering + + * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on + HPUX 10.20. + +2003-10-18 Karl Berry + + * config/config.guess: update from config. + +2003-10-16 Paul Eggert + + * lib/getgroups.c: Include , . + (getgroups): First arg is int, not size_t. + Don't let 'free' mangle errno. + +2003-10-16 Paul Eggert + + * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL. + +2003-10-16 Karl Berry + + * config/config.{guess,sub}: update from config. + +2003-10-16 Jim Meyering + + * lib/xmalloc.c: Include , for declarations of memset and + memcpy. + +2003-10-15 Paul Eggert + + * lib/exclude.c: Do not include or . + (SIZE_MAX): Remove. + (new_exclude, add_exclude_file): Initial size no longer needs to + be a power of 2. + (add_exclude, add_exclude_file): Use xnrealloc instead of rolling + our own address arithmetic overflow checking. + + * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't. + (fnmatch): Do not alloca more than 2000 wide characters; + instead, use malloc for large buffers. + Check for address arithmetic overflow, and return -1 + with errno set to ENOMEM in that case. + * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro. + (NEW_PATTERN): Do not alloca more than 8000 bytes; + instead, return -1. Check for address arithmetic overflow. + +2003-10-14 Paul Eggert + + Handle invalid suffixes and overflow independently, so that + callers can treat them independently as needed. Fix some bugs in + suffix handling, e.g., "100k@" was not diagnosed as an invalid + suffix for a human-readable blocksize. The major caller-visible + change is the addition of a new + LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating + that both overflow and suffix chars were found. + + * lib/human.c (humblock): Don't check separately for invalid suffix + char; that is xstrtoumax's job (now that its bug is fixed). + * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined + INTMAX_MAX]: New macros. + * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM, + TYPE_MAXIMUM): New macros. + (bkm_scale, bkm_scale_by_power): Return strtol_error, not int. + (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values + if overflow occurs, as it's what __strtol does and it's more useful + in practice. + (__xstrtol): If __strtol reports some error other than ERANGE, + reflect it to the caller as LONGINT_INVALID. If it reports + ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW + | LONGINT_INVALID_SUFFIX_CHAR if both errors occur. + * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum + value. + (_STRTOL_ERROR): Handle it. Abort when given unknown error codes. + * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros. + * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) + [defined UINTMAX_MAX]: New macros. + +2003-10-14 Bruno Haible + + * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list. + +2003-10-14 Bruno Haible + + * m4/sig_atomic_t: New file, from GNU gettext. + * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T. + +2003-10-14 Bruno Haible + + * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert. + * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert. + Also use volatile where needed. + +2003-10-12 Paul Eggert + + * modules/xalloc: Do not depend on 'exit'. Depend on 'stdbool'. + Change maintainer from Bruno Haible to 'all'. + +2003-10-12 Paul Eggert + + * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE. + +2003-10-12 Paul Eggert + + * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls. + (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate, + and define in terms of the other primitives. + * lib/xmalloc.c: Include stdbool.h; do not include exit.h. + (SIZE_MAX): Define if not already defined. + (array_size_overflow): New function. + (xalloc_die): Abort instead of exiting if 'error' returns. + (xnmalloc, xnrealloc, xzalloc, xclone): New functions. + (xmalloc, xrealloc): Use them. + (xcalloc): Check for address arithmetic overflow. + * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be + a bit faster than strcpy. + +2003-10-10 Simon Josefsson + + * modules/argp (Depends-on): Add restrict and strcase. + +2003-10-10 Simon Josefsson + + * m4/argp.m4: Add AC_C_INLINE. + +2003-10-08 Paul Eggert + + Merge getpass from libc, plus a few fixes. + + * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1. + Include . + Include if HAVE_STDIO_H, otherwise define + __fsetlocking to empty. + [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but + do include . + Do not include ; not needed. + [_LIBC]: Include . + (NOTCANCEL_MODE): New macro. + (flockfile, funlockfile) [_LIBC]: New macros. + (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr) + [!_LIBC]: New macros. + (call_fclose): New function. + (getpass): Use it. Save tty stream separately; this simplifies the + code and makes it more reliable if stdin happens to equal stdout. + Invoke __fsetlocking on tty. + Handle thread cancellation if needed. + Namespace cleanup (use __tcgetattr, __getline). + Use bool for Booleans. + [USE_IN_LIBIO]: Handle wide streams. + [!_LIBC]: Unconditionally do the fseek, since we don't know what + stream might go where. + + * lib/unlocked-io.h: Include , so that the caller + doesn't have to include before us. + (clearerr_unlocked, feof_unlocked, ferror_unlocked, + fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked, + fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked, + putc_unlocked, putchar_unlocked): Define to the unlocked counterpart + if not declared, so that we can use getpass.c code from libc without + rewriting it. + (flockfile, ftrylockfile, funlockfile): New macros. + +2003-10-08 Paul Eggert + + * modules/getpass: Depend on stdbool. + +2003-10-08 Paul Eggert + + * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h. + +2003-10-07 Karl Berry + + * config/config.{guess,sub}: update from config. + +2003-10-06 Jim Meyering + Bruno Haible + + This lets translators provide better translations for the + "Written by ..." part of --version output. + * lib/version-etc.h: Include stdarg.h. + (version_etc_copyright): Declare as readonly. + (version_etc): Make this function variadic with a NULL-terminated list + of author name strings. + (version_etc_va): New declaration. + * lib/version-etc.c: Include stdarg.h, stdlib.h. + (version_etc_copyright): Declare as readonly. + (version_etc_va): New function. Provide a different translatable string + for each possible number of authors < 10. Abbreviate when there are 10 + authors or more. + (version_etc): Make this function variadic. Call version_etc_va. + Suggestion from Gary V. Vaughan. + + * lib/long-options.h (parse_long_options): Change prototype: the + authors string is moved to the end and becomes variadic. + * lib/long-options.c: Include stdarg.h. + (parse_long_options): Make this function variadic, too. + Call version_etc_va, not version_etc. + +2003-10-06 Bruno Haible + + * modules/version-etc-2: Remove file. + * MODULES.html.sh (func_all_modules): Remove version-etc-2. + +2003-10-06 Bruno Haible + + * modules/fatal-signal: New file. + * MODULES.html.sh (func_all_modules): Add fatal-signal. + +2003-10-06 Bruno Haible + + * m4/fatal-signal.m4: New file. + * m4/signalblocking.m4: New file, from GNU gettext. + +2003-10-06 Bruno Haible + + * lib/version-etc-2.h: Remove file. + * lib/version-etc-2.c: Remove file. + +2003-10-06 Bruno Haible + + * lib/fatal-signal.h: New file, from GNU gettext. + * lib/fatal-signal.c: New file, from GNU gettext. + +2003-10-05 Paul Eggert + + * README: Rework advice for preventing empty .o files. + Don't recommend ELIDE constructs. Recommend , + not . + +2003-10-04 Karl Berry + + * lib/argp*: update from libc. + +2003-10-04 Karl Berry + + * config/config.{guess,sub}: update from config. + +2003-10-02 Bruno Haible + + * modules/lchown (Include): Add lchown.h. + * modules/time_r (Include): Use "..." syntax. + * modules/xgetdomainname (Include): Add xgetdomainname.h. + +2003-10-01 Simon Josefsson + + * MODULES.html.sh (func_all_modules): Move gethostname from section + 'based on' to section 'lacking' POSIX:2001. + +2003-10-01 Larry Jones + + * lib/getpass.c (getpass): Use a no-op fseek when switching from input + to output mode on the same stream. + +2003-09-29 Paul Eggert + + * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]: + Fix arg typo in previous patch. + +2003-09-28 Jim Meyering + + * lib/error.c: Correct cpp indentation. + +2003-09-27 Paul Eggert + + * modules/free: New file. + +2003-09-27 Paul Eggert + + * m4/free.m4: New file. + +2003-09-27 Paul Eggert + + * lib/minmax.h (MIN, MAX) + [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]: + Omit the special code that used __typeof__, since we worry that + it could be more trouble than it's worth. See: + http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html + http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html + + * lib/free.c: New file. + +2003-09-27 Oskar Liljeblad + + Trivial fixes to Makefile.am parts of module listings. + * modules/strstr: Append strstr.h to lib_SOURCES. + * modules/strcase: Likewise, for strcase.h. + +2003-09-27 Karl Berry + + * config/mkinstalldirs: update from automake. + +2003-09-26 Paul Eggert + + * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define. + (error_tail): Do not loop, reallocating temporary buffer, since + the output cannot contain more wide characters than the input + contains bytes, the size must be big enough already. This avoids + one potential size overflow calculation. Check for size overflow + when calculating temporary buffer size. Free temporary buffer + when done, if it was allocated with malloc; this plugs a memory + leak. Remove casts from void * to pointers, that are no longer + needed now that we're assuming C89 or better. + + Merge error changes from glibc. + + * lib/error.c, error.h: Update copyright notice header to match glibc. + * lib/error.c [defined _LIBC]: Include , . + (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]: + Disable cancellation while printing error. + * lib/error.h: Prepend __ to parameter names. + +2003-09-26 Jim Meyering + + * lib/error.c (error_tail): Move some declarations + into inner scope where the local variables are used. + +2003-09-26 Bruno Haible + + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX + stpncpy(). + Don't define stpncpy through config.h; it's now done through stpncpy.h. + +2003-09-26 Bruno Haible + + * lib/stpncpy.h (gnu_stpncpy): New declaration. + (stpncpy): Define as alias for gnu_stpncpy. + * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy. + +2003-09-25 Simon Josefsson + + * lib/xgetdomainname.h: New file. + * lib/xgetdomainname.c: New file. + +2003-09-25 Simon Josefsson + Bruno Haible + + * modules/getdomainname: New file. + * modules/xgetdomainname: New file. + * MODULES.html.sh (func_all_modules): Add getdomainname, + xgetdomainname. + +2003-09-25 Simon Josefsson + Bruno Haible + + * m4/getdomainname.m4: New file. + +2003-09-25 Simon Josefsson + Bruno Haible + + * lib/getdomainname.h: New file. + * lib/getdomainname.c: New file. + +2003-09-25 Karl Berry + + * lib/argp-fmtstream.c, argp-help.c: update from libc. + +2003-09-25 Karl Berry + + * config/install-sh: update from automake. + +2003-09-25 Bruno Haible + + * modules/version-etc-2: New file, from modules/version-etc with + modifications. + * MODULES.html.sh (func_all_modules): Add version-etc-2. + +2003-09-25 Bruno Haible + + * lib/version-etc-2.h: New file, from version-etc.h with modifications. + * lib/version-etc-2.c: New file, from version-etc.c with modifications. + +2003-09-24 Simon Josefsson + + * modules/xgethostname: Add xgethostname.h. + +2003-09-24 Paul Eggert + + * lib/linebuffer.c (freebuffer): Don't free the argument, just + the buffer associated with the argument. Bug reported by + Simon Josefsson. + +2003-09-24 Paul Eggert + + * README: Document assumptions that 'int' is at least 32 bits + wide, that integer arithmetic is 2's complement without overflow, + that there are no holes in integer values, that adding sizes of + two nonoverlapping objects can't overflow, and that all-bits-zero + yields scalar zero. Fix spelling and capitalization typos. + +2003-09-19 Karl Berry + + * lib/argp.h: update from libc. + +2003-09-17 Paul Eggert + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first, + to avoid spurious warnings like "AC_RUN_IFELSE was called before + gl_USE_SYSTEM_EXTENSIONS" from autoreconf. + +2003-09-17 Paul Eggert + + * gnulib-tool: Use "test -h", not "test -L", for portability + to Solaris 8 /bin/sh. (This bug is fixed in Solaris 9.) + (tags_regexp): Remove, since \| doesn't conform to POSIX. + (sed_extract_prog): Issue s commands one-by-one, rather than + using \| in one s command. + +2003-09-16 Paul Eggert + + * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon + input error, instead of returning NULL the next time we are called + (and therefore losing track of errno). + +2003-09-16 Bruno Haible + + * gnulib-tool (func_create_testdir): Warn about duplicated + dependencies. + +2003-09-15 Paul Eggert + + * modules/argmatch, modules/fatal, modules/obstack, + modules/xalloc, modules/xgethostname: Sort dependencies by + importance, not alphabetically. + +2003-09-15 Paul Eggert + + * lib/getndelim2.c (getndelim2): Don't trash errno when a read + fails, so that the caller gets the proper errno. + + * lib/readutmp.c (read_utmp): Likewise. + Check for fstat error. Close stream and free storage + when failing. + +2003-09-14 Karl Berry + + * config/srclist.txt (strdup.c): disable for c89 changes. + +2003-09-14 Jim Meyering + + * lib/getloadavg.c: Correct cpp indentation. + * lib/strdup.c: Likewise. + * lib/vasnprintf.c: Likewise. + +2003-09-14 Bruno Haible + + * modules/fwriteerror: New file. + * MODULES.html.sh (func_all_modules): Add fwriteerror. + +2003-09-14 Bruno Haible + + * lib/fwriteerror.h: New file. + * lib/fwriteerror.c: New file. + +2003-09-12 Paul Eggert + + * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack, + modules/xgethostname, modules/xalloc: Depend on exit. + +2003-09-12 Paul Eggert + + * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it. + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX + and AC_MINIX, too, so that their extensions are available. + + * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove. All uses removed. + This macro has been superseded by gl_BACKUPFILE. + + More patches to assume C89 or better. + + * m4/error.m4 (gl_ERROR): Don't check for vprintf. + + * m4/check-decl.m4 (jm_CHECK_DECLS): Include , + unconditionally. + * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h. + * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): + Include , unconditionally. + * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free. + * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h. + * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C + headers or for string.h. + * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h + or strtoul. + + * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C + headers. + * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise. + * m4/userspec.m4 (gl_USERSPEC): Likewise. + * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise. + * m4/xstrtod.m4 (gl_XSTRTOD): Likewise. + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. + * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h, + memcpy, memset. + (jm_FUNC_GNU_STRFTIME): Don't require standard C headers. + * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h. + * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h, + strtol. + * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h. + * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h. + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol, + strtoul. + +2003-09-12 Paul Eggert + + * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h. + * lib/obstack.c [!defined _LIBC]: Likewise. + * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h + * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise. + * lib/exitfail.c: Don't include stdlib.h; no longer needed. + + More changes to assume C89 or better. + + * lib/error.c (error_tail): Assume vprintf. + + * lib/argmatch.c (getenv): Remove decl. + * lib/progreloc.c (get_full_program_name): Define via prototype. + * lib/setenv.c (clearenv): Likewise. + * lib/stpncpy.c: Do not include or ; not + needed. + * lib/strdup.c: Include , unconditionally. + (malloc, memcpy): Remove decls. + * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove. + (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove. + Include , , , unconditionally. + (memcpy): Remove macro. + (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally. + (__P): Remove. All uses removed. + (PTR): Remove. All uses changed to void *. + (CHAR_BIT, NULL): Remove. + (spaces, zeros, memset_space, memset_zero) + [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]: + Remove. + (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove. + (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days): + Define with prototype. + Remove now-unnecessary prototype decl. + (extra_args_spec): Assume ANSI C. All uses changed. + (extra_args_spec_iso): Remove. + (my_strftime, emacs_strftimeu): Define via prototype. + * lib/strtod.c: Include , , + unconditionally. + (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls. + * lib/strtoimax.c: Include unconditionally. + (strtoul, strtol): Remove decls. + * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX, + LONG_MAX): Remove. + Include , , , unconditionally. + (LOCALE_PARAM_DECL): Remove. All uses changed to LOCALE_PARAM_PROTO. + (LOCALE_PARAM_PROTO): New macro. + (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R. + (INTERNAL (strtol), strtol): Define with a prototype. + (PARAMS): Remove. All uses removed. + * lib/tempname.c: Include unconditionally. + * lib/userspec.c: Include , unconditionally. + * lib/xgethostname.c (main): Define with a prototype. + * lib/xmalloc.c: Include "xalloc.h" first, to check interface. + Include unconditionally. + (calloc, malloc, realloc, free): Remove decls. + * lib/xstrtod.c: Include "xstrtod.h" first, to check interface. + Include unconditionally. Sort include file names. + (strtod): Remove. + (xstrtod): Define with a prototype. + * lib/xstrtol.c: Include , unconditionally. + (strtol, strtoul): Remove decls. + +2003-09-11 Paul Eggert + + More patches to assume C89 or better. + * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check. + * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h, + string.h, memchr, STDC_HEADERS. + +2003-09-11 Paul Eggert + + * lib/strndup.c: Don't include , . + Include , unconditionally. + Remove now-unnecessary cast to char *. + * lib/strnlen.c: Include unconditionally. + * lib/yesno.c (yesno): Define with a prototype. + +2003-09-11 Bruno Haible + + * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment. + +2003-09-10 Jim Meyering + + * lib/error.c: Correct indentation of cpp directives. + +2003-09-10 Bruno Haible + + * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove check. + * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove check. + * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove check. + * m4/unicodeio.m4 (gl_UNICODEIO): Remove check. + * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove + and checks. + * m4/xreadlink.m4 (gl_XREADLINK): Remove check. + * m4/yesno.m4 (gl_YESNO): Remove check. + +2003-09-10 Bruno Haible + + * lib/strcspn.c: Include unconditionally. + * lib/strpbrk.c: Include unconditionally. + * lib/strstr.c: Include unconditionally. + * lib/unicodeio.c: Include unconditionally. + * lib/setenv.c: Include and unconditionally. + * lib/unsetenv.c: Likewise. + * lib/xreadlink.c: Include unconditionally. + * lib/yesno.c: Include unconditionally. + (rpmatch): Add prototype. + +2003-09-09 Paul Eggert + + More patches to assume C89 or better. + * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h. + * m4/getopt.m4 (gl_GETOPT): Don't check for string.h. + * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers + or for string.h. + * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for + stdlib.h. + * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard + C headers. + * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h, + string.h. + * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free. + * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv. + * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers, + or for string.h. + * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h. + * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard + C headers. + * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers, + memcpy. + * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy. + * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h. + * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h. + * m4/memcoll.m4 (gl_MEMCOLL): Likewise. + * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h. + * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h, + string.h, free. + * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers. + * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers. + * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard + C headers, or for string.h. + * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h. + (gl_PREREQ_OBSTACK): Don't check for stdlib.h. + * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C + headers, memory.h, stdlib.h, string.h, strings.h. + * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h. + * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv. + * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy, + strchr. + * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C + headers, memory.h, string.h. + * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h. + * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h, + free. + * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C + headers. + * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free. + * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers. + * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers. + * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h. + * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h. + +2003-09-09 Paul Eggert + + More K&R removal. + + * lib/acosl.c (main): Use a prototype. + * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c, + tanl.c: Likewise. + + * lib/getloadavg.c (getloadavg, main): Define via prototypes. + + * lib/getopt.h (struct option.name): Assume C89, and use 'const'. + (getopt, etopt_long, getopt_long_only, _getopt_internal) + [defined __GNU_LIBRARY__]: Assume C89, so we can always declare + with a prototype. + * lib/getopt.c (const): Remove macro. + Include unconditionally. + (my_index): Remove; all uses changed to strchr. + (strlen): Remove decl. + (exchange): Remove forward decl; no longer needed. + (exchange, _getopt_initialize, _getopt_internal, getopt, main): + Define with prototype. + * lib/getopt1.c (const): Remove macro. + (getopt_long, getopt_long_only, main): Define with prototype. + + * lib/getugroups.c: Include unconditionally. + + * lib/getusershell.c: Include unconditionally. + (getusershell, setusershell, endusershell, readname, main): + Define with prototypes. + + * lib/group-member.c: Include group-member.h first. + Include unconditionally. + + * lib/hard-locale.c: Include hard-locale.h first. + Include , unconditionally. + + * lib/hash.c (free, malloc): Remove decls. + Include unconditionally. + + * lib/human.c: Include , unconditionally. + (getenv): Do not declare. + + * lib/idcache.c: Include unconditionally. + + * lib/long-options.c: Include long-options.h first, to test interface. + Include unconditionally. + + * lib/makepath.c: Include makepath.h first, to test interface. + Include and unconditionally. + + * lib/linebuffer.c: Include . + (free): Remove decl. + + * lib/malloc.c: Include , for malloc; don't bother with + stddef.h. rpl_malloc returns void *, not char *. + * lib/realloc.c (rpl_realloc): Likewise. Also, define with a + prototype. + + * lib/md5.h: Include unconditionally. + (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case. + (__P): Remove; all uses removed. + * lib/md5.c: Include "md5.h" first. + (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream, + md5_buffer, md5_process_bytes, md5_process_block): + Define with prototypes. + * lib/sha.h (__P): Remove all uses. (It wasn't defined??) + * lib/sha.c: Include "sha.h" first. + Include , unconditionally. + + * lib/memchr.c (__ptr_t): Remove; all uses changed to void *. + * lib/memcmp.c (__ptr_t): Likewise. + * lib/memrchr.c (__ptr_t): Likewise. + * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c: + Include unconditionally. + * lib/memchr.c, memrchr.c: Include unconditionally. + * lib/memchr.c: Include unconditionally. + * lib/memchr.c (LONG_MAX): Remove. + * lib/memrchr.c (LONG_MAX): Likewise. + * lib/memchr.c (__memchr): Define via a prototype. + * lib/memrchr.c (__memrchr): Likewise. + * lib/memcmp.c (__P): Remove, and remove all uses. + (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment): + Remove forward decls; no longer needed. + * lib/memcpy.c, memmove.c, memset.c: Include . + Use types required by C89 in prototype. + + * lib/mkdir.c: Include , unconditionally. + * lib/savedir.c: Likewise. + * lib/mkdir.c (free): Remove decl. + * lib/rmdir.c (rmdir): Define with a prototype. + * lib/savedir.c: Include savedir.h first, to test interface. + + * lib/mktime.c (STDC_HEADERS): Remove. + Include , unconditionally. + + * lib/modechange.c: Include unconditionally. + (malloc): Remove decl. + + * lib/mountlist.c: Include , unconditionally. + (free): Remove decl. + + * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]: + Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H. + (This type really should be intptr_t, but that's a C99ism.) + (_obstack_memcpy): Remove: all uses changed to memcpy. + Include unconditionally. + (struct obstack): Assume __STDC__ for types of members + chunkfun, freefun, extra_arg. + (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1, + _obstack_memory_used, obstack_alloc_failed_handler, obstack_init, + obstack_begin, obstack_specify_allocation, + obstack_specify_allocation_with_arg, obstack_chunkfun, + obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]: + Remove unprototyped decls and the macros that use them. + * lib/obstack.c (POINTER): Remove. All uses changed to void *. + (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN, + _obstack_begin, _obstack_begin_1, _obstack_allocated_p) + (defined __STDC__ && __STDC__)]: + Remove nonprototyped code. + Include unconditionally. + (_obstack_begin, _obstack_begin_1, _obstack_newchunk, + _obstack_allocated_p, _obstack_free, obstack_free, + _obstack_memory_used, print_and_abort): + Define using prototypes. + (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base, + obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0, + obstack_finish, obstack_grow, obstack_grow0, obstack_make_room, + obstack_next_free, obstack_object_size, obstack_room) [0]: + Remove unused, unprototyped code. + + * lib/path-concat.c: Include , unconditionally. + + * lib/physmem.c (physmem_total, physmem_available, main): Define + with prototypes. + + * lib/posixtm.c: Include , unconditionally. + (main): Define with a prototype. + + * lib/posixver.c (getenv): Remove decl. + + * lib/putenv.c (malloc): Returns void *, not char *. + Include unconditionally. + (strchr, memcpy, NULL): Do not define. + + * lib/readtokens.c: Include readtokens.h first, to test interface. + Include , unconditionally. + (init_tokenbuffer): Define with a prototype. + + * lib/regex.c (PARAMS): Remove. All uses removed. + All uses of _RE_ARGS removed, too. + Include , , , + unconditionally. + (bzero): Assume memset exists. + (memcmp, memcpy, NULL): Remove. + (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed + char, or assignments to local vars of type signed char. + (init_syntax_once, PREFIX(extract_number_and_incr), + PREFIX(print_partial_compiled_pattern), + PREFIX(print_compiled_pattern), PREFIX(print_double_string), + convert_mbs_to_wcs, print_fastmap, re_set_syntax, + PREFIX(regex_grow_registers), PREFIX(regex_compile), + PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1), + PREFIX(insert_op2), PREFIX(at_begline_loc_p), + PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space, + wcs_compile_range, byte_compile_range, truncate_wchar, + PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers, + re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2, + count_mbs_length, wcs_re_match_2_internal, + byte_re_match_2_internal, PREFIX(group_match_null_string_p), + PREFIX(alt_match_null_string_p), + PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate), + re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror, + regfree, PREFIX(extract_number)): Define with prototype. Remove + now-unnecessary declaration, if any. + (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec, + regcomp, regexec): + Remove now-unnecessary casts among pointer types. + * lib/regex.h (_RE_ARGS): Remove. All uses removed. + + * lib/rename.c: Include , unconditionally. + (free): Remove decl. + + * lib/rpmatch.c: Include unconditionally. + + * lib/same.c: Include , unconditionally. + (free): Remove decl. + + * lib/save-cwd.c: Include unconditionally. + * lib/xgetcwd.c: Likewise. + + * lib/stat.c: Include , unconditionally. + (free): Remove decl. + + * lib/strchrnul.c (strchrnul): Define with a prototype. + Fix bug: c_in was not converted to char before searching. + + The following changes are not K&R related: + + * lib/group-member.h: Include , so that this file is + self-contained. + * lib/makepath.h: Likewise. + + * lib/getusershell.c (readname, default_index, line_size, readname): + Use size_t, not int, for sizes. + (readname): If the size overflows, report an error instead of + looping forever. + +2003-09-09 Paul Eggert + + * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from + libc. + +2003-09-09 Paul Eggert + + * README: New section: portability guidelines. + +2003-09-09 Derek Robert Price + + * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the + C89 spec. + +2003-09-09 Derek Robert Price + + * lib/getndelim2.c: Assume stdlib.h per the C89 spec. + +2003-09-08 Paul Eggert + + Assume C89 or better; remove K&R cruft. + A few of these changes were first proposed by Derek Robert Price + in . + + * lib/addext.c: Include unconditionally. + * lib/backupfile.c: Include , unconditionally. + Don't declare getenv or malloc. + + * lib/alloca.c: Include , unconditionally. + (POINTER_TYPE, pointer): Remove; all uses changed to void *. + (NULL): Remove. + (find_stack_direction, alloca): Use prototypes. + + * lib/atexit.c (atexit): Define using a prototype. + + * lib/basename.c, dirname.c, stripslash.c: + Include unconditionally. + + * lib/bcopy.c: Include . + (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'. + + * lib/canon-host.c: Include , unconditionally. + + * lib/error.h (error, error_at_line, error_print_progname) + [! (defined (__STDC__) && __STDC__)]: Remove decls. + * lib/error.c: Include error.h first, to check interface. + Include , , unconditionally. + (VA_START): Remove; all uses changeed to va_start. + (exit, strerror): Remove decls. + (error_print_progname): Prototype uncondionally. + Don't include ; no longer needed. + (private_strerror): Remove. + (error_tail): Always define. + (error, error_at_line): Assume C89 or better; always use prototypes. + * lib/fatal.c: Include "fatal.h" first, to test interface. + Include , , unconditionally. + (VA_START): Remove; all uses changed to va_start. + [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for + this case. + (exit): Remove decl. + (fatal): Prototype unconditionally. Assume va_start works. + Abort at end, to pacify gcc. + + * lib/euidaccess.c (main): Define with a prototype. + + * lib/exclude.c: Include , unconditionally. + + * lib/exitfail.c: Include unconditionally. + + * lib/fnmatch_.h (__P): Remove. All uses changed to assume + prototypes. + * lib/fnmatch.c: Include fnmatch.h first, to test interface. + Include , , unconditionally. + (getenv): Remove decl. + (fnmatch): Define using a prototype. + * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed. + (FCT): Define using a prototype. + + * lib/getdate.y: Include , unconditionally. + + * lib/gethostname.c: Include . + (gethostname): Define with prototype. Length is size_t, not int. + +2003-09-08 Paul Eggert + + Assume C89 or better; remove K&R cruft. + * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h. + * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h, + string.h, getenv, malloc. + * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard + headers. + * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h. + * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and + do not check for strerror. + * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h. + * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h. + * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and + do not check for doprnt or vprintf. + * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove. All uses removed. + * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h. + +2003-09-08 Paul Eggert + + * lib/getversion.c: Remove; was migrated to backupfile.c in 1997. + getversion.c should have been removed then, but was accidentally + preserved. + + * lib/utime.c [!HAVE_UTIMES_NULL]: Include , . + (utime_null): Fix typo: 'st' was sometimes called 'sb'. + +2003-09-08 Karl Berry + + * config/config.sub, config.guess, srclistvars.sh: update from savannah + config, forget about prep. + + * config/depcomp, missing: update from automake. + +2003-09-07 Paul Eggert + + * modules/time_r: Depend on 'restrict'. Fix from Simon Josefsson in + . + +2003-09-07 Paul Eggert + + * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to + copy_tm_result. Bug reported by Simon Josefsson in + . + +2003-09-06 Paul Eggert + + * m4/time_r.m4: New file. + * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h. + * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime + is. Check for timegm declaration. + (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME. + Do not check for gmtime_r. + Replace mktime if __mktime_internal does not exist and if mktime + hasn't been replaced already. + +2003-09-06 Paul Eggert + + * lib/time_r.c, lib/time_r.h: New files. + + * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to + __localtime_r. + (__localtime_r) [!defined _LIBC]: New macro. Include . + (__mktime_internal) [!defined _LIBC]: Now extern, not static. + + * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to + __gmtime_r. + (my_strftime_localtime_r): Remove; all uses changed to __localtime_r. + (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros. + Include . + + * lib/timegm.c: Switch to glibc implementation, with the following + changes: + [defined HAVE_CONFIG_H]: Include . + [!defined _LIBC]: Include "timegm.h" rather than . + (__mktime_internal) [!defined _LIBC]: New decl. + (__gmtime_r) [!defined _LIBC]: New macro and function. + (timegm): Use a prototype, since gnulib assumes C89. + Do not bother declaring tmp to be const, as it's not really usefu. + * lib/timegm.h: Hoist "#include " out of #ifdef. + (timegm): Declare only if HAVE_DECL_TIMEGM. + +2003-09-06 Paul Eggert + + * MODULES.html.sh (func_all_modules): Add time_r. + * modules/time_r: New file. + * modules/mktime, modules/strftime, modules/timegm: Depend on time_r. + * modules/timegm: Depend on mktime. Change maintainer to "all, glibc". + +2003-09-03 Paul Eggert + + * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k. + Bug reported by Lute Kamstra in + . + + * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow", + "yesterday", "today", and "now" rather than tMINUTE_UNIT. Of + course with correspondingly smaller numbers for tomorrow and + yesterday. From Tadayoshi Funaba. Originally installed into + sh-utils on 1999-08-07, but the patch got lost (I guess during the + coreutils merge?). + +2003-08-31 Simon Josefsson + + * modules/timegm: New file. + * MODULES.html.sh (func_all_modules): Add timegm. + +2003-08-31 Simon Josefsson + + * m4/timegm.m4: New file. + +2003-08-31 Simon Josefsson + + * lib/timegm.h: New file. + * lib/timegm.c: New file. Based on + wget-1.8.2/src/http.c:mktime_from_utc. + +2003-08-31 Karl Berry + + * lib/argp.h: update from libc. + +2003-08-28 Bruno Haible + + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here. + This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch' + followed by '#define fnmatch fnmatch_posix' gives an error. + +2003-08-28 Bruno Haible + + * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a + warning on QNX, which defines O_BINARY to 000000. + +2003-08-27 Jim Meyering + + * m4/mkstemp.m4: Require that the system mkstemp be able to create + 70 temporary files, not just 30. Tru64 V4.0F's mkstemp function + would fail after 32. Reported by Danny Levinson. Details here: + http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html + +2003-08-24 Bruno Haible + + * lib/binary-io.h: Include , to avoid a compilation error when + MSVC7 is included later. + +2003-08-22 Simon Josefsson + + * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES. + +2003-08-20 Karl Berry + + * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial. + +2003-08-20 Bruno Haible + + * modules/progname: New file. + * MODULES.html.sh (func_all_modules): Add progname. + +2003-08-20 Bruno Haible + + * lib/progname.h: New file, from GNU gettext. + * lib/progname.c: New file, from GNU gettext. + * lib/progreloc.c: New file, from GNU gettext. + +2003-08-19 Jim Meyering + + * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here: + http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html + +2003-08-19 Bruno Haible + + * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for any + more. + +2003-08-19 Bruno Haible + + * lib/xstrdup.c: Assume exists. + +2003-08-18 Paul Eggert + + * modules/stdbool: Add BUILT_SOURCES. Prefer $@ to target name + in makefile rules. + +2003-08-18 Jim Meyering + + * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB). + * m4/lib-ld.m4: Likewise. + +2003-08-18 Jim Meyering + + * lib/setenv.h: Indent nested cpp directive. + * lib/vasnprintf.c: Remove trailing blanks. + +2003-08-17 Simon Josefsson + + * modules/xstrndup: New file. + * MODULES.html.sh (func_all_modules): Add xstrndup. + +2003-08-17 Simon Josefsson + + * modules/argp: Fix autoconf macro name. Add more dependencies. + +2003-08-17 Simon Josefsson + + * m4/xstrndup.m4: New file. + +2003-08-17 Simon Josefsson + + * m4/argp.m4: New file. + +2003-08-17 Simon Josefsson + Bruno Haible + + * lib/xstrndup.h: New file. + * lib/xstrndup.c: New file. + +2003-08-17 Bruno Haible + + * modules/strndup (Files, Include): Add lib/strndup.h. + +2003-08-17 Bruno Haible + + * modules/euidaccess (Files): Add lib/euidaccess.h. + +2003-08-17 Bruno Haible + + * lib/strndup.h: New file. + +2003-08-17 Bruno Haible + + * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS + like AC_GNU_SOURCE. + * modules/extensions (configure.ac): Comment out the invocation of + gl_USE_SYSTEM_EXTENSIONS. + +2003-08-16 Paul Eggert + + Merges from coreutils, etc. + * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax + error in gl_FUNC_MATCH. This fixes a bug I introduced on 2003-05-28. + * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE, + fixing a typo. + * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD. + * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL. + +2003-08-16 Paul Eggert + + Document merge from coreutils. + * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES. + * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES. + * modules/utime: Add m4/utimes-null.m4. + +2003-08-16 Paul Eggert + + * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white + space, undoing this 2003-08-12 change: + + +2003-08-16 Paul Eggert + + * config/srclist.txt: Get regex.h, strdup.c, strtoll.c, + strtoul.c from libc, undoing this 2003-08-12 change: + + +2003-08-16 Jim Meyering + + Merges from coreutils. + * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_) + prefix. Adjust cache variables similarly. Create 500 rather than + just 300 files, to exercise bug on Darwin6.5, too. + * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined + $missing_dir. + * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not + AM_SYS_POSIX_TERMIOS. + Reported by mkc@mathdogs.com. + Also change use of $am_cv_sys_posix_termios + to $ac_cv_sys_posix_termios. Reported by Andreas Schwab. + * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS + and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB. + * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point + in /proc/mounts until it finds one with matching device number. This + is unnecessary when the FILE argument *is* a mount point. No stat call + is necessary in that case. So, disable the statvfs-testing code on + systems with GNU libc. Reported by Andrei Gaponenko via Tim Waugh + as RedHat bug# 84846. + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size + to 1MB, so as not to render systems with no stack size limit (e.g., + linux-2.2.x) unusable. Suggestion and code from Bruno Haible. + Include . On some systems, + it is required for the definition of _SC_PAGESIZE. + +2003-08-16 Jim Meyering + + Merge from coreutils. + * lib/xstrtoimax.c: #else #if -> #elif. + * lib/xstrtoumax.c: Likewise. + +2003-08-16 Jim Meyering + + * m4/utimes.m4 (gl_FUNC_UTIMES): New file. + * m4/utimes.m4: Removed. + * m4/utimes-null.m4: Renamed from utimes.m4. + + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size + to 1MB, so as not to render systems with no stack size limit (e.g., + linux-2.2.x) unusable. Suggestion and code from Bruno Haible. + Include . On some systems, + it is required for the definition of _SC_PAGESIZE. + +2003-08-16 Jim Meyering + and Paul Eggert + + Merges from coreutils, etc. + + * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define + using the latest version from cvs. This avoids problems with #line + directives using a vendor (Sun) compiler. + (jm_MACROS): Bump prerequisite from 2.52g to 2.57. + Don't set GETGROUPS_LIB here; now it's + done via getgroups.m4's wrapper function. + AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here, + rather than just in sh-util/configure.in, so that the + now-shared-by-fileutils-and-textutils lib/Makefile.am are all the + same. + Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new + AC_FUNC_GETLOADAVG where to find getloadavg.c. + Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME, + UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR, + gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME. + Remove code that is now done by the newly-required macros. + Append $(EXEEXT) to DF_PROG. + AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown. + Do not invoke or require the following here, + since prereq.m4 or some gnulib .m4 now does this for us: + gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME, + jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC, + jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP, + jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV, + jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX, + AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF, + vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE, + AC_FUNC_OBSTACK. + Do not replace the following functions, as this is now the job + of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname, + getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul + strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp, + atexit getpass, strdup, getpagesize. + Replace 'raise'. + Do not check for the following functions, as this is now the job + of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime, + getcwd, getmntinfo, resolvepath. But check for sysctl, setreuid, + setregid. + (jm_CHECK_ALL_HEADERS): Do not check for fenv.h. + Check for sys/sysctl.h. + (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE, + jm_CHECK_TYPE_STRUCT_TIMESPEC. Invoke gt_TYPE_SSIZE_T instead + of checking for ssize_t ourselves. + + * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them. + Require every macro that gnulib/modules/* suggests for us. + (jm_PREREQ_ADDEXT): New macro. + (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4. + Require jm_AC_TYPE_LONG_LONG instead of invoking it. + + * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro. + (gl_PHYSMEM): Use it. + Also check for `table' function. + Check for new headers and functions. + Add check for sys/sysmp.h. + With suggestions from Kaveh Ghazi. + Ignore headers that are present but cannot be compiled. This + avoids spurious warnings on Solaris 9 sparc with Forte Developer 7 + C 5.4. + +2003-08-15 Paul Eggert + + Document merge from coreutils. + * modules/userspec: Depend on posixver. + * modules/strftime: Depend on tzset. + +2003-08-15 Paul Eggert + + * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces, + rather than tab, after '#' in shell-script copyright notices. + Suggested by Bruno Haible. + +2003-08-15 Paul Eggert + + * config/srclist-update: Use three spaces, rather than tab, after '#' + in shell-script copyright notices. Suggested by Bruno Haible. + Remove unnecessary parenthesization in regular expression. + +2003-08-15 Jim Meyering + + Merge from coreutils. + * lib/xgethostname.c: Include . + (xghostname): Don't exit for anything other than memory-related + failure; just return NULL. + * lib/userspec.c: Include "posixver.h". + (parse_user_spec): Accept `.' as a separator only + in pre-POSIX-200112 mode. + * lib/strtoimax.c: Use #elif rather than #else #if. + * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]: + Remove function, now that we can rely on a working tzset function. + [!_LIBC]: Ensure that the required autoconf test has been run. + [!defined _NL_CURRENT && HAVE_STRFTIME]: + Use underlying_strftime for %r. + * lib/sha.c: Merge in some clean-up and optimization changes from + glibc. + * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file. + Ensure that it is a multiple of 64. + Rearrange loop exit tests so as to avoid performing an + additional fread after encountering an error or EOF. + * lib/realloc.c: Update copyright date. + +2003-08-15 Jim Meyering + and Paul Eggert + + Merge from coreutils. + * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit + member but strut utmpx does not. Needed for AIX 4.3.3. + (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define. + +2003-08-15 Jim Meyering + and Paul Eggert + + Merges from coreutils, etc. + * m4/strftime.m4 (_jm_STRFTIME_PREREQS): + Require gl_FUNC_TZSET_CLOBBER. + * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit, + ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination + members. + +2003-08-14 Paul Eggert + + Help the merge from coreutils. + * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro. + (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it. + * m4/tzset.m4: Use it too. + +2003-08-14 Paul Eggert + + * modules/tzset: New file. + +2003-08-14 Jim Meyering + + Merges from coreutils. + * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED + variable names, rather than @FNMATCH_H@. + * modules/alloca: Likewise for $(ALLOCA_H). + + * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of + the three copies of the literal target, `fnmatch.h'. + * modules/alloca (alloca.h): Likewise. + +2003-08-14 Jim Meyering + + Merge from coreutils. + * m4/tzset.m4: New file. + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the + MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since + otherwise, AIX 5.1 systems would end up using the latter. + MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting + whether a file system is remote doesn't work 2) the MOUNTED_VMOUNT + code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1 + code reports merely /MOUNT_POINT. Reported by Mike Jetzer. + +2003-08-14 Jim Meyering + + Merge from coreutils. + * lib/obstack.h: Whitespace changes. + * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc, + and xcalloc return values. + (read_filesystem_list) [MOUNTED_GETFSSTAT]: + Use MNT_NOWAIT, rather than MNT_WAIT. Otherwise, `df DIR' could + hang on OSF/1 5.1 for DIR on both local and remote file systems. + Reported by (and fix confirmed by) Nelson H. F. Beebe. + (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any + error from mntctl. + Use mntctl's return value to drive the entry-processing loop, since + we can't rely on the value of the vmt_length member in the last + entry. On some systems doing so could result in exhausting + virtual memory. Based in part on a patch from Mike Jetzer. + +2003-08-14 Jim Meyering + and Paul Eggert + + Merges from coreutils, plus other fixes. + * lib/physmem.c: Merge in portability changes from gcc/libiberty + to support AIX, IRIX, Tru64, and Windows. See the ChangeLog there + for credits and details. Thanks to Kaveh Ghazi for helping + to keep these files in sync. + (ARRAY_SIZE): Define it. + (physmem_total, physmem_available): Add comments. From Kaveh Ghazi. + * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'. + (memcasecmp): Don't assume size_t fits in unsigned int. + Remove casts and duplicate code. + * lib/md5.c: Include and unconditionally. + (memcpy): Remove definition. + Merge in some clean-up and optimization changes from glibc. + [BLOCKSIZE]: Move definition to top of file. + Ensure that it is a multiple of 64. + Rearrange loop exit tests so as to avoid performing an + additional fread after encountering an error or EOF. + * lib/md5.h (md5_uintptr): Define. + * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to + return to the initial working directory. Preserve errno + for caller. + * lib/idcache.c: Include "xalloc.h". + (xmalloc, xrealloc): Remove decls. + (getuser): Remove casts no longer required in C89. + * lib/human.c: Include stdio.h, for sprintf. + * lib/group-member.c: Include "xalloc.h". + (xmalloc, xrealloc): Remove decls. + (get_group_info): Remove casts no longer required in C89. + * lib/getusershell.c (readname): Remove casts no longer required in + C89. + * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions. + * lib/getline.c: Whitespace fix, from coreutils. + +2003-08-13 Paul Eggert + + * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC. + Check for isascii. + + * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4, + lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4: + Undo previous (whitespace-only) change. + +2003-08-13 Paul Eggert + + * lib/exclude.c: Include + (IN_CTYPE_DOMAIN): New macro. + (is_space): New fn. + (add_exclude_file): If LINE_END is a space, ignore trailing spaces + and empty lines. + + * lib/argp-help.c, argp-parse.c, config.charset, getopt.h: + Undo previous (whitespace-only) change. + +2003-08-13 Paul Eggert + + * config/srclist-update: Change update back to the old behavior, + leaving whitespace alone. Use one 'sed' command rather than a + pipeline. + (fixlicense): Now a variable, not a function. + (remove_trailing_blanks): Remove. + (fixfile): Don't invoke unexpand or cat, or remove trailing blanks. + * config/config.guess, config.sub, install-sh, missing, texinfo.tex: + Undo previous (whitespace-only) change. + +2003-08-12 Paul Eggert + + Merge from coreutils. + * modules/euidaccess: Add lib_SOURCES, include for new + file euidaccess.h + +2003-08-12 Paul Eggert + + * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4, + lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4: + Normalize leading white space and remove trailing white space. + + Merge from coreutils + * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl. + + * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext + 0.12.1. These files are now being upgraded automatically by + ../config/srclist-update. + +2003-08-12 Paul Eggert + + * lib/argp-help.c, argp-parse.c, config.charset, getopt.h: + Normalize leading white space and remove trailing white space. + * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright + notice, as per ../config/srclist-update. + + Merge from coreutils. + * lib/euidaccess.h: New file. + * lib/euidaccess.c: Include it. + * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h, + vasnprintf.h, vasprintf.h. Remove strdup.c, gettext.h. + * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space. + +2003-08-12 Paul Eggert + + * config/srclist-update: Add copyright notice. + (remove_id_lines, remove_trailing_blanks): New constants. + (fixfile): Use them to normalize spacing a bit in copied files. + * config/config.guess, config.sub, install-sh, missing, texinfo.tex: + Normalize leading white space and remove trailing white space. + + * config/texinfo.tex: Sync with texinfo. + + * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c, + strtoul.c from libc, to merge coreutils whitespace changes. + + * config/srclist.txt: Get the following m4 files from gettext: + codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4, + inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4, + longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4, + wint_t.m4. + +2003-08-12 Karl Berry + + * config/srclist.txt: can't sync vasnprintf.c any more, changes have + been made. + +2003-08-11 Paul Eggert + + * modules/gnu-source, m4/gnu-source.m4: + Remove; we're assuming Autoconf 2.54 or later now. + Suggested by Bruno Haible. + * MODULES.html.sh (func_all_modules): Remove gnu-source. + +2003-08-11 Bruno Haible + + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen. + +2003-08-11 Bruno Haible + + * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1. + (vasnprintf): Use it instead of wcslen. + +2003-08-11 Bruno Haible + + * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum + value to ensure that _Bool promotes to int. Use #define for _Bool when + using the Solaris C compiler. Adds comments suggested by Paul Eggert. + +2003-08-10 Karl Berry + + * lib/regex.h: update from libc (whitespace fix). + +2003-08-09 Paul Eggert + + Merge some files from coreutils. These changes were + originally made by Jim Meyering. + * lib/acl.c: Include before ; + many older Unixes require this. + * lib/alloca.c (alloca): Remove cast to argument of free; + no longer needed in C89. + * lib/alloca_.h, regex.h: Fix white space to match + what GNU indent does. + +2003-08-09 Paul Eggert + + * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371"; + apparently Emacs's Unicode mode got confused before my 2003-08-05 + checkin. + +2003-08-08 Paul Eggert + + * m4/extensions.m4: New file. + * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): + Require gl_USE_SYSTEM_EXTENSIONS. + * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): + Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE. + +2003-08-08 Paul Eggert + + * MODULES.html.sh (func_all_modules): Add extensions, gnu-source. + * modules/extensions, modules/gnu-source: New files. + * modules/timespec, modules/unlocked-io: Depend on extensions. + +2003-08-07 Paul Eggert + + * modules/restrict: New file. + * MODULES.html.sh (func_all_modules): Add restrict. + * modules/regex: Depend on restrict. + +2003-08-07 Paul Eggert + + * m4/restrict.m4: New file. + * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT. + +2003-08-07 Bruno Haible + + * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not + lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2). + +2003-08-07 Bruno Haible + + * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This + makes the module 'getndelim2' compatible with the module 'getline'. + +2003-08-05 Paul Eggert + + * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII + byte with "\201" to avoid glitches when editing that source file + with multi-gnome-terminal. + +2003-08-05 Paul Eggert + + * lib/bumpalloc.h: Remove. + +2003-08-05 Paul Eggert + + * MODULES.html.sh (func_all_modules): Remove bumpalloc. + * modules/bumpalloc: Remove. + +2003-08-04 Paul Eggert + + * lib/getloadavg.c: Change copyright notice and spacing to conform to + GNU coding style. + + Merge from coreutils. + * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is + 1. From glibc. + * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion + from Karl Berry, implemented by Jim Meyering. + * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns; + from Dmitry V. Levin. + Remove anachronistic cast of xrealloc. + * lib/fnmatch_.h (__const): Remove. Use 'const'. + * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper + type. Otherwise, it wouldn't compile with at least /bin/cc on + ymp-cray-unicos9.0.2.X. + Combine two mostly-identical uses of alloca into one. + Thanks to the Cray-Cyber project for access to a Cray Y-MP. + +2003-08-04 Dave Love + + [From Emacs.] + + * lib/getloadavg.c: Check `__unix' as well as `unix'. Use #ifdef, not + #if. Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE. Check + F_SETFD, not FD_SETFD. Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not + obsolete NLIST_NAME_UNION. + [__GNU__]: Undef BSD and FSCALE. + [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT. + +2003-08-03 Paul Eggert + + * lib/stdbool_.h (_Bool): Make it signed char, instead of + an enum type, so that it's guaranteed to promote to int. See: + + +2003-08-03 Karl Berry + + * config/depcomp: update from automake. + +2003-07-31 Paul Eggert + + * lib/strerror.c: Include config.h, limits.h. Declare sprintf. + (strerror): Don't assume that a printable int fits in 14 bytes. + +2003-07-31 Bruno Haible + + * modules/getpass-gnu: New file. + * MODULES.html.sh (func_all_modules): Add getpass-gnu. + +2003-07-31 Bruno Haible + + * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro. + +2003-07-24 Karl Berry + + * config/missing: update from automake. + +2003-07-24 Derek Robert Price + Bruno Haible + + * lib/getline.h (getline, getdelim): Change return type to ssize_t. + * lib/getline.c (getline, getdelim): Likewise. + Remove _GNU_SOURCE define; now it's defined in config.h through + m4/getline.m4. + +2003-07-23 Karl Berry + + * config/config.sub: update from prep. + +2003-07-22 Paul Eggert + + * modules/xalloc (Depends-on): Add exitfail. + * modules/xmemcoll: Likewise. + +2003-07-22 Paul Eggert + + * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and + over-parenthesization in macros. + + Sync with coreutils. + + * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not + required by C99. + + Use `exit_failure' for xalloc and xmemcoll instead of their own + private exit-failure variables. + * lib/xalloc.h (xalloc_exit_failure): Remove. + * lib/xmalloc.c: Likewise. Include exitfail.h. + (xalloc_die): Use exit_failure instead of xalloc_exit_failure. + * lib/xmemcoll.h (xmemcoll_exit_failure): Remove. + * lib/xmemcoll.c: Likewise. Include exitfail.h. + (xmemcoll): Use exit_failure instead of xalloc_exit_failure. + +2003-07-20 Jim Meyering + + * modules/closeout (Depends-on): Add exitfail. + Suggestion from Bruno Haible. + +2003-07-19 Karl Berry + + * config/config.sub: update from prep. + +2003-07-18 Paul Eggert + + * lib/closeout.h (close_stdout_set_status, close_stdout_status): + Remove. + * lib/closeout.c: Likewise. Include "closeout.h" right after config.h, + to test that it can stand by itself. Include "exitfail.h". + Clients should set exit_failure instead. + (EXIT_FAILURE): Remove; no longer needed. Do not include . + +2003-07-18 Bruno Haible + + * modules/getndelim2: New file. + * modules/getline: Share files with module getndelim2. + * modules/getnline: Depend on getndelim2 instead of sharing files with + it. Add getnline.c to lib_SOURCES. + * MODULES.html.sh (func_all_modules): Add getndelim2. + +2003-07-18 Bruno Haible + + * m4/getndelim2.m4: New file. + * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and + invoke gl_PREREQ_GETNDELIM2. + (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by + gl_PREREQ_GETNDELIM2. + * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by + gl_GETNDELIM2. + +2003-07-18 Bruno Haible + + * lib/getndelim2.h: New file. + * lib/getndelim2.c: Make into a module of its own. Include config.h, + getndelim2.h. + (getndelim2): Make non-static. Change return type to ssize_t. + * lib/getline.h: Change argument names. + * lib/getline.c: Include getndelim2.h instead of getndelim2.c. + * lib/getnline.c: Include getndelim2.h. + +2003-07-18 Andreas Schwab + + * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno. + +2003-07-17 Karl Berry + + * config/config.sub: update from prep. + +2003-07-17 Bruno Haible + + * modules/getnline: New file. + * modules/getline: Add lib/getndelim2.c to source file list. + * MODULES.html.sh (func_all_modules): Add getnline. + +2003-07-17 Bruno Haible + + * m4/getnline.m4: New file. + +2003-07-17 Bruno Haible + + * m4/Makefile.am.in: Remove file. + * m4/Makefile.am: Remove file. + * m4/Makefile.in: Remove file. + +2003-07-17 Bruno Haible + + * lib/getnline.h: New file. + * lib/getnline.c: New file. + * lib/getndelim2.c: New file, extracted from getline.c. + (getndelim2): Renamed from getdelim2, with added nmax argument. + * lib/getline.c: Include getndelim2.c. + (getdelim2): Moved out to getndelim2.c. + (getline, getdelim): Update. + +2003-07-17 Bruno Haible + + * lib/Makefile.am: Remove file. + * lib/Makefile.in: Remove file. + +2003-07-17 Bruno Haible + + * configure.in: Remove file. + * Makefile.in: Remove file. + +2003-07-17 Bruno Haible + + * MODULES.html.sh: Put the right before . + +2003-07-16 Karl Berry + + * config/srclist-update: was running fixlicense twice, which caused + texinfo.tex to be nullified for some reason. Simplify, + $gplsrc is no longer needed as far as I can see? + +2003-07-16 Jim Meyering + + * modules/save-cwd: Depend on xgetcwd. From Derek Price. + +2003-07-15 Paul Eggert + + * config/srclist.txt: Get the following files from gettext-runtime/intl + instead: config.charset, localcharset.c, localcharset.h, ref-add.sin, + ref-del.sin. From Bruno Haible. + * config/srclist-update (fixfile): Change grep pattern again, since the + previous fix didn't work (there was another trailing $). Use + '[$]' to escape the $s. + +2003-07-15 Karl Berry + + * lib/vasnprintf.c: update from gettext. + +2003-07-15 Karl Berry + + * config/srclist-update (fixfile): Change grep pattern, since 'Id' + gets expanded when surrounded by '$'. + +2003-07-15 Jim Meyering + + * modules/save-cwd: Don't depend on error. From Derek Price. + +2003-07-15 Jim Meyering + + * lib/makepath.c (make_path): Enclose diagnostic in _(...). + +2003-07-14 Simon Josefsson + + * modules/mempcpy: New file. + * MODULES.html.sh (func_all_modules): Add mempcpy. + +2003-07-14 Simon Josefsson + + * m4/mempcpy.m4: New file. + +2003-07-14 Simon Josefsson + + * lib/mempcpy.h: New file. + * lib/mempcpy.c: New file. + +2003-07-14 Paul Eggert + + * modules/getdate, modules/posixtm: Depend on mktime. + +2003-07-14 Paul Eggert + + * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h, + sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c, + unicodeio.c, unicodeio.h, unlocked-io.h: + Switch from LGPL to GPL. + +2003-07-14 Paul Eggert + + * lib/asnprintf.c, asprintf.c, config.charset, gettext.h, + localcharset.c, localcharset.h, mkdtemp.c, printf-args.c, + printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin, + ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h, + vasprintf.c, vasprintf.h: Regenerate. These files are now being + updated automatically by ../config/srclist-update. This changes + their license from LPGL to GPL. + +2003-07-14 Paul Eggert + + * config/srclist.txt: Add tons more gettext files. $GETTEXT is now + assumed to refer to the root of the most recent stable gettext version. + * config/srclistvars.sh: Add defaults for eggert. + * config/srclist-update: Convert LGPL to GPL in shell scripts, too. + Match "This program" as well as "The program". This is needed + for gettext. + +2003-07-14 Jim Meyering + + Don't emit diagnostics. Let callers do that. + * lib/save-cwd.c: Don't include "error.h". + (save_cwd): Don't call error. Ensure that errno is valid + when returning nonzero. + + * lib/save-cwd.h (restore_cwd): Update prototype. + * lib/save-cwd.c (restore_cwd): Remove two parameters. + Simplify. Don't call error upon failure. Let callers do that. + (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4 + when auditing is enabled. But don't bother updating the #if. + +2003-07-11 Alexandre Duret-Lutz + + * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13; + it breaks C++ compilation. + [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*. + +2003-07-10 Simon Josefsson + + * modules/strchrnul (Makefile.am): Add strchrnul.h. + +2003-07-10 Jim Meyering + + * m4/clock_time.m4: Remove trailing blank. + * m4/intmax_t.m4: Likewise. + +2003-07-10 Jim Meyering + + * lib/vasnprintf.c: Remove trailing blanks. + Make cpp indentation consistent. + +2003-07-09 Paul Eggert + + * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h, + posixver.c, strftime.c, strnlen.c, strverscmp.c: + Switch from LGPL to GPL. + +2003-07-09 Paul Eggert + + * config/srclist.txt: Sort sublists. Add + $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files + that differ from gnulib for one reason or another; we'd like this list + to be smaller but for now let's document what we have. + +2003-07-08 Paul Eggert + + * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding + the use of GNU extensions. Change "x=`eval echo $x`" to the shorter + and sweeter "eval x=$x". + * config/srclist.txt: Get lib/argp* from glibc. + +2003-07-07 Paul Eggert + + * lib/mktime.c: Fix some boundary cases and remove need for floating + point. + + Issue a compile-time diagnostic if time_t is floating point, or if + two's complement arithmetic is not in effect, or if arithmetic + right shift does not propagate the sign. These assumptions were + all in the original code but they weren't checked. + + (TIME_T_MIDPOINT, verify): New macros. + (__isleap): Remove; it has integer overflow problems. + (leapyear): New function, without those problems. + (ydhms_tm_diff): Remove; splitting into two parts. + (ydhms_diff): New function, containing the arithmetic part of + the old ydhms_tm_diff function. Issue a compile-time + diagnostic if we are not using C99 integer division. + Avoid casts when possible. + (guess_time_tm): New function, containing the checking part of + the old ydhms_tm_diff function. Return the new value, rather than + the difference between it and the old. Accept a new argument T + so that *T specifies the old value. Check for overflow in the result. + + (__mktime_internal): Use a time_t offset, not a long int offset. + This undoes the 2003-06-04 change, which is no longer needed now + that we have better overflow checking. + (localtime_offset): Likewise. + + (__mktime_internal): Avoid harmful overflow on hosts where time_t + and long are 64-bit but int is only 32-bit. + (ydhms_diff): Use long int to store year1 and yday1. + Issue a compile-time diagnostic if long int is not wide enough. + + (__mktime_internal): Use long int to store adjusted year and yday. + Use plain C rather than preprocessor commands, if that doesn't + affect efficiency. + Check for overflow (and try to repair) after each probe + rather than checking only at the very end. This avoids some bugs + (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time + does not equal GMT offset at maximum time). + Use integer to check for overflow rather than floating point; this + is more portable to non-IEEE hosts, and is a tad faster. + When we detect that we are oscillating between two values, + don't check whether tm_isdst has the requested value, since + we already know the answer. When tm_isdst has the wrong value, + use a different heuristic to find the right one, based on the + extreme values actually observed in practice in tz2003a, + rather than the (overly optimistic) "previous 3 calendar quarters". + + (not_equal_tm, print_tm, check_result): Use "const T" rather than + "T const" to accommodate glibc style. + (check_result): Use less-confusing report format. "long" -> "long int. + (main): Likewise. + Don't loop if the iteration overflows time_t. + Allow a negative step in the iteration. + +2003-07-06 Karl Berry + + * config/depcomp: update from automake. + * config/config.sub: update from prep. + +2003-07-03 Karl Berry + + * config/config.guess: update from prep. + +2003-07-01 Paul Eggert + + * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since + xreadlink.c now includes it unconditionally. + +2003-07-01 Paul Eggert + + * lib/xreadlink.c: Include unconditionally, instead of + having it depend on HAVE_SYS_TYPES_H. + +2003-07-01 Bruno Haible + + * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include . + should be sufficient. + Reported by Paul Eggert. + +2003-06-26 Karl Berry + + * config/depcomp: update from automake. + +2003-06-26 Bruno Haible + + * modules/human: Depend on module stdbool. + +2003-06-25 Bruno Haible + + * modules/readlink: New file. + * modules/xreadlink: Depend on it. + * MODULES.html.sh (func_all_modules): Add readlink. + +2003-06-25 Bruno Haible + + * m4/readlink.m4: New file. + +2003-06-25 Bruno Haible + + * lib/readlink.c: New file. + +2003-06-22 Karl Berry + + * config/srclist.txt: update mkinstalldirs from automake. + * config/mkinstalldirs: update. + +2003-06-22 Bruno Haible + + Portability to mingw32. + * m4/ssize_t.m4: New file, from GNU gettext. + * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T. + * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T. + +2003-06-22 Bruno Haible + + * modules/safe-read: Add m4/ssize_t.m4. + * modules/xreadlink: Add m4/ssize_t.m4. + +2003-06-20 Bruno Haible + + Assume C89, so PARAMS isn't needed. + * lib/unicodeio.h (PARAMS): Remove. + * lib/unicodeio.c: Don't use PARAMS. + +2003-06-18 Karl Berry + + * config/config.{guess,sub}: update from prep. + +2003-06-18 Jim Meyering + + Merge changes from coreutils. + * lib/readutmp.c: Include and unconditionally. + Remove explicit declarations of xmalloc and realloc. + Include xalloc.h. + (read_utmp): Remove anachronistic cast of xmalloc. + +2003-06-17 Paul Eggert + + Assume C89, so PARAMS isn't needed. + * lib/backupfile.h (PARAMS): Remove. All uses removed. + * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h, + lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h, + lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h, + lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h, + lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h, + lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h, + lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h, + lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h, + lib/xstrtod.h, lib/xstrtol.h: Likewise. + * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h, + lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h; + no longer needed. Anyway, config.h should always be included before any + other file. + +2003-06-11 Simon Josefsson + + * modules/sysexits: New file. + * MODULES.html.sh (func_all_modules): Add sysexits. + +2003-06-11 Simon Josefsson + + * lib/sysexit_.h: New file. + +2003-06-11 Derek Price + + * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is + necessary. + +2003-06-11 Bruno Haible + + * m4/sysexits.m4: New file. + +2003-06-10 Simon Josefsson + + * lib/argp.h: New file, from glibc. + * lib/argp-ba.c: New file, from glibc. + * lib/argp-eexst.c: New file, from glibc. + * lib/argp-fmtstream.c: New file, from glibc. + * lib/argp-fmtstream.h: New file, from glibc. + * lib/argp-fs-xinl.c: New file, from glibc. + * lib/argp-help.c: New file, from glibc. + * lib/argp-namefrob.h: New file, from glibc. + * lib/argp-parse.c: New file, from glibc. + * lib/argp-pv.c: New file, from glibc. + * lib/argp-pvh.c: New file, from glibc. + * lib/argp-xinl.c: New file, from glibc. + +2003-06-10 Simon Josefsson + + * modules/strchrnul: New file. + +2003-06-10 Simon Josefsson + + * modules/argp: New file. + +2003-06-10 Simon Josefsson + + * m4/strchrnul.m4: New file. + +2003-06-10 Simon Josefsson + + * lib/strchrnul.h: New file. + * lib/strchrnul.c: New file. + +2003-06-10 Bruno Haible + + * MODULES.html.sh (func_all_modules): Add strchrnul and argp. + +2003-06-07 Karl Berry + + * config/config.{guess,sub}: update from prep. + +2003-06-07 Jim Meyering + + * modules/strtod: Use $(...) notation, not @...@ for + AC_REPLACE'd variables. + * modules/localcharset: Likewise. + +2003-06-07 Jim Meyering + + * lib/readtokens.h: Put `Free Software Foundation, Inc.' + in place of my name in the copyright comment. + Remove definition and uses of __P. + + From coreutils. + * lib/stat.c: Don't declare xmalloc explicitly. + Instead, include "xalloc.h". + * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc, + xrealloc, and xcalloc return values. + * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h". + Improve comment. + * lib/xgetcwd.h: Remove definition/uses of PARAMS. + +2003-06-07 Bruno Haible + + * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to + avoid AC_CONFIG_LINKS. + * modules/fnmatch (Makefile.am): Use explicit creation rule for + fnmatch.h, to avoid AC_CONFIG_LINKS. + * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe. + +2003-06-07 Bruno Haible + + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX, + gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking + AC_CONFIG_LINKS. Needed to allow for a different name of the lib + directory. + * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking + AC_CONFIG_LINKS. Needed to allow for a different name of the lib + directory. + +2003-06-06 Jim Meyering + + Merge from coreutils. + * lib/same.c: (same_name): Declare *_basename locals to be `const'. + Consolidate declarations and initializations of *_base* locals. + + Merge from coreutils. + This avoids a core dump on systems without GNU putenv, + when running `env -u SOME_ALREADY_UNSET_VARIABLE'. + * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define. + (unsetenv): New static function, from GNU libc. + (rpl_putenv): Use it. + + * lib/modechange.c: Remove trailing blanks. + + Merge from coreutils. + * lib/fsusage.c: Remove declaration of statfs. + It conflicted with one from OSF/1 5.1 in . + + * lib/posixtm.c: Include unconditionally. + +2003-06-06 Jim Meyering + + * lib/stdbool_.h: Renamed from stdbool.h.in. + +2003-06-06 Jim Meyering + Bruno Haible + + * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h. + Adjust Makefile.am snippet not to redirect directly to target. + Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables. + +2003-06-05 Paul Eggert + + * lib/mktime.c (__mktime_internal): When resolving a tm_isdst + mismatch, look in future quarters as well as past. This fixes a + bug when processing fall-backwards gaps immediately after a long + period of daylight-saving time. + + * lib/mktime.c: Assume freestanding C89 or better. + (HAVE_LIMITS_H): Remove. Assume it's 1. + (__P): Remove; not used. + (CHAR_BIT, INT_MIN, INT_MAX): Remove; defines them. + (mktime, not_equal_tm, print_tm, check_result, + main): Use prototypes. Use const * where appropriate. + (main): Fix typo in testing code that uncovered by above changes. + (Local Variables): Remove -DHAVE_LIMITS_H from compile-command. + +2003-06-04 Paul Eggert + + * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H. Check for + locale.h, localeconv. This merges changes from coreutils. + + * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS. + It can be removed after the next Autoconf is released. + * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner + needed. + +2003-06-04 Paul Eggert + + * lib/mktime.c: Fix Debian bug 177940 + . + (localtime_offset): Now long int, not time_t, because we want it + to be guaranteed to be signed. All uses changed. + (__mktime_internal): If overflow would occur when adding offset, + don't add it. + + Merge 'human' changes from coreutils. Rewrite to support + locale-specific notations like thousands separators. + * lib/human.c: Simplify authorship notice. + Include human.h immediately after config.h. + , : Do not include; no longer needed. + : Do not include, since human.h does. + (SIZE_MAX, UINTMAX_MAX): New macros. + : Include if HAVE_STRINGS_H, not if !HAVE_STRING_H. + : Include if HAVE_LOCALE_H and HAVE_LOCALECONV. + (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro. + (power_letter): Renamed from suffixes. + (generate_suffix_backwards): Remove. + (adjust_value): Now takes int style (because of human.h changes) + and long double value (for greater precision on some platforms). + (group_number): New function. + (human_readable): Use it. Use integer options, not enum. + Put the options before the sizes in the arg list. + Support all the new options. + The old human_readable function has been removed; + use inttostr.h instead. + (human_readable, default_block_size, humblock): + Use uintmax_t, not int, for block sizes. + (human_readable_inexact, block_size_types): Remove. + (block_size_opts): New constant. + (human_options): Renamed from human_block_size, with new signature + that allows block sizes up to UINTMAX_MAX. All callers changed. + * lib/human.h: Add copyright and authorship notice. + Include and unconditionally. + (PARAMS): Remove. All uses removed. + (LONGEST_HUMAN_READABLE): Add support for thousands separator. + (enum human_inexact_style): Remove tag; now a nameless enum. + (human_floor, human_ceiling, human_round_to_even): Now have + values 2, 0, 1 rather than -1, 1, 0. + (human_group_digits, human_suppress_point_zero, human_autoscale, + human_base_1024, human_SI, human_B): New constants. + (human_readable_inexact, human_block_size): Remove. + (human_readable): Size args are now uintmax_t, not int. + (human_options): New decl. + + * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are + unnecessary now that we assume C89 or better. This change + imported from coreutils. + + * lib/mktime.c (__mktime_internal): Do not reject negative timestamps + arbitrarily. This is the same patch as 2003-05-28, but it got lost + in the 2003-05-30 sync from glibc. + + .h files should stand alone, but we shouldn't include + if we can get away with just . + + * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c, + malloc.c, putenv.c, realloc.c, strcasecmp.c: Include + rather than , as we merely need size_t. + * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include , + to get size_t. + * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h: + Include , to get FILE. + * lib/memcasecmp.c: Don't include , as we can assume + memcasecmp.h has included and all we need is size_t. + * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks + our interface, instead of including + +2003-06-04 Paul Eggert + + * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for + now, as glibc mktime is buggy on non-glibc systems. + +2003-06-03 Karl Berry + + * config/config.sub: update from prep. + +2003-06-02 Paul Eggert + + [from coreutils] + Fix some minor time-related bugs with POSIX time arguments. + Some valid time stamps were being rejected (notably -1, and + time stamps before 1900 on 64-bit hosts). And some invalid + time stamps were being accepted, e.g. September 31. + + * lib/posixtm.h (posixtime): Return bool instead of time_t, so + that we can return (time_t) -1 successfully. + * lib/posixtm.c: Likewise. + [HAVE_STDBOOL_H]: Include . + (bool, false, true) [!HAVE_STDBOOL_H]: New type. + (t): Remove static var. + (year, posix_time_parse): Now takes struct tm * arg to modify, instead + of static var. All uses changed. + (year): Do not reject years before 1900; they can occur with + 64-bit time_t. + (posix_time_parse): Do not check for out-of-range components; + that is now the caller's responsibility, since our checks were + only approximations. + (posixtime): Use mktime to check for out-of-range components, + since it knows them exactly. + If mktime returns (time_t) -1, check whether an error actually occurred + by invoking localtime on -1. + (main) [TEST_POSIXTIME]: Check for input data errors, and report + posixtime failures better. + Improve the test data (in comments only). + +2003-06-02 Karl Berry + + * config/mkinstalldirs (version): new variable. + (--version): new option. + (usage): improve message. + +2003-05-30 Karl Berry + + * lib/mktime.c: update from libc. + +2003-05-30 Bruno Haible + + * modules/gettext: Add files m4/nls.m4 and m4/po.m4. + * config/config.rpath: Upgrade to gettext-0.12.1. + +2003-05-30 Bruno Haible + + * m4/gettext.m4: Upgrade to gettext-0.12.1. + * m4/nls.m4: New file, from gettext-0.12.1. + * m4/po.m4: New file, from gettext-0.12.1. + * m4/progtest.m4: Upgrade to gettext-0.12.1. + +2003-05-30 Bruno Haible + + * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1. + * lib/localcharset.h: Likewise. + * lib/localcharset.c: Likewise. + +2003-05-29 Karl Berry + + * config/config.rpath: update from gettext. + +2003-05-28 Paul Eggert + + Assume the headers required for C89 freestanding compilers. + * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h. + * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise. + * m4/human.m4 (gl_HUMAN): Likewise. + * m4/pathmax.m4 (gl_PATHMAX): Likewise. + * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise. + * m4/userspec.m4 (gl_USERSPEC): Likewise. + * m4/xreadlink.m4 (gl_XREADLINK): Likewise. + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. + * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h. + +2003-05-28 Paul Eggert + + Assume the headers required for C89 freestanding compilers. + * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c, + lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c, + lib/xstrtol.c: Include without checking for HAVE_LIMITS_H. + * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c, + lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't + define, since is guaranteed to do that. + * lib/fatal.c: Include without checking for __STDC__. + * lib/exclude.c: Include unconditionally. + * lib/tempname.c: Include unconditionally. + * lib/hash.c: Include , since we no longer define CHAR_BIT. + * lib/modechange.c, rpmatch.c (NULL): Don't define, since + does that. + * lib/quote.c: Dont include or ; not needed. + * lib/safe-read.c (INT_MAX): Don't define, since does that. + * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer + needed. + * lib/xstrtol.c: Likewise. + * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed. + * lib/savedir.c: Include instead of defining NULL. + + * lib/addext.c (addext): Use assignment rather than cast, to avoid + warnings on some platforms. + + * lib/mktime.c (__mktime_internal): Do not reject negative timestamps + arbitrarily. + +2003-05-26 Jim Meyering + + Merge in a change from coreutils: + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one + that is guaranteed to be `no'. Use `no_such_member' to indicate + that condition, rather than `-1' which is slightly misleading. + Change the name of the cache variable to have the gl_ prefix. + Prompted by a patch from Richard Dawe for DJGPP. + +2003-05-24 Karl Berry + + * config/config.guess: update from prep. + +2003-05-22 Karl Berry + + * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg. + +2003-05-20 Karl Berry + + * config/config.guess: update from prep. + +2003-05-18 Karl Berry + + * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF + might actually be set by the user. + + * config/depcomp, install-sh, mdate-sh: update from automake. + +2003-05-17 Bruno Haible + + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an + invalid expansion for AC_EGREP_CPP. + * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise. + * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise. + Suggested by Akim Demaille in + http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html + +2003-05-12 Jim Meyering + + * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect + the space-padded-by-default conversion specifiers, %e, %k, %l. + +2003-05-12 Bruno Haible + + * lib/linebreak.c (iconv_string_length): Don't return -1 just because + the string is longer than 4 KB. + +2003-05-11 Karl Berry + + * config/config.{guess,sub}: update from prep. + +2003-05-09 Bruno Haible + + * modules/error: Add m4/strerror_r.m4 to file list. + +2003-05-03 Bruno Haible + + Upgrade to Unicode-4.0. + * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD, + U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615, + U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5, + U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B + from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1. + (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width + of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2. + Change width of U+E0100..U+E01EF from 1 to 0. + +2003-04-25 Jim Meyering + + * lib/copy-file.c (copy_file_preserving): Declare buf_size to be + of type size_t, not int. + +2003-04-25 Bruno Haible + + * lib/copy-file.c: Include , for size_t. + +2003-04-21 Paul Eggert + + * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some + code which expansion is under static control. Patch imported from + Akim Demaille's patch to Bison; see + . + +2003-04-14 Bruno Haible + + * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF. + +2003-04-11 Jim Meyering + + Merge changes from Coreutils. + + 2003-03-22 Jim Meyering + + * lib/strftime.c (widen): Cast alloca return value to proper type. + + 2003-01-19 Ulrich Drepper + + From GNU libc. + * lib/strftime.c (my_strftime): Handle very large width + specifications for numeric values correctly. Improve checks for + overflow. + + 2003-01-19 Jim Meyering + + * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical + definitions. + (nl_get_alt_digit) [! defined my_strftime]: Define. + (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of + _nl_get_alt_digit and _nl_get_walt_digit. + + * lib/strftime.c (my_strftime): Merge in locale-related changes from + libc. These changes have no effect outside of _LIBC. + +2003-04-10 Bruno Haible + + * modules/findprog: New file. + * MODULES.html.sh (func_all_modules): Add it. + +2003-04-10 Bruno Haible + + * m4/findprog.m4: New file. + * m4/eaccess.m4: New file. + +2003-04-10 Bruno Haible + + * lib/findprog.h: New file, from GNU gettext. + * lib/findprog.c: New file, from GNU gettext. + +2003-04-05 Jim Meyering + + Merge changes from Coreutils. + + * lib/exclude.h (PARAMS): Remove definition and uses. + * lib/exclude.c: Remove uses of `PARAMS'. + + * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test. + Add test-cases for DOS filenames. Declare program_name. + (main): Set up program_name. Patch by Rich Dawe. + + * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any + error from mntctl. + Use mntctl's return value to drive the entry-processing loop, since + we can't rely on the value of the vmt_length member in the last + entry. On some systems doing so could result in exhausting + virtual memory. Based in part on a patch from Mike Jetzer. + +2003-04-04 Bruno Haible + + * modules/linebreak: New file. + * MODULES.html.sh (func_all_modules): Add it. + +2003-04-04 Bruno Haible + + * m4/linebreak.m4: New file. + +2003-04-04 Bruno Haible + + * lib/linebreak.h: New file, from GNU gettext. + * lib/linebreak.c: New file, from GNU gettext with slight + modifications. + * lib/lbrkprop.h: New file, from GNU gettext. + +2003-04-03 Bruno Haible + + * modules/utf8-ucs4: New file. + * modules/utf16-ucs4: New file. + * modules/ucs4-utf8: New file. + * modules/ucs4-utf16: New file. + * MODULES.html.sh (func_all_modules): Add them. + +2003-04-03 Bruno Haible + + * m4/utf-ucs4.m4: New file. + * m4/ucs4-utf.m4: New file. + +2003-04-03 Bruno Haible + + * lib/utf8-ucs4.h: New file, from GNU gettext. + * lib/utf16-ucs4.h: New file, from GNU gettext. + * lib/ucs4-utf8.h: New file, from GNU gettext. + * lib/ucs4-utf16.h: New file, from GNU gettext. + +2003-04-02 Bruno Haible + + * modules/binary-io: New file. + * MODULES.html.sh (func_all_modules): Add it. + +2003-04-02 Bruno Haible + + * lib/binary-io.h: New file, from GNU gettext. + +2003-04-01 Bruno Haible + + * modules/pathname: New file. + * MODULES.html.sh (func_all_modules): Add it. + +2003-04-01 Bruno Haible + + * lib/pathname.h: New file, from GNU gettext. + * lib/concatpath.c: New file, from GNU gettext. + +2003-03-30 Bruno Haible + + * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown(). + +2003-03-30 Bruno Haible + + * lib/copy-file.c (copy_file_preserving): Don't set owner if the + function chown() doesn't exist. + +2003-03-28 Bruno Haible + + * modules/copy-file: New file. + * MODULES.html.sh (func_all_modules): Add it. + +2003-03-28 Bruno Haible + + * m4/copy-file.m4: New file. + +2003-03-28 Bruno Haible + + * lib/copy-file.h: New file, from GNU gettext. + * lib/copy-file.c: New file, from GNU gettext. + +2003-03-18 Jim Meyering + + * lib/quote.c (quote_n): Fix typo in comment. + +2003-03-18 Bruno Haible + + * m4/onceonly.m4: Use m4_defn instead of defn, for better error + checking. + * m4/onceonly_2_57.m4: Likewise. + +2003-03-17 Bruno Haible + + * m4/onceonly.m4: Require autoconf 2.54 or newer. + (m4_quote): Remove macro. + * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer. + +2003-03-14 Jim Meyering + + Merge changes from Coreutils. + * lib/obstack.h (obstack_object_size): Declare temporary, __o, + to be const, in order to avoid warnings. + (obstack_room): Likewise. + (obstack_empty_p): Likewise. + +2003-03-14 Bruno Haible + + * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, + AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly. + +2003-03-13 Paul Eggert + + Merge changes from Bison. + * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to + (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5 + when compiling Bison 1.875's `bitset bset = obstack_alloc + (bobstack, bytes);'. Problem reported by Nelson H. F. Beebe. + * lib/hash.c: Include unconditionally. + +2003-03-13 Paul Eggert + + * m4/onceonly.m4 (m4_quote): New macro. + (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE): + Quote AC_FOREACH variable-expansions properly. + +2003-03-13 Paul Eggert + + * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version. + +2003-03-09 Paul Eggert + + * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't. + Reported by Bruce Becker; see: + http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html + +2003-03-03 Paul Eggert + Bruno Haible + + * lib/mbswidth.h: Include . Needed for UnixWare 7.1.1. + Reported by John Hughes, see + http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html + +2003-02-20 Bruno Haible + + * MODULES.html.sh (func_all_modules): Add poll. + +2003-02-19 Paolo Bonzini + + * modules/poll: New file. + +2003-02-19 Paolo Bonzini + + * lib/poll_.h: New file. + * lib/poll.c: New file. + +2003-02-19 Paolo Bonzini + + * m4/poll.m4: New file. + +2003-02-18 Paolo Bonzini + + * modules/mathl: New file. + +2003-02-18 Paolo Bonzini + + * lib/mathl.h: New file. + * lib/acosl.c: New file. + * lib/asinl.c: New file. + * lib/atanl.c: New file. + * lib/ceill.c: New file. + * lib/cosl.c: New file. + * lib/expl.c: New file. + * lib/floorl.c: New file. + * lib/frexpl.c: New file. + * lib/ldexpl.c: New file. + * lib/logl.c: New file. + * lib/sincosl.c: New file. + * lib/sinl.c: New file. + * lib/sqrtl.c: New file. + * lib/tanl.c: New file. + * lib/trigl.c: New file. + * lib/trigl.h: New file. + +2003-02-18 Paolo Bonzini + + * m4/mathl.m4: New file. + +2003-02-18 Bruno Haible + + * MODULES.html.sh (func_all_modules): Add mathl. + +2003-02-17 Bruno Haible + + * modules/mkdtemp: New module. + * MODULES.html.sh (func_all_modules): Add it. + +2003-02-17 Bruno Haible + + * m4/mkdtemp.m4: New file, from GNU gettext with modifications. + +2003-02-17 Bruno Haible + + * lib/mkdtemp.h: New file, from GNU gettext. + * lib/mkdtemp.c: New file, from GNU gettext. + +2003-02-02 Jim Meyering + + * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in + e.g. glibc-2.2.93. + +2003-01-31 Bruno Haible + + * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to + 'rpl_rename'. + * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to + 'rpl_strnlen'. + * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to + 'rpl_strtod'. + * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to + 'rpl_utime'. + +2003-01-31 Bruno Haible + + * lib/rename.c: #undef rename before defining rpl_rename. + * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen. + +2003-01-30 Bruno Haible + + * modules/vasnprintf, modules/vasprintf: New modules. + * MODULES.html.sh (func_all_modules): Add them. + +2003-01-30 Bruno Haible + + * m4/signed.m4: New file, from GNU gettext. + * m4/longdouble.m4: New file, from GNU gettext. + * m4/wchar_t.m4: New file, from GNU gettext. + * m4/wint_t.m4: New file, from GNU gettext. + * m4/vasnprintf.m4: New file. + * m4/vasprintf.m4: New file. + +2003-01-30 Bruno Haible + + * lib/printf-args.h: New file, from GNU gettext. + * lib/printf-args.c: New file, from GNU gettext. + * lib/printf-parse.h: New file, from GNU gettext. + * lib/printf-parse.c: New file, from GNU gettext. + * lib/vasnprintf.h: New file, from GNU gettext. + * lib/vasnprintf.c: New file, from GNU gettext. + * lib/asnprintf.c: New file, from GNU gettext. + * lib/vasprintf.h: New file, from GNU gettext with modifications. + * lib/vasprintf.c: New file, from GNU gettext. + * lib/asprintf.c: New file, from GNU gettext. + +2003-01-29 Bruno Haible + + * modules/stpncpy: New module. + * MODULES.html.sh (func_all_modules): Add it. + +2003-01-29 Bruno Haible + + * m4/stpncpy.m4: New file. + +2003-01-29 Bruno Haible + + * lib/stpncpy.h: New file, from GNU gettext with modifications. + * lib/stpncpy.c: New file, from GNU gettext with modifications. + +2003-01-28 Bruno Haible + + * modules/c-ctype: New module. + * MODULES.html.sh (func_all_modules): Add it. + +2003-01-28 Bruno Haible + + * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by + Paul Eggert. + * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by + Paul Eggert. + +2003-01-27 Bruno Haible + + * modules/xsetenv: New module. + * MODULES.html.sh (func_all_modules): Add it. + +2003-01-27 Bruno Haible + + * lib/xsetenv.h: New file, from GNU gettext. + * lib/xsetenv.c: New file, from GNU gettext. + +2003-01-23 Jim Meyering + + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this + from working on systems without dirfd (at least Irix and OSF1/Tru64). + +2003-01-23 Bruno Haible + + * modules/minmax: New module. + * MODULES.html.sh (func_all_modules): Add it. + +2003-01-23 Bruno Haible + + * lib/minmax.h: New file, from GNU gettext, with comments from Paul + Eggert. + +2003-01-22 Bruno Haible + + * modules/exit: New module. + * MODULES.html.sh (func_all_modules): Add it. + +2003-01-22 Bruno Haible + + * lib/exit.h: New file, from GNU gettext. + +2003-01-19 Bruno Haible + + * gnulib-tool: Recognize option --extract-maintainer. + (func_get_maintainer): New function. + * modules/*: Add Maintainer entry. + +2003-01-16 Jim Meyering + + * m4/regex.m4: The `regex' struct is both input and output. + Initialize it before each use. Patch by Tim Waugh. + +2003-01-16 Bruno Haible + + * MODULES.html.sh: Add a table of contents. Add the module name as + leftmost column. Add hyperlinks. + +2003-01-15 Bruno Haible + + * m4/md5.m4 (gl_MD5): Require AC_C_INLINE. + +2003-01-15 Bruno Haible + + * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix. + * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL + suffix. + +2003-01-15 Bruno Haible + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites. + +2003-01-15 Bruno Haible + + * lib/stpcpy.h (stpcpy): Use ANSI C function declarations. + * lib/strcase.h (strcasecmp, strncasecmp): Likewise. + +2003-01-14 Jim Meyering + + * lib/same.c (same_name): Tweak a comment. + +2003-01-14 Bruno Haible + + * lib/same.c (same_name): Reorder tests so as to avoid calling stat() + when a string comparison is sufficient. + +2003-01-14 Bruno Haible + + * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not + 'unsigned int'. + +2003-01-14 Bruno Haible + + * lib/hash-pjw.c: Add comment about low quality of this function. + +2003-01-13 Bruno Haible + + * modules/stpcpy: Distribute lib/stpcpy.h. + * modules/setenv: Depend on alloca. Distribute lib/setenv.h. + +2003-01-13 Bruno Haible + + * modules/*: Add a description. + * modules/strpbrk: Fix Makefile.am snippet. + * modules/strtoimax: Fix dependencies. + * modules/strtoumax: Likewise. + +2003-01-13 Bruno Haible + + * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS. + * modules/alloca (Makefile.am): All object files depend on alloca.h. + * modules/stdbool (Makefile.am): All object files depend on stdbool.h. + +2003-01-13 Bruno Haible + + * gnulib-tool (func_create_testdir): Store config/* files in the main + directory. + * config.rpath: Move to ... + * config/config.rpath: ... here. + * modules/gettext: Contains config/config.rpath, not config.rpath. + * modules/iconv: Likewise. + +2003-01-12 Paul Eggert + + Finish renaming getstr -> getdelim2 and readline -> readlinebuffer, + to avoid collisions with libcurses and libreadline. + + * m4/getstr.m4: Remove. + * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC. + +2003-01-12 Paul Eggert + + Finish renaming getstr -> getdelim2 and readline -> readlinebuffer, + to avoid collisions with libcurses and libreadline. + + * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h. + * lib/getstr.h, getstr.c: Remove. + * lib/getline.c: Include "getline.h", to check interface. + Move body of old getstr.c here: this defines MIN_CHUNK and + declares getdelim2, which is renamed from getstr. + (getline, getdelim): Adjust to renaming of getstr -> getdelim2. + + * lib/linebuffer.c (readlinebuffer): Renamed from readline. + All uses changed. + * lib/linebuffer.h: Likewise. + (readline): Remove backward-compatibility macro. + +2003-01-12 Paul Eggert + + Finish renaming getstr -> getdelim2 and readline -> readlinebuffer, + to avoid collisions with libcurses and libreadline. + * getstr: Remove. + * MODULES.html.sh: Remove getstr. + * modules/getline: Depend on unlocked-io, not getstr. + +2003-01-12 Jim Meyering + + * lib/makepath.c: Don't test HAVE_ERRNO_H. It's not necessary. + +2003-01-10 Bruno Haible + + * modules/alloca: Change Makefile.am requirements. Simplify Include + requirements. Add lib/alloca_.h to file list. + +2003-01-10 Bruno Haible + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H. + +2003-01-10 Bruno Haible + + * lib/alloca_.h: New file. + * lib/getdate.y: Unconditionally include alloca.h. + * lib/makepath.c: Likewise. + * lib/setenv.c: Likewise. + * lib/userspec.c: Likewise. + +2003-01-09 Karl Berry + + * MODULES.html.sh: include `dirname $0` in PATH, to find + gnulib-tool. + +2003-01-09 Bruno Haible + + * modules/stdbool: Change configure.ac, Makefile.am requirements. + Simplify Include requirements. Add lib/stdbool.h.in to file list. + +2003-01-09 Bruno Haible + + * m4/stdbool.m4 (AM_STDBOOL_H): New macro. + +2003-01-09 Bruno Haible + + * lib/stdbool.h.in: New file. + +2003-01-09 Bruno Haible + + * gnulib-tool (func_all_modules): Ignore files ending in ~. + * MODULES.html.sh: Likewise. + +2003-01-08 Jim Meyering + + * lib/full-write.c: Undefine and define-away `const' after inclusion + of errno.h, not before. Suggestion from Bruno Haible. + +2003-01-08 Bruno Haible + + * modules/full-read: Depend on full-write. + +2003-01-08 Bruno Haible + + * lib/safe-read.c: Include specification header first, to ensure its + selfcontainedness. + * lib/full-write.c: Likewise. + +2003-01-07 Jim Meyering + + * lib/full-write.c: Rework so that it may serve to define full_read, + too. + * lib/full-read.c: Simply #define FULL_READ and include full-write.c. + +2003-01-07 Bruno Haible + + * lib/strtoimax.c: Include as an alternative to + . + * lib/xstrtol.h: Likewise. + * lib/xstrtoimax.c: Likewise. + * lib/xstrtoumax.c: Likewise. + * lib/human.h: Likewise. + + * lib/tempname.c: Include too. Avoids a compilation error + on systems that have but not . + +2003-01-07 Bruno Haible + + * MODULES.html.sh: Add copyright notice. + (missed_files): Omit CVS directory entries. + (func_module): Make it work with sed-3.02. + * MODULES.txt: Remove file. + +2003-01-06 Jim Meyering + + * lib/version-etc.c: Update year in translatable copyright string. + +2003-01-03 Karl Berry + + * config/config.{guess,sub}: update from prep. + +2003-01-02 Karl Berry + + * doc/COPYING.DOC: belatedly updated to 1.2. + +2003-01-01 Karl Berry + + * gnulib-tool (func_verify_module): report module name $module in + error message, not $1. + * gnulib-tool (create-testdir): don't complain if destdir couldn't + be created, only if it doesn't exist. + * gnulib-tool (last_checkin_date): don't expand the $Date here. + +2002-12-31 Paul Eggert + + * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP. + +2002-12-31 Paul Eggert + + * lib/memcoll.c (memcoll): Fall back on a simple algorithm using + memcmp if strcoll doesn't work. + +2002-12-31 Bruno Haible + + * lib/utime.c (utime_null): No need to call ftruncate if the file was + nonempty. + +2002-12-31 Bruno Haible + + * lib/memcoll.c (STRCOLL): New macro. + (memcoll): Use it. + +2002-12-31 Bruno Haible + + * lib/localcharset.h: New file. + * lib/localcharset.c: Include it. + * lib/unicodeio.c: Likewise. + +2002-12-31 Bruno Haible + + * lib/getstr.h (getstr): Define, to avoid clash with libcurses. + * lib/linebuffer.h (readline): Define, to avoid clash with libreadline. + +2002-12-31 Bruno Haible + + * lib/getline.h: Include , for size_t. + + * lib/unicodeio.h: Include , for size_t. + * lib/unicodeio.c: Don't include . + +2002-12-31 Bruno Haible + + * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not + HAVE_TM_ZONE. + +2002-12-24 Karl Berry + + * config/config.guess: update from prep. + +2002-12-24 Bruno Haible + + General infrasructure. + * m4/README: Rewritten. + * m4/onceonly.m4: New file. + * m4/onceonly_2_57.m4: New file. + + Module atexit. + * m4/atexit.m4: New file. + + Module strtod. + * m4/strtod.m4: New file. + + Module strtol. + * m4/strtol.m4: New file. + + Module strtoul. + * m4/strtoul.m4: New file. + + Module memchr. + * m4/memchr.m4: New file. + + Module memcmp. + * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro. + (jm_FUNC_MEMCMP): Invoke it. + + Module memcpy. + * m4/memcpy.m4: New file. + + Module memmove. + * m4/memmove.m4: New file. + + Module memset. + * m4/memset.m4: New file. + + Module strcspn. + * m4/strcspn.m4: New file. + + Module strpbrk. + * m4/strpbrk.m4: New file. + + Module strstr. + * m4/strstr.m4: New file. + + Module strerror. + * m4/strerror.m4: New file. + + Module mktime. + * m4/mktime.m4: Renamed from jm-mktime.m4. + (gl_PREREQ_MKTIME): New macro. + (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME. + + Module malloc. + * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro. + (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC. + Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it. + + Module realloc. + * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro. + (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC. + Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it. + + Module strftime. + * m4/tm_gmtoff.m4: New file, extracted from strftime.m4. + * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME. + Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and + gl_TM_GMTOFF. + (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros. + + Module xalloc. + * m4/xalloc.m4: New file. + + Module alloca. + * m4/alloca.m4: New file. + + Module putenv. + * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro. + (jm_FUNC_PUTENV): Invoke it. + + Module setenv. + * m4/setenv.m4 (gt_FUNC_SETENV): New macro. + (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4 + when invoked twice. + (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old + gt_FUNC_SETENV. + + Module memrchr. + * m4/memrchr.m4: New file. + + Module stpcpy. + * m4/stpcpy.m4: New file. + + Module strcase. + * m4/strcase.m4: New file. + + Module strdup. + * m4/strdup.m4: New file. + + Module strnlen. + * m4/strnlen.m4: New file. + + Module strndup. + * m4/strndup.m4: New file. + + Module xstrtod. + * m4/xstrtod.m4: New file. + + Module xstrtol. + * m4/xstrtol.m4: New file. + + Module getdate. + * m4/getdate.m4: New file. + + Module unlocked-io. + * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4. + (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros. + * m4/jm-glibc-io.m4n: Remove file. + + Module long-options. + * m4/long-options.m4: New file. + + Module md5. + * m4/md5.m4: New file. + + Module sha. + * m4/sha.m4: New file. + + Module getstr. + * m4/getstr.m4: New file. + + Module getline. + * m4/getline.m4 (gl_PREREQ_GETLINE): New macro. + (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use , not + , for size_t. Use the function name gnu_getline, not + simply getline. Infoke gl_PREREQ_GETLINE. + + Module obstack. + * m4/obstack.m4: New file. + + Module hash. + * m4/hash.m4: New file. + + Module readtokens. + * m4/readtokens.m4: New file. + + Module strverscmp. + * m4/strverscmp.m4: New file. + + Module stdbool. + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for + OSF/1. + + Module strtoll. + * m4/strtoll.m4: New file. + + Module strtoull. + * m4/strtoull.m4: New file. + + Module strtoimax. + * m4/strtoimax.m4: New file. + + Module strtoumax. + * m4/strtoumax.m4: New file. + + Module xstrtoimax. + * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from + jm_AC_PREREQ_XSTRTOIMAX. + Moved the strtol prerequisites to strtol.m4. + Moved the strtoll prerequisites to strtoll.m4. + Moved the strtoimax prerequisites to strtoimax.m4. + + Module xstrtoumax. + * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from + jm_AC_PREREQ_XSTRTOUMAX. + Moved the strtoul prerequisites to strtoul.m4. + Moved the strtoull prerequisites to strtoull.m4. + Moved the strtoumax prerequisites to strtoumax.m4. + + Module chown. + * m4/chown.m4 (gl_PREREQ_CHOWN): New macro. + (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN. + + Module dup2. + * m4/dup2.m4: New file. + + Module ftruncate. + * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro. + (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE. + + Module getgroups. + * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro. + (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS. + + Module gettimeofday. + * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro. + (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke + gl_PREREQ_GETTIMEOFDAY. + + Module mkdir. + * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro. + (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR. + + Module mkstemp. + * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro. + (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke + jm_AC_TYPE_UINTMAX_T. + (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME. + + Module stat. + * m4/stat.m4 (gl_PREREQ_STAT): New macro. + (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT. + + Module lstat. + * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro. + (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT. + + Module timespec. + * m4/timespec.m4 (gl_TIMESPEC): New macro. + (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for . + * m4/st_mtim.m4: Indentation. + + Module nanosleep. + * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro. + (jm_FUNC_NANOSLEEP): Add check for . Invoke + gl_PREREQ_NANOSLEEP. + + Module regex. + * m4/regex.m4 (jm_PREREQ_REGEX): New macro. + (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX. + (gl_REGEX): New macro. + + Module rename. + * m4/rename.m4 (gl_PREREQ_RENAME): New macro. + (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME. + + Module rmdir. + * m4/rmdir.m4: New file. + + Module utime. + * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros. + * m4/utime.m4 (gl_PREREQ_UTIME): New macro. + (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME. + + Module dirname. + * m4/dirname.m4: New file. + + Module getopt. + * m4/getopt.m4: New file. + + Module unistd-safer. + * m4/unistd-safer.m4: New file. + + Module fnmatch. + * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include , for exit() + declaration. + (gl_PREREQ_FNMATCH_EXTRA): New macro. + (gl_FUNC_FNMATCH_POSIX): New macro. + (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke + gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not + simply fnmatch. + + Module exclude. + * m4/exclude.m4: New file. + + Module human. + * m4/human.m4: New file. + + Module acl. + * m4/acl.m4: Nop. + + Module backupfile. + * m4/backupfile.m4: New file. + * m4/d-ino.m4: Indentation. + + Module fsusage. + * m4/fsusage.m4 (gl_FSUSAGE): New macro. + (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac. + (gl_PREREQ_FSUSAGE_EXTRA): New macro. + + Module dirfd. + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP + requirements. + + Module euidaccess. + * m4/euidaccess.m4: New file. + + Module file-type. + * m4/file-type.m4: New file. + + Module fileblocks. + * m4/fileblocks.m4: New file. + + Module filemode. + * m4/filemode.m4: New file. + + Module isdir. + * m4/isdir.m4: New file. + + Module lchown. + * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro. + (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN. + + Module makepath. + * m4/makepath.m4: New file. + + Module modechange. + * m4/modechange.m4: New file. + + Module mountlist. + * m4/mountlist.m4: New file. + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros. + Indentation. + + Module path-concat. + * m4/path-concat.m4: New file. + + Module pathmax. + * m4/pathmax.m4: New file. + + Module same. + * m4/same.m4: New file. + + Module save-cwd. + * m4/save-cwd.m4: New file. + + Module savedir. + * m4/savedir.m4: New file. + + Module xgetcwd. + * m4/xgetcwd.m4: New file. + * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros. + + Module xreadlink. + * m4/xreadlink.m4: New file. + + Module safe-read. + * m4/safe-read.m4: New file. + + Module safe-write. + * m4/safe-write.m4: New file. + + Module closeout. + * m4/closeout.m4: New file. + + Module stdio-safer. + * m4/stdio-safer.m4: New file. + + Module getpass. + * m4/getpass.m4: New file. + + Module getugroups. + * m4/getugroups.m4: New file. + + Module group-member. + * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro. + (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER. + + Module idcache. + * m4/idcache.m4: New file. + + Module userspec. + * m4/userspec.m4: New file. + + Module gettime. + * m4/clock_time.m4: New file. + * m4/gettime.m4: New file. + + Module settime. + * m4/settime.m4: New file. + + Module posixtm. + * m4/posixtm.m4: New file. + + Module gethostname. + * m4/gethostname.m4: New file. + + Module canon-host. + * m4/canon-host.m4: New file. + + Module gettext. + * m4/codeset.m4: New file, from gettext-0.11.5. + * m4/gettext.m4: New file, from gettext-0.11.5. + * m4/glibc21.m4: New file, from gettext-0.11.5. + * m4/iconv.m4: New file, from gettext-0.11.5. + * m4/intdiv0.m4: New file, from gettext-0.11.5. + * m4/inttypes-pri.m4: New file, from gettext-0.11.5. + * m4/inttypes.m4: New file, from gettext-0.11.5. + * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications. + * m4/isc-posix.m4: New file, from gettext-0.11.5. + * m4/lcmessage.m4: New file, from gettext-0.11.5. + * m4/lib-ld.m4: New file, from gettext-0.11.5. + * m4/lib-link.m4: New file, from gettext-0.11.5. + * m4/lib-prefix.m4: New file, from gettext-0.11.5. + * m4/progtest.m4: New file, from gettext-0.11.5. + * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications. + * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications. + * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications. + + Module localcharset. + * m4/localcharset.m4: New file. + + Module hard-locale. + * m4/hard-locale.m4: New file. + + Module mbswidth. + * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use + onceonly macros. + * m4/mbrtowc.m4: Add comment. + + Module memcasecmp. + * m4/memcasecmp.m4: New file. + + Module memcoll. + * m4/memcoll.m4: New file. + + Module unicodeio. + * m4/unicodeio.m4: New file. + + Module rpmatch. + * m4/rpmatch.m4: New file. + + Module yesno. + * m4/yesno.m4: New file. + + Module exitfail. + * m4/exitfail.m4: New file. + + Module c-stack. + * m4/c-stack.m4 (gl_C_STACK): New macro. + (jm_PREREQ_C_STACK): Check for . Use onceonly macros. + + Module error. + * m4/error.m4 (gl_ERROR): New macro. + (jm_PREREQ_ERROR): Use onceonly macros. + + Module fatal. + * m4/fatal.m4: New file. + + Module getloadavg. + * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros. + (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros. + + Module getpagesize. + * m4/getpagesize.m4: New file. + + Module getusershell. + * m4/getusershell.m4: New file. + + Module physmem. + * m4/physmem.m4: New file. + + Module posixver. + * m4/posixver.m4: New file. + + Module quotearg. + * m4/quotearg.m4: New file. + + Module quote. + * m4/quote.m4: New file. + + Module readutmp. + * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4. + + Module sig2str. + * m4/sig2str.m4: New file. + + Other. + * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to + ulonglong.m4. + * m4/intmax_t.m4: New file. + * m4/d-type.m4: Indentation. + * m4/jm-macros.m4: Update. + * m4/prereq.m4 (jm_PREREQ): Update. + (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4. + (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4. + (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4. + (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4. + (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4. + (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4. + (jm_PREREQ_HASH): Remove, obsoleted by hash.m4. + (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4. + (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4. + (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4. + (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4. + (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4. + (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4. + (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4. + (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4. + (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4. + (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4. + (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4. + * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros. + +2002-12-24 Bruno Haible + + * MODULES.txt: Update according to m4/ changes. + + Module gettext. + * config.rpath: New file, from gettext-0.11.5. + + * modules/*: New module descriptions. + * gnulib-tool: New file. + * MODULES.html.sh: New file. + +2002-12-21 Karl Berry + + * doc/fdl.texi: update to version 1.2. + +2002-12-19 Karl Berry + + * config/config.guess: update from prep. + +2002-12-18 Bruno Haible + + * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r. + * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise. + +2002-12-17 Bruno Haible + + * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h, + stdlib.h, string.h. + +2002-12-17 Bruno Haible + + * lib/canon-host.c (strdup): Remove unused declaration. + + * lib/fsusage.c: Include full_read.h. + (get_fs_usage): Use full_read instead of safe_read. + + * lib/utime.c (utime_null): Use SAFE_READ_ERROR. + +2002-12-12 Karl Berry + + * config/config.guess: update from prep. + +2002-12-11 Bruno Haible + + * m4/setenv.m4: New file, from gettext-0.11.5. + +2002-12-11 Bruno Haible + + * lib/setenv.h: Rewritten to cope with systems that have setenv() but + not unsetenv(). + * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following + modifications: + + 2002-12-11 Bruno Haible + + * setenv.c (alloca): Fall back to malloc. + (freea): New macro. + (setenv): Use freea() to free memory allocated with alloca(). + + 2002-11-13 Bruno Haible + + * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C + function declarations. + * unsetenv.c (unsetenv): Likewise. + + 2002-03-04 Bruno Haible + + Portability to AIX 4.3.3. + * unsetenv.c: New file, extracted from setenv.c. + * setenv.c: Move the unsetenv() function to unsetenv.c. + + 2001-12-20 Bruno Haible + + * setenv.c (__add_to_environ): Don't call realloc(NULL,...), + use malloc instead. For SunOS 4. + + 2001-12-11 Bruno Haible + + * setenv.c: Declare alloca. + (compar_fn_t): New typedef. + (KNOWN_VALUE, STORE_VALUE): Use it. + + * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c, + setenv.h. + +2002-12-10 Paul Eggert + + Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7. + * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS): + Choose values that are less likely to collide with system fnmatch + options. + * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not + defined (e.g., a pure POSIX system). + (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME + instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems. + +2002-12-06 Paul Eggert + + Undo the 2001-07-02 change for jm-glibc-io, as it was too much of + a pain in practice to deal with generated m4 files. This change + goes together with the 2002-12-04 unlocked-io.h change in ../lib. + + * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n + and jm-glibc-io.m4, as they are no longer a special case. + * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the + kludge and the auto-generation stuff. Check only whether the + functions are declared, not whether they exist, since older hosts + that don't declare the functions can't use the optimization anyway. + +2002-12-06 Jim Meyering + + * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'. + + Merge in changes from libc's misc/error.c, in preparation + for the merge of gnulib's changes back into libc. + + * lib/error.c (_): Define only if not already defined. + Move definition to follow all #include directives. + Include unlocked-io.h only if !_LIBC. + [_LIBC]: Include . + [USE_IN_LIBIO]: Include + (fflush): Tweak definition to use INTUSE. + (putc): Define. + +2002-12-05 Paul Eggert + + * lib/alloca.c [defined emacs]: Include "lisp.h". + (xalloc_die) [defined emacs]: New macro. + (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE. + [! defined emacs]: Include . + (POINTER_TYPE) [!defined POINTER_TYPE]: New macro. + (pointer): Typedef to POINTER_TYPE *. + (malloc): Remove decl; we now always use xmalloc. + (alloca): Use old-style definition, since Emacs needs this. + Check for arithmetic overflow when computing combined size. + +2002-12-04 Paul Eggert + + Do not generate unlocked-io.h automatically, since it's easier to + maintain it by hand. + + * lib/unlocked-io.h: New file, from GNU diffutils, + but with proper copyright notice and attribution. + * lib/gen-uio: Remove. + * lib/Makefile.am: Add copyright notice. + (libfetish_a_SOURCES): Add unlocked-io.h. + (BUILT_SOURCES, all-local): Remove unlocked-io.h. + (DISTCLEANFILES, io_functions): Remove macros. + (EXTRA_DIST): Remove gen_uio. + (unlocked-io.h): Remove rule. + +2002-12-04 Jim Meyering + + Reflect the fact that stat.c and lstat.c are no longer generated. + * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c. + (DISTCLEANFILES): Likewise. + (EXTRA_DIST): Likewise. + (all_local): Don't depend on stat.c or lstat.c. + (stat.c, lstat.c): Remove rules. + (EXTRA_DIST): Remove xstat.in. + + * lib/xstat.in: Remove file. Contents moved into stat.c. + * lib/stat.c: New file. Contents mostly from xstat.in. + * lib/stat.c: Rework so that it may serve to define rpl_lstat, too. + * lib/lstat.c: New file. Simply #define LSTAT and include stat.c. + + * lib/safe-read.c: Rework so that it may serve to define safe_write, + too. + * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c. + +2002-12-03 Jim Meyering + + * lib/safe-read.c, safe-write.c: Change variable names and comments, + but not semantics, to minimize the differences between these two files. + (safe_read): Change comment to mention SAFE_READ_ERROR. + + * lib/safe-read.c (IS_EINTR): Define. + (safe_read): Use IS_EINTR in place of in-function cpp directives. + +2002-12-02 Jim Meyering + + * lib/safe-read.c (EINTR): Define. + (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define. + (INT_MAX): Provide fallback. + (safe_read): Rewrite to iterate IFF the read fails with EINTR. + + * lib/safe-read.h (SAFE_READ_ERROR): Define. + +2002-12-02 Bruno Haible + + * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): + Define, taken from safe-read.c. + (INT_MAX): Provide fallback. + (safe_write): Rewrite to iterate IFF the write fails with EINTR. + * lib/safe-write.h (SAFE_WRITE_ERROR): Define. + + * lib/safe-read.c (EINTR): Remove definition. + (safe_read): Don't use EINTR if it is absent. + +2002-12-01 Jim Meyering + + * lib/safe-read.c: (safe_read): Also exit the loop when read returns + zero. + (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define. + +2002-11-27 Paul Eggert + + * lib/hash.c (hash_lookup, hash_get_first, hash_get_next, + hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();' + with `if (! (value < limit)) abort ();', for readability. + +2002-11-26 Karl Berry + + * lib/strdup.c: copy from libc again, with jim's ok. + * lib/.cppi-disable: re-add strdup.c + +2002-11-25 Karl Berry + + * lib/strtoll.c: copy from libc, meaning we now #include + instead of "strtol.c". + +2002-11-25 Karl Berry + + * config/install-sh: update from automake for variable quoting, $0 in + error msgs, etc. + + * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry. + * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new + entry. + +2002-11-25 Jim Meyering + + * lib/mktime.c: Sync from libc, now that it has the latest fix. + +2002-11-24 Karl Berry + + * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c, + regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl. + +2002-11-24 Jim Meyering + + Update from coreutils: + + * lib/mktime.c: Merge in changes from libc. + + Avoid a link-time failure on some Linux systems. + * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static' + (otherwise). + (__mon_yday): Declare with the STATIC attribute. + (__mktime_internal): Likewise. + Based on a report from Greg Schafer. + +2002-11-23 Jim Meyering + + * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc: + Use `unsigned', not `int', as type of index. + + * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include . + + * lib/fsusage.c: Remove unneeded parentheses around operands of + `defined'. + +2002-11-22 Paul Eggert + + * lib/quotearg.h: Allow multiple inclusion by surrounding with + "#ifndef QUOTEARG_H_". Include , for size_t, + so that we can be included first. + (PARAMS): Remove; we now assume C89 or later. All uses removed. + * lib/quotearg.c: Include quotearg.h immediately after config.h. + No need to include stddef.h or sys/types.h any more. + Surround local include files with "", not "<>". + Assume HAVE_LIMITS_H unconditionally, as we assume C89. + Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX, + HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS. + (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC. + (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT. + (ISPRINT): Remove; no longer needed now that we assume C89. + + (clone_quoting_options, quotearg_buffer, quotearg_n_options): + Preserve errno. + + (quotearg_buffer_restyled, quotearg_n, quotearg_n_style, + quotearg_char): Use SIZE_MAX rather than + (size_t) -1 when we are talking about "infinity". + + (quotearg_buffer_restyled): Fix bug when quoting trigraphs. + +2002-11-22 Paul Eggert + + * lib/hash.c: Avoid use of , as the GNU Coding Standards + hint that one should use `if (! x) abort ();' rather than `assert + (x);', and anyway it's one less thing to worry about configuring. + (hash_lookup, hash_get_first, hash_get_next, hash_find_entry, + hash_rehash, hash_insert): Use abort rather than assert. + +2002-11-22 Bruno Haible + + * lib/safe-read.h: Assume C89. Add comments. + (safe_read): Change return type to size_t. + * lib/safe-read.c (safe_read): Change return type to size_t. Handle + byte counts > SSIZE_MAX correctly. + * lib/safe-write.h: New file. + * lib/safe-write.c: New file. + * lib/full-read.h: New file. + * lib/full-read.c: New file. + * lib/full-write.h: Assume C89. Add comments. + * lib/full-write.c: Include safe-write.h. + (full_write): Rewritten to use safe_write. + Suggested by Jim Meyering and Paul Eggert. + +2002-11-21 Jim Meyering + + * lib/strdup.c (strdup): Tweak comment and initial #if/#include. + + Merge in changes from the coreutils. + + 2002-09-25 Paul Eggert + * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include + . + (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro. + (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than + int. Work more efficiently if X is the same width as uintmax_t. + Do not compare X to -1, to avoid bogus compiler warning. + (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast. + Don't assume that f_frsize and f_bsize are the same type. + + * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid + warning on FreeBSD. + + * lib/makepath.c (make_path): Restore umask *before* creating the final + component. + (make_path): Minor reformatting. + + * lib/xmalloc.c: Adjust to work with new autoconf macros, + AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef + HAVE_MALLOC/HAVE_REALLOC. + + * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as + dummy ones. At least on GNU/Linux systems, `auto' means something + else. + From Michael Stone. + +2002-11-21 Bruno Haible + + Remove case insensitive option matching. + * lib/argmatch.h (argcasematch): Remove declaration. + (ARGCASEMATCH): Remove macro. + (__xargmatch_internal): Remove case_sensitive argument. + (XARGMATCH): Update. + (XARGCASEMATCH): Remove macro. + * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove + case_sensitive argument. + (argcasematch): Remove function. + (__xargmatch_internal): Remove case_sensitive argument. + (main): Use XARGMATCH instead of XARGCASEMATCH. + + * lib/xmalloc.c: Change compile-time error message. Add comment about + required autoconf version. + +2002-11-20 Paul Eggert + + Merge argmatch cleanups from Bison. Assume C89. + + * lib/argmatch.c: Include config.h here, not in argmatch.h. + Include stdlib.h, for EXIT_FAILURE. + Always include , since we assume C89. + (EXIT_FAILURE): Remove pre-C89 bug workaround. + * lib/argmatch.h: Do not include or . + Include instead, since it's all we need for size_t. + (PARAMS): Remove. All uses removed. + (ARRAY_CARDINALITY): Do not bother to #undef. + (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg, + ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH): + Remove unnecessary parentheses. + (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH): + Insert necessary parentheses. + (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros. + (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT. + +2002-11-19 Bruno Haible + + * lib/mbswidth.c: Include mbswidth.h right at the beginning. + * lib/mbswidth.h: Include , for size_t. + + * lib/mbswidth.h (PARAMS): Remove macro. + (mbswidth, mbsnwidth): Use ANSI C function declarations. + * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise. + + * lib/gcd.h (PARAMS): Remove macro. + (gcd): Use ANSI C function declarations. + * lib/gcd.c (gcd): Likewise. + +2002-11-15 Bruno Haible + + * lib/strcspn.c: Include . + (strcspn): Use ANSI C function declaration. Change return type to + size_t. Use NULL. + * lib/strpbrk.c: Minimize diffs to glibc. Include . + (strpbrk): Use NULL. + * lib/strpbrk.h (PARAMS): Remove macro. + (strpbrk): Use ANSI C function declaration. + * lib/strstr.c: Don't include . + * lib/strstr.h (PARAMS): Remove macro. + (strstr): Use ANSI C function declarations. + +2002-11-14 Karl Berry + + * config/mkinstalldirs: `do' on separate line, instead of + `for var; do'. + +2002-11-06 Bruno Haible + + * lib/gcd.h (gcd): Change argument type to 'unsigned long'. + * lib/gcd.c (gcd): Likewise. + +2002-11-05 Bruno Haible + + * lib/gcd.h: New file, from gettext-0.11.5. + * lib/gcd.c: New file, from gettext-0.11.5. + +2002-11-05 Bruno Haible + + * lib/error.c [!_LIBC]: Include gettext.h instead of . + * lib/getopt.c [!_LIBC]: Include gettext.h instead of . + * lib/obstack.c [!_LIBC]: Include gettext.h instead of . + * lib/regex.c [!_LIBC]: Include gettext.h instead of . + + * lib/argmatch.c: Include gettext.h instead of and + . + * lib/makepath.c: Include gettext.h instead of and + . + + * lib/closeout.c: Include gettext.h instead of . + * lib/human.c: Include gettext.h instead of . + * lib/quotearg.c: Include gettext.h instead of . + * lib/rpmatch.c: Include gettext.h instead of . + * lib/unicodeio.c: Include gettext.h instead of . + * lib/userspec.c: Include gettext.h instead of . + * lib/version-etc.c: Include gettext.h instead of . + * lib/xmalloc.c: Include gettext.h instead of . + (textdomain): Remove definition. + * lib/xmemcoll.c: Include gettext.h instead of . + + * lib/long-options.c: Remove include of and definition of + _. + * lib/same.c: Remove include of and definition of _. + +2002-11-04 Owen Taylor + + * lib/config.charset: A few additions for Solaris. + +2002-11-04 Bruno Haible + + Make it possible to build libcharset with CC=gcc CFLAGS="-x c++". + * lib/localcharset.c (locale_charset): Declare as extern "C". + +2002-11-04 Bruno Haible + + * lib/config.charset: msdos in uk_UA uses CP1125. + +2002-11-04 Bruno Haible + + * lib/stpcpy.h: New file, from GNU gettext-0.11.5. + * lib/strcase.h: New file, from GNU gettext-0.11.5. + * lib/strpbrk.h: New file, from GNU gettext-0.11.5. + * lib/strstr.h: New file, from GNU gettext-0.11.5. + * lib/xgetcwd.h: New file, from GNU gettext-0.11.5. + +2002-11-04 Bruno Haible + + * lib/localcharset.c (locale_charset): Don't return an empty string. + +2002-11-04 Bruno Haible + + * lib/localcharset.c (get_charset_aliases): Add more Windows specific + aliases. + +2002-11-04 Bruno Haible + + * lib/config.charset: Update for newest glibc. Add canonical names + ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS. + +2002-11-04 Bruno Haible + + * lib/config.charset: Add support for NetBSD. + +2002-11-04 Bruno Haible + + * lib/config.charset [msdosdjgpp]: For Russian, use CP866. + +2002-11-01 Bruno Haible + + * configure.in: Add AC_CONFIG_AUX_DIR call. + (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile, + test/Makefile. + * Makefile.in (subdirs): Add m4, lib. Remove doc, test. + +2002-09-28 Karl Berry + + * config/srclist.txt: can't copy install-sh/mkinstalldirs from + installed automake until the next release, since changes have been + made. + +2002-09-25 Karl Berry + + * lib/strdup.c: copy from libc/string (via ../config/srclist*). + * lib/getopt*: copy from libc/posix. + * lib/gettext.h: copy from gettext. + * lib/.cppi-disable: add strdup.c, gettext.h. + +2002-09-25 Karl Berry + + * config/srclist.txt: enable gettext.h check. + * config/config.{guess,sub}: update from prep. + * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update + from automake 1.6.3. + See srclist*. + +2002-08-23 Stefan Monnier + + * regex.c (PATFETCH): Remove the translating fetch. + (PATFETCH_RAW): Rename to PATFETCH. + (set_image_of_range): New fun. + (SET_RANGE_TABLE_WORK_AREA): Use it. + (regex_compile): Don't translate the pattern chars so eagerly. + Only do it when inserting an `exactn' bytecode or when handling + a char-range. + (mutually_exclusive_p): Avoid empty statement. + +2002-07-06 Jim Meyering + + * m4/README: Don't mention Makefile.am.in. + Outline how I've tested changes to .m4 files. Yep, it's a pain. + +2002-07-01 Jim Meyering + + * lib/c-stack.c: Include sys/time.h. + From Volker Borchert. + +2002-06-26 Paul Eggert + + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc. + +2002-06-26 Paul Eggert + + * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT): + New macro. Use it uniformly instead of + (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H). + It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1 + reported by Vin Shelton. + +2002-06-22 Paul Eggert + + * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]: + Do not assume SA_SIGINFO behavior. + Bug reported by Jim Meyering on NetBSD 1.5.2. + +2002-06-22 Jim Meyering + + * m4/c-stack.m4: New file, from diffutils-2.8.2. + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK. + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE, + now that configure.ac uses AC_GNU_SOURCE. + (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU. + * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH. + + Update to latest tools. Suggestions from Paul Eggert. + * m4/stdbool.m4: New file, from diffutils-2.8.2. + * m4/gnu-source.m4: Update from diffutils-2.8.2. + * m4/fnmatch.m4: Likewise. + * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h) + to AC_HEADER_STDBOOL + +2002-06-22 Jim Meyering + + * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about + redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h. + +2002-06-22 Jim Meyering + + * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2. + + * lib/exitfail.c, exitfail.h: Likewise. + * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h. + + * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place + of fnmatch.h. + (EXTRA_DIST): Add fnmatch_loop.c. + (libfetish_a_SOURCES): Add c-stack.c and c-stack.h. + + * lib/fnmatch_loop.c: New file, from diffutils-2.8.2. + * lib/fnmatch.c: Update from diffutils-2.8.2. + * lib/fnmatch_.h: New file. From diffutils-2.8.2. + * lib/fnmatch.h: Remove file. + +2002-06-21 Jim Meyering + + * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2. + * m4/mbrtowc.m4: Likewise. + + * m4/mbstate_t.m4: Update from diffutils-2.8.2. + * m4/mbswidth.m4: Reflect name change: + s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T. + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise. + + * m4/lib-link.m4: Update from gettext-0.11.2. + * m4/gettext.m4: Likewise. + + * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h. + From Alfred M. Szmidt. + +2002-06-18 Paul Eggert + + * lib/file-type.h: Report an error if neither S_ISREG nor + S_IFREG is defined, instead of using a test specific to glibc + 2.2. This should be safe, since POSIX requires S_ISREG and + Unix Version 7 had S_IFREG. We don't need to check for + since we don't use any symbols that it defines. + +2002-06-15 Richard Dawe + + * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than + $@-t, so that each temporary file name is unique and valid in the first + 8 characters, for operation under DOS. + +2002-06-15 Paul Eggert + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author. + +2002-06-15 Jim Meyering + + Work even with DJGPP 2.03, which lacks support for symlinks. + From Richard Dawe. + * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK + is defined. + * lib/lchown.c (S_ISLNK): Likewise. + +2002-06-15 Jim Meyering + + * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef. + For GNU libc 2.2 and newer, ensure that and + have been included before this file. + +2002-06-14 Jim Meyering + + * lib/file-type.h: Use the version from diffutils-2.8.2. + * lib/file-type.c: Likewise. + +2002-06-07 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h. + They're needed at least for NetBSD 1.5.2. + ($statxfs_includes): Include those same headers. + ($statxfs_includes): Include sys/vfs.h if available. + ($statxfs_includes): Likewise for sys/statvfs.h. + Check for the following members in both structs statfs and statvfs: + f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen. + +2002-06-01 Jim Meyering + + * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro: + s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/. + +2002-05-28 Jim Meyering + + * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'. + Reported by Volker Borchert. + +2002-05-27 Jim Meyering + + Fix a problem seen only on nonconforming systems whereby ls.c's + use of localtime, and then of gettimeofday would cause trouble: + the localtime call used to initialize rpl_gettimeofday's save + mechanism would clobber ls's current local time information so + that in any long listing the first file would always be listed + with date 1970-01-01. Analysis by Volker Borchert. + + * lib/gettimeofday.c (localtime): Undefine. + (rpl_localtime): New function. + +2002-05-27 Jim Meyering + + * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace + localtime. + + * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to + use the replacement function; it wouldn't resolve at link time. + Reported by Volker Borchert. + +2002-05-22 Jim Meyering + + * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and + file-type.h. + * lib/file-type.h: New file. + * lib/file-type.c (file_type): New file/function. Extracted from + diffutils. + +2002-04-30 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT. + +2002-04-29 Paul Eggert + + * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed. + +2002-04-29 Paul Eggert + + * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h. + Do not check for alloca.h (no longer used) or stdbool.h (was never + used?). Add AM_C_PROTOTYPES since hard-locale.h uses it. + +2002-04-29 Paul Eggert + + * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1. + +2002-04-29 Jim Meyering + + * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN. + * m4/prereq.m4: Add jm_PREREQ_STRNLEN. + Use AC_FUNC_STRNLEN here instead. + + * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]). + With autoconf-2.53a, it's part of AC_PROG_CC. + +2002-04-28 Paul Eggert + + * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str). + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR. + +2002-04-28 Paul Eggert + + * lib/sig2str.h, lib/sig2str.c: New files. + * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h. + +2002-04-28 Paul Eggert + + * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid + depending on and WTERMSIG. Default to 64 instead + of 127, since 64 is the largest conceivable number for ancient + nonstandard hosts. + * lib/sig2str.c: Do not include ; no longer needed. + +2002-04-28 Jim Meyering + + * lib/sig2str.c (WTERMSIG): Remove definition (unused). + +2002-04-24 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro. + (jm_PREREQ): Use it. + + * m4/getloadavg.m4: Check for these headers: locale.h unistd.h + mach/mach.h fcntl.h. + Check for this function: setlocale. + +2002-04-24 Jim Meyering + + * lib/gettext.h: New file, from Gettext. + * lib/Makefile.am (INCLUDES): Remove -I../intl. + (libfetish_a_SOURCES): Add gettext.h. + +2002-04-16 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members: + ut_pid, ut_id, ut_exit. + +2002-04-16 Jim Meyering + + * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c). + (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define. + (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define. + +2002-04-12 Jim Meyering + + * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove + now-bogus check for f_type in sys/mount.h. Instead, just test for the + existence of the getmntinfo function. Needed for Darwin 5.3. + + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro. + This is necessary at least on Darwin 5.3. + + * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use + AC_FUNC_STRNLEN. Otherwise, we'd end up putting two copies of + strnlen.o in the library, and that makes some versions of ranlib + object. + +2002-04-12 Jim Meyering + + * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro. + +2002-04-09 Jim Meyering + + * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message + to be more precise. Rather than saying we're checking whether the + function `works', say what we're testing. + * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise. + Reported by Bruno Haible. + +2002-03-10 Jim Meyering + + * lib/makepath.c (make_path): Remove a comma from a diagnostic. + Suggestion from Santiago Vila. + +2002-03-08 Jim Meyering + + * lib/rename.c: Mention that this wrapper is needed also on + mips-dec-ultrix4.4 systems. + +2002-03-02 Jim Meyering + + * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME, + not HAVE_CLOCK_SETTIME. + +2002-02-27 Paul Eggert + + * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used. + Check for clock_settime. + +2002-02-27 Paul Eggert + + * lib/nanosleep.h: Rename to.... + * lib/timespec.h: New name for nanosleep.h. All uses changed. + + * lib/gettime.c: New file. + * lib/settime.c: New file. + * lib/stime.c: Remove. + + * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c, + timespec.h. Remove nanosleep.h. + +2002-02-25 Paul Eggert + + * m4/acl.m4: New file. + * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL. + Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now. + +2002-02-25 Paul Eggert + + * lib/acl.c, lib/acl.h: New files. + * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c. + +2002-02-24 Jim Meyering + + * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent + prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't + cause trouble. Reported by Nelson Beebe. + +2002-02-23 Paul Eggert + + * lib/path-concat.c (xpath_concat): Reorder code to pacify + compilers that don't know that xalloc_die never returns. + +2002-02-20 Jim Meyering + + * lib/getdate.c: Regenerate using bison-1.33. + +2002-02-17 Jim Meyering + + * config/config.guess (main): Don't use `head -1'; it's no longer + portable. Use `sed 1q' instead. + +2002-02-16 gettextize + + * m4/codeset.m4: Upgrade to gettext-0.11. + * m4/gettext.m4: Upgrade to gettext-0.11. + * m4/glibc21.m4: Upgrade to gettext-0.11. + * m4/iconv.m4: Upgrade to gettext-0.11. + * m4/isc-posix.m4: Upgrade to gettext-0.11. + * m4/lcmessage.m4: Upgrade to gettext-0.11. + * m4/lib-ld.m4: New file, from gettext-0.11. + * m4/lib-link.m4: New file, from gettext-0.11. + * m4/lib-prefix.m4: New file, from gettext-0.11. + * m4/progtest.m4: Upgrade to gettext-0.11. + +2002-02-15 Paul Eggert + + * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro. + (jm_PREREQ): Use it. + +2002-02-15 Paul Eggert + + * lib/posixver.c, lib/posixver.h: New files. + * lib/Makefile.am (libfetish_a_SOURCES): Add them. + +2002-02-02 Paul Eggert + Bruno Haible + + * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument. + (fwrite_success_callback): New declaration. + * lib/unicodeio.c (unicode_to_mb): New function, extracted from + print_unicode_char. Call failure callback instead of error. + (fwrite_success_callback): New function. + (exit_failure_callback): New function. + (fallback_failure_callback): New function. + (print_unicode_char): Call unicode_to_mb. + +2002-01-26 Jim Meyering + + * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g. + * m4/strnlen.m4: Remove file, now that it's part of autoconf. + +2002-01-26 Jim Meyering + + * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h. + +2002-01-22 Paul Eggert + + * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO. + +2002-01-22 Jim Meyering + + * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES). + Otherwise, some versions of automake would omit the rule that makes + Makefile from Makefile.in. + +2002-01-21 Paul Eggert + + * lib/xmemcoll.h, lib/xmemcoll.c: New files. + * lib/Makefile.am (libfetish_a_SOURCES): Add them. + * lib/memcoll.c: Include errno.h, and declare errno if not defined. + (memcoll): Set errno to zero if there is no error. + + * lib/quotearg.c (quotearg_buffer_restyled): + Fix bug with quoting buffers containing NUL when backslashing escapes. + This bug was exposed by the other changes in this patch. + (quotearg_n_options): New arg ARGSIZE. + All callers changed. + (quoting_options_from_style): New function. + (quotearg_n_style): Use it. + (quotearg_n_style_mem): New function. + + * lib/quotearg.h (quotearg_n_style_mem): New function. + +2002-01-19 Jim Meyering + + * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN. + Remove useless quotes: DF_PROG="df". + * m4/strnlen.m4: New file. + +2002-01-16 Paul Eggert + + * lib/backupfile.c (ISDIGIT): Comment fix. + * lib/getdate.y (ISDIGIT): Likewise. + * lib/posixtm.c (ISDIGIT, year): Likewise. + * lib/strverscmp.c (ISDIGIT): Likewise. + * lib/userspec.c (ISDIGIT): Likewise. + +2002-01-16 Jim Meyering + + * lib/getdate.y: Add three semicolons, each just before a closing + brace. Bison (as of version 1.31) no longer papers over that mistake. + +2002-01-05 Jim Meyering + + * lib/version-etc.c (version_etc_copyright): Update copyright year. + +2001-12-19 Paul Eggert + + * lib/closeout.c (close_stdout_status): If ferror (stdout), do + not silently exit merely because the output buffer happens to + have nothing pending. + +2001-12-18 Paul Eggert + + See the big note in ../ChangeLog. + * lib/human.c (suffixes): Prefer K to k for 1024. + (generate_suffix_backwards): New function. + (human_readable_inexact): Use it. + * lib/xstrtol.c (__xstrtol): If there is no number but there + is a valid suffix, assume 1. "MB" now means decimal, "MiB" binary. + Accept 'K' as well as 'k'. + +2001-12-15 Jim Meyering + + * lib/regex.h (__restrict_arr): Update from libc. + + * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs + as `remote' if the name starts with `//'. Suggested by Michael Stone. + (STREQ): Define. + +2001-12-14 Jim Meyering + + * m4/jm-macros.m4 (jm_MACROS): Check for iswspace. + Suggestion from Bruno Haible. + +2001-12-10 Jim Meyering + + * lib/linebuffer.c: Remove explicit declarations of xmalloc and + xrealloc, Instead, include "xalloc.h". + (initbuffer): Don't cast xmalloc return value to char*. + (readline): Reword comment. + Don't cast xrealloc return value to char* + Return NULL, not 0. + +2001-12-09 Jim Meyering + + * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning + about `signed and unsigned type in conditional expression'. + * lib/posixtm.c (posix_time_parse): Likewise. + + * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning. + + * lib/readtokens.c (readtoken): Declare an index to be of type unsigned + to avoid a pedantic warning. + + * lib/getstr.c: Don't include assert.h. + (getstr): Remove warning-evoking assertions. + Return -1 if offset parameter is out of bounds. + Change the type of a local from int to size_t. + + * lib/strftime.c (my_strftime_localtime_r): Include this function + definition in the `#if ! HAVE_TM_GMTOFF' block. + + * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc. + Include xalloc.h instead. + +2001-12-02 Jim Meyering + + * lib/tempname.c: Don't declare getenv, thus reverting the change of + 2001-11-18. It's no longer necessary, now that stdlib.h is always + included. + + * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded, + __unbounded, and __ptrvalue. Reported by Uwe H. Steinfeld. + +2001-11-30 Akim Demaille + + * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared + before being defined. + +2001-11-27 Paul Eggert + + * lib/quotearg.h (quotearg_n, quotearg_n_style): + First arg is int, not unsigned. + * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise. + (SIZE_MAX, UINT_MAX): New macros. + (quotearg_n_options): Abort if N is negative. + Avoid overflow check on hosts where size_t is 64 bits and int + is 32 bits, as overflow is impossible there. + Fix off-by-one typo that caused unnecessary reallocation. + +2001-11-27 Jim Meyering + + * lib/tempname.c: Merge with version from libc. + * lib/regex.c: Likewise. + + * lib/tempname.c: Include stdlib.h unconditionally. On some old + systems for which STDC_HEADERS is 0, it was not included, resulting in + a warning about an integer-to-pointer conversion problem with getenv. + Reported by Volker Borchert. + +2001-11-26 Jim Meyering + + * lib/gtod.h: Remove file. + * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h. + * lib/gettimeofday.c: Don't include gtod.h. + (GTOD_init): Remove function. + (rpl_gettimeofday): Do its job here instead, rather than aborting. + Suggestion from Volker Borchert. + +2001-11-23 Jim Meyering + + * lib/hash.h (struct hash_table): Don't define here. Merely declare + it. + * lib/hash.c (struct hash_table): Define it here instead. + +2001-11-22 Jim Meyering + + * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif. + +2001-11-20 Jim Meyering + + * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that + SunOS 4.1.4 and Solaris 2.5.1 lose, too. + +2001-11-19 Jim Meyering + + * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary + directory. Use "conftestXXXXXX" as the template. + Suggestion from Paul Eggert. + + * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor + immediately, so the test doesn't mistakenly hit the max-open-files + limit. + +2001-11-18 Paul Eggert + + * lib/tempname.c (TMP_MAX): Remove; no longer needed. + (TEMPORARIES): New macro. + (__gen_tempname): Use TEMPORARIES rather than TMP_MAX. This + removes an artificial limitation (e.g. HP-UX 10.20, where + TMP_MAX is 17576). + +2001-11-18 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv. + +2001-11-18 Jim Meyering + + * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning + on SunOS 4. + + * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those + files will be created before anything else. + +2001-11-17 Paul Eggert + + * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define + WINSIZE_IN_PTEM if defines struct winsize. + +2001-11-17 Jim Meyering + + * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro. + Prompted by a report from Bob Proulx. + + * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here. + Instead, require UTILS_FUNC_MKSTEMP. + +2001-11-17 Jim Meyering + + * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM. + Now, that's done as part of AC_FUNC_STRTOD. + +2001-11-17 Jim Meyering + + * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26 + that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable + rather than group writable. Patch by Juan F. Codagnone. + + * lib/readtokens.c: Remove explicit declarations of xmalloc and + xrealloc, Instead, include "xalloc.h". + + * lib/mountlist.c: Include unlocked-io.h after all system headers. + Remove explicit declarations of xmalloc, xrealloc, + and xstrdup. Instead, include "xalloc.h". + + * lib/argmatch.c, closeout.c, error.c, exclude.c: Include + unlocked-io.h. + * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c: + Likewise. + * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise. + + * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise. + Reported by Padraig Brady. + + * lib/mkstemp.c: #undef mkstemp. + Include config.h. + (rpl_mkstemp): Rename from mkstemp. + Protoize. + +2001-11-16 Jim Meyering + + * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include . + (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to + determine the amount of total physical memory, use pstat_getstatic. + HPUX-11 doesn't define _SC_PHYS_PAGES. + (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]: + If sysconf couldn't be used to determine the amount of available + physical memory, use both pstat_getstatic and pstat_getdynamic. + Based on a patch from Bob Proulx. + +2001-11-10 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function. + (jm_PREREQ): Use it. + +2001-11-09 Jim Meyering + + * m4/jm-macros.m4: Require autoconf-2.52f. + (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD): + Use these AC_-prefixed names, not the AM_-prefixed ones. + + * m4/afs.m4 (jm_AFS): Quote the body. Patch by Akim Demaille. + +2001-11-05 Jim Meyering + + * lib/xstat.in (slash_aware_lstat): Correct a misleading comment. + +2001-11-04 Jim Meyering + + * m4/fpending.m4: Remove unused cruft that saved, set, and restored + $DEFS. + +2001-11-03 Jim Meyering + + * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg + of AC_DEFUN. + + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to + know the name of the variable in the macro definition. + +2001-11-03 Jim Meyering + + * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args + in argmatch_to_argument call. + + * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an + argument. + + * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or + e.g., a fault due to an attempt to free a NULL pointer. + +2001-11-01 Jim Meyering + + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro. + * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD. + +2001-11-01 Jim Meyering + + * lib/dirfd.c, lib/dirfd.h: New files. + * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h. + + * lib/hash.c (hash_print) [TESTING]: Clean up. + +2001-10-22 Paul Eggert + + * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__, + to avoid a warning if -Wall. + +2001-10-22 Jeff Bailey + + * README: New file + * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi + (per RMS's instructions, this is now the canonical source) + * lgpl/, gpl/: New directories. + +2001-10-21 Paul Eggert + + * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job. + +2001-10-21 Jim Meyering + + * lib/obstack.c (_): Honor the setting of ENABLE_NLS. Otherwise, + this code would end up calling gettext even in packages built + with --disable-nls. + * lib/getopt.c (_): Likewise. + * lib/regex.c (_): Likewise. + +2001-10-20 Paul Eggert + + * m4/error.m4 (jm_PREREQ_ERROR): + Do not invoke AC_CHECK_FUNCS with strerror_r, as + AC_FUNC_STRERROR_R does that. + Check for strerror declaration. + + * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files + are supposed to have them these days. + (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached. + Merge changes from latest Autoconf CVS. + Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p, + and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since + POSIX decided to standardize on the int flavor of strerror_r. + +2001-10-20 Paul Eggert + + * lib/error.c (strerror_r): Do not declare unless !_LIBC. + Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P. + Use strerror_r that is only a macro, even if it is not a function. + (strerror): Check for HAVE_DECL_STRERROR before declaring. + (private_strerror): Use prototypes, not old-style function definition. + (print_errno_message): New function. + Support the POSIX 'int'-flavored strerror_r, as well as the traditional + char*-flavored one. + (error_tail, error, error_at_line): Use it. + +2001-10-11 Jim Meyering + + * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ... + and quote_n (1, ... to avoid clobbering a buffer. + +2001-10-05 Jim Meyering + + * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and + hash-pjw.h. + * lib/hash-pjw.c: New file (factored out of fileutils' remove.c). + * lib/hash-pjw.h: New file. + +2001-09-30 Jim Meyering + + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if + `struct fsstat' has the `f_fstypename' member. + Use that to define FS_TYPE, which is now used to make + the getfsstat link test tighter. + +2001-09-30 Jim Meyering + + * lib/mountlist.c [MOUNTED_GETFSSTAT]: + Include , for Apple Darwin. + Include sys/mount.h and sys/fs_types.h only if available. + (FS_TYPE): Define. + (read_filesystem_list): Use FS_TYPE. + +2001-09-29 Paul Eggert + + * lib/exclude.c (excluded_filename): 0 -> false, since it's + a boolean context. + +2001-09-29 Jim Meyering + + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS) + [one-argument getmntent function]): Include stdio.h before mntent.h. + SunOS 4.1.x needs it for the declaration of `FILE'. + Patch by Volker Borchert. + + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS) + Check for these headers: sys/param.h sys/ucred.h sys/mount.h + sys/fs_types.h, and make the link-test for getfsstat guard #include + directives with appropriate #if HAVE_*_H tests so that we can + detect getfsstat on Apple Darwin1.3.7 systems. + Reported by Nelson Beebe. + Fix harmless typo in cache variable name: s/getsstat/getfsstat/. + +2001-09-28 Paul Eggert + + Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which + #defines strtoimax. Also treat the other strto* functions + like strtoimax. + + * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): + Check for strtoul and strtoumax, + as those declarations are made even in the signed case. + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): + Likewise, for strtol and strtoimax. + +2001-09-28 Paul Eggert + + Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which + #defines strtoimax. Also treat the other strto* functions + like strtoimax. + + * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL. + (strtoul): Do not declare if HAVE_DECL_STRTOUL. + (strtoimax, strtoumax): Do not declare if already defined as a macro. + +2001-09-26 Jim Meyering + + Most macros in unlocked-io.h had the wrong number of arguments. + * lib/gen-uio: New script. + (USE_UNLOCKED_IO): Define to 1 if not already defined. + * lib/unlocked-io.hin: Remove file. + * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script, + rather than trying to embed it here. + (EXTRA_DIST): Add gen-uio. Remove unlocked-io.hin + Reported by Padraig Brady. + +2001-09-25 Volker Borchert + + * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable + `result'. + +2001-09-24 Jim Meyering + + * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS. + +2001-09-23 Jim Meyering + + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test + instead of the mere test for existence of mntent.h. The latter + would get a false-positive on AIX 3.4 systems. + In the outer getmntent if-block, don't die if neither of the getmntent + tests succeeds. Instead, just fall through and continue with the + remaining tests. + +2001-09-23 Jim Meyering + + * lib/mountlist.c: Remove useless parentheses in #if directives. + (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when + the deprecated MOUNTED symbol is no longer defined in mntent.h. + +2001-09-22 Jim Meyering + + * m4/gettext.m4: New file. From gettext. + * m4/lcmessage.m4: Sync with gettext -- this changes only comments. + * m4/progtest.m4: Likewise + * m4/isc-posix.m4: Decrement serial number to sync with gettext. + * m4/glibc21.m4: Likewise. + + * m4/libintl.m4: Remove. No longer used. + +2001-09-22 Jim Meyering + + * lib/localcharset.c: Update from latest gettext. + * lib/config.charset: Likewise. + +2001-09-20 Jim Meyering + + * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of + strtoimax. + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of + strtoumax. + +2001-09-20 Jim Meyering + + * lib/xstrtol.c (strtoimax): Guard declaration with + `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'. + The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0) + have their own, conflicting declaration of strtoimax in sys/inttypes.h. + (strtoumax): Likewise, for completeness (it wasn't necessary). + +2001-09-17 Paul Eggert + + * lib/strtoimax.c (HAVE_LONG_LONG): + Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned. + (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base), + to work around bug in IBM C compiler. + +2001-09-17 Jim Meyering + + * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4, + * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4, + * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4, + * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4, + * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED, + whenever the right hand side need not be expanded by the shell. + +2001-09-16 Paul Eggert + + * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C + library. It's not correct, as some older glibcs are buggy. + fnmatch wasn't fixed until glibc 2.2. + + Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no + special shell magic here. + +2001-09-16 Jim Meyering + + * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro. + * m4/jm-macros.m4: Require it. + +2001-09-16 Jim Meyering + + * lib/mkdir.c: New file. + +2001-09-15 Jim Meyering + + * m4/jm-macros.m4: Check for help2man. + +2001-09-11 Jim Meyering + + * m4/host-os.m4 (UTILS_HOST_OS): New file/macro. + The body, by Paul Eggert, was moved here from configure.in. + * m4/jm-macros.m4: Require UTILS_HOST_OS. + +2001-09-04 Paul Eggert + + * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro. + (jm_PREREQ): Use it. + +2001-09-04 Paul Eggert + + * lib/xreadlink.c (xreadlink): Omit size_t* arg. All uses changed. + Use ssize_t, not int, to store result of readlink. + Check for ssize_t overflow as well as size_t overflow, + as POSIX says the result of readlink is implementation-defined + when ssize_t overflows. + Remove unnecessary cast to char*. + Use free+malloc instead of realloc, as the storage doesn't need + to be preserved and it's clearer and can be more efficient that way. + (SIZE_MAX, SSIZE_MAX): New macros, if doesn't declare. + * lib/xreadlink.h (xreadlink): Update prototype. + +2001-09-04 Paul Eggert + + * lib/xgetcwd.c: Revert some of the previous change; intead, + fix the HAVE_GETCWD_NULL code to behave more like the + !HAVE_GETCWD_NULL code used to. + + Include "xalloc.h". + (xgetcwd): Do not return NULL when memory is exhausted; instead, + invoke xalloc_die. + +2001-09-03 Paul Eggert + + * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and + sys/param.h, as pathmax.h includes them. + +2001-09-03 Paul Eggert + + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD. + (jm_PREREQ_XGETCWD): New macro. + + * m4/getcwd.m4: New file. + +2001-09-03 Paul Eggert + + * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more + like the HAVE_GETCWD_NULL code. + Include pathmax.h if not HAVE_GETCWD. + Do not include xalloc.h. + (INITIAL_BUFFER_SIZE): New symbol. + Do not use xmalloc / xrealloc, since the caller is responsible for + handling errors. Preserve errno around `free' during failure. + Do not overrun buffer when using getwd. + +2001-09-03 Paul Eggert + + * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined + __GLIBC__ && __GLIBC__ >= 2), to decide whether to use + getcwd (NULL, 0). + +2001-09-03 Paul Eggert + + * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between + usage of FNM_CASEFOLD and FNM_LEADING_DIR. The bug was + spotted by Jim Meyering. + +2001-09-03 Jim Meyering + + * lib/xreadlink.c (xreadlink): Preserve errno around `free' during + failure. + +2001-09-02 Jim Meyering + + * lib/error.c: Update from GNU libc. + +2001-09-01 Jim Meyering + + * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name. + Used by df. + +2001-09-01 Jim Meyering + + * lib/xreadlink.c: New file. + * lib/xreadlink.h: New file. + * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and + xreadlink.h. + + * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it + doesn't conflict with sparc Solaris 7's definition in + /usr/include/sys/int_types.h. + + * lib/exclude.c: Use `""', not `<>' to #include non-system header + files. + (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp + and strncasecmp as r-values. Unixware didn't have declarations. + +2001-08-31 Paul Eggert + + * lib/xstrtol.h: Add copyright notice. + (_DECLARE_XSTRTOL): Improve quality of diagnostic for + LONGINT_INVALID_SUFFIX_CHAR. + +2001-08-31 Paul Eggert + + * lib/xstrtol.c (strtoimax): New decl. + +2001-08-31 Paul Eggert + + * lib/xgetcwd.c: Don't include pathmax.h. + Include stdlib.h and unistd.h if available. + Include xalloc.h. + (xmalloc, xstrdup, free): Remove decls. + (xgetcwd): Don't assume sizes fit in unsigned. + Check for overflow when computing sizes. + Simplify reallocation code. + +2001-08-31 Paul Eggert + + * lib/savedir.c (savedir): Remove size parameter, as POSIX says that + a directory's st_size can have an arbitrary value, so the old + usage could waste an arbitrary amount of memory. All uses + changed. + * lib/savedir.h: Update prototype. + +2001-08-31 Paul Eggert + + * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c. + + * lib/strtoimax.c: Renamed from strtoxmax.c, removing the + old strtoimax.c. + + Also, make the following further changes to make this file's + configuration more similar to that of strtol.c: + (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED. All uses changed. + (strtoumax, uintmax_t, strtoull, strtol): Remove. + (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED. + (strtoimax): Renamed from strtoumax. All uses of unsigned values + changed to signed values. + + And make the following changes as well: + Fix copyright notice, as 1999 was missing. + (verify): New macro. + (strtoimax): Check sizes at compile-time, not run-time. + Prefer strtol to strtoll if both work. + (main): Remove; it was not that useful and was a pain to maintain. + + * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c. + +2001-08-31 Jim Meyering + + * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication. + Use an initial, malloc'd, buffer of length 128 rather than + a statically allocated one of length 1024. + +2001-08-30 Paul Eggert + + Simplify code, partly by assuming autoconf 2.52 semantics. + + * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4. + + * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52. + (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52. + All uses removed. + (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T): + Move AC_REQUIRE to next-to-top level, to avoid confusion. + Use 2.52's AC_CHECK_TYPE instead of merely looking for the header. + * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require + jm_AC_HEADER_INTTYPES_H. + * m4/jm-macros.m4 (jm_MACROS): Likewise. + + * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4. + + * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): + Quote first arg of AC_DEFUN. + Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG + since they are needed to parse the include file even if we need + only xstrtoimax. Simplify logic behind the args to AC_REPLACE. + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise, + but with opposite signedness. + +2001-08-30 Paul Eggert + + Merge 'exclude' changes from tar 1.13.22. + This fixes one or two unlikely storage allocation overflow bugs, + but doesn't change user-visible behavior otherwise. + +2001-08-30 Paul Eggert + + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE. + (jm_PREREQ_EXCLUDE): New macro. + +2001-08-30 Paul Eggert + + * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct + tm to be declared. + +2001-08-30 Paul Eggert + + * lib/hash.c: Remove '2001' from copyright notice. + +2001-08-30 Paul Eggert + + * lib/full-write.h: New file. + * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h. + * lib/full-write.c: Correct credits, as cccp.c no longer + exists and anyway it was so heavily changed from the old cccp + code as to be unrecognizable. Include full-write.h. + (full_write): Return size_t, with short writes meaning failure. + All callers changed. This fixes a bug with large buffers + on 64-bit hosts. + * lib/utime.c: Include full-write.h. + +2001-08-30 Paul Eggert + + * lib/exclude.c (bool): Declare, perhaps by including stdbool.h. + (): Include only if HAVE_SYS_TYPES_H. + (, , , , ): + Include if available. + (): Include + (SIZE_MAX): Define if or doesn't. + (verify): New macro. Use it to verify that EXCLUDE macros do not + collide with FNM macros. + (struct patopts): New struct. + (struct exclude): Use it, as exclude patterns now come with options. + (new_exclude): Support above changes. + (new_exclude, add_exclude_file): + Initial size must now be a power of two to simplify overflow checking. + (free_exclude, fnmatch_no_wildcards): New function. + (excluded_filename): No longer requires options arg, as the options + are determined by add_exclude. Now returns bool, not int. + (excluded_filename, add_exclude): + Add support for the fancy new exclusion options. + (add_exclude, add_exclude_file): Now takes int options arg. + Check for arithmetic overflow when computing sizes. + (add_exclude_file): xrealloc might modify errno, so don't + realloc until after errno might be used. + + * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS): + New macros. + (free_exclude): New decl. + (add_exclude, add_exclude_file): Now takes int options arg. + (excluded_filename): No longer requires options arg, as the options + are determined by add_exclude. Now returns bool, not int. + +2001-08-30 Paul Eggert + + * lib/alloca.c (alloca): Arg is of type size_t, not unsigned. + +2001-08-27 Jim Meyering + + * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c + + * lib/version-etc.c (N_): Remove definition. + Revert most of last change. + Instead, simply don't mark the `Copyright...' string for translation. + Based on advice from Paul Eggert. + + * lib/strtoxmax.c: Tweak comment. + +2001-08-26 Jim Meyering + + * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX. + + * m4/xstrtoimax.m4: New file. + * m4/xstrtoumax.m4: Add comments explaining why we + AC_REPLACE_FUNCS(strtol). + +2001-08-26 Jim Meyering + + * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year + of copyright with `%s' so translators don't get an untranslated + message in 2002. + (COPYRIGHT_YEAR): Define. + (version_etc): Use fprintf rather than fputs. + Suggestion from Ulrich Drepper. + + * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c. + + * lib/strtoll.c: New file, from GNU libc. + * lib/xstrtoimax.c: New file. + + * lib/xstrtol.h: Add xstrtoimax. + * lib/strtoumax.c: New file. Simply include "strtoumax.c". + * lib/strtoimax.c: New file. Likewise, but first define + STRTOUXMAX_SIGNED. + + * lib/strtoumax.c: Factor to work both for unsigned and signed types, + ... + * lib/strtoxmax.c: ... then renamed to this. + +2001-08-18 Paul Eggert + + * m4/inttypes.m4: Add AC_PREREQ(2.13). + (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too. + (jm_AC_TYPE_INTMAX_T): New macro. + (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4. + + * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro. + + * m4/longlong.m4: Renamed from ulonglong.m4. + * m4/inttypes.m4: Renamed from inttypes_h.m4. + * m4/uintmax_t.m4: Removed. + +2001-08-13 Paul Eggert + + * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice. + Port to Solaris 8, where 'sed' requires a space after the 'r' + command, and where sh dislikes "$/". Clean up the spacing a bit. + Redirect output to $tmp just once. + +2001-08-12 Paul Eggert + + * lib/addext.c (): Include. + (errno): Declare if not defined. + (addext): Work correctly when pathconf returns -1 and leaves + errno alone because there is no limit. Also, work even if + pathconf returns a value greater than SIZE_MAX. + +2001-08-12 Jim Meyering + + * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4, + d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4, + fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4, + group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4, + jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4, + link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4, + mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4, + prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4, + rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, + strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4, + utime.m4, utimes.m4, xstrtoumax.m4: + Quote the first argument in each use of AC_DEFUN. + +2001-08-12 Jim Meyering + + * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]: + Simply `return getcwd (NULL, 0);'. + [! (defined __GLIBC__ && __GLIBC__ >= 2)]: + Use 1300 as initial value for length, not PATH_MAX. + + * lib/pathmax.h: Clean up cpp syntax. + +2001-08-12 Jim Meyering + + * lib/gettimeofday.c: New file. + * lib/gtod.h: New file. + * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h. + +2001-08-05 Jim Meyering + + * m4/jm-macros.m4: Require autoconf-2.52. + +2001-08-04 Jim Meyering + + * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if + stmt, to get in sync with glibc. + +2001-08-03 Paul Eggert + + The following changes are from gettext 0.10.39 as maintained by + Bruno Haible. + + * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID): + Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID + with inverted sense. All uses changed. + + * lib/mbswidth.c: Don't include . + Include and unconditionally. + (iswcntrl, mbsinit, ISCNTRL): New macros. + (mbsnwidth): Use K&R style function declarations. + Don't bother checking for MB_LEN_MAX == 1, since the compiler + can optimize it when MB_CUR_MAX == 1. + The width of control characters is zero, not 1. + +2001-08-03 Paul Eggert + + The following changes are from gettext 0.10.39 as maintained by + Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ. + + * m4/codeset.m4: Upgrade to serial AM1. + (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET; + all uses changed. Quote first arg of AC_DEFUN. + (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset. + + * m4/iconv.m4: Upgrade to serial AM2. + (AM_ICONV): Renamed from jm_ICONV; all uses changed. + Add --with-libconv-prefix. + Quote first arg of AC_DEFUN. Add description for ICONV_CONST. + (am_cv_func_iconv): Renamed from jm_cv_func_iconv. + (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv. + (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv. + * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings. + + * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN. + * m4/getline.m4 (AM_FUNC_GETLINE): Likewise. + * m4/glibc21.m4 (jm_GLIBC21): Likewise. + * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise. + * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise. + * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise. + * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise. + * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise. + * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise. + + * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for + string.h any more. + + * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no", + not the default value. + + 2001-06-25 Bruno Haible + * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES. + Also check for mbsinit. Needed for SCO 3.2v5.0.2. + Also include ; this is where AIX 3.2.5 declares wcwidth. + Also check for iswcntrl, used for wcwidth fallback. + Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability + to Autoconf 2.13. + +2001-08-03 Jim Meyering + + * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include', + as it was in the original. Reported by Paul Eggert. + +2001-07-16 Jim Meyering + + * m4/gettimeofday.m4: New file. + Prompted by a report from Bernhard Baehr. + +2001-07-15 Jim Meyering + + * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h + stuff. Now it's in ../Makefile.cfg. + +2001-07-15 Jim Meyering + + * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin. + (BUILT_SOURCES): Add unlocked-io.h. + (io_functions): Define. + (unlocked-io.h): New rule. + (DISTCLEANFILES): Add unlocked-io.h. + (all-local): Depend on unlocked-io.h, to ensure it is created. + + * lib/unlocked-io.hin: New file + + * lib/regex.c: Update from glibc. + +2001-07-05 Jim Meyering + + * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake + recommendation. + (libfetish_a_SOURCES): Put all .h files here instead. + Remove a thus-exposed (better checks in automake) duplicate and + two unnecessary .h files. + +2001-07-04 Jim Meyering + + * m4/Makefile.am.in (glibc-io.struct): New target. Rework the code + that generates jm-glibc-io.m4 so that it doesn't trigger any make + distcheck failure. + +2001-07-02 Jim Meyering + + The following changes were prompted by suggestions from Bruno Haible. + + * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4 + is now generated. + * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted + definition of EXTRA_DIST. + (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to + ensure that the generated file is created/updated whenever the list + of $(unlocked_functions) is changed. + (jm-glibc-io.m4): New rule. + (unlocked-io.h): New rule -- currently unused. + +2001-06-24 Jim Meyering + + * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an + unmatched right bracket, rather than kludging it with an extra, + falsely-matching quote in a comment. Patch by Akim Demaille. + +2001-06-11 Jim Meyering + + * lib/regex.c: Update from GNU libc. + +2001-05-27 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx. + Check for ut_type in struct utmp. + +2001-05-27 Jim Meyering + + * lib/readutmp.h (UT_TYPE): Define. + +2001-05-24 Jim Meyering + + * lib/argmatch.c: Include "quote.h". + (argmatch_invalid): Remove explicit `' quotes. Instead, use the + quote function. Reported by Göran Uddeborg. + +2001-05-22 Jim Meyering + + * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime), + now that we use the package-supplied version unconditionally. + (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason. + +2001-05-21 Jim Meyering + + * m4/regex.m4: Change a couple backticks to single quotes to avoid + shell syntax errors. + +2001-05-21 Alexandre Duret-Lutz + + * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__. + +2001-05-20 Paul Eggert + + * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): + Don't bother to check library strftime, since + we'll be using our own my_strftime function anyway. + Define my_strftime instead of strftime. + +2001-05-20 Alexandre Duret-Lutz + + * lib/dirname.c (dir_name): Compute append_dot using path, not newpath + which is not yet declared. + +2001-05-15 Jim Meyering + + * m4/regex.m4: Use proper quoting so brackets appear in the test + program. + Reported by, and with help from, Bruno Haible. + +2001-05-13 Jim Meyering + + * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if + undefined. + +2001-05-11 Paul Eggert + + dirname code cleanup. base_name now behaves more compatibly + with POSIX basename when given file names that have trailing + slashes, and similarly for dir_name. Add new primitives + base_len and dir_len. Put the directory-name-related decls + into dirname.h. + + * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h. + * lib/backupfile.c (base_name): Likewise. + * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise. + * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise. + * lib/makepath.c (strip_trailing_slashes): Likewise. + * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, + ISSLASH): Likewise. + * lib/rename.c (strip_trailing_slashes): Likewise. + * lib/same.c (base_name): Likewise. + * lib/stripslash.c (ISSLASH): Likewise. + + * lib/addext.c: Include after size_t is defined. + * lib/backupfile.c: Likewise. + + * lib/addext.c (addext): Use base_len to trim redundant + trailing slashes instead of doing it ourselves. + But do not trim the last slash if it is not redundant. + + * lib/backupfile.c (find_backup_file_name, + max_backup_version): Use base_len instead of rolling it ourselves. + Handle the case of "" and (on DOS) "C:" correctly. + + * lib/basename.c: Do not include , ; no longer + needed. Include , . + (base_name): Allow file names ending in slashes, other than names + that are all slashes. In this case, return the basename followed + by the slashes. This is more general, and can be used in places + where the original base_name purposely had an assertion failure. + (base_len): New function. + + * lib/dirname.c: Include instead of . + Do not include ; no longer needed. + Include xalloc.h. + (memrchr): Remove decl. + (dir_name_r): Remove. + (dir_len): Renamed from dirlen. All callers changed. + Rewrite in terms of base_name, for simplicity and consistency. + (dir_name): Never return NULL. All callers changed. + Do not include in test program; no longer needed. + return 0; is fine for test program. + + * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN): + New macros. + (base_name, base_len, dir_len, strip_trailing_slashes): New decls. + + * lib/path-concat.c (path_concat): Use base_len to compute + base length, not strlen; this means we cannot rely on memcpy + to null-terminate. + + * lib/same.c (STREQ): Remove. + (same_name): Handle the case where the basename ends in trailing '/'. + + * lib/stripslash.c (strip_trailing_slashes): Return nonzero if + a slash was stripped. Do not strip the last slash after a + file system prefix. + +2001-05-11 Paul Eggert + + * lib/Makefile.am (libfetish_a_SOURCES): + Add strftime.c, since we now compile it on all hosts. + + * lib/strftime.c (my_strftime): + Define to nstrftime if emacs, but only if my_strftime is not defined. + (extra_args, extra_args_spec, extra_args_spec_iso): Rename from + ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively. + Add one more extra argument: a nanoseconds value. + All uses changed. + (ns): New macro. + (my_strftime function): Add %N format. + (emacs_strftimeu): Renamed from emacs_strftime, + with extra ut argument. + +2001-05-09 Paul Eggert + + * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used. + +2001-04-21 Jim Meyering + + * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask + doesn't interfere. + +2001-04-21 Alexandre Duret-Lutz + + * m4/ftruncate.m4: Check for chsize. + Link with ftruncate.o unconditionally if ftruncate is missing. + This was required when cross-compiling to i586-mingw32msvc. + +2001-04-08 Jim Meyering + + * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is + recomputed; that's necessary when the offset spans a DST transition. + Patch by David J. MacKenzie. Reported by Hon-Yin Kok. + +2001-04-02 Jim Meyering + + * lib/regex.h, regex.c: Update from GNU libc. + +2001-03-24 Jim Meyering + + * m4/jm-macros.m4: Require autoconf-2.49d. + +2001-03-20 Bruno Haible + + * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv. + +2001-03-19 Paul Eggert + + * lib/version-etc.c (version_etc_copyright): Update to 2001. + +2001-03-17 Jim Meyering + + * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP, + now that the version in autoconf is equivalent. + (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP. + + * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R. + Suggestion from Akim Demaille. + + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME. + (jm_PREREQ_TEMPNAME): New function. + +2001-03-16 Paul Eggert + + * lib/tempname.c (uint64_t): Define to uintmax_t if + not defined, and if UINT64_MAX is not defined. + Required at least for Vax Ultrix4.3, which doesn't define uint64_t. + Reported by John David Anglin. + +2001-03-15 Bruno Haible + + * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also + resolve alias if codeset is empty. + * lib/config.charset (BeOS): Use wildcard syntax. + +2001-03-13 Jim Meyering + + * lib/path-concat.c (path_concat) + [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when + concatenating e.g., `C:' and `foo'. + From Bruno Haible. + +2001-03-06 Bruno Haible + + * lib/localcharset.c (locale_charset): Don't use + setlocale(LC_CTYPE,NULL). Don't return NULL. + * lib/unicodeio.c (print_unicode_char): Simplify accordingly. + +2001-03-06 Bruno Haible + + * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add + support for DOS/DJGPP. + +2001-03-01 Paul Eggert + + * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system + lacks mkstemp. Compile our own tempname.c if we compile our own + mkstemp.c, as mkstemp relies on tempname. + +2001-03-01 Jim Meyering + + * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that + AH_VERBATIM really does output its argument verbatim. + +2001-02-28 Paul Eggert + + * lib/Makefile.am (libfetish_a_SOURCES): + Add dup-safer.c, fopen-safer.c. + (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h. + + * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h: + * lib/unistd-safer.h: New files. + +2001-02-25 Paul Eggert + + The mkstemp replacement is taken from glibc 2.2.2, with some + portability fixes for use outside glibc, as follows: + + * lib/tempname.c (struct_stat64): New macro. + (direxists, __gen_tempname): Use it. + This avoids a portability problem with Solaris 8. + + * lib/tempname.c (): Include if HAVE_CONFIG_H. + (, , ): + Include only if STDC_HEADERS || _LIBC. + (): Include only if HAVE_FCNTL_H || _LIBC. + (): Include only if HAVE_UNISTD_H || _LIBC. + (): Include only if HAVE_SYS_TIME_H || _LIBC. + (__set_errno): Define this macro if doesn't. + (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE): + Define these macros if doesn't. + (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR): + Define these macros if + doesn't. Ignore S_ISDIR if STAT_MACROS_BROKEN. + (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64, + __xstat64): Define if not _LIBC. + (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC). + (__gen_tempname): Invoke gettimeofday only if + HAVE_GETTIMEOFDAY || _LIBC; + otherwise, fall back on plain "time". + Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600. + + * lib/mkstemp.c (__GT_FILE): Define to zero if not defined. + + * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2. + +2001-02-18 Paul Eggert + + * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h. + +2001-02-17 Paul Eggert + + * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC. + * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): + Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc). + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise. + +2001-02-17 Paul Eggert + + * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit): + Remove workaround macros for hosts that have mbrtowc but not + mbstate_t, as we now insist on proper declarations for both + before using mbrtowc. + +2001-02-17 Jim Meyering + + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for + getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt + further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on + UnixWare 7.1.1. + + * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc., + rather than AC_CACHE_VAL. + +2001-02-17 Jim Meyering + + * lib/strtoul.c: Sync from GNU libc. Use double quotes, not <...> + around included file name. + + * lib/strnlen.c (__strnlen): Merge in a change from GNU libc. + + * lib/strftime.c: Update from GNU libc (the only changes were to + comments). + +2001-02-17 Jim Meyering + + * lib/regex.c: Update from libc. + +2001-02-17 Bruno Haible + + * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype + clash. + +2001-02-16 Paul Eggert + + * lib/alloca.c (malloc): Undef before defining, since stdlib.h + may have defined it. Needed for Encore Umax-3.0.9.16b systems. + Reported by Mark Hounschell via Paul Eggert. + +2001-02-07 Jim Meyering + + * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug. + +2001-02-05 Jim Meyering + + * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because + it includes the patch required for `large file' support with at least + HP-UX's 10.20 /bin/cc. + +2001-02-03 Jim Meyering + + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of + AS_IF, now that it works once again (mysteriously). + * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise. + +2001-01-30 Jim Meyering + + Don't use filenames that are 8.3-equivalent to "conftest" on DOS. + * m4/chown.m4: Rename conftestchown to conftest.chown. + * m4/rename.m4: s/conftestdir/conftest.d1/ and + s/conftestdir2/conftest.d2/. + * m4/utimes.m4: s/conftestdata/conftest.data/ + Inspired by Pavel Roskin's change in autoconf. + +2001-01-30 Bruno Haible + + * lib/config.charset: Update for FreeBSD 4.2. + +2001-01-27 Jim Meyering + + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was + a use of AS_IF. + * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise. + +2001-01-26 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that + quotearg.c includes it. + +2001-01-26 Jim Meyering + + * lib/quotearg.c: Include stddef.h. + * lib/quote.c: Include stddef.h. + Reported by Axel Kittenberger. + + * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking + line in double quotes so that it evokes a better diagnostic. + [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise. + Reported by Axel Kittenberger. + +2001-01-24 Stefan Monnier + + * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not' + as if it was a `charset'. + +2001-01-21 Bruno Haible + + * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration + has const. + +2001-01-21 Bruno Haible + + * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg, + to avoid a warning. Add back 'const' to inptr. + +2001-01-20 Jim Meyering + + Be sure that headers are checked before used in code compiled + for the type checks. + * m4/jm-macros.m4 (jm_MACROS): Remove all header checks. + In place of that, invoke jm_CHECK_ALL_TYPES. + (jm_CHECK_ALL_HEADERS): New functions with the above checks. + (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS. + Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES; + The check for ssize_t was mistakenly run before the test for unistd.h. + + The configure-time check for stdbool.h was missing. + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH. + (jm_PREREQ_HASH): New function. + +2001-01-17 Jim Meyering + + * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE, + for autoconf-2.49c. + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise. + +2001-01-16 Jim Meyering + + * lib/basename.c: Include , needed by assert on SunOS 4. + From Bruno Haible. + +2001-01-14 Jim Meyering + + * m4/rename.m4: Use temporary directories named conftestdir{,2}, not + foo and bar. Create conftestdir/ in the script, not in the C code. + Remove directories in the script, not in the C code. + Remove conftestdir{,2} before trying to create the directory. + Make the entire configure script fail if the mkdir fails. + +2001-01-14 Jim Meyering + + * lib/rename.c: New file. From Volker Borchert. + Include stdlib.h, string.h or strings.h, and xalloc.h. + Use strip_trailing_slashes rather than open-coding it. + +2001-01-03 Paul Eggert + + * lib/strftime.c: Sync with glibc time/strftime.c 1.81. + +2001-01-03 Jim Meyering + + * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration + of local `inptr' to avoid warning with some system declarations of + iconv. + +2001-01-02 Volker Borchert + + * m4/rename.m4: New file. + * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME. + +2001-01-01 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available), + even on systems with utmpx.h. It's necessary for the declaration of + utmp's ut_user member. Reported by Andreas Jaeger. + + * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if + available. They are required for the declarations of getgrgid and + getpwuid resp. + (_jm_DECL_HEADERS): Check for grp.h and pwd.h. + Reported by Andreas Jaeger. + +2001-01-01 Alexandre Duret-Lutz + + * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by + expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN, + so `make install' also works in VPATH builds. + +2000-12-31 Alexandre Duret-Lutz + + * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR, + prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it + can be used in subdirectories. + +2000-12-29 Paul Eggert + + * lib/modechange.c: Do not assume that mode_t uses the + traditional octal encoding. E.g. "chmod 1 FOO" should set + the other-execute bit of FOO even if S_IXOTH != 1. + + (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH, + WOTH, XOTH, ALLM): New macros. + (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR, + S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH): + Use them. + (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID. + (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above. + (mode_compile): + No need to use uintmax_t; unsigned long is long enough. + Don't bother to get suffix since we don't use it. + +2000-12-26 Jim Meyering + + * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work + better with autoheader. + +2000-12-24 Jim Meyering + + * lib/hash.c (is_prime): Return explicit boolean values. + (hash_get_first): Return NULL to appease Irix5.6's 89. + Reported by Nelson Beebe. + +2000-12-19 Bruno Haible + + * lib/localcharset.c (locale_charset): Add support for Win32. + +2000-12-18 Paul Eggert + + * lib/physmem.h, lib/physmem.c: New files. + + * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c. + (noinst_HEADERS): Add physmem.h. + + * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and + 't' for compatibility with Solaris 8 sort. + +2000-12-18 Bruno Haible + + * lib/config.charset: Add support for BeOS. + +2000-12-17 Jim Meyering + + * m4/dos.m4 (jm_AC_DOS): New file and macro. + * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS. + +2000-12-16 Jim Meyering + + This bug had a serious impact on chown: `chown N:M FILE' (for integer + N and M) would have treated it like `chown N:N FILE'. + + * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/. + +2000-12-16 Jim Meyering + + * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define + SHELLS_FILE to a file name that's useful on djgpp systems. + Include stdlib.h. + (ADDITIONAL_DEFAULT_SHELLS): Define. + (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS. + Based mostly on a patch from Prashant TR. + +2000-12-16 Bruno Haible + + * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, + VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, + CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312. + +2000-12-08 Andreas Schwab + + * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an + invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set. + +2000-12-07 Jim Meyering + + * lib/stripslash.c (ISSLASH): Define. + (strip_trailing_slashes): Use ISSLASH rather than comparing against + `/'. + From Prashant TR. + + * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define. + (dir_name_r): Declare this function as static. + [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd + manifest itself on a name containing a mix of slashes and + backslashes. + Make this function work with names starting with a DOS-style + drive letter and colon prefix. + (dir_name): Append `.' if necessary. + Based mostly on patches from Prashant TR and Eli Zaretskii. + + * lib/dirname.h (dir_name_r): Remove prototype. + +2000-12-06 Paul Eggert + + * m4/off_t-format.m4: Remove this file. + * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT. + +2000-12-06 Jim Meyering + + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the + replacement strtoull, we may well need the replacement strtoul, too. + Check for declarations of strtoul and strtoull. + Check for strtol. Mainly as a cue to cause automake to include + strtol.c -- that file is included by each of strtoul.c and strtoull.c. + Check for limits.h -- strtol.c needs it. + +2000-12-05 Jim Meyering + + * lib/dirname.c (dir_name_r): Add `const' in a few local declarations. + +2000-12-04 Jim Meyering + + * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc. + Also include memory.h, stdlib.h, unistd.h if appropriate. + Reported by Andreas Jaeger (conflicting declaration of malloc). + +2000-12-02 Jim Meyering + + * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro. + * m4/jm-macros.m4 (jm_MACROS): require it. + +2000-12-02 Jim Meyering + + * lib/closeout.h: Make idempotent, to avoid some obscure warnings. + +2000-12-01 Paul Eggert + + * lib/memrchr.c: Include before any system include file. + +2000-11-30 Jim Meyering + + * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h. + +2000-11-30 Jim Meyering + + * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf. + +2000-11-29 Paul Eggert + + * lib/dirname.c (dir_name_r): Fix typo: int -> size_t. + +2000-11-26 Jim Meyering + + * lib/memcoll.c: Include sys/types.h. From Werner Almesberger. + +2000-11-22 Paul Eggert + + * lib/strftime.c (my_strftime): Do not invoke mbrlen with a + size of (size_t) -1; it's not portable. + +2000-11-17 Jim Meyering + + * lib/strstr.c: Update from GNU libc. + +2000-11-17 Akim Demaille + + * lib/obstack.h: Formatting changes. + (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would + prevent type checking. + (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't + cast the value to (void *): assigning a `foo *' to a `void *' + variable is valid. + (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int. + +2000-11-16 Jim Meyering + + * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc. + +2000-11-11 Jim Meyering + + * lib/error.c: Add a couple #includes, merging from GNU libc version. + +2000-11-10 Jim Meyering + + * lib/obstack.h: Update from GNU libc. + * lib/obstack.c: Likewise. + +2000-11-08 Bruno Haible + + * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb. + +2000-11-06 Paul Eggert + + * lib/getusershell.c (setusershell): Use rewind rather than + fseek/fseeko, to avoid configuration hassles with fseeko. + Don't bother opening SHELLS_FILE if shellstream is NULL; + it's not necessary. + +2000-11-05 Jim Meyering + + * lib/makepath.h (make_dir): Declare. + * lib/makepath.c (make_dir): Remove `static' attribute. + Tweak a comment. + +2000-11-04 Jim Meyering + + * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'. + +2000-11-04 Alexandre Duret-Lutz + + * lib/hash.c (hash_get_next): Fix a thinko: when ENTRY is the + last one in a bucket, advance to the next bucket. + +2000-11-02 Vesselin Atanasov + + * lib/fnmatch.c: Do not comment out all the code if we are using + the GNU C library, because in some cases we are replacing buggy + code in the GNU C library itself. + +2000-10-30 Stefan Monnier + + * regex.c (re_iswctype, re_wctype_to_bit): Fix braino. + (regex_compile): Catch bogus \(\1\). + +2000-10-30 Paul Eggert + + * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned. + (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs, + e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero. + +2000-10-30 Paul Eggert + + * lib/error.h, getline.h, modechange.h: + Remove "2000" from Copyright line, as the file hasn't been + changed this year other than in the copyright notice. + + * lib/xalloc.h: Add "2000" to Copyright line, as this file + was changed this year. + +2000-10-29 Jim Meyering + + * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf + renaming. + * m4/ls-mntd-fs.m4: Likewise + +2000-10-29 Jim Meyering + + * lib/xstat.in: Fix grammar in comment. + +2000-10-29 Greg Louis + + * lib/regex.h (__restrict_arr): Move definition out of #ifndef block. + Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but + doesn't define __restrict_arr. + +2000-10-28 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR. + (jm_PREREQ_MEMCHR): New function. + +2000-10-28 Jim Meyering + + * lib/memchr.c: Update from libc. + Adjust for portability: + [HAVE_STDLIB_H]: Include stdlib.h. + [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h. + Undef __memchr, too. + [!weak_alias]: Define __memchr to memchr. + + * lib/regex.c: Update from libc. + * lib/regex.h: Likewise. + * lib/getopt1.c: Likewise. + * lib/memcmp.c: Likewise. + + * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko. + Avoid using fseek, when possible -- it's broken by design. + Patch by Ulrich Drepper. + +2000-10-27 Stefan Monnier + + * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal) + (re_match_2_internal, re_match_2_internal, re_match_2_internal): + Giving in to popular pressure to shut up the compiler with casts. + +2000-10-26 Jim Meyering + + * lib/strftime.c: Update from libc. + +2000-10-25 Stefan Monnier + + * regex.c: More `unsigned char' -> `re_char' changes. + Also change several `int' into `re_wchar_t'. + (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove. + (PUSH_FAILURE_POINTER): Don't cast any more. + (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'. + We want GCC to complain, since this piece of code makes + re_match non-reentrant, which *should* be fixed. + (GET_BUFFER_SPACE): Use size_t rather than unsigned long. + (EXTEND_BUFFER): Use RETALLOC. + (SET_LIST_BIT): Don't cast. + (re_wchar_t): New type. + (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC + that those two functions will always properly return. + (IMMEDIATE_QUIT_CHECK): Cast to void. + (analyse_first): Use recursion rather than an explicit stack. + (re_compile_fastmap): Can't fail anymore. + (re_search_2): Don't check re_compile_fastmap for failure. + (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT. + Now also sets the new value (passed in a new argument). + (re_match_2_internal): Use it. + Also, use a new var `reg' of type size_t when looping through regs + rather than reuse the inappropriate `mcnt'. + +2000-10-25 Jim Meyering + + * lib/obstack.c: Update from libc. + +2000-10-24 Kenichi Handa + + * regex.c (regex_compile): Change the way of handling a range from + a char less than 256 to a char not less than 256. + +2000-10-24 Andrew Innes + + * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on + NT-Emacs only. + (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT, + so that re_search functions only quit when callers expect them to. + +2000-10-23 Jim Meyering + + * lib/hard-locale.c (hard_locale): Revert last change -- it was simply + wrong. That set_locale call must not have any side effects. + From Paul Eggert. + +2000-10-22 Jim Meyering + + * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC. + [CYCLIC]: Remove now-unused definition. + + * lib/save-cwd.c (O_DIRECTORY): Define, if needed. + (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".". + Suggestion from Ulrich Drepper. + +2000-10-21 Jim Meyering + + * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr. + * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro. + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr. + +2000-10-21 Jim Meyering + + * lib/dirname.c (memrchr): Declare if necessary. + (dir_name): Remove the restriction that there be no + trailing slashes. Now, this code skips past them, effectively + ignoring them. + [TEST_DIRNAME] (main): New unit tests. + + * lib/memrchr.c: New file from GNU libc. + Undef __memrchr, too. + [!weak_alias]: Define __memrchr to memrchr. + Guard weak_alias use with `#ifdef weak_alias'. + +2000-10-21 Jim Meyering + + * lib/dirname.c (dir_name_r): New function, factored out of dir_name. + (dir_name): Use dir_name_r. + * lib/dirname.h (dir_name_r): Declare it. + +2000-10-17 Jim Meyering + + * lib/quote.h (PARAMS): Define and use. + Reported by Akim Demaille. + + * lib/getopt.c: Update from libc. + +2000-10-16 Jim Meyering + + * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to + setlocale. + From Jan Fedak. + +2000-10-15 Stefan Monnier + + * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well. + +2000-09-25 Jim Meyering + + * lib/md5.h (rol): Define (from GnuPG). + + * lib/sha.c: Give credit (GnuPG) where due. + (M): Use rol rather than open-coding it. + Add a FIXME comment. + +2000-09-21 Jim Meyering + + * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added. + Reported by Michael Stone. + +2000-09-20 Jim Meyering + + * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c. + (noinst_HEADERS): Add sha.h. + Based on code from Scott G. Miller and from GnuPG. + +2000-09-18 Jim Meyering + + * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of + LIBS. Otherwise, everyone ends up linking with -lelf for some + configurations. + Reported by Mike Stone. + +2000-09-15 Jim Meyering + + * lib/regex.c: Update from libc. + +2000-09-10 Jim Meyering + + * lib/getopt.c (_getopt_internal): Update from glibc. + +2000-09-09 Jim Meyering + + * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't + think it should be used as a general replacement for isascii. + * lib/fnmatch.c: Likewise. + * lib/mbswidth.c: Likewise + * lib/regex.c: Likewise. + + Don't use atoi. + * lib/userspec.c: Include sys/param.h and limits.h. + Include xstrtol.h. + (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define. + (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define. + (parse_user_spec): Use xstrtoul, not atoi when converting numeric + UID, GID. Check range. + +2000-09-06 Jim Meyering + + * lib/getopt.c (_getopt_internal): Update from glibc. + +2000-08-30 Jim Meyering + + * lib/strftime.c: Merge in changes from GNU libc. + +2000-08-26 Jim Meyering + + * m4/jm-macros.m4: Use jm_FUNC_FPENDING. + * m4/fpending.m4: New file. + +2000-08-26 Jim Meyering + + * lib/closeout.c: Include "__fpending.h". + (close_stdout_status): Return right away if there's nothing to flush. + + * lib/Makefile.am (noinst_HEADERS): Add __fpending.h. + * lib/__fpending.c: New file. + * lib/__fpending.h: New file. + +2000-08-20 Jim Meyering + + * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than + `#if !HAVE_UTMPX_H'. The latter would lose on systems with neither + utmp.h nor utmpx.h. Reported by Eli Zaretskii. + +2000-08-11 J. David Anglin + + Improve fileutils installation on systems where running + programs (like install) can't be unlinked. + * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro. + * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT. + +2000-08-07 Paul Eggert + + Standardize on "memory exhausted" instead of "Memory exhausted" + or "virtual memory exhausted". + * lib/obstack.c (print_and_abort): Use "memory exhausted", not + "virtual memory exhausted". + * lib/same.c (same_name): Invoke xalloc_die instead of printing + our own message. + * lib/userspec.c (parse_user_spec): Likewise. + * lib/bumpalloc.h: comment fix + * lib/same.c, userspec.c: Include xalloc.h. + + * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[], + not char *const and pointing to a constant array. + * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise. + (xrealloc): Comment fix. + + * lib/userspec.c (parse_user_spec): + Don't translate a message until just before returning, + to avoid unnecessary translation. + +2000-08-07 Jim Meyering + + * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h, + chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c, + fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h, + getgroups.c, gethostname.c, getopt.h, group-member.c, + hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c, + linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c, + memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h, + pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c, + stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c, + strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c, + utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c, + yesno.c: Back out Copyright date changes for each file with no change + this year. This eases coordination with other programs using the same + source code modules. From Paul Eggert. + +2000-08-06 Paul Eggert + + * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int, + not char, for compatibility with glibc 2.1.3 strftime.c. + +2000-08-03 Greg McGary + + * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, + ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros. + (EXTEND_BUFFER): Use them. + +2000-08-01 Jim Meyering + + * lib/dirname.c (ISSLASH): Define. + (BACKSLASH_IS_PATH_SEPARATOR): Define. + (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which + both `\' and `/' may be use as path separators. + Based on a patch from Prashant TR. + +2000-07-31 Paul Eggert + + * lib/quotearg.c (quotearg_n_options): Don't make the initial + slot vector a constant, since it might get modified. + +2000-07-31 Jim Meyering + + * lib/xmalloc.c: Use `virtual memory exhausted', not + `Memory exhausted'. + * lib/obstack.c (print_and_abort): Likewise. + +2000-07-30 Paul Eggert + + * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0 + buffer, so that the caller can always quote one small + component of a "memory exhausted" message in slot 0. + From a suggestion by Jim Meyering. + +2000-07-30 Jim Meyering + + * lib/makepath.c (make_path): Quote the other instance, too. + + * lib/quotearg.c (N_STATIC_SLOTVECS): Define. + (STATIC_BUF_SIZE): Define. + (quotearg_n_options): Use only statically allocated storage when + N < N_STATIC_SLOTVECS and the length of the quoted result is smaller + than STATIC_BUF_SIZE. + +2000-07-29 Jim Meyering + + * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS. + * lib/dirname.c (dir_name): Likewise. + + * lib/basename.c (base_name): Use ISSLASH rather than comparing against + `/'. + + * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const. + (dir_name): Assert that there are no trailing slashes. + +2000-07-29 Bruno Haible + + * lib/mbswidth.h (mbswidth): Add a flags argument. + (mbswidth): New declaration. + (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros. + * lib/mbswidth.c (mbswidth): Add a flags argument. + (mbsnwidth): New function. + +2000-07-24 Jim Meyering + + * lib/mbswidth.c: Remove useless #else. From Bruno Haible. + +2000-07-23 Paul Eggert + + * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration. + +2000-07-23 Paul Eggert + + * lib/quotearg.c: Streamline by invoking multibyte code only if needed. + : Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX. + (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX). + (quotearg_buffer_restyled): If a unibyte locale, don't bother to + invoke multibyte primitives. + +2000-07-23 Paul Eggert + + * lib/quotearg.c: + Include even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX), + so that mbstate_t is always defined. + + Do not inspect MB_LEN_MAX, since it's incorrectly defined to + be 1 in at least one GCC installation, and this configuration + error is likely to be common. Ignoring MB_LEN_MAX hurts + performance on hosts that have mbrtowc but have only unibyte + locales, but I assume these hosts are rare. + +2000-07-23 Paul Eggert + + * lib/mbswidth.c (_XOPEN_SOURCE): + Don't define; this causes problems on Solaris 7. + (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare. + +2000-07-23 Jim Meyering + + * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these, + too: getgrgid, getpwuid, getuid. + +2000-07-23 Jim Meyering + + * lib/basename.c (base_name): Add an assertion. + +2000-07-23 Bruno Haible + + * lib/quotearg.c: When the system forces us to redefine mbstate_t, + shadow its mbsinit function. + +2000-07-17 Bruno Haible + + * lib/mbswidth.h: New file. + * lib/mbswidth.c: New file. + * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c. + (noinst_HEADERS): Add mbswidth.h. + +2000-07-17 Bruno Haible + + * lib/config.charset: Add support for FreeBSD. Improve support for + HP-UX and IRIX 6. + +2000-07-16 Bruno Haible + + * m4/mbswidth.m4: New file. + * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH. + +2000-07-15 Jim Meyering + + * lib/makepath.c: Include quote.h. + (make_path): Convert "`%s'" in format strings to "%s", and wrap each + corresponding argument in a `quote (...)' call. + Give better diagnostics. + + * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c. + (noinst_HEADERS): Add quote.h. + + * lib/quote.c (quote, quote_n): New file. Two functions taken verbatim + from tar's src/misc.c. + * lib/quote.h: New file. Prototypes for same. + +2000-07-14 Paul Eggert + + From a suggestion by Bruno Haible. + * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition. + Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT, + to decide whether to define the BeOS workaround macro; + this adjusts to the change to AC_MBSTATE_T. + +2000-07-14 Jim Meyering + + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require + jm_AC_TYPE_UINTMAX_T. + +2000-07-13 Paul Eggert + + * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style. + + * lib/quotearg.c (quoting_style_args, quoting_style_vals, + quotearg_buffer_restyled): Add support for + clocale_quoting_style. Undo previous change to + locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}" + and "{RIGHT QUOTATION MARK}" msgids. + +2000-07-10 Paul Eggert + + From a suggestion by Bruno Haible. + * m4/mbstate_t.m4 (AC_MBSTATE_T): + Renamed from AC_MBSTATE_T_OBJECT. All uses changed. + Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT + and mbstate_t, to a single-part test that simply defines mbstate_t. + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): + s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/. + +2000-07-10 Jim Meyering + + * m4/strerror_r.m4: Mirror the correction made in autoconf. + + * m4/gnu-source.m4: Output to confdefs.h directly. + Suggestion from Akim Demaille. + +2000-07-09 Paul Eggert + + The old behavior of quoting `like this' doesn't look good with + newer, ISO-style fonts. See: + http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html + + Instead, quote "like this" by default. Let the translator + tailor the locale-specific quoting behavior by providing + translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}. + + * lib/quotearg.c (N_): New macro. + (gettext_default): New function. + (quotearg_buffer_restyled): Use + gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and + gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote. + +2000-07-09 Jim Meyering + + * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required + to link seq. If so, set SEQ_LIBM to -lm. From Bruno Haible. + + * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro. + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it. + +2000-07-09 Jim Meyering + + * lib/Most files: Update copyright dates to include 2000. + +2000-07-08 Jim Meyering + + * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value + if not defined. + (xgethostname): Remove now-unnecessary #ifdef. + Move declaration of `err' into loop where it's used. + +2000-07-05 Paul Eggert + and Bruno Haible + + * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t + only if the test for an object-type mbstate_t fails. This + prevents us from mistakenly reporting that mbstate_t is a + system object type after we "#define mbstate_t int" to work + around its lack. + +2000-07-05 Paul Eggert + and Bruno Haible + + * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't. + +2000-07-05 Bruno Haible + + * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer + to strerror_r. + Include for use of isalpha. + +2000-07-05 Bruno Haible + + * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug + by allocating a larger buffer. Test the gethostname return value for + being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname + returns an error and ENAMETOOLONG isn't defined. + +2000-07-05 Bruno Haible + + * lib/quotearg.c (struct quoting_options): Simplify quote_these_too + dimension. + +2000-07-04 Jim Meyering + + * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead + of the deprecated AC_CHECKING. + +2000-07-04 Jim Meyering + + * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen. + Reported by Bruno Haible. + +2000-07-04 Jim Meyering + + * lib/quotearg.c: Make inclusion of independent of whether + HAVE_MBRTOWC is set. Required at least for irix-5.6, which + lacks mbrtowc. + +2000-07-03 Paul Eggert + + * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13. + Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H. + +2000-07-03 Paul Eggert + and Bruno Haible + + * lib/quotearg.c (mbrtowc): + Assign to *pwc, and return 1 only if result is nonzero. + (iswprint): Use ISPRINT when substituting our own mbrtowc. + +2000-07-03 Jim Meyering + + * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen. + +2000-07-03 Jim Meyering + + * lib/readutmp.h: [HAVE_UTMPX_H]: Include if HAVE_UTMP_H. + This is necessary to get a definition of e.g., UTMP_FILE on + HP-UX 10.20. + From Bob Proulx. + +2000-07-02 Jim Meyering + + * m4/mbstate_t.m4: Also define mbstate_t, if necessary. + + * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with + AC_LIBOBJ(function_name). + * m4/chown.m4: Likewise. + * m4/fnmatch.m4: Likewise. + * m4/ftruncate.m4: Likewise. + * m4/getgroups.m4: Likewise. + * m4/getline.m4: Likewise. + * m4/group-member.m4: Likewise. + * m4/jm-macros.m4: Likewise. + * m4/lstat.m4: Likewise. + * m4/malloc.m4: Likewise. + * m4/memcmp.m4: Likewise. + * m4/nanosleep.m4: Likewise. + * m4/putenv.m4: Likewise. + * m4/realloc.m4: Likewise. + * m4/regex.m4: Likewise. + * m4/stat.m4: Likewise. + * m4/strftime.m4: Likewise. + +2000-07-02 Jim Meyering + + * lib/quotearg.c (mbstate_t): Don't define here. + +2000-07-02 Jim Meyering + + * lib/nanosleep.c (SIGCONT): Define if not already defined. + +2000-07-01 Jim Meyering + + * m4/uptime.m4: Put double quotes around use of $cross_compiling. + +2000-07-01 Jim Meyering + + * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated + problem. + +2000-07-01 Bruno Haible + + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific + macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV. + +2000-07-01 Bruno Haible + + * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV, + per change in ../m4/ls-mntd-fs.m4. + (read_filesystem_list): Ignore symbolic links. + +2000-06-29 Jim Meyering + + * lib/same.c: Include or , as appropriate, + for declaration of strcmp. + + * lib/long-options.c: Include , for declaration of exit. + + * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]: + Avoid warning by casting result to `char *' to remove `const'. + +2000-06-28 Jim Meyering + + * m4/mbstate_t.m4: Use stdlib.h, not stdio.h. The latter is not + included by quotearg.c, for which we perform this test. From + Bruno Haible. + +2000-06-27 Bruno Haible + + * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well. + * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either or + exists, put readutmp.o into LIBOBJS. + +2000-06-27 Bruno Haible + + * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c. + +2000-06-26 Paul Eggert + + savedir now sets errno on failure and invokes xmalloc to get memory. + Fix a couple of other minor bugs while we're at it. + + * lib/savedir.c (): Do not include; there's no need. + (NAMLEN): Remove macro. + (malloc, realloc): Remove decls. + (stpcpy): Likewise. + ("xalloc.h"): Include. + (NAME_SIZE_DEFAULT): New macro. + (savedir): Use xmalloc / xrealloc to allocate memory. + Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero. + Skip "" directory entries. + Use strlen to calculate directory entry length, since the old method + is rarely used these days and isn't worth supporting. + Don't use a pointer after freeing it. + Check for integer overflow when calculating allocation size. + Use memcpy to copy entries, instead of stpcpy. + Set errno properly when returning NULL. + Check for readdir error. + +2000-06-26 Jim Meyering + + * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort. + +2000-06-25 Jim Meyering + + * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around + Linux header bug when _XOPEN_SOURCE is defined to 500. + +2000-06-25 Bruno Haible + + * lib/unicodeio.c (print_unicode_char): Work around ansi2knr + deficiency. + +2000-06-25 Bruno Haible + + * lib/getusershell.c (xmalloc, xrealloc): Remove functions. + Include xalloc.h. + Don't include . Don't declare malloc, realloc. + +2000-06-24 Jim Meyering + + * m4/strerror_r.m4: Revive this file -- to try out an experimental + version of AC_FUNC_STRERROR_R that may work even on BeOS, a system + for which strerror does return char*, but which lacks a conveniently + accessible declaration of the function. If the compile-test says + strerror_r doesn't work, then resort to a `run'-test that works on + BeOS and segfaults on DEC Unix. + +2000-06-24 Jim Meyering + + * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r. + +2000-06-23 Paul Eggert + + * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT. + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it. Add check for iswprint. + +2000-06-23 Paul Eggert + + * lib/quotearg.c: Include after , for Solaris 2.5. + (mbrtowc, mbstate_t): Define substitutes if + HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT. + (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT, + not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H). + +2000-06-23 Jim Meyering + + * m4/afs.m4: Add missing AC_MSG_RESULT. + Reported by Bruno Haible. + + * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/. + Suggestion from Bruno Haible. + +2000-06-23 Jim Meyering + + * lib/getpass.c: New file, from Bruno Haible. Required for BeOS. + +2000-06-21 Jim Meyering + + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass. + +2000-06-21 Jim Meyering + + * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c. + (noinst_HEADERS): Add getstr.h. + + * lib/getline.c (getstr): Move into a separate file. + * lib/getstr.c (getstr): New file, extracted from getline.c, with + the following changes: new parameter, delim2; both delim[12] + parameters have type `int', not `char'. The latter would lose + with 8-bit delimiters. + * lib/getstr.h: New file. + +2000-06-21 Bruno Haible + + * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller + than 1024, return a memory chunk of least possible size, instead + of size PATH_MAX + 2. In the loop, increment the size proportionally. + Use free/xmalloc instead of xrealloc to avoid copying for very long + paths. + +2000-06-21 Bruno Haible + + * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is + the empty string. + +2000-06-21 Bruno Haible + + * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an + address, not strdup. Include and don't declare free(). + +2000-06-19 Jim Meyering + + * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define. + +2000-06-18 Jim Meyering + + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir. + + * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the + `checking whether...' message to be consistent with that of the + lstat test. + +2000-06-18 Jim Meyering + + * lib/mkdir.c: Remove file, due mainly to copyright incompatibility. + Besides, these days every porting target provides a mkdir function. + + * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as + needed. (this snippet comes from src/system.h). + +2000-06-16 Bruno Haible + + * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C. + +2000-06-15 Paul Eggert + + * lib/human.c (adjust_value): New function. + (human_readable_inexact): Apply rounding style even when + printing approximate values. + +2000-06-14 Paul Eggert + + * lib/human.c (human_readable_inexact): Allow an input block + size that is not a multiple of the output block size, and vice versa. + Reported by Piergiorgio Sartor. + +2000-06-14 Paul Eggert + + * lib/getdate.y (get_date): Apply relative times after time + zone indicator, not before. Reported by Todd A. Jacobs. + +2000-06-13 Jim Meyering + + * lib/Makefile.am (all-local): Depend on lstat.c and stat.c. + + * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c. + +2000-06-12 Paul Eggert + + * lib/xstat.in: Include in lstat, to declare "free". + +2000-06-12 Jim Meyering + + * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with + AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an + optional argument. + * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply + the optional argument, `lib'. + +2000-06-08 Jim Meyering + + * m4/largefile.m4: Remove file (now that it's part of autoconf). + +2000-06-04 Paul Eggert + + Rewrite largefile configuration so that we don't need to run + getconf and don't need AC_CANONICAL_HOST. [I'm leaving the use of + AC_CANONICAL_HOST in configure.in -- jmm] + + * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS, + AC_SYS_LARGEFILE_SPACE_APPEND): Remove. + (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro. + (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from + CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY. + All uses changed. + Instead of inspecting the output of getconf, try to compile the + test program without and with the macro definition. + (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check + for getconf. Instead, check for the needed flags by compiling + test programs. + +2000-06-04 Paul Eggert + + * lib/strnlen.c: Include if HAVE_CONFIG_H. + +2000-06-04 Jim Meyering + + * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like + SunOS 4.1.4 for which gid_t is an unsigned type. + +2000-06-03 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS, + now that autoconf requires that. + + * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required + #undefs. E.g., #undef HAVE_DECL_FERROR_UNLOCKED. + Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that. + +2000-06-03 Jim Meyering + + * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr. + +2000-06-03 Bruno Haible + + * m4/glibc21.m4: New file. + * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21. + +2000-06-03 Bruno Haible + + * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or + newer, don't install charset.alias. + * lib/config.charset: Change the Linux/glibc rules so they become empty + on glibc-2.1 or newer. + +2000-06-02 Jim Meyering + + * lib/mountlist.c: Back out last change. Instead, do this... + * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the + me_dummy member using the same `ignore'-testing code. + * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored + fs_type strings. + From Mark D. Roth. + +2000-05-29 Jim Meyering + + * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore + mounts with the `ignore' attribute. Based on a patch from + Mark D. Roth. + +2000-05-28 Jim Meyering + + * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from + jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. + * m4/stat.m4: Likewise. + * m4/lstat.m4: Likewise. + * m4/lstat-slash.m4: Remove file (absorbed into autoconf). + + * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R. + * m4/strerror_r.m4: Remove file (absorbed into autoconf). + +2000-05-26 Jim Meyering + + * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'. + +2000-05-24 Jim Meyering + + * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that + autoconf requires that. + * m4/lib-check.m4: Likewise. + * m4/jm-macros.m4: Likewise. + * m4/strftime.m4: Likewise. + + * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in + AC_CHECK_DECLS, now that autoconf requires that. + +2000-05-22 Jim Meyering + + * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. + * m4/lstat.m4: Likewise. + +2000-05-22 Jim Meyering + + * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block. + +2000-05-20 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro. + (jm_PREREQ): Use it. + +2000-05-18 Jim Meyering + + * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list + back, too, since it may have been modified by allocate_entry. + (hash_delete): Rewrite to use neither the assignment operator + nor the comma operator in an if-expression. + +2000-05-15 Paul Eggert + + * lib/closeout.c: + , , , (STDOUT_FILENO): + Remove; no longer needed. + "quotearg.h": Add include. + (file_name): Do not bother to explicitly initialize to NULL; it's less + efficient on some hosts. + (close_stdout_status): Remove test as to whether stdout was already + closed; it breaks for the case "echo x | sort >&-". + Quote file name colons. + Do not assume that _("write error") lacks format strings. + +2000-05-15 Jim Meyering + + * lib/version-etc.c (version_etc_copyright): Update the copyright + string used in all --version output. + +2000-05-14 Jim Meyering + + * lib/closeout.c (close_stdout_set_file_name): New function. + (close_stdout_status): Use new file-scoped global. + Return right away if fstat says the stdout file descriptor is invalid. + * lib/closeout.h (close_stdout_set_file_name): Declare. + +2000-05-10 Jim Meyering + + * lib/closeout.c [default_exit_status]: New file-scoped variable. + (close_stdout_set_status): New function. + * lib/closeout.h (close_stdout_set_status): Declare. + +2000-05-09 Jim Meyering + + * m4/gettext.m4: Rename this... + * m4/libintl.m4: ...to this. + +2000-05-08 Jim Meyering + + * lib/long-options.c: Don't include closeout.h. + (parse_long_options): Don't call close_stdout for --version. + +2000-05-06 Paul Eggert + + * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to + be 500, instead of _GNU_SOURCE to be 1, to work around glibc + 2.1.3 bug. This avoids a clash when files like regex.c define + _GNU_SOURCE. + +2000-05-06 Jim Meyering + + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit. + (AC_REPLACE_FUNCS): Add strnlen. + + * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file. + * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY. + + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around + AC_SEARCH_LIBS call for nanosleep. + (LIB_NANOSLEEP): Set and AC_SUBST. + +2000-05-06 Jim Meyering + + * lib/strnlen.c: Undefine __strnlen and strnlen. + [!weak_alias]: Define __strnlen to strnlen. + + * lib/atexit.c: New file, from libiberty. + +2000-05-06 Jim Meyering + + * lib/closeout.c (close_stdout_status): Also check for errors on the + stderr stream. + +2000-05-05 Jim Meyering + + * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around + AC_SEARCH_LIBS call for clock_gettime. + (LIB_CLOCK_GETTIME): Set and AC_SUBST. + + * m4/search-libs.m4: Update from autoconf. + + su doesn't work on Solaris 2.6. + * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include + . Reported by Dragos Harabor. + +2000-05-05 Bruno Haible + + * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and + memcpy instead of xmalloc, xrealloc, path_concat. + (locale_charset): Treat empty environment variables as absent. + (DIRECTORY_SEPARATOR, ISSLASH): New macros. + +2000-05-04 Jim Meyering + + * lib/getopt.c: Update from glibc. + * lib/obstack.c: Likewise. + * lib/obstack.h: Likewise. + * lib/regex.c: Likewise. NB: K&R compiler support is dropped for this + file + + * lib/regex.h: Likewise. + * lib/strndup.c: Likewise. + * lib/strnlen.c: New file, from glibc. + +2000-05-03 Jim Meyering + + * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup. + +2000-05-02 Paul Eggert + + * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if + this is needed to make ftello visible (e.g. glibc 2.1.3). Use + compile-time test, rather than inspecting host and OS, to + decide whether to define _LARGEFILE_SOURCE. + +2000-05-01 Jim Meyering + + * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING. + + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support. + Based on a patch from Bruno Haible. + +2000-05-01 Jim Meyering + + * lib/full-write.c (full_write): Remove `FIXME' part of comment. + +2000-04-29 Jim Meyering + + * lib/path-concat.c: Declare strdup only if it's not defined. + * lib/canon-host.c: Likewise. + +2000-04-28 Jim Meyering + + * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to + avoid redefinition warning on some systems (HPUX). Otherwise, regex.h + is included first, then limits.h is included by locale.h by libintl.h. + From John David Anglin. + +2000-04-25 Jim Meyering + + * lib/makepath.c (S_IRWXUGO): Define. + (make_path): Always perform explicit chmod if MODE specifies any + of the `special' permission bits. Prompted by a bug report against + install from Mate Wierdl and Joost van Baal. + +2000-04-18 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro. + (jm_PREREQ): Use it. + +2000-04-18 Jim Meyering + + * lib/README: New file. + + * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define + getpagesize. For BeOS. Based on a patch from Bruno Haible. + +2000-04-17 Jim Meyering + + Get it right :-) + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the + actual #define via AH_VERBATIM. Don't need separate AC_DEFINE. + Suggestion from Akim Demaille. + +2000-04-17 Jim Meyering + + * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since + the definition of it to rpl_strftime also defined-away the system's + declaration. + +2000-04-15 Jim Meyering + + Use `C' to denote so-called `contiguous' files, the same way + that tar does. + * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define. + (ftypelet): Use S_ISCTG. + From Michael Deutschmann. + +2000-04-14 Jim Meyering + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg + form of AC_DEFINE. Otherwise, the #ifndef in AH_VERBATIM gets + clobbered. + +2000-04-14 Jim Meyering + + * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime. + +2000-04-13 Jim Meyering + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new + AH_VERBATIM to insert required #ifndef into config.h.in. + Suggestion from Akim Demaille. + +2000-04-12 Jim Meyering + + * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not + `AC_CHECK_HEADER' to check for locale.h. Thanks to a report from + Christian Krackowizer. + + More code moved from ../configure.in into (jm_CHECK_ALL_TYPES). + * m4/jm-macros.m4 (_GNU_SOURCE): Define. + (AC_SYS_LARGEFILE): Require. + (AM_C_PROTOTYPES): Require. + +2000-04-08 Jim Meyering + + * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3 + names don't conflict. Reported by Eli Zaretskii. + +2000-04-07 Jim Meyering + + * lib/putenv.c: Move inclusion of errno.h so it follows that of + sys/types.h, to work around system header problems on AIX 3.2.5. + From Bruno Haible. + +2000-04-07 Bruno Haible + + * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv + bug. Deal with the different error behavior of Irix iconv. + +2000-04-05 Paul Eggert + + * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on + IRIX if the installer said otherwise. + +2000-04-05 Jim Meyering + + Portability tweaks required for ultrix4.3. + * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include . + (jm_CHECK_DECLS): Add getutent to the list of functions. + (_jm_DECL_HEADERS): Add utmpx.h. + From John David Anglin. + + * m4/strftime.m4: Back out the 2000-04-02 change. + Instead of that change, simply undefine putenv in the test program. + +2000-04-05 Jim Meyering + + Portability tweaks required for ultrix4.3. + * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare + getutent. + * lib/readutmp.c: Include sys/types.h before sys/stat.h. + * lib/canon-host.c: Declare strdup. + * lib/path-concat.c: Likewise. + From John David Anglin. + +2000-04-04 Jim Meyering + + Be more DOS 8.3-friendly. + * lib/ref-add.sin: Renamed from ref-add.sed.in. + * lib/ref-del.sin: Renamed from ref-del.sed.in. + * lib/Makefile.am: Reflect renaming. + Reported by Eli Zaretskii. + + Use a temporary file name that won't clash with `charset.alias' + in the DOS 8.3 name space. + * lib/Makefile.am (charset_tmp): Define. + (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t. + (uninstall-local): Likewise. + Reported by Eli Zaretskii. + +2000-04-03 Jim Meyering + + * m4/gettext.m4: Fix typo in comment. + + * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from + textutils/configure.in). Suggestion from Paul Eggert. + (AC_CHECK_FUNCS): Add nl_langinfo. (also from textutils/configure.in) + +2000-04-02 Paul Eggert + + * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment + variable in the shell rather than using putenv, which isn't + portable. This avoids the configure-time inter-test dependency + on the potentially-renamed putenv function. + +2000-03-30 Paul Eggert + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include + before checking struct stat.st_blksize, so that + HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly. + +2000-03-29 Paul Eggert + + * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime, + since strftime.c uses HAVE_STRFTIME to decide whether to use + the underlying strftime. + +2000-03-29 Paul Eggert + + * lib/time/strftime.c (my_strftime): Make sure we call the system + strftime, not ourselves, when invoking the underlying strftime. + +2000-03-24 Jim Meyering + + * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in. + (charset_alias): Define. + (install-exec-local): Factor out common code. + (uninstall-local): Split lines longer than 80. + (ref-add.sed, ref-del.sed): Remove rules... (do the following instead) + (SUFFIXES): Define. + (.sed.in.sed): New rule. Don't redirect directly to $@. + (CLEANFILES): Add ref-add.sed and ref-del.sed. + +2000-03-19 Bruno Haible + + * lib/config.charset: Output a line containing "Packages using this + file". + * lib/ref-add.sed.in, lib/ref-del.sed.in: New files. + * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed, + ref-del.sed): New rules. + +2000-03-17 Jim Meyering + + * lib/unicodeio.c (): Include only #if HAVE_STRING_H. + Otherwise, include + +2000-03-17 Bruno Haible + + * lib/unicodeio.c (utf8_wctomb): New function. + (print_unicode_char): Pass the Unicode character to iconv in UTF-8 + format instead of in UCS-4 with platform dependent endianness. + +2000-03-10 Jim Meyering + + * m4/lib-check.m4: Look for getspnam in -lgen, too. + From Marco Franzen. + +2000-03-07 Paul Eggert + + * lib/savedir.c (savedir): Work even if directory size is + negative; this can happen with some screwy NFS configurations. + +2000-03-06 Jim Meyering + + * lib/localcharset.c (get_charset_aliases): Don't try to free file_name + if it's NULL (because we ran out of memory). From Bruno Haible. + +2000-03-05 Jim Meyering + + * lib/localcharset.c ("path-concat.h"): Include. + (get_charset_aliases): Use path_concat instead of ANSI string + concatenation. + + * lib/unicodeio.h (PARAMS): Define. + Use it to guard prototype. + +2000-03-04 Jim Meyering + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE, + for lib/localcharset.c. + +2000-03-04 Jim Meyering + + * lib/Makefile.am (install-exec-local): Create $(libdir) before + installing into it. + (uninstall-local): Uncomment this rule so `make distcheck' works + once again. + + * lib/unicodeio.c (): Include it. + (errno): Declare if not defined. + + * lib/localcharset.c: Add Bruno's comment justifying use of volatile. + + * lib/config.charset: New version, incorporating remarks from a linux + i18n mailing list. From Bruno Haible. + +2000-03-04 Bruno Haible + + * m4/codeset.m4: New file. + * m4/iconv.m4: New file. + * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV. + +2000-03-03 Jim Meyering + + * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'. + +2000-03-02 Jim Meyering + + * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so + the messages come out on separate lines. + + * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS, + rather than jm_CHECK_DECLARATIONS. + * m4/decl.m4: Remove now-unused file. + + * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and + geteuid. + +2000-03-02 Jim Meyering + + * lib/Makefile.am (EXTRA_DIST): Add config.charset. + +2000-03-01 Jim Meyering + + * lib/localcharset.c: Guard some #includes with `#if HAVE_...'. + * lib/unicodeio.c: Likewise. + +2000-03-01 Bruno Haible + + * lib/config.charset: New file. + * lib/localcharset.c: New file. + * lib/unicodeio.h, lib/unicodeio.c: New files. + * lib/Makefile.am (DEFS): Add -DLIBDIR=... + (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c. + (noinst_HEADERS): Add unicodeio.h. + (all-local, install-exec-local, charset.alias): New targets. + +2000-02-28 Paul Eggert + + * lib/quotearg.c (ALERT_CHAR): New macro. + (quotearg_buffer_restyled): Use it. + +2000-02-27 Jim Meyering + + * m4/check-decl.m4: Add getenv to the list. + +2000-02-27 Jim Meyering + + * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/. + Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'. + + * lib/backupfile.c: Guard inclusion of stdlib.h with + `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'. + Declare malloc if needed. + + * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of + `#ifndef HAVE_DECL..' + now that autoconf always defines the HAVE_DECL_ symbols. + * lib/human.c: Likewise. + * lib/same.c: Likewise. + * lib/strtoumax.c: Likewise. + + * lib/backupfile.c: Arrange for cpp to fail if the configure-time + declaration check was not run. + * lib/hash.c: Likewise. + * lib/human.c: Likewise. + * lib/same.c: Likewise. + * lib/strtoumax.c: Likewise. + + * lib/userspec.c (parse_user_spec): If there is no `:' but there is a + `.', then first look up the entire `.'-containing string as a login + name. + +2000-02-23 Jim Meyering + + * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it + in place of my hack. + +2000-02-18 Paul Eggert + + * lib/getdate.y: Handle two-digit years with leading zeros correctly. + (textint): New typedef. + (parser_control): Member year changed from int to textint. + All uses changed. + (YYSTYPE): Removed; replaced by %union with int and textint members. + (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN, + tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER, + tYEAR_UNIT, tZONE, o_merid): Now of type . + (tSNUMBER, tUNUMBER): Now of type . + (date, number, to_year): Use width of number in digits, not its value, + to determine whether it's a 2-digit year, or a 2-digit time. + (yylex): Store number of digits of numeric tokens. + Reported by John Kendall. + + (parser_control): Changed from struct parser_control to typedef (for + consistency). All uses changed. + + (tID): Removed; not used. + (yylex): Return '?' for unknown identifiers, rather than (unused) tID. + +2000-02-14 Paul Eggert + + * lib/getpagesize.h (getpagesize): Port to VMS for Alpha; + adapted from changes to grep getpagesize.h by Martin P.J. Zinser. + +2000-02-12 Jim Meyering + + * lib/userspec.c (ISDIGIT): Define it. + (isdigit): Remove definition. + (is_number): Use ISDIGIT, not isdigit. + : Include. + (_ and N_): Define. + (parse_user_spec): Mark translatable strings. + +2000-02-10 Jim Meyering + + With these changes, nanosleep.[ch] are finally enough like the other + lib/* replacement files to compile on a few more losing systems. + + * lib/nanosleep.h: Don't include config.h. + Remove prototype from declaration of nanosleep. + (PARAMS): Remove now-unneeded definition. + * lib/nanosleep.c: #undef nanosleep. + (rpl_nanosleep): Rename from nanosleep. + +2000-02-10 Jim Meyering + + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from + gnu_nanosleep to rpl_nanosleep. + +2000-02-09 Jim Meyering + + * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in + struct spwd, rather than in struct passwd. Reported by Gaël Quéri. + +2000-02-08 Akim Demaille + + * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with + `[' and `]' and remove uses of `changequote'. + (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise. + (AC_SYS_LARGEFILE): Likewise. + * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise. + * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use + of changequote. + * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise. + * m4/readdir.m4 (jm_FUNC_READDIR): Likewise + * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main. + * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise. + +2000-02-05 Jim Meyering + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros. + Remove explicit use of AC_HEADER_TIME. It is required by + jm_CHECK_TYPE_STRUCT_TIMESPEC. Using AC_HEADER_TIME and + `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but + in autoconf whereby the expansion of the latter ended up preceding + the expansion of its prerequisite, AC_HEADER_TIME. + Reported by Volker Borchert. + +2000-02-03 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname. + +2000-02-03 Jim Meyering + + * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION', + rather than with `#if HAVE_UTMPNAME'. + +2000-02-02 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no + definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/. + Reported by Eli Zaretskii. + +2000-02-01 Jim Meyering + + * lib/readutmp.h (UT_USER): Add parens. From Andreas Schwab. + +2000-01-31 Jim Meyering + + * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of + functions. Add the time.h and sys/time.h headers along with the + AC_REQUIRE'ment of AC_HEADER_TIME. + +2000-01-31 Jim Meyering + + * lib/nanosleep.h (nanosleep): Guard declaration with + `#if ! HAVE_DECL_NANOSLEEP'. + Without this, OFS gets a redeclaration error for rpl_nanosleep, due to + the declaration in that vendor's sys/timers.h. + Reported by Christian Krackowizer. + + * lib/quotearg.c (ISASCII): Add #undef and move definition to follow + inclusion of wctype.h to work around Solaris 2.6 namespace pollution. + (ISPRINT): Likewise. + Reported by Tom Tromey. + +2000-01-30 Jim Meyering + + * m4/lib-check.m4: Clean up some kludgy old shadow password tests. + + * m4/prereq.m4 (utmp_includes): Define. + Check for ut_user and ut_name members in both struct utmpx + and struct utmp. + +2000-01-30 Jim Meyering + + * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of + hard-coding uses of ->ut_name. The latter doesn't work with new Linux + header files where only utmpx.ut_user is declared. + + * lib/readutmp.h (UT_USER): Define. + +2000-01-29 Jim Meyering + + * m4/lib-check.m4: New file containing library-related checks from + fileutils and sh-utils (textutils had none). + +2000-01-28 Jim Meyering + + * m4/perl.m4: Change format of warning message to look more like that + from the missing script. Suggestion from François Pinard. + +2000-01-25 Jim Meyering + + * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as + well as time.h in the compile check. + * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it. + Fix typo in cross-compiling case: s/yes/no/. + +2000-01-23 Jim Meyering + + * m4/jm-macros.m4: Move df-related tests here from + fileutils/configure.in + + * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/ + (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters. + + * m4/fsusage.m4: New file. Extracted from fileutils/configure.in. + s/space/ac_fsusage_space/. + (jm_FILE_SYSTEM_USAGE): Take two parameters. + + * m4/ftruncate.m4: New file (derived from part of + fileutils/configure.in). + * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it. + (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT. + + * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN): + AC_SUBST these here, rather than just in sh-util/configure.in, so + that the now-shared-by-fileutils-and-textutils lib/Makefile.am are + all the same. + (AM_FUNC_OBSTACK): Add (from fileutils/configure.in). + (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils. + (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in). + (AC_SUBST(POW_LIBM)): Likewise. + (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in. + +2000-01-23 Jim Meyering + + * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of + obstack.c. + +2000-01-22 Jim Meyering + + * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST. + + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h. + + * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils' + configure.in + (AC_CHECK_HEADERS): Likewise for sh-utils. + (AC_CHECK_HEADERS): Likewise for textutils. + Merge the three lists of headers. + + * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro. Parts moved here + from fileutils' configure.in. + + * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)' + code. Moved tests into their own function (_jm_DECL_HEADERS) in + check-decl.m4. + + * m4/check-decl.m4: Use #if rather than #ifdef. + Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL. + (jm_CHECK_DECLARATIONS): Add strtoul strtoull. + (_jm_DECL_HEADERS): Define new function. + (jm_CHECK_DECLARATIONS): Require it. + +2000-01-22 Jim Meyering + + * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul. + [! HAVE_DECL_STRTOULL]: Declare strtoull. + Required for some AIX systems. Reported by Christian Krackowizer. + [TESTING] (main): New function. + + 1997-10-17 Eli Zaretskii + * lib/dirname.c (dir_name): Support for DOS-style file names with drive + letters. + + * lib/quotearg.c [HAVE_WCTYPE_H]: Include for decl of + iswprint. + + * lib/strverscmp.c (ISDIGIT): Define. + (strverscmp): Use ISDIGIT, not isdigit. + +2000-01-19 Jim Meyering + + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include , too. + Use AC_HEADER_TIME. Volker Borchert reported that OpenBSD-2.3/sparc + defines `struct timespec' in + + * m4/c-bs-a.m4: Remove uses of changequote altogether. + Thanks to Akim for explaining. + +2000-01-17 Paul Eggert + + * lib/nanosleep.c (nanosleep): + Don't use SA_INTERRUPT to decide whether to call sigaction, as + POSIX.1 doesn't require SA_INTERRUPT and some systems + (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead; + it's been part of POSIX.1 since day 1 (in 1988). + +2000-01-17 Jim Meyering + + * lib/interlock: Remove unused file. Reported by François Pinard. + +2000-01-16 Paul Eggert + + * lib/quotearg.c (quotearg_buffer_restyled): Do not quote + alert, backslash, formfeed, and vertical tab unnecessarily in + shell quoting style. + +2000-01-16 Jim Meyering + + * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV, + AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME, + jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA, + AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME. + +2000-01-16 Jim Meyering + + * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )' + because the latter didn't work. + +2000-01-15 Jim Meyering + + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell. + (AC_REPLACE_FUNCS): Add memcpy and memset. + Add these, too: stime strcspn stpcpy strstr strtol strtoul. + Add strpbrk. + Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp. + +2000-01-12 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro. + (jm_PREREQ): Use it. + (jm_PREREQ_READUTMP): New macro. + (jm_PREREQ): Use it. + +2000-01-11 Paul Eggert + + Quote multibyte characters correctly. + * m4/c-bs-a.m4: New file. + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro. + (jm_PREREQ): Use it. + +2000-01-11 Paul Eggert + + * m4/uintmax_t.m4: Port to autoconf 2.13. + +2000-01-08 Jim Meyering + + * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro. + * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it. + +2000-01-04 Jim Meyering + + * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from + jm_STRUCT_DIRENT_D_TYPE. + * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from + jm_STRUCT_DIRENT_D_INO. + * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from + jm_STRUCT_UTIMBUF. + * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/ + renamings. + * m4/utime.m4: Likewise. + + * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro. + * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it. + +2000-01-03 Paul Eggert + + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt + (for Solaris 7) and in -lposix4 (for Solaris 2.5.1). + +2000-01-02 Jim Meyering + + * m4/search-libs.m4: Escape `$' in $3 of dnl comment. I no longer + remember if this is necessary. + +1999-12-26 Jim Meyering + + * m4/jm-macros.m4: Use it here. + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro. + +1999-12-23 Jim Meyering + + * m4/jm-macros.m4: Check for clock_gettime (moved from + fileutils/configure.in) + Check for gettimeofday. + +1999-12-20 Jim Meyering + + * m4/strftime.m4: Remove kludge, now that I'm using the fixed + autoconf-2.14a-1999-12-20. + +1999-12-19 Jim Meyering + + * m4/lstat-slash.m4: New file. + * m4/jm-macros.m4: Use the new macro: + jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. + +1999-12-07 Jim Meyering + + * m4/perl.m4: Require that File::Compare be available, too. + Too many systems seem to lack it. + + * m4/strftime.m4: Add checks for most of the cpp macros tested in + GNU's strftime.c. Prompted by a patch from Paul Eggert. + +1999-11-18 Paul Eggert + + * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a + problem with the QNX 4.25 shell, which doesn't propagate exit + status of failed commands inside shell assignments. + +1999-11-17 Jim Meyering + + * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES. + +1999-11-07 Jim Meyering + + * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE. + +1999-11-06 Jim Meyering + + * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro. + * m4/jm-macros.m4 (jm_MACROS): Use it here. + +1999-11-05 Jim Meyering + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from + configure.in of textutils, fileutils, and sh-utils into this one + (shared between those packages) file. + Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated + AC_STRUCT_ST_BLKSIZE. + +1999-11-03 Jim Meyering + + * m4/ssize_t.m4: Remove file. No longer needed since the new version + of AC_CHECK_TYPE checks includes unistd.h. + * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'. + Suggestion from Akim Demaille. + +1999-10-30 Jim Meyering + + * m4/uintmax_t.m4: Require 2.14a. Remove backslash before backtick in + m4-quoted string. + * m4/ls-mntd-fs.m4: Likewise. + * m4/jm-macros.m4: Likewise. Also, use AC_TYPE_SSIZE_T instead + * m4/jm-winsz1.m4: Likewise. + + * m4/const.m4: Remove file, since the fix made it into the experimental + version of autoconf. + * m4/mktime.m4: Likewise. + + * m4/check-type.m4: Remove file, now that the latest version of + AC_CHECK_TYPE takes a third arg to specify additional #includes. + + * m4/ssize_t.m4: New file, requires experimental version of autoconf. + * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked + AC_CHECK_TYPE. + +1999-10-04 Jim Meyering + + * m4/jm-macros.m4: Don't require autoconf-2.14.1. + +1999-09-22 Paul Eggert + + * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC + 2.95.1 bug with HP-UX 10.20. + +1999-09-17 Jim Meyering + + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup. + Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3 + due to missing strdup (against sh-utils-2.0). + +1999-08-29 Jim Meyering + + * m4/jm-macros.m4: Require jm_BISON. + * m4/bison.m4: New file. + +1999-08-17 Paul Eggert + + * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma + in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20. + +1999-08-05 Jim Meyering + + * m4/getline.m4: Rename test file from conftestdata to conftest.data + to avoid conflicts with `conftest' on 8+3 filesystems. + Suggestion from Eli Zaretskii. + +1999-08-04 Jim Meyering + + * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of + fileutils and sh-utils (textutils's getline test was inadequate). + (AM_FUNC_GETLINE): Run this test. + (AC_CHECK_FUNCS): Check for getdelim. + Reported by Bob Proulx. + +1999-08-02 Jim Meyering + + * m4/jm-macros.m4: Add a comment. + +1999-08-01 Paul Eggert + + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether + defines strtoumax as a macro (and not as a + function). + +1999-08-01 Paul Eggert + + * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure + that we can shift, multiply and divide unsigned long long + values; Ultrix cc can't do it. + +1999-08-01 Paul Eggert + + * m4/mktime.m4: New file, which is a preview of what should appear + in the next public autoconf release. + +1999-08-01 Paul Eggert + + * m4/lfs.m4: Remove this file. + * m4/largefile.m4: New file. It contains the old contents of + lfs.m4, except that all names with prefix AC_LFS have been + changed to use the prefix AC_SYS_LARGEFILE instead, to be + compatible with future autoconf versions. Also, some minor m4 + quoting problems have been fixed. + +1999-08-01 Paul Eggert + + * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines. + Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl. + (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting, + and simplify the shell code. + +1999-08-01 Jim Meyering + + * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from + m4. + +1999-07-20 Jim Meyering + + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove. + +1999-07-15 Jim Meyering + + * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize. + +1999-05-22 Jim Meyering + + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr. + +1999-05-20 Jim Meyering + + * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine. + Add a colon after each `then' in case $4 is empty. + +1999-05-16 Jim Meyering + + * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS. + +1999-05-10 Jim Meyering + + * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME. + + * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed + AC_FUNC_MKTIME. + +1999-05-10 Andreas Schwab + + * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments. + +1999-05-04 Paul Eggert + + * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS, + not CPPFLAGS, so that linking works correctly in IRIX. + +1999-04-30 Paul Eggert + + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2. + +1999-04-20 Paul Eggert + + * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long + long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro. + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require + jm_AC_TYPE_UNSIGNED_LONG_LONG. + * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro. + + * m4/lfs.m4: Port to AIX and HP-UX. Support cross-compilation. + +1999-04-20 Jim Meyering + + * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG. + AC_REPLACE xstroull if necessary. From Paul Eggert. + (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq. + +1999-04-18 Jim Meyering + + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro. + * m4/jm-macros.m4: Use it. + +1999-04-06 Jim Meyering + + * m4/strftime.m4: Remove test for %f. + +1999-03-29 Jim Meyering + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the + superset of the AC_TYPE_* checks in the textutils, fileutils, + and sh-utils, plus AC_TYPE_PID_T. Paul Eggert suggested adding + AC_TYPE_PID_T. + +1999-03-28 Jim Meyering + + * m4/jm-macros.m4: Define GNU_PACKAGE here. + Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is + replaced e.g., in the *.sh files of the sh-utils. + +1999-03-20 Jim Meyering + + * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/. + * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX. + Don't depend on AM_GLIBC. Suggestions from Alain Magloire. + +1999-03-19 Jim Meyering + + * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro. + +1999-03-12 Jim Meyering + + * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED. + +1999-03-07 Jim Meyering + + * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are + declared. + +1999-02-17 Jim Meyering + + * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of + brackets in macro definition. From Eli Zaretskii and Alain Magloire. + +1999-02-07 Jim Meyering + + * m4/group-member.m4: New file -- extracted from sh-utils' + configure.in. + + 1999-02-05 Eli Zaretskii + * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names. + +1999-02-06 Jim Meyering + + * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS. + * m4/fnmatch.m4: Likewise. + * m4/getgroups.m4: Likewise. + * m4/lstat.m4: Likewise. + * m4/malloc.m4: Likewise. + * m4/putenv.m4: Likewise. + * m4/realloc.m4: Likewise. + * m4/regex.m4: Likewise. + * m4/stat.m4: Likewise. + * m4/strftime.m4: Likewise. + Suggestion from Alain Magloire. + + * m4/chown.m4: Use `.$ac_objext', not `.o'. + * m4/fnmatch.m4: Likewise. + * m4/getgroups.m4: Likewise. + * m4/getline.m4: Likewise. + * m4/lstat.m4: Likewise. + * m4/malloc.m4: Likewise. + * m4/memcmp.m4: Likewise. + * m4/putenv.m4: Likewise. + * m4/realloc.m4: Likewise. + * m4/regex.m4: Likewise. + * m4/stat.m4: Likewise. + * m4/strftime.m4: Likewise. + Suggestion from Alain Magloire. + + * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires + an argument. + + * m4/regex.m4: Add a run-time Test for proper operation of + re_compile_pattern. + +1999-01-31 Jim Meyering + + * m4/getloadavg.m4: Check for locale.h and the function, setlocale. + +1999-01-30 Jim Meyering + + * m4/check-type.m4: Use 3-arg form of AC_DEFINE. + + * m4/jm-mktime.m4: Make this a wrapper around the official + AM_FUNC_MKTIME rather than my private copy, now that the official one + is up to date. + * m4/mktime.m4: Remove file. + + * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE. + * m4/uptime.m4: Likewise. + * m4/uintmax_t.m4: Likewise. + +1999-01-28 Jim Meyering + + * m4/jm-macros.m4: Use jm_AFS. + * m4/afs.m4: New file (from fileutils' configure.in). + + * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros. + * m4/chown.m4: Likewise. + * m4/d-ino.m4: Likewise. + * m4/d-type.m4: Likewise. + * m4/fnmatch.m4: Likewise. + * m4/getgroups.m4: Likewise. + * m4/gettext.m4: Likewise. + * m4/jm-mktime.m4: Likewise. + * m4/jm-winsz2.m4: Likewise. + * m4/lcmessage.m4: Likewise. + * m4/ls-mntd-fs.m4: Likewise. + * m4/malloc.m4: Likewise. + * m4/memcmp.m4: Likewise. + * m4/putenv.m4: Likewise. + * m4/realloc.m4: Likewise. + * m4/st_mtim.m4: Likewise. + * m4/strftime.m4: Likewise. + +1999-01-16 Jim Meyering + + * m4/jm-macros.m4 (ARGMATCH_DIE): Define. + (ARGMATCH_DIE_DECL): Define. + +1999-01-12 Jim Meyering + + * m4/Makefile.am.in: Rewrite to avoid using fmt. + Reported by Lars Hecking. + +1999-01-10 Jim Meyering + + * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my + gross kludge. + * m4/inttypes_h.m4: Likewise. + * m4/lstat.m4: Likewise. + * m4/malloc.m4: Likewise. + * m4/readdir.m4: Likewise. + * m4/realloc.m4: Likewise. + * m4/st_dm_mode.m4: Likewise. + * m4/stat.m4: Likewise. + * m4/utimbuf.m4: Likewise. + * m4/utimes.m4: Likewise. + + * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the + AC_CHECK_FUNCS hack. Now, it's still a hack, but at least the + comments in config.h.in are meaningful. + + * m4/jm-macros.m4: Require autoconf-2.13 here. + + * m4/regex.m4: By default, don't use the included regex.c on systems + with glibc 2. Suggestion from Uli Drepper. + +1999-01-02 Jim Meyering - Add the spec provider. - The provider should have been committed in 57:9e439a136787, but - wasn't. Unfortunately, versions of prov_spec.c that would compile with that - version have been lost. Therefore, builds between 57:9e439a136787 and this - revision will fail. + * m4/jm-macros.m4: Replace strcasecmp and strncasecmp. -2008-01-17 David Lutterkort +1998-12-18 Jim Meyering - Emit a the current tree into a file - Based on the AST, generate the file that lead to that AST. Changes to the - config tree are mirrored by corresponding changes in the AST before it is - written to disk. + * m4/Makefile.am.in (Makefile.am): Simplify rule. + Based on a suggestion from Lars Hecking. - This is a first version that works for some restricted set of grammars, but - needs a lot more testing. +1998-11-16 Paul Eggert -2008-01-17 David Lutterkort + * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11. - Compute tree handles for each match - The handle of a match is a set of regular expressions that indicate which - subtrees are generated by that match. Handles are computed based on the - actions in the grammar and propagated. +1998-11-16 Jim Meyering - The handle of an action is a regular expression matching the path generated - by that action. + * m4/lfs.m4: Double-quote the `uname...` expression. -2008-01-17 David Lutterkort +1998-11-14 Jim Meyering - Build an explicit AST - Instead of representing the parsed file by a simple list of tokens, build a - fullblown AST for that file. The AST is actually not very abstract, and is - directly the parse tree from parsing a file with a certain grammar. + * m4/lstat.m4: Correct comment. POSIX does not permit it to succeed. + * m4/stat.m4: Likewise. - Split parsing and evaluating into to passes; references to fields - are too hard to resolve with a partially constructed AST. +1998-11-03 Jim Meyering - Also adds a routine (ast_dot) to output the AST as a dot file; this eases - debugging tremendously. augparse will now produce dot files when given '-P - ast' + * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG. + * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG. - Remove aug_token and any mention of it - that has been replaced by struct - ast. +1998-10-18 Jim Meyering -2008-01-17 David Lutterkort + * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro. - Represent quantifiers in their own match nodes - Instead of using a field in struct match for quantifiers '*', '+', '?', - represent quantified expressions by their own struct match, with a matches - field pointing to the quantified expression. +1998-10-17 Jim Meyering - This leads to a cleaner parser and makes constructing an explicit AST - simpler. + * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to + include, though we still hard-code the `require'-like AC_CHECK_HEADERS + calls for those previously hard-coded headers. Instead, take a new + parameter. + (jm_CHECK_DECLARATIONS): Reflect interface change. + * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise. + (jm_CHECK_DECL_LOCALTIME_R): New macro. -2008-01-17 David Lutterkort + * m4/mktime.m4: Test for spring-forward gap before long-running test. - Prefer comments over kv +1998-10-14 Jim Meyering - Print first sets for every match - Factor printing of a literal_set into print_literal_set and use it for - printing both first and follow sets. + * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0" + instead of "TZ=America/Vancouver". From Paul Eggert. - Remove debug printing in augparse about loaded maps +1998-10-11 Jim Meyering -2008-01-07 David Lutterkort + * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro. + This adds a test for a recently added compatibility fix for mktime.c. + * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME. - Free tokens entirely when freeing file +1998-09-27 Jim Meyering - Set action in all path components + * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH. -2008-01-03 David Lutterkort + * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro. Extracted from + ../configure.in, including a change from Gordon Matzigkeit to allow + cross-compiling for the Hurd. - Provider that uses specs - The spec provider is hooked into libaugeas and loaded. It reads spec files - from /usr/share/augeas/spec and paths mentioned on AUGEAS_SPECLIB. Files - are parsed according to the specs loaded, and values are written into the - tree after parsing those files. + * m4/glibc.m4: New file/macro to test for the GNU C Library + versions 1 and 2. From Gordon Matzigkeit. + Indent. - Still missing is saving of the tree back to file, and in particular adding - new entries in the tree to such files. +1998-09-21 Jim Meyering -2008-01-03 David Lutterkort + * m4/chown.m4: Declare locals: before, after. From Andries Brouwer. - Move hosts and inittab under /etc +1998-08-18 Paul Eggert - Always set the passed-in grammars and maps to NULL - Without that, it's too easy to pass an invalid pointer in from random - nonsense on the stack. And since we do not append to anything the user may - pass in, setting to NULL is safe. + Port nanosecond-resolution times to UnixWare 2.1.2 and + pedantic Solaris 2.6. - Compile regexps for multiline matching + * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from + AC_STRUCT_ST_MTIM. + * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): + Generate name of ns member, instead of just 1 or undef. + Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode. -2008-01-02 David Lutterkort +1998-08-15 Jim Meyering - Fix syntax error; we want to test that missing defaults are noticed + * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file. + * m4/check-type.m4: New file. Replacement for AC_CHECK_TYPE. + * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int) + instead of jm_TYPE_SSIZE_T. - Add filemappings to the language - The map construct specifies a grammar and a list of glob patterns that this - grammar should be applied to. +1998-08-12 Jim Meyering - Print the filename in errors about tokens (abbrevs) + * m4/st_dm_mode.m4: New file. From Johan Danielsson. - Add name to grammars +1998-08-02 Jim Meyering - Add -v switch for printing errors + * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM + in acconfig.h manually. - Two more test grammars +1998-07-31 Paul Eggert - Execute actions (not writing to tree yet) - Actions are executed at the right points during the parse, and a stack of - paths is maintained. References to values work with the exception of - references to rules. + * m4/st_mtim.m4: New file. -2007-12-21 David Lutterkort +1998-07-28 Jim Meyering - Check grammar acceptance/rejection + * m4/utimes.m4: Undef stat. - More precise syntax for where actions attach in a rule - Previously, it was not clear how far into a rule the current path would be - modified during parsing. This syntax defines some clear rules for that: - - if the rule applies to a parenthesized group (@n), the - path is in effect until the end of the group - - if the rule applies to a field (@$n), the new path is used during - parsing of that field - - the assignment part of the action is done after the field/group - has been parsed +1998-07-25 Jim Meyering - Snapshot before changing the syntax of rule actions + * m4/utime.m4 (jm_FUNC_UTIME): New file and macro. + * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro. -2007-12-20 David Lutterkort +1998-07-09 Manfred Hollstein - Remove unused keyword and token 'default' + * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the + uid and gid actually remain unchanged. - Fix field number computation +1998-07-07 Jim Meyering - Two more rejection tests + * m4/jm-glibc-io.m4: Remove fclose_unlocked. - Add a simple test for rejecting bad grammars +1998-07-04 Jim Meyering - Don't try to dump a NULL grammar + * m4/regex.m4: Use syscmd, ifelse, and sysval. Mainly as an exercise + to prove that this macro can be used in packages without regex.c. - Introduce SUBMATCH_P macro; cleanup unnecessary switch statements. +1998-07-04 Andreas Schwab - Statically number all matches in a rule. Check for illegal field refs. + * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if + is to be used. - Collect unprocessed tokens in the parser state. +1998-07-03 Jim Meyering - Print quantifier after rule reference + * m4/gettext.m4: Add -lintl if it's found to be necessary. - Remove unneeded debug print + * m4/gettext.m4: New file -- from gettext-0.10.35. + * m4/lcmessage.m4: Likewise. + * m4/progtest.m4: Likewise. - Produce tokens during parsing. - Also, nicer printing of the tokens read. + * m4/regex.m4 (jm_WITH_REGEX): New file and macro. + * m4/jm-macros.m4: Require the new macro. -2007-12-20 David Lutterkort +1998-06-29 Jim Meyering - Stricter checking for ambiguous rules - Check that all items in alternatives have non-overlapping first sets. Two - sets are overlapping if they both contain an entry pointing to the same - struct literal or if the contain entries where the literals have the same - patterns (as strings) + * m4/fstypename.m4: Include sys/param.h. NetBSD 1.3.1 requires this + for the definition of NGROUPS (used in a system header included + by sys/mount.h). - This still misses the case where literals have equivalent regular - expresions (e.g. /[ab]/ in one and /[ba]/ in the other) but that seems very - hard to determine. +1998-06-28 Jim Meyering -2007-12-20 David Lutterkort + * m4/ls-mntd-fs.m4: New file. + * m4/fstypename.m4: New file. - Print first/follow sets prettier, print control characters escaped with ~ - Literals from first/follow sets are now reduced back to the abbrev they - belong to if that exists. + * m4/jm-macros.m4: Require the new macro. + * m4/jm-glibc-io.m4: New file. - Add options to control grammar printing +1998-05-19 Jim Meyering - Set match->owner for _all_ matches + * m4/jm-macros.m4: Add jm_FUNC_LCHOWN. + * m4/lchown.m4: New file. - Two more sample/test grammars + * m4/Makefile.am.in: New file. + * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in. - First step towards a specification for config files - Definition of a simple language for describing the syntax of config files - and how they are to be mapped to a tree. Lexer/parser for the language and - data structures to hold the specification. Parses files defined by the - grammar - processing of the parse is missing though. +1998-05-14 Jim Meyering -2007-12-14 David Lutterkort + * m4/Makefile.am (EXTRA_DIST): Add them. + * m4/jm-macros.m4: New file. + * m4/utimbuf.m4: New file. - Factor aug_make_file into internal.c +1998-05-12 Jim Meyering -2007-12-01 David Lutterkort + * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4. - Be more verbose about which tests were run +1998-05-11 Jim Meyering - Do not include unused util.h + * m4/isc-posix.m4: New file. - Mention language bindings +1998-05-10 Jim Meyering - Added tag release-0.0.1 for changeset 69688020bb1b + * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date. - Some news +1998-05-09 Jim Meyering - Disribute tests and doc/examples.txt + * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4. + (EXTRA_DIST): Remove mktime.m4, now that the new version is included + with automake. - Some pseudo-code examples + * m4/ssize_t.m4: New file. + * m4/mktime.m4: Remove file -- the new automake has this now. - Explain yourself +1998-04-26 Jim Meyering -2007-11-30 David Lutterkort + * m4/assert.m4: New file. + * m4/Makefile.am (EXTRA_DIST): Add assert.m4. - Add a test that shows how to change the initdefault +1998-04-05 Jim Meyering - Add help texts and a help command + * m4/prereq.m4 (jm_PREREQ_REGEX): New macro. + (jm_PREREQ): Use it here. - Add aug_match as a simple query facility +1998-03-23 Jim Meyering - Handle /etc/inittab + * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H + in acconfig.h. - Make the ROOT_DIR a constant instead of hardcoding it everywhere +1998-03-15 Jim Meyering - Test deleting everything from /etc/hosts + * m4/prereq.m4: New file. + * m4/error.m4: New file. + * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4. - Describe what a test description looks like +1998-02-07 Jim Meyering - Add a provider for /etc/hosts and reorganize how providers are loaded/saved a little + * m4/getline.m4: Don't set am_cv_func_working_getline before the + cache-check for the same variable -- that defeated the purpose of + the test; the test program was never run. This was a problem only + on systems with losing getline functions -- HP-UX 10.20 is one. + Reported by Bjorn Helgaas. - aug_rec_save: Check input parameters +1998-02-06 Jim Meyering -2007-11-30 David Lutterkort + * m4/Makefile.am (EXTRA_DIST): Add perl.m4. - Major overhaul of record parsing - Use PCRE to split records with regexps, and abstract a major chunk of - functionality out so it is independent of parsing pam config files +1998-01-10 Jim Meyering - Translate changes in the tree into changes in files (change/insert/delete - of nodes are translated into changing fields and insert/delete of fields - and records/lines) + * m4/Makefile.am (EXTRA_DIST): Add const.m4. -2007-11-30 David Lutterkort + * m4/const.m4: New file. Use an initializer in this declaration + typedef int charset[2]; const charset x; + Reported by Bob Glickstein. - Root filesys that tests pass against +1997-12-21 Jim Meyering - Basic tests for record parsing + * m4/chown.m4: Fix reversed types on -1 args to chown. + From Kaveh Ghazi. -2007-11-26 David Lutterkort +1997-12-14 Jim Meyering - Trim trailing slashes from paths + * m4/check-decl.m4: s/DECLARATION_/DECL_/g. + Add lseek and memchr. - Keep /system and /system/config around at all times + * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g. + T.E.Dickey said that some older preprocessors + have a 20-character limit on names. - Access aug_insert from the command line; do better error checking for aug_insert +1997-11-30 Jim Meyering - Autotools support for building + * m4/inttypes_h.m4: New file. + * m4/uintmax_t.m4: New file. + * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4. -2007-11-26 David Lutterkort - Very simplistic key store with a public API in augeas.h - The implementation is braindead and slow, but good enough to experiment - with the actual difficulty for augeas: parsing and editing different config - files + ----- - augtool gives a basic mean to inspect the keystore from the command line + Local Variables: + coding: utf-8 + End: -2007-11-26 David Lutterkort + Copyright (C) 1997-2016 Free Software Foundation, Inc. - Ignore some files + Copying and distribution of this file, with or without + modification, are permitted provided the copyright notice + and this notice are preserved.